Hacker News new | past | comments | ask | show | jobs | submit login

you just need to implement read-syntax ...



I wasn't being sarcastic, it was very simple the way they've done it. https://docs.racket-lang.org/reference/Reading.html#%28def._...


I'm saying that there is a larger machinery behind it. It just looks simple.


Well ok but then technically a hello world is complex for the same reasons


I'd say this depends of the complexity of the I/O system.

This was the original claim, which you supported:

'Parsing Lisp in Lisp is so easy because it’s free.'

The example you were pointing to is explicitly calling a parsing engine of Racket via 'read-syntax'. Actually more complicated than the usual s-expression reader - which does only read s-expressions, but has no further idea about Scheme syntax.

Check the usual Scheme report / Racket documentation for the definition of Scheme syntax, syntax objects and its extension mechanisms (macros, ...). I'd say the whole thing is non-trivial. There is a grammar of Scheme, but it is not fixed, because there are extension mechanisms, which make parsing challenging.

It's 'free' because it's a provided language facility - but not free in terms of complexity of the concepts to understand.

And no, the syntax of s-expressions (-> data) is not the syntax of Lisp. It's just the syntax of s-expressions. Search the Scheme report for 'syntax'...


Ah I love computer programmers


I know right?^^




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: