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

a string has a certain character level syntax: alphanumeric characters and escaped characters. Last I looked strings were part of the C syntax, but the C syntax was not based on strings. OTOH Lisp syntax is built on top of S-expressions, a data syntax.


Yes but I thank that is a rather minor point. I don't think people are usually thinking of character level syntax when they say that Lisp is homoiconic and C is not.

Also it seems like it would be possible to define a variant of C that did use identical external representations for source code and strings. Such a language would still be essentially C and would be no (or at best only marginally) more homoiconic than is conventional C.


Sure you could define a variant of C. But C itself is how it is. C external source code is not defined on top of a data syntax. C also does not have any structured data representation for its source code and is not defined to work on that.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: