‹ BackHN Continuity

Thread

We Should Be Able to Change Our Languages

59 points · 36 comments · surprisetalk

  1. d-us-vb · · focus · HN ↗
    Not sure what this guy is on about. Languages with extensible syntax (through macros, through term rewriting, through intrusive function like decorators) have always been available, though notably less popular. Languages also can support extensible features through reflection: runtime inspection of structure of user-defined types.

    - Any language with bicameral syntax (the lisps, etc)

    - Rebol and Red

    - Smalltalk, Self, etc.

    People tend to not like these for most programming problems due to the eventual maintenance burden and the steep up front cost of becoming competent with them. But the title and thesis of this post is a bit of a head scratcher: we've always been able to change languages designed to be changed, and mainstream high level language no. 2, Lisp, was one such language. As always, whether or not a language supports macros or some general metaprogramming facility is a design tradeoff both for the complexity of the compiler and the implicit complexity of the codebase (knowing that the language doesn't prevent you from defining new operators with semantics that may go counter to the intuition employed in the base language).

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.