Gabe Johnson
Gabe Johnson
How about "destructuring" syntax templates: ``` js syntax new = function (ctx) { return match (ctx) { case #`new ${ ident } ${ params }` => #`${ ident }.create ${...
I have a port of Clojure threading macros in mind: ``` js syntaxrec threadFirst = ctx => { const inner = ctx.next().value.inner(); let args, call; match (inner) { case #`(${...
I'm currently blocked on #519. In the meantime, I've got a question about semantics: ``` js let #`1 + ${a} - ${b}` = #`1 + 2 - 3`; // let...
Yeah. I guess for destructuring values shouldn't be allowed on the LHS. It would be an Unexpected token error if I tried that w/ objects or arrays. So destructuring only...
I'm thinking about this again and I have some ideas: ```javascript const BindingElement = ctx => match(ctx) { // isPunctuator(,) - consumes a ',' if it exists and is a...
> Your composability goal still comes down to "last write wins" right? Yes. It's just `concat`/`mappend`. > Are you sure you want to expose the current API first? No. Users...
> I think this is satisfied by a language definition simply being a function from source to a list of TokenTrees (basically read) This also requires exporting the readtable from...
I see your point, but ordering matters any time you do binding. And declaring a language binds tokenizers to string patterns. I think what you're getting at is that a...
I'm still worried about extensibility though. Are you thinking readtables will be exported in addition to readers?
> take inspiration from traits I like this idea a lot. But we don't know how much power people will want/need. Let's start just exposing one language and seeing what...