4 ms·
Defining what a "real lisp" is... a bit like defining what a "real roguelike" is. Depending on who you ask it either becomes yet another common lisp or just "a
by vkazanov 2y ago
Defining what a "real lisp" is... a bit like defining what a "real roguelike" is.
Depending on who you ask it either becomes yet another common lisp or just "a lot of parentheses" :-)
Janet is cool though. And it is a lisp. And hades is a roguelike.
- dartos 2y agoI don’t think there’s any confusion over the definition of roguelike vs roguelite. The key difference is that roguelikes lack the meta progression that roguelites have. Rogue and friends didn’t have meta progression. So hades is a roguelite, not a roguelike. It’s a well known distinction.
- vkazanov 2y agosigh The key difference according to the famous Berlin interpretation is that roguelikes are supposed to have certain traits [1] making them into a variation of classic games: ADOM, (B)Rogue, Nethack, etc. Metaprogression can or cannot be in the game. Doesn't even matter. In this worldview roguelites, generally speaking, only borrow certain aspects of the definition, with permadeath being the main one. Either way, there are many (very) influential devs who do not agree even with this strict definition [2]. [1] https://www.roguebasin.com/index.php/Berlin_Interpretation https://www.roguebasin.com/index.php/Berlin_Interpretation [2] http://www.gamesofgrey.com/blog/?p=403 http://www.gamesofgrey.com/blog/?p=403
- dartos 2y agoSure some devs may split hairs over the precise semantics, but for the market at large, the difference is understood. Talk to any average roguelike/lite enjoyer and they’ll identify that as the difference. “Roguelikes” do tend to have that same top down grid style, though. Can’t think of any permadeath games without metaprogression which encourage replaying the whole game on death and which don’t use that format. Just like with lisps. Some devs may split hairs over what is and is not a lisp, but for most people, if the language is dynamic, garbage collected, has a regular parens-heavy syntax, and has powerful macro features, it’s a lisp.
- vkazanov 2y agoIsn't this what i am trying to point out? Definitions are kinda hard to come up with here, only general features/expectations are possible. And then there's also genre/language evolution at play. Most people would say that Clojure is a lisp but semantically it is a very different language when compared to, say, common lisp.
- slowmovintarget 2y ago"No true Scotsman..." Lisp-1 and Lisp-2 are the only interesting distinctions. Everything else boils down to "does it use S-expressions?" The "OMG! it doesn't have ~cons~!" is a silly argument, but that's because it's an opinion (just like this). https://www.nhplace.com/kent/Papers/Technical-Issues.html https://www.nhplace.com/kent/Papers/Technical-Issues.html
- kazinator 2y agoNote that there's far less disagreement over the designation "Lisplike".
- vkazanov 2y agoI think this is mostly due to the more niche nature of the discussion. Many people play games, not too many people (or even devs) know about all the numerous Lisp-likes. In relevant communities. I have seen A LOT of arguments in niche communities over what a Lisp should be like. It all started around the introduction of Scheme compilers. Some say a Lisp should have macros, others focus on lists/vectors/hashes, then there's dynamic execution vs compilation, let's not forget about dynamic vs lexical binding; and the big one - Lisp-1 or Lisp-2. I work in a mid-tier tech company with 800 devs. Been here for years, know everyone. There are maybe 3 devs/admins who know what Racket is!