freenode/#clasp - IRC Chatlog
Search
8:38:35
nmz787
so I'm not sure whether to use the clasp latest, or the clas 0.5 instructions here https://github.com/clasp-developers/clasp/wiki/Build-Instructions
12:13:46
Kevslinger
::notify nmz787 the condition.h error is caused when you're in cando's master branch. Make sure you use both clasp's and cando's dev branch for building.
13:49:50
Shinmera
scymtym: Could you add an explicit check for the package in eclector-reader:interpret-symbol that signals an eclector-specific condition as well as a restart to spoof the symbol? I'd like to be able to chuck code snippets that refer to unknown packages.
13:50:22
Shinmera
Right now it relies on an implementation-defined condition for the package error, which makes it hard to write this portably, and there's no restart to insert another symbol or value in its place on error.
14:26:06
scymtym
Shinmera: my current plan is adding a "client" parameter to INTERPRET-{TOKEN,SYMBOL} so that the client gets full control if desired. i think that also work for your case. what do you think?
14:28:05
scymtym
beach: should i postpone such changes until you finish the second climacs experiment?
14:35:18
Shinmera
the machinery in interpret-symbol is rather complex. I'd rather not copy-paste all of that just to handle the rather common case of an invalid symbol needing to be replaced with a stand-in
14:35:56
Shinmera
continue meaning insert a fresh, package-less symbol of the same name, and use-value meaning use whatever symbol is provided.
14:41:12
scymtym
i agree about not duplicating the code. i'm going to split INTERPRET-SYMBOL into INTERPRET-SYMBOL-TOKEN and INTERPRET-SYMBOL such that the latter gets a symbol name, a package name and the number of package markers
14:41:16
scymtym
the default method on INTERPRET-SYMBOL can then maybe also establish those restarts
14:55:21
karlosz
amusingly, that way the runtime function implemented with m-v-l only uses the one call form m-v-c anyway
14:57:50
beach
karlosz: I meant to tell you, you might have to be careful with loop detection, given the presence of nested functions and threads and such. The control flow can become quite complicated.
15:08:03
karlosz
nested functions become loops if they get inlined, otherwise they arent treated as loops
15:08:50
beach
karlosz: No, I can't, sorry. I haven't thought about it enough. But I worry that if a loop contains a closure creation and that closure escapes, there might be trouble.
15:10:43
beach
It was invariance that I was thinking of, but I can very well imagine problems in other domains as well.
15:11:23
karlosz
i understand your concern though, there are multiple other pitfalls to watch out for like (lambda (n) (dotimes (i n) (/ n 0)))
15:13:53
karlosz
and related things. the big two optimizations utilizing loop invariance are loop induction variables and loop invariant hoisting
15:19:34
scymtym
beach: Shinmera: i'm thinking something like https://github.com/robert-strandh/Eclector/compare/wip-interpret-symbol-token?expand=1 (modulo updating the documentation). any thoughts?
15:21:29
Shinmera
Well, again, in my opinion you should manually FIND-PACKAGE and signal an eclector-specific condition if it's not found yourself, rather than relying on FIND-SYMBOL
15:22:31
Shinmera
Otherwise I'm afraid I'm not familiar enough with the system to be able to tell what this change would allow and how.
15:24:30
scymtym
Shinmera: oh, i didn't quite catch what you meant the first. while reading the code, i even thought relying on FIND-SYMBOL in case the package does not exist is kind of ill-advised
15:27:12
scymtym
with the new protocol you would add a method on ECLECTOR:INTERPRET-SYMBOL and get a "package name" (a string, :current or :keyword), a symbol name and an internp flag. it would be up to your method to decide how to handle missing packages, internal symbols, etc.
15:30:15
scymtym
yes, i think it fits together nicely. i don't mind providing multiple options for customization
17:00:25
nmz787
Kevslinger: thanks, trying again now... does the command the the ./waf program/script change if I want to use more cores (forkable boehm)?
17:00:25
Colleen
nmz787: Kevslinger said 4 hours, 46 minutes ago: the condition.h error is caused when you're in cando's master branch. Make sure you use both clasp's and cando's dev branch for building.
17:05:04
nmz787
the wiki says "./waf build_cboehm" while running "./waf clean" says "./waf build_cboehm_d"