freenode/#sicl - IRC Chatlog
Search
15:37:13
jcowan
Scheme doesn't allow you to portably create a new mutable environment at run time. In any case, runtime access to environments is available only through eval and load (the default being the REPL's environment, which is mutable).
15:37:25
Shinmera
I know I talked about lock-free hash-tables in here before. Today I finally got back to working on that, and I'm having good success so far! https://twitter.com/Shinmera/status/1087735482879037442
15:39:49
beach
jcowan: Right, I was talking about extensions to Scheme. Like this one: https://dl.acm.org/citation.cfm?id=232653&dl=ACM&coll=DL
15:41:53
Shinmera
His approach to writing concurrent algorithms in state-machine form is pretty nice
15:43:15
Shinmera
The published code is also nicely commented, which is a rarity for publications :)
15:53:42
jcowan
In some sciences were are now at the point where the "paper" is an extended abstract, and the real paper is in the "supplementary electronic materials".
17:42:05
jcowan
I have read the Queinnec paper with some pain. However, it is a mixture of concerns from my point of view: I am (and I think you are) only interested in first-class global environments, whereas Q's environments also include the local (lexical) environment.
17:42:49
jcowan
(There are people in the Scheme community who claim that the inability of Scheme's eval to access the lexical environment of its call was a grave error, but they aren't much listened to.)
17:44:39
Bike
kind of a different question from whether it should be possible to access lexical environments in some fashion, though
18:28:13
jcowan
in pre-Scheme, pre-CL days when all variabvles were dynamically scoped, eval had access to local as well as global variables automatically.
19:40:24
Bike
so i got through a lot of the rewrite but just remembered that we do need to generate ASTs from things that aren't functions, so there will be no dynamic environment argument available. not sure how to represent that.
19:58:16
Bike
that is, if i cst-to-ast '(foo 4), i need something in the dynamic-environment input for that call
22:54:57
Bike
other than that everything seems to be working. block and tagbody unwind hir looks sane. having catch have multiple successors for tagbody really cleans things up, both in ast-to-hir code and the graphs themselves
22:55:18
Bike
tomorrow i'll hook it up in clasp in order to remove my illusion that everything seems to be working
22:55:32
Bike
i have it pushed as the dynamic-environment branch if anyone wants to take a look. or i will in a minute anyway.