Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Finalise language syntax #29

Open
1 of 5 tasks
jparoz opened this issue Feb 25, 2023 · 0 comments
Open
1 of 5 tasks

Finalise language syntax #29

jparoz opened this issue Feb 25, 2023 · 0 comments
Labels
documentation improvement Improves the way that an existing feature works, in a backwards-compatible way.
Milestone

Comments

@jparoz
Copy link
Owner

jparoz commented Feb 25, 2023

Decisions to make:

  • Semicolons and curly braces vs significant indentation
    • Both, or just one? Probably pick one and stick with it.
  • Comments
    • Probably change to -- comment to match Lua
    • Remove/change (* comment *) syntax?
  • Custom binops
    • A la Haskell (a ++ b = ...; infixr 4 ++;)?
      • PRO: Currently implemented this way
      • PRO: Haskell is a much bigger language to draw from
      • CON: Can never remember the order of the things
    • A la Purescript (concat a b = ...; infixr 4 concat as ++;)
      • PRO: Easier to remember the order (because the "as" goes at the end)
      • PRO: Functions are always defined with a name, which helps with documentation and readability
      • PRO: Possibly less ambiguity (mental, not parsing ambiguity) WRT what is a pattern match and what is part of the defined name on a LHS
      • CON: Not really necessary
@jparoz jparoz added documentation improvement Improves the way that an existing feature works, in a backwards-compatible way. labels Feb 25, 2023
@jparoz jparoz added this to the 1.0.0 milestone Feb 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation improvement Improves the way that an existing feature works, in a backwards-compatible way.
Projects
Status: Todo
Development

No branches or pull requests

1 participant