Replies: 5 comments 2 replies
-
Minor fix-ups/tweaks 👍. Actually, even if no-one one reviews them, I'm happy to merge if I don't get to reviewing them within a month, given that at least you've been using them for real for a while. More radical, I'm a bit unsure. Because I'm not really the owner of es, rather I just nominated myself as someone who cares enough To be honest, I'm not entirely sure how competent I am to review these kind of changes anyway. @memreflect and @mwgamera have actually spent time poking round in |
Beta Was this translation helpful? Give feedback.
-
Bug fixes are always welcome. As are internal improvements, like the reduction of the initial.es dump you just submitted, and probably most of those you consider uncontroversial. |
Beta Was this translation helpful? Give feedback.
-
I think most people would agree (I might even be among them) that the arithmetic is fairly superfluous. It also proved to be a surprisingly invasive change to make work how I wanted -- I had to add a few new tree types, and ended up with a lot of assertion failures and segfaults due to missing cases in switch statements. Not pretty. I also agree in general that syntax changes are flashy and fun to make but should have a high bar to actually pull in. I was honestly pretty surprised to find How about something that feels more "edge-casey" to me -- how conservatively should we approach how code is externalized? A quick example is this:
I know these code representations are a big mess beyond 100-ish characters anyway, but I find the increased white space and less-aggressive quoting produce much more readable output. It's certainly not invisible to users, though. |
Beta Was this translation helpful? Give feedback.
-
"nLambda" would imply an argument is accepted, which is not true in the case of something like
That would certainly prevent someone from thinking
I like the idea of using C's built-in arithmetic operations instead of calling out to
This has potential for confusion, but i certainly enjoy how composable it looks; that's the biggest reason why i love using xargs.
Removing the braces surrounding Overall, I agree with your final statement in a general sense. |
Beta Was this translation helpful? Give feedback.
-
Enough people seem intrigued about Oh, also, one of the first things I did was change |
Beta Was this translation helpful? Give feedback.
-
So over the last few years, I've built up a small hoard of changes to es.
Some of them are pretty uncontroversial, like better readline integration and a method for shrinking the generated binary, or pretty small, like replacing in the C code "nThunk" with "nLambda" with no parameters (with no change to behavior). Some are just weird personal preference, like any time the parser finds a case of
{{}}
it deduplicates the braces down to{}
.Some are more debatable whether they're good ideas, like adding arithmetic syntax (which I basically just stole from xs, though the implementation itself is mine)
or a new
=>
operator, letting you rewriteinto the more-legible-to-me
I have one set of changes which are even more radical, where I made a new set of
es:
functions. In this setup, I put function lookup and path searching into initial.es:and was able to get most of the logic in
main()
into es script language as well (see https://github.com/jpco/es-shell-mirror/blob/es-main/builtin/runtime.es#L241). I also was able to redefine both$&batchloop
and$&dot
in pure es, which is pretty cool.Anyway -- I'd be happy to make PRs for just about any of this stuff, but rebasing and cleaning the changes up takes some effort (as would reviewing it all), so I'd like to know ahead of time which, if any, of this is interesting to anyone else. What do folks think?
Beta Was this translation helpful? Give feedback.
All reactions