Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

His premise is not true.

Common Lisp has reader macros. You can change the syntax to anything you like. There is even Fortran compiler written using reader macros to lead Fortran syntax.

Common lisp has

1. reader macros for read time,

2. macros

3. compiler macros for compile time

Macro language for all these is Common Lisp.

Metaprogramming has little to do with macros or syntax. Term refers to ability to manipulate semantics and meaning of of types, interfaces, classes, methods, etc. CLOS (Common Lisp Metaobject Protocol) for that if CL itself is not strong enough.



> [...] meaning there will always be rigid syntax within lisp (its parentheses or the fact that it needs to have characters that tell lisp to read ahead).

They are talking about CL reader macros here. You can use a different tokenizer in CL with reader macros, but you have to use an expression in the read table to say that you're switching tokenizers. It seems like in Cognition you can call a function and that will switch tokenizers in the callers context.


every entry in readtable can switch to its own reader and in fact can allow such behaviour as described.




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

Search: