3 ms·
Most of these "high-level" languages are more of "extensions" (CLOS certainly feels like an extension) or alternative lispish languages than bona fide DSLs with
by vicaya 17y ago
Most of these "high-level" languages are more of "extensions" (CLOS certainly feels like an extension) or alternative lispish languages than bona fide DSLs with DS constraints (that can be used for DS optimizations). The S-expression syntax feels foreign/messy in many domains.
- lispm 17y agoLanguages on top of Lisp can be all from extensions, to languages with their own syntax, parser, compiler, ... Examples for "high-level" languages on top of Lisp: Macsyma, Axiom, Refine, AP5, RacerPro, CycL, NESL, Reduce, PVS, the original ML, ... For a Lisp-like example see PDDL (Planning Domain Definition Language): (define (domain hanoi-domain) (:requirements :equality) (:predicates (disk ?x) (smaller ?x ?y) (on ?x ?y) (clear ?x)) (:action move-disk :parameters (?disk ?below-disk ?new-below-disk) :precondition (and (disk ?disk) (smaller ?disk ?new-below-disk) (not (= ?new-below-disk ?below-disk)) (not (= ?new-below-disk ?disk)) (not (= ?below-disk ?disk)) (on ?disk ?below-disk) (clear ?disk) (clear ?new-below-disk)) :effect (and (clear ?below-disk) (on ?disk ?new-below-disk) (not (on ?disk ?below-disk)) (not (clear ?new-below-disk))))) Tools like these are widely used in logistics domains, one of the domains where Lisp has been widely used. There is a competition between planning systems and PDDL is being used to describe the problems. For a non-s-expression domain specific language on top of Lisp see for example PWGL. It uses a graphical language. Also Macsyma/Maxima, and many many many others.