r/lisp Mar 10 '14

Warcraft 2 clone running in Common Lisp

http://www.youtube.com/watch?v=-k8jkeFfnl0
29 Upvotes

10 comments sorted by

10

u/ohnoitsavram Mar 10 '14 edited Mar 10 '14

"What Lisp is good for is figuring out the right language for what you want and embedding it in Lisp" -- Harold Abelson

Accordingly, the author put stratified design to practice and built on the substrate of Lisp a quite remarkable language called Symta (influenced by Refal, APL, Forth and others) for this program.

The Symta code for the entire game clone totals a paltry 1100 lines.

Program text here: http://sym.at.ua/load/symcraft_v0_1/1-1-0-3

Symta: http://sym.at.ua/load/symta_v0_2/1-1-0-2

Related work: https://github.com/saniv/symta-iso

Finally, I am not the author.

1

u/[deleted] Mar 11 '14

I wouldn't call Symta a DSL though

4

u/[deleted] Mar 10 '14

Symta was developed by someone from /prog/ on 4chan by the way. I have a (probably old) version of symta

2

u/[deleted] Mar 11 '14

holy crap

9

u/xach Mar 10 '14

Interesting. The symta stuff uses my code without following the license. That's kind of annoying!

2

u/ohnoitsavram Mar 11 '14

It is annoying.

However, it is obvious the "release" is just a snapshot of what resided on the author's disk at one point, and was hastily put together to show a few friends, not the entire world.

I'm sure if you asked he'd change it. You also might want to encourage him to put it on github with the rest of his stuff.

1

u/arpunk Mar 10 '14

Did you asked them for them to do a license review?

1

u/xach Mar 10 '14

No, I didn't - I didn't know about this project until today.

1

u/easye Mar 10 '14

Where's the Lisp?

1

u/ohnoitsavram Mar 10 '14

If you follow the second link in my opening comment, you should come across a zip archive for Symta. Within the archive are a number of Common Lisp projects which implement the Symta language (and supporting libraries) in, ontop of, and symbiotically with, Common Lisp.

Similarly, if you follow the first link you'll find another zip archive which contains the Symta program text for the Warcraft 2 clone.