libera/#sbcl - IRC Chatlog
Search
15:28:09
karlosz
lukego_: iirc coalton does its own type inference and monomorphization, which means all call sites are annotated with specialized compiled code (assuming that the underlying lisp implementation is able to compile the specialized code)
15:29:08
karlosz
there is also block compilation which allows local call convention to be used - importantly it allows unboxed floats to get passed around without any inlining needed
15:29:54
karlosz
as you mentioned the user is always going to do a better job for this type of thing
15:31:11
karlosz
pdietz: main issue with something like call-site optimization is that it requires a fair bit of GC coordination and rewriting the call convention (+ associated machine code for 6 architectures)
15:34:11
karlosz
the path that was explored in the 90s seemed to be more "dynamically recompile callers based on a dependency tree" or something
15:59:30
pdietz
A problem with all this is what happens when something is redefined while a function that depends on those definitions has calls on the stack.
19:07:27
lukego_
I also need to consider whether what I'm writing is really GPU code and if so how to move it there. Maybe it could _finally_ be time to write a little language like Squeak's S-Lang in Lisp? No, probably not, never seems to be the right time for that...
19:08:10
lukego_
but following up such lovely trains of thought will be a reward in the future for having more _working_ code that needs to speed up :)
19:23:46
Krystof
lukego_: you could follow along with Andrew Sengul's adventures in using SBCL to compile APL