gsoc: grabbing clisp environment info, cltl2

Charles Zhang <[email protected]> Sun, 13 May 2018 23:48:35 -0400
Newsgroups gmane.lisp.clisp.devel
Message-ID <CAB=SSSnXK66h7q4x9BaF7oEgHcgVsGA+os8fC988hLeNonW75A@mail.gmail.com>
Hello clisp,

Everything is building under git, working with SLIME, quicklisp, etc.

I've been trying to create Cleavir flow graphs with CLISP. Such
'front-end' compilation needs to take place in a lexical environment
in order to get variable, function, optimize information etc as well
as to hook into macroexpanders. However, I have found that CLISP does
not adhere to the CLtL2 environment interface. Additionally,
(ext:the-environment) does not seem to give compile time lexical
environment information, only runtime environment information. This
makes it hard to discover information about local variables or local
functions.  Even then, I couldn't find any interface to tell whether
symbols were declared special with defvar.

So, for the time being, I've been able to only get approximate
information environment information by evaluating (boundp ...) and
testing whether PROGV and LET yield the same information. This is
enough to get basic forms like (lambda (x) x) compiling to HIR (the
Cleavir flow graph representation) in clisp. However, in order to do
more complicated stuff it seems like I'll need some way of getting at
optimize, variable and function info at runtime. Any way of getting
CLtL2-esque information here? Maybe buried in a codewalker?

Charles

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
clisp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clisp-devel