-
-
Notifications
You must be signed in to change notification settings - Fork 206
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
Yilin's powerful syntax technique #1079
Conversation
7bcd297
to
6d62c43
Compare
LGTM. Raised #1080 to track the rest of the issue. |
Hi, I'm a total outsider here; but I got very interested seeing the |
Hi @simlei!
We define our "keywords" in the So we want the juicy keyword goodness from (a), but we want to avoid paying for (b). Fortunately, because this is a macro, we can do this. Firstly, the Scala compiler typechecks the lambda term provided by the user, which works, because it sees the Hopefully this is a bit clearer, please feel free to ask more questions. |
Hi @kenbot, thank you very much for taking the time to outline this. I think this clears it up for me :) Also, this is the example most useful for me for learning about context lambdas that I have seen to date. |
@kenbot I wonder if there would be a benefit to mark |
We probably can, but the feature is still experimental as far as I know.
Probably something to check back in on periodically
…On Sun, 16 Jan 2022, 3:53 am Julien Truffaut, ***@***.***> wrote:
@kenbot <https://github.com/kenbot> I wonder if there would be a benefit
to mark KeywordContext as erased
https://docs.scala-lang.org/scala3/reference/experimental/erased-defs.html
—
Reply to this email directly, view it on GitHub
<#1079 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACNIY56JWR5BP4FA4JNOYLUWGRB7ANCNFSM4X2OA56Q>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Introduces Yilin's powerful new syntax technique, replacing PR #1055.
monocle.syntax.FocusSyntax
into amonocle.Focus.KeywordContext
trait, because it not like the otherxxxSyntax
traits and shouldn't live with them or look like them. Alternative naming suggestions welcomeextension ... def focus
pre-applied Focus into anAppliedFocusSyntax
, which is like the other syntax traitsHaven't mixed that intoI figured it out. Lmk if you want me to remove it frommonocle.syntax.all
because I haven't figured out how to do that correctly with the different Scala version directories, suggestions welcomeobject Focus
as wellParserLoop
into a new thingLambdaConfigParser
, which also does the keyword magic stripping. These boundaries make sense, because this initial config stuff is very slow moving and should not change often. The feature loop stuff inParserLoop
however, is fast moving and often needs to change.ParserParams
renamed toParserConfig
, and unused type argument removed.