badkins
2019-8-15 20:09:26

I hate to get involved in the syntax discussions because I think it could be a huge time sink, and I’m content w/ the current state, but as far as non-s-expression syntaxes are concerned, I think it’s hard to beat Haskell’s. I’m not a PL guy though, so I’m guessing that syntax is not feasible for the type of macro programming we’ll want to do, does that sound right?


notjack
2019-8-15 20:26:52

I think Honu showed that actually that kind of syntax is still feasible for macros. Or at least, much more feasible than previously assumed.


notjack
2019-8-15 20:28:50

Lots of non-s-exp languages are experimenting more and more with macro systems. Haskell has Template Haskell and Rust has a full procedural macro system, for example. These languages can benefit from Racket’s knowledge of advanced macro systems, but only if we make that knowledge practically usable in non-s-exp syntaxes.


badkins
2019-8-15 21:57:40

Well, if it is feasible, it should probably be on the short list of examples to consider. It seems concise, elegant, expressive, etc.


tgbugs
2019-8-15 22:14:34

before I forget again, the not-entirely-sure-if-joke http://xahlee.info/comp/html6.html tortoise-expression syntax is a fun point of reference for thinking about alternate s-expression-like syntaxes that could be completely regular by avoiding the use of reader macros like #' and ' as prefixes, without having to resort to the full (quote (a list of things)) which is highly regular but doubles the parens


tgbugs
2019-8-15 22:16:12

somewhat related to @rokitna’s comment about preferring (##hash ...) instead of #hash(...) so that (# takes on special meaning


notjack
2019-8-15 23:01:20

@tgbugs see also clojure’s EDN syntax


notjack
2019-8-15 23:01:42

notjack
2019-8-15 23:04:27

@rokitna I saw that you sent https://github.com/jackfirth/rebellion/pull/181 - very cool! I haven’t had time to look at the diff yet, but I’m excited to


notjack
2019-8-15 23:05:19

(p.s. There’s a github feature to open a “draft” pull request, which prevents anyone from being able to merge it and makes the UI label it as a draft / work-in-progress)



rokitna
2019-8-16 01:22:04

Hmm, I was considering doing that. Maybe that’d be a good idea.


rokitna
2019-8-16 01:24:38

I saw the option to make it a draft or make it “Ready for review,” and since I wanted you to be able to discuss it with me like a code review, I thought the latter was more applicable. I bet line comments are possible either way though, right?


notjack
2019-8-16 01:35:57

I think they are, yes. But I haven’t tried.


rokitna
2019-8-16 01:36:30

I’ll see if I can switch it to be a draft


notjack
2019-8-16 02:16:40

You don’t have to, I don’t mind it being a non-draft