Hacker News new | ask | show | jobs
by Someone 1479 days ago
Most? Which ones can’t you redefine?

The ‘normal’ way to redefine words in forth is a bit of cheating, though. Redefining a word merely introduces a word with a name that shadows that of the old, still existing word.

Words created before the definition still call the old implementation, and, depending on the implementation (a phrase that, I think applies to about any statement about forth) you can still find it when you walk the dictionary and call it.

Smalltalk is missing too, and that’s a bigger omission. When you redefine a function there, it starts getting used everywhere.

I wonder what a blog post written about this 50 years from now will look like. Would it still mention C and lisp? Would readers of said article still mention forth and smalltalk as missing? Also, what reasonably successful languages from the ‘60s/‘70s already are gone from the collective mind?

Being used today to write very popular OSes, I see C still being mentioned, but by then lisp might have fallen into the abyss of history (except for, probably, a few computer historians)

1 comments

> by then lisp might have fallen into the abyss of history

I don't think so, because being a lisp is a trait of a language rather than a specific language. Scheme is a lisp. Racket is a lisp. Clojure is a lisp.

People keep making new ones because lisp continues to be a useful idea. It keeps not quite going mainstream, the reasons for which have been subject to much speculation. It's most likely that there will be some semi-popular lisp in 50 years.

There are languages which have Lisp in their name for a reason: Emacs Lisp, Visual Lisp, ISLisp, Common Lisp, ... Historically Interlisp (see https://interlisp.org ), Standard Lisp (see REDUCE), and many others.