Re: [racket-users] code reflection

2017-10-21 Thread Matthias Felleisen
> On Oct 21, 2017, at 10:51 AM, Konrad Hinsen > wrote: > > Matthias, > >> Yes, on rare occasions, Racket programmers need to use the FFI >> to link in C libraries, C developers need to include ASM, and >> so on. But when we can, we should really stick to

Re: [racket-users] code reflection

2017-10-21 Thread Konrad Hinsen
Matthias, > Yes, on rare occasions, Racket programmers need to use the FFI > to link in C libraries, C developers need to include ASM, and > so on. But when we can, we should really stick to high-level > linguistic constructs when possible and available, especially > when they provide a safer

Re: [racket-users] code reflection

2017-10-19 Thread Matthew Butterick
> On Oct 19, 2017, at 9:09 AM, Konrad Hinsen wrote: > > These looks interesting, thanks! I'll have a closer look later. > I guess that some people would object to making all-upper-case a > semantic marker, but in terms of readability this looks nice. BTW I got some

Re: [racket-users] code reflection

2017-10-19 Thread Konrad Hinsen
Matthew, > If your goal is readable code, why not add some sugar? That's a perfectly good solution. > More broadly, it feels like there's plenty of room for new > macro-definition and syntax-processing forms that suit different > ergonomic needs: readability, automatic error messages,

Re: [racket-users] code reflection

2017-10-19 Thread Matthias Felleisen
> On Oct 19, 2017, at 11:08 AM, Konrad Hinsen > wrote: > > Matthias, > >> Please search my post for ‘hygiene’. I didn’t mention the word. Off — >> Matthias > > Oops, you are right, sorry. Your example used "let", which is also what > everybody used for discussing

Re: [racket-users] code reflection

2017-10-19 Thread Konrad Hinsen
Matthias, > Please search my post for ‘hygiene’. I didn’t mention the word. Off — Matthias Oops, you are right, sorry. Your example used "let", which is also what everybody used for discussing hygiene, so I jumped to conclusions. Your argument is that pattern matching works at a higher level of

Re: [racket-users] code reflection

2017-10-18 Thread Matthew Butterick
> On Oct 18, 2017, at 12:53 AM, Konrad Hinsen > wrote: > > I needed to remove the first > element and add it in front of the others. On a plain list, I could do > this half asleep. But with the list wrapped in a syntax object, even > after considerable thought I am

Re: [racket-users] code reflection

2017-10-18 Thread Matthias Felleisen
Please search my post for ‘hygiene’. I didn’t mention the word. Off — Matthias > On Oct 18, 2017, at 3:53 AM, Konrad Hinsen wrote: > > Matthias, > >> It’s quite doable but I think this misses the point > > I see that I haven't made my point clearly enough (if

Re: [racket-users] code reflection

2017-10-18 Thread Neil Van Dyke
This old post explains my rationale: http://lists.racket-lang.org/users/archive/2014-March/061899.html (Update: The only reason I didn't also kill off `syntax-case` at the time was that the only documentation for `syntax-parse` was imposing, and people could find gentler tutorials for

Re: [racket-users] code reflection

2017-10-18 Thread Neil Van Dyke
Konrad Hinsen wrote on 10/18/2017 03:53 AM: I think what we’re really seeing here is that backwards compatibility sometimes smothers elegant solutions. I firmly believe that in this case we should simply throw out syntax-rules and syntax-case A very good idea. At least throw it out from the

Re: [racket-users] code reflection

2017-10-18 Thread Konrad Hinsen
Matthias, > It’s quite doable but I think this misses the point I see that I haven't made my point clearly enough (if at all). I certainly don't want to go back to unhygienic macros without error checking. What I do want to go back to is doing simple manipulations of syntax objects using

Re: [racket-users] code reflection

2017-10-17 Thread Matthias Felleisen
> On Oct 17, 2017, at 1:35 PM, Alexis King wrote: > > > I agree that it would be nice to have a better introduction to Racket’s > macro-writing facilities that starts with basics and scales to advanced > topics (the syntax-rules/syntax-case/syntax-parse duplicity is >

Re: [racket-users] code reflection

2017-10-17 Thread Alexis King
I’ve noticed that the Racket macro system seems to have a reputation for being impenetrably complicated, which I do not fully understand. Hackett has, indeed, exposed a great deal of complexity, but Hackett is not an ordinary macro, and I found writing macros with syntax/parse to be quite pleasant

Re: [racket-users] code reflection

2017-10-17 Thread Matthias Felleisen
> On Oct 17, 2017, at 2:36 AM, Konrad Hinsen wrote: > > On 16/10/2017 23:11, Matthias Felleisen wrote: > >> Lisp macros are easier than Racket’s in the same way that it >> was so much easier to write procedures in ASM than in Pascal. > > Having used both, I fully