Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

does OpenDylan count?

A topic by Jon Raphaelson created Apr 24, 2024 Views: 268 Replies: 7
Viewing posts 1 to 7

I haven't ever really tried, but it's very definitely a scheme, though it doesn't have s-exprs; given that fennel and clojure are appropriate, but have completely different runtime models, is something with more of a lisp runtime model but without the sexprs still appropriate?

https://opendylan.org/

> Dylan is an object-functional language originally created by Apple for the Newton. Dylan is a direct descendant of Scheme and CLOS (without the Lisp syntax) with a programming model designed to support efficient machine code generation, including fine-grained control over dynamic and static behaviors.

HostSubmitted

Hmm this is a tricky case. I don't think I would personally consider Dylan a member of the Lisp family, though it descends from it. Is Dylan's syntax homoiconic like Lisp s-expression syntax? I don't want to be too strict about what qualifies as a Lisp, though. Without turning this into a debate, does anyone else have thoughts here? I'd be inclined to say "sure, go for it" as long as it doesn't open the door for things like "JavaScript should be allowed because it's inspired by Scheme." Dylan feels obscure enough to be permissible, possibly.

Yeah, that makes sense; I’m not planning on running at it this time (I’d have to start by figuring out bindings for a graphics lib), but I’d be curious your thoughts for next time.

Re: homoiconicity, it’s not, as far as I can tell, though it has a powerful ast-driven hygenic macro system as you’d expect from a scheme-derivative; to me, that’s what would distinguish a lisp - not necessarily homoiconicity, but macro-induced malleability.

Anyway, just a thought, mostly for the future!

Thanks!

I think it depends on how you want to define a lisp. It really is just a line in the sand, because for every feature that you might think is defining of "a lisp", somebody's probably made a lisp that doesn't have it. For example:

  • Lone Lisp (currently) doesn't have macros, but it uses the usual s-expression syntax and calls itself a lisp. Is it a lisp?
  • Wikipedia has a list of languages that are considered to be somewhat homoiconic, but don't have s-expression syntax. Julia and Elixir both extensively use hygienic macros and are considered to be homoiconic, but don't use s-expression syntax. Are they lisps?
  • Rust also has a declarative hygienic macro system reminiscent of Scheme's syntax-rules, and an even more powerful procedural macro system, but the macros are clearly separated from the rest of the language with a ! and it's definitely not homoiconic. Is it a lisp?

Maybe the only way to tell what is and isn't a lisp is though the vibes a language gives. In short, "I know it when I see it".

HostSubmitted

I think s-expressions are essential to the vibe of Lisp, so Dylan goes in the "not a Lisp" category for me.

I agree with David.
There was a time where m expressions and such were being toyed with but for me it's still about s-expressions.
We're already on a slippery slope losing Lisp identity to the other dynamic language's syntactic sugar.
Here and no further I say.

Submitted

Sorry I'm late. I haven't programmed in Dylan myself, but I believe that it should be considered lisp.

1. It is from the moon

2. KMP's wonderful More Than Just Words on why Dylan is welcome at the european lisp symposium  https://www.nhplace.com/kent/PS/Lambda.html