libera/#clasp - IRC Chatlog
Search
11:59:22
lxsameer
hey folks, I read an old reddit post about Clasp using both MPS and boehm GC, does that apply to clasp today as well?
12:00:39
jackdaniel
I think that it is mostly boehm; but please wait for clasp devs, I may remember wrong
12:02:42
yitzi
We use Boehm. There is an MPS build, but it is really only used for static analysis in preparation for the Boehm build.
12:59:19
yitzi
lxsameer: drmeister, Bike or kpoeck may be able to answer your question. They know more about the details of GC than I do.
13:05:24
lxsameer
Bike: and on the scale of 0 - 10, 0 being not all and 10 being super happy, how happy are you with boehm? any issue so far?
13:07:29
yitzi
Bike: I haven't tried #1349 in gdb yet. I did answer your question about the logical hosts in the PR
13:10:23
Bike
could we use SYS for all of them by giving it some top level "directories" with specific translations?
13:13:16
yitzi
I don't think so, unfortunately. We need them to make clasp work in a build system and in an installed system also. Plus the location of lib + share folders is not always the same on all systems.
13:14:18
yitzi
I do think there is more simplifications possible in the bundle logic, though. At a minimum I think we could delete the bitcode logical host.
13:20:18
Bike
in the build system we can technically not use SYS at all since it's reserved for the implementation, no?
13:22:58
Bike
as for boehm, i'm not really confident in scoring anything without doing more in depth analysis than i've done
13:40:28
kpoeck
lxsameer: drmeister is also looking at mmtk (https://www.mmtk.io/), but they don't seem to be quite there yet
13:44:32
Bike
yitzi: does your change entail slime changes or anything? i'm not able to M-. anything, although the pathnames look correct...
13:44:54
yitzi
Bike: While koga is running it creates a GENERATED and a FASL logical host in the the "host" implementation, i.e. SBCL. It also uses SBCL's SYS hosts. It does not actually use the translation tables of SBCL since it never calls translate-logical-pathname. It only uses these hosts so it can print logical pathnames into the various build files. Currently, koga doesn't use logical pathnames to locate build files.
13:45:20
yitzi
Once iclasp is built then we are in "clasp" so the logical hosts SYS, GENERATED, etc all work.
13:46:28
Bike
so we "use" logical paths in koga but don't actually put in any pathname translations?
13:48:19
yitzi
Exactly. There are lot of "root" directories in koga and logical pathnames would probably be a PITA there. Instead I use relative pathnames and and plist of the roots.
13:51:06
Bike
yeah, swank is having problems here. should ext:source-location apply logical pathname translations do you think, or should that be the responsibility of the user (e.g. swank)
13:52:32
Bike
(sb-introspect:definition-source-pathname (sb-introspect:find-definition-source #'cons)) => #p"SYS:SRC;CODE;LIST.LISP" which isn't too different from clasp
13:52:34
yitzi
Especially since you don't actually need to translate-logical-pathname while you are still in CL. Only when you are sending the pathname to someone else.
13:54:52
Bike
ok, with translate-logical-pathname in swank/clasp??translate-location everything works again. super.
13:55:42
yitzi
I think this probably needs a translate https://github.com/slime/slime/blob/9005cdaac4c0adaa8e26ee5285c7b155762c0ce5/swank/clasp.lisp#L463