I know it's a good thing to not be so permissive about extending the language but does it need to that hard?


#1

reasonml/ocaml: ppx, astexplorer, dumpast, metaquot, dune, esy, workflows for binaries etc
js: template strings and generators

I know it’s a good thing to not be so permissive about extending the language but does it need to that hard?
I mean most of the time we just want to create derivers for record types
for instance


where we could otherwise just do

…if it was easier for library authors to provide those

I know less typing (lol) is not always the best thing but it gets annoying really fast the amount of typing needed for some basic stuff.

So I was thinking in some macro-ish abstraction to make room for extending the language where it matters and where it’s safe.

Record derivers are important but so also are embedded DSLs like CSS and GraphQL