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

Lots of term rewriting found in compilers. Usually based on pattern matching on trees followed by some guard function to deal with DAGs / graphs. Lisp/scheme don't have pattern matching in the core - possibly because it's much cleaner with a static type system doing some of the dispatch - but you can implement one or use one of the libraries.

Declarative programming is roughly that control flow is handled by the language runtime instead of the programmer. That's either some dedicated language (makefile, yacc) or a DSL in some non-declarative language. It's not lisp, but the tablegen programs used by llvm's backend are an interesting example of a concise declarative syntax turning into a load of C++.

I'd say both are examples of things lisp doesn't really do for you. They're more reasonable to implement in a lisp than in most other languages.



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: