libera/#clasp - IRC Chatlog
Search
11:54:37
kpoeck
I follow #sicl daily, will have to find time try it out. Very interesting discussions
11:56:12
kpoeck
Claspers, I wrote a wiki page on how to instally current clasp on Ubuntu 20.10 (https://github.com/clasp-developers/clasp/wiki/Building-with-LLVM-13). Please check if you find time
12:06:20
kpoeck
I also wonder whether we could use your Bootstrap Common Lisp idea to simplify building clasp. Most - or all - of the restrictions that you mentionned in your talks in the online lisp meetings seem to apply for clasp. whenever I try to add something to clasp, I do it at the very end of the build process, so that I can use full power cl (I think
12:07:28
beach
I think I have to figure out how to turn the SICL bootstrapping procedure into something that can be used more generally.
12:07:56
beach
I mean, we created all those implementation-independent modules, but they all use the full Common Lisp language.
12:08:28
beach
So either you have an existing implementation and you replace some of your modules by ours. Or else, you need the SICL bootstrapping procedure.
12:12:35
kpoeck
I am all in favour to use SICL modules. I spent a significant amount of time integratiing eclector fully into clasp but now that seems to work fine. I did that because I was fed up fixing bugs in clasp reader implemented in c++
12:13:44
beach
So, at the moment, you use many of our modules, you need an existing Common Lisp implementation, which kind of defeats the purpose.
12:15:26
kpoeck
Yes, but this is probably only a subset. There were a lot of edge cases in the c++ reader that are still to be fixed, but don't seem be used by eclector (Like deciding that a "D" might be a digit nd nit a character given the right read-base)
12:16:31
kpoeck
Well before the is a working BOCL, I consider ECL an implemention that is self sufficient
12:17:40
beach
But, I still don't see how you can bootstrap Clasp on an existing Common Lisp implementation, given that it needs the LLVM interface right away, and that requires C++ interop.
12:19:05
kpoeck
Well so many thing to figure out and so few time :-) . Still there must be an easier way than bootstraping through aclasp and bclasp
12:19:21
beach
Or, alternatively, since LLVM is so slow to execute, Clasp could just generate code with the right ABI, but not using LLVM.
12:20:04
beach
I mean, using LLVM for the C++ code, of course, but generating its own code from Common Lisp.
12:23:20
kpoeck
When its time to switch clasp from X86-64 to Apple Silicon we find out, whether its a good idea to use llvm as a compiler backend
12:24:27
kpoeck
the opendylan guys also seem to use llvm as their backend, but with a different integration pattern
12:29:03
kpoeck
This is described here: https://european-lisp-symposium.org/static/2020/housel-slides.pdf
12:38:49
kpoeck
Not precisely the some topic, but borodust seems to write a new, powerful interface to create cl bindings for c/c++ libraries. https://github.com/borodust/claw
12:48:47
beach
... because then you could use an existing Common Lisp implementation to interface with Cando and such. No?
12:51:11
jackdaniel
I think that clasp also has this notion of specializing generic functions on c classes
13:12:47
kpoeck
I also believe that Claw at least partially overlaps with clasps cl-bind. Drmeister's use case seem to be best fit by cl-bind though (he will know best).
13:13:07
borodust
c++ interop with C++ through :claw ain't smooth - wrapper creator (author) must compile C shim for interop with C++ library manually
13:14:45
yitzi
kpoeck: I think your 20.10 instructions will work with 20.04 b.c. drmeister removed the need for libgc v8
13:18:05
kpoeck
I am most grateful for your llvm13 packages. I am used to build clasp and cando, not so much for llvm13
13:19:18
kpoeck
At work, I got some free credits for azure. Will try to build on a decent azure machine next.