Skip to content

Latest commit

 

History

History
54 lines (38 loc) · 1.68 KB

todo.md

File metadata and controls

54 lines (38 loc) · 1.68 KB
  • fix naming

    • long_identifier_or_op
  • add impliments syntax

  • remove old fsharp code

  • test for parsing invalid code

  • unify the patterns and expressions

    • make a shared subcollection for things that are in both
  • dotexpression seems weird and we should try to fix that

  • tighten up cases from fsharp

    • long_identifier roc has strict naming for module name vs function names

    • also should be able to parse tags and make a tag pattern type

    • i believe tags is getting matched incorrectly

  • Make a record pattern seperate from a record expression ##big make the whole system use nested expressions instead of a list of expressions there are a bunch of cases where we currently don't use expression list swhere we should becasue it causese issues eg this is valid syntax we don't currently support :

{
	a:
		b=10
		b
}

Something about my whole setup is a bit messed up. i had to add else to the list of expressions because it wouldn't ever get passed when it was inside if... maybe i should try restarting this and basing it more off python, they seem to be very well set up

I think better use of precidence would help a lot

If i make use of inlining i can split up my expressions better, infact i should be using it more generally I can probably fix a bunch of my issues using the conflicts field, which should make tree-sitter explore the next token;w b

I made a significant error. roc is actually like elm in that you cannot have a sequence of expressions in a function body. eg : main= a b c d this syntax is invalid because there is no "void" type

I need to fundimentally rework things to support inline if statements