3 ms·
Indeed... as soon as I saw this, I skimmed the (smug towards Lispers!) MDL primer [0] and wrote a few (broken) esrap rules to parse some MDL into Lisp. For exa
by bluefox 9y ago
Indeed... as soon as I saw this, I skimmed the (smug towards Lispers!) MDL primer [0] and wrote a few (broken) esrap rules to parse some MDL into Lisp. For example yours gives:
DEMUDDLE> (parse 'expr *lispm-expr*)
(DEFINE 'WAIT ("OPTIONAL" (NUM 3)) (TYPED DECL ((NUM) FIX))
(TELL "Time passes...")
(REPEAT ((N (LVAR NUM))) (TYPED DECL ((N) FIX))
(COND
((OR (L? (SET 'N (- (LVAR N) 1)) 0) (CLOCK-DEMON (GVAR CLOCKER))
(FIGHTING (GVAR FIGHT-DEMON)))
(RETURN)))))
Someone more determined could write a small MDL->CL translator and produce a CL port of Zork (chock full of special declarations, since MDL uses dyamic scoping).
I also found the following interesting remark in the primer: "One of the implementors of Zork has been heard to say that Zork is a huge conditional".
[0] http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-292.pdf http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-29...