freenode/#sicl - IRC Chatlog
Search
11:44:24
beach
I accidentally did git add <several files> but did not commit. Is there a way to undo that?
11:46:50
makomo
git reset HEAD <file> should remove the file from the index (staging area), but shouldn't alter its contents (i.e. modify the work tree)
11:47:22
makomo
i usually use Magit from Emacs so i'm not 100% sure what the exact git commands are :-)
11:48:25
makomo
for some additional confirmation, also see https://stackoverflow.com/questions/6919121/why-are-there-two-ways-to-unstage-a-file-in-git
12:39:28
beach
shka__: OK, so my laptop just died, or, rather, the battery did. I am usually counting on being able to tweak the slides until the last minute.
12:40:08
beach
Plus, my desktop crashes regularly and I lose not only my context, but also the enthusiasm.
12:40:55
beach
Then I must handle numerous calls from Alitalia about my wife's need for assistance, so I get interrupted quite often today.
12:56:40
splittist
Replace the text on your slide presentation with ambiguous photographs, then you can tweak your script with pen and pencil until the last moment.
14:36:12
beach
The talk is easier to understand in many respects, because I use more animated slides. The paper format does not lend itself to such techniques.
14:39:08
makomo
true, but it'd be nice to at least have an idea of what's going on, especially for some harder/trickier parts i guess, so that i don't get lost :-)
15:07:08
beach
Whew! I think I have all of my bootstrapping animations taken care of. The rest is just text and maybe a few figures. http://metamodular.com/bootstrapping-slides.pdf starting on slide 21.
15:11:10
beach
It looks like too many slides, but the animations only require a few seconds per slide.
15:22:36
splittist
Slide 16 : what is the "implementation" in "implementation-specific backend code"?
15:28:37
splittist
Slide 6: you say "Imagine writing the C for a single generic function". You'll want to help people imagine the complications, because it might not be obvious to those few in the audience who have not written an implementation of CLOS from scratch...
15:47:26
splittist
Here's the first lines of the 3.5k line pcl 'implementation' in 'C' of generic functions https://plaster.tymoon.eu/view/1277 (from the GCL source)
15:51:25
beach
The insight of the talk is that these data structures are best created programmatically, and I don't think anyone has had the courage to define them as compile-time pointer structures in C.
15:53:41
beach
So to define, say, INITIALIZE-INSTANCE that way, there would have to be a struct of type generic_function, then a list of methods. Each method would be a struct that contains a pointer to the generic function, to the specializers, to the method function, etc etc.
15:54:30
beach
It would be fantastically error prone to define it that way, and the description would be incorrect even with a minor change in the slots of some class.
15:55:13
jcowan
They could be created programmatically and nevertheless be compile-time pointer structures in C by using an external DSL.
15:57:42
beach
That's not significantly different from generating assembly or machine code directly though.
15:58:47
beach
I am sorry, this is the first time I hear the term "external DSL", so I didn't know what it was supposed to mean.
16:35:13
beach
Slide 7 of http://metamodular.com/bootstrapping-slides.pdf is what I had in mind for the static C code.
16:41:37
Bike
looks like a fine struct initializer though. you could do the .slotname= syntax to make it clear what each slot is supposed to be but that much detail is probably unnecessary
16:43:26
beach
I didn't know about that syntax, but yeah, if this is OK, then I'll leave it like that.
16:46:33
Bike
yeah, i was wondering why you didn't write the actual string, but i don't know how to do it either...
16:47:35
Bike
in C++ it's L"whatever" to get wchars apparently, and then they added three more for different unicode encodings. but that's not C and also that's rather complicated