freenode/#sicl - IRC Chatlog
Search
8:59:02
beach
I see. Well, a partial implementation may be good enough for what Trucler will be used for.
8:59:38
heisig
1. We try our best, i.e. macroexpand might work on such environments, but we cannot guarantee it.
9:03:50
heisig
I agree. But maybe we should mention in the docs that environment augmentation is an experimental feature.
9:11:12
beach
Accumulate augmentations without creating a new environment until some query comes in.
9:13:32
beach
And I am asking whether it could be introduced in a way that it is not visible to client code.
9:15:00
heisig
So the result of an augmentation function would be a 'lazy-environment'. The user would think it is an environment, but actually it is only a recipe that could be turned into one.
9:15:26
beach
With the first call to an augmentation function, you create a new builder. Subsequent calls to augmentation functions just work on the builder. With the first call to a query function, the builder is "finalized" and a full environment stage is created.
9:27:00
beach
I know scymtym is skeptical when it comes to a paper about Eclector, but I think it might be worthwhile. There are lots of people attending ELS who do not hang out on IRC, and so then do not know about these things.
9:27:19
beach
And the reason I brought it up is that it would be reasonable to contemplate a paper about Trucler as well.
9:29:34
beach
Certainly, I could show how to use Cleavir2 to turn SBCL code into an AST using the SBCL implementation of Trucler.
9:30:50
beach
There might be some interest in such an experiment, given that a Cleavir-based compiler for SBCL has been discussed at ELS. I only heard it second hand, though.
9:33:48
beach
When it comes to Eclector, I am thinking in the following terms as well: Currently, every implementation written in something other than Common Lisp has a reader written in that something else, for the simple reason that it must be able to read Common Lisp code early on.
9:34:24
beach
However, the code that they need to read very likely uses only a small subset of what READ must do according to the standard.
9:34:50
beach
But since they are implementing the reader in that other language, they are very likely turning it into a complete reader.
9:36:04
beach
With Eclector, there is another way. They could have a very simple reader written in that other language with only those features implemented that are needed to read more code for the system.
9:36:26
beach
Then, when they have enough functionality, they could read the code for Eclector and switch.
9:37:10
beach
They could then remove lots of implementation-specific code for their own reader; code that is written in that other language.
9:51:34
heisig
A paper on portable code walking would be great. But I think it would have to include not only Trucler, but also CST-to-AST.
9:52:23
heisig
If I find enough time, I might also submit a paper on sealable-metaobjects and how I use them in SICL sequence.
9:52:50
heisig
And if I find even more time, I might hand in a paper about SIMD intrinsics for SBCL.
9:54:22
beach
About the sequences, I am looking forward to it, so that I can remove all that obsolete code.
9:56:04
heisig
I will definitely be there. Vienna is just a single train ride from where I live, so I would be foolish not to go there.
10:01:25
beach
Hmm. There appears to be a direct flight from Bordeaux to Vienna. That gives me fewer excuses not to go. I probably won't though.
10:11:36
beach
Oh, I know the perfect excuse. We need to cut down on air travel to save the environment.
11:19:31
heisig
That is a very good excuse. I also decided to drastically cut my personal emissions until our politicians start acting responsibly.
11:40:20
shka__
which kinda annoys me since if actions were taken situation know wouldn't be so dire