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

Absolutely, Nim and Zig have proper CTFE and you can parse JSON at compile-time with a normal parser code in all 3 of them IIRC.


This all seems cool until you realise that Lisp had full compile time access to the whole language for decades.


There's more to a language than just features and functionality though. Why does Clojure have adoption despite being the least powerful Lisp, created decades after Common Lisp? Its stdlib, default data structures, and even syntax make it compelling (yes, sometimes having a deliminiter other than parentheses is helpful, and no being able to define new syntax via macros is not the same thing because defaults are important). Its not bad to rehash language features that have existed for 50 years if the resulting language has other compelling qualities.


Why does a cool thing seem less cool when/if you realize something else is also cool?


Because if lisp has it then we are not moving forward so much as people are creating new languages with the same features.

Don't know if that actually applies to Zig/D, but that's how I read it.


The revolutionary thing about lisp macros was that you could freely manipulate code as data.

What zig offers is completely different: it allows you freely manipulate types as data, while disallowing the ability to manipulate syntax.


It’s a major step forward if it fixes one of the huge problems with Lisps: adoption.


If the problem is that languages don't have enough adoption, then spreading people out over even more languages is the opposite of useful.


Depends on what you think the cause of the lack of adoption is. If you think it can be fixed by doubling down on existing languages, then sure. But I don't know if that's addressing the cause (because I don't know the cause).

I use Lisps all the time and love them. But I recognize that most people don't like them. At some point we have to meet people where they are, if we want to have broad impact. Ideas on their own aren't good enough, they need to be packaged up in the right way, approachable to the right people, marketed appropriately, etc. The tech itself is just a small part of what it takes for an idea to create impact.


I disagree, programming language ergonomics/"feel" is real and Lisp's don't fit everyone.


Yes. But you could see the new crop of native languages as: as close to LISP as possible without codegen in the runtime. There is this 2x gap between JIT and AOT. (EDIT: Other than that I'm not sure if any of the new kids can introspect on the content - lines of codes - of a function, like LISP would).


Lisps support AOT compilation since several decades, image tree shaking, and actually having a compiler in the runtime allows for tooling that most languages lack.


Can you avoid having a compiler in the runtime?


Sure, AOT compilation + tree shaking.

This is one way,

http://www.lispworks.com/documentation/lw70/DV/html/delivery...


So a D successor could be a LISP with mainstream syntax and UX?


Well, there is Dylan.

D doesn't need a successor, rather a better marketing and fixing all lose ends.




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

Search: