freenode/#lisp - IRC Chatlog
Search
16:19:21
pjb
Already in the 60s, people DID NOT bootstrap anymore. At IBM, they implemented emulators of new computers to be able to develop the software with old computers for the new computer before the hardware was ready. Bootstrapping is so '40s!
16:21:01
beach
jmercouris: I call it "bootstrapping" in SICL, but it is not that kind of bootstrapping.
16:22:03
beach
jmercouris: I use an existing Common Lisp system to execute SICL code that generates (or will generate) native code.
16:24:19
pjb
jmercouris: already, people implementing new compilers by bootstrapping nowadays cheat, since they use top-notch macOS systems to edit and debug their code. They should bootstrap it using a KIN-1 !!! http://oldcomputers.net/kim1.html
16:25:51
beach
jmercouris: My guess with respect to Common Lisp is that there is this idea that Common Lisp has to be created using some lower-level language, but that is not the case, of course.
16:26:16
beach
jmercouris: Now, building a Common Lisp system is considerably harder than (say) writing a C compiler in C.
16:27:07
beach
jmercouris: The reason is that a C compiler is a simple file translator, whereas a Common Lisp system contains a complex graph of objects right from the start.
16:27:37
Xach
jmercouris: i found it helpful to understand that code to run on a machine is just a sequence of bits, and it's not hard to make a program in any language create a sequence of bits, either in memory on on disk. sometimes it's tricky to know what bits to put in what order, but they are all bits at the bottom.
16:28:07
beach
jmercouris: And, the best way of creating that graph is to execute code. And it is best if that code is Common Lisp code.
16:28:46
Xach
so if the bits on x86 to test for zero and jump are 42, and on arm it's 31, it's not a big deal to make a compiler on x86 generate arm, as long as you configure it to produce the right bits.
16:29:21
Xach
the higher-level management of program meaning is one thing and generating the right bits is another.
16:29:24
jmercouris
Right, I was just thinking about stuff like RISC or something which is quite different than x86
16:30:10
jmercouris
I bet it would be insanely difficult to formally prove that they are computionally equivalent
16:30:42
jmercouris
I did study some formal verification in graduate school, I ended up leaving the class feeling like it was a toy that could never really be used
16:31:40
jmercouris
thanks for the explanations and links, more to think about, I'm off to cook some dinner now
16:38:41
puchacz
so I started ccl locally, I can see its make-hash-table non-standard keyword arguments, but where is it documented?
18:29:55
_death
have you tried reducing the amount of code that runs? if it's only a trivial handler, does it still happen?
20:20:42
mfiano
Suppose I make a project on my github called "alexandria" and click the big blue button on ultralisp.org to add it. Everyone that updates their dist and loads a system that depends on it (nearly anything transitively), and they likely won't know that it secretly deletes / recursively until it's too late. I can't believe there is no review process and it updates every 5 minutes. Maybe I'm missing
20:41:22
borodust
Xach: hi! anything new with PGP for quicklisp dists? i apologize in advance, if i missed some critical news regarding that feature
22:34:21
luis
Alexandria has a parse-ordinary-lambda-list. Is there a parse-macro-lambda-list somewhere?
22:47:23
Bike
implementations probably has it, but it's not as easy to define, since the recursive structure means the multiple value return isn't enough
4:09:44
anlsh
Well we'll see, I'm trying to set up erc on emacs and registration isn't being very co-operative