Search
Sunday, 13th of May 2018, 19:49:19 UTC
20:04:46
karlosz
trying to load sicl-boot aand getting concrete syntax tree system not found
20:05:15
Bike
yeah, it's in a separate repo.
20:05:28
Bike
https://github.com/robert-strandh/Concrete-Syntax-Tree
20:06:00
karlosz
thanks, it should probably be in the README for SICL. i was just following that
20:17:12
karlosz
the compile-cleavir function doesn't seem to be defined in the sbcl examples file either
20:20:20
karlosz
or anywhere, for that matter
20:22:10
Bike
i deleted it. what's trying to use it?
20:23:35
karlosz
im trying to just get Cleavir datastructures from forms
20:24:02
karlosz
im just nnow really trying to glue add cleavir to clisp
20:24:12
karlosz
sogetting the frontend working
20:24:33
Bike
oh, i didn't think of that. i deleted it because it added an unnecessary dependency
20:24:38
Bike
let me think, what do you want to do then
20:25:25
karlosz
just experiment and see what HIR 'looks like'
20:26:34
Bike
(cleavir-ast-to-hir:compile-toplevel-unhoisted (let ((*macroexpand-hook* #'cleavir-sbcl-environment::cleavir-macroexpand)) (cleavir-cst-to-ast:cst-to-ast (cst:cst-from-expression expression) (sb-kernel:make-null-lexenv) nil)))
20:36:10
Bike
you can do (cleavir-ir-graphviz:draw-flowchart result "some filename") to get a dot file and actually look at it
20:36:20
Bike
assuming you have graphviz
20:43:16
karlosz
great, that's better than sbcl
20:43:42
karlosz
and this is all preoptimization?
20:46:59
Bike
it doesn't do anything cleavir identifies as an optimization, no, but there are a few things that could be considered optimizations
20:47:16
karlosz
yeah i know what you mean
20:47:20
Bike
for example, if you do (block nil .. (return ..) some other stuff) the some other stuff will be silently eliminated.
20:48:31
karlosz
or at least normalizes everything to a flowgraph
20:49:01
Bike
cst to ast eliminates syntax. ast to hir puts it in a flowgraph and does stuff like that as it does.
20:49:40
Bike
the idea is that ASTs are something not dependent on the global environment, and then HIR is a flowgraph.
20:51:01
karlosz
and cst is just objectified sexp?
20:51:28
Bike
yeah, a sexp with source info tags.
1:02:34
drmeister
Bike: What did I do on Cando/Clasp this last quarter?
1:03:46
drmeister
You are working on inlining, we were getting source tracking working, Shiho worked on the topology file writer and octree's for add-ions. Anything else I'm missing?
1:15:07
Bike
faor a,pimt pf c;eami[
1:15:12
Bike
*fair amount of cleanup
1:15:25
Bike
i don't see anything super interesting in the commit history, if you're doing a report or something
1:15:37
drmeister
I'm doing a report or something.
1:16:06
Bike
bunch of little optimizations like closurettes, inlining make array
1:16:18
Bike
probably not super interesting to the powers that be
2:17:50
karlosz
ouch, clisp doesn't provide cltl2 functions for accessing the enviornment...
2:18:15
Bike
i think clisp actually discards types and stuff
2:19:31
karlosz
right, but its a problem if i want to hook into the macroexpander
2:19:39
karlosz
im trying to port your sbcl environment example
2:19:45
karlosz
so i can make hir forms from clisp
2:20:10
Bike
well, it has a pretty extensive manual. maybe it mentions something.
2:20:27
karlosz
i looked through the source and tried it
2:20:35
karlosz
the enviroment is represented as a double array...
2:21:04
karlosz
if you call (let ((x 1)) (the-environment))
2:21:29
karlosz
so it really is barebones and not at all cltl2 conforming
2:22:24
Bike
you could alternately provide your own environment
2:22:28
Bike
which is what sicl does of course
2:23:12
karlosz
i might have to go that route
2:23:35
Bike
you only need the fancy stuff if you use host macros that call macroexpand(-1)
2:24:09
karlosz
yeah, my first goal is to just compile a few special forms and functions
2:24:39
Bike
probably easier to just define an environment then
2:24:49
Bike
you can use the ones in sicl/environment, and then just throw a couple methods on them
2:27:36
karlosz
do you know if SIMPLE-ENVIRONMENT is complete enough?
2:28:32
Bike
yeah, it is. i think the difference is explained in the readme
2:28:55
Bike
honestly, you don't even need that. you pretty much just need methods on function-info and variable-info
2:36:33
karlosz
what's hostile.lisp gfor in examples?
2:37:38
Bike
it's a minimal thing that uses only cl accessors to do what it can from the host environment
2:38:05
karlosz
but it isnt leveraging sicl environment explicitly?
2:38:20
Bike
no, it tries to use the host environment
2:39:56
karlosz
it tries to evaluate a bunch offorms to try to see whether a variable is special etc
3:30:03
karlosz
hurrah! some adjustments to hostile was able to get me a HIR for (lambda (x) x) in clisp
3:30:49
karlosz
now to bother the clisp people for how to get real environment info...
3:59:17
drmeister
::notify shiho Can you remind me that we MUST get building some molecular Lego with boronic esters?
3:59:17
Colleen
drmeister: Got it. I'll let shiho know as soon as possible.
Monday, 14th of May 2018, 7:49:19 UTC