Re: What do you do on Lisp?
On November 23, 2004 06:01 pm, lisptracker wrote:
> Being inspired by recent answers on "How do people actually develop code
> using LispWorks" I am very interested to ask people: "What do you do on
> Lisp and LispWorks in particular ?" Same topic was on c.l.l. and there were
> many interesting stories.
I build tools for developing embedded systems - e.g. compilers for
application-specific languages.
I am building and using a visual language toolset - editors, compilers,
debuggers for a language whose source code consists of 2D diagrams and has
"reactive" semantics (e.g. CALL / RETURN does not appear as a top-level
construct). The visual language has been used in our consulting / contract
work to program 8051-based embedded systems and general programming. All
previous versions of the language and tools were OEM'ed (custom built for
specific projects). The new toolset (written in LW) is meant to be a
commercializable version of the language and tools, while capitalizing and
extending on our experience with these concepts over the past decade.
Sidebar: When you build a visual language, you need to provide an editor for
that language. It turns out that all 2D drawing tools that we looked at
(e.g. Visio, Paint, HotDraw, etc, etc) were all horrible and klunky when
applied to the task of writing code (for a visual language). So, we also had
to invent a "code editor" for the visual language - kind of like an emacs for
graphics. That's done in LW, too.
Sidebar: If you know something about compilers, you know that they are
traditionally built in four phases - scan, parse, semantics and
code-emission. We built the compiler for the graphical language that way,
also. The "scanner" and the "parser" are built using a prolog (backtracking,
rule-based) mentality - for example the parser "infers" that four lines can
be parsed as a "box". Also done in LW, using macros+functions to jump into
the prolog paradigm as required.
pt