-
Notifications
You must be signed in to change notification settings - Fork 32
Reimplement operator apps, operator splits, and "placeholder shorthand" lambdas #302
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
Conversation
# Conflicts: # hkmc2/shared/src/main/scala/hkmc2/syntax/Parser.scala # hkmc2/shared/src/test/mlscript/HkScratch.mls # hkmc2/shared/src/test/mlscript/backlog/MultilineExpressions.mls # hkmc2/shared/src/test/mlscript/backlog/UCS.mls # hkmc2/shared/src/test/mlscript/handlers/Debugging.mls # hkmc2/shared/src/test/mlscript/nofib/clausify.mls # hkmc2/shared/src/test/mlscript/nofib/last-piece.mls # hkmc2/shared/src/test/mlscript/nofib/mate.mls # hkmc2/shared/src/test/mlscript/nofib/minimax.mls # hkmc2/shared/src/test/mlscript/nofib/pretty.mls # hkmc2/shared/src/test/mlscript/nofib/treejoin.mls # hkmc2/shared/src/test/mlscript/ucs/examples/BinarySearchTree.mls # hkmc2/shared/src/test/mlscript/ucs/papers/OperatorSplit.mls
# Conflicts: # hkmc2/shared/src/main/scala/hkmc2/semantics/Elaborator.scala # hkmc2/shared/src/main/scala/hkmc2/syntax/Parser.scala # hkmc2/shared/src/main/scala/hkmc2/syntax/Tree.scala # hkmc2/shared/src/test/mlscript-compile/Iter.mjs # hkmc2/shared/src/test/mlscript-compile/Predef.mjs # hkmc2/shared/src/test/mlscript/backlog/ToTriage.mls # hkmc2/shared/src/test/mlscript/basics/AppOp.mls # hkmc2/shared/src/test/mlscript/basics/MiscArrayTests.mls # hkmc2/shared/src/test/mlscript/codegen/FunnyOpen.mls # hkmc2/shared/src/test/mlscript/codegen/Juxtapositions.mls # hkmc2/shared/src/test/mlscript/codegen/OptMatch.mls # hkmc2/shared/src/test/mlscript/llir/Classes.mls # hkmc2/shared/src/test/mlscript/llir/ControlFlow.mls # hkmc2/shared/src/test/mlscript/llir/HigherOrder.mls # hkmc2/shared/src/test/mlscript/llir/Lazy.mls # hkmc2/shared/src/test/mlscript/llir/LazyCycle.mls # hkmc2/shared/src/test/mlscript/llir/Method.mls # hkmc2/shared/src/test/mlscript/llir/Tuple.mls # hkmc2/shared/src/test/mlscript/std/PredefTest.mls
This reverts commit 5aef5e9.
# Conflicts: # hkmc2/shared/src/main/scala/hkmc2/syntax/Keyword.scala # hkmc2/shared/src/main/scala/hkmc2/syntax/Parser.scala # hkmc2/shared/src/test/mlscript/backlog/ToTriage.mls # hkmc2/shared/src/test/mlscript/backlog/UCS.mls # hkmc2/shared/src/test/mlscript/basics/Puns.mls # hkmc2/shared/src/test/mlscript/codegen/PartialApps.mls
@chengluyu I think I'm done with my changes. Could you please review them and also review your own changes? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice PR! I’ve left a few minor suggestions and questions.
I’m glad to see that the syntax for operator and newline has been determined. Also, the parser can now handle operator splits in a better way.
This PR has also eliminated many parse errors, making the parser more robust. I think like I can now update the parser used by the VSCode extension.
(Let's merge this PR so that I can resolve the conflicts in my PR. 😁)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
@chengluyu This is the WIP of my changes. Can you please look into updating the UCS and pattern compilation implementations?