freenode/#sicl - IRC Chatlog
Search
8:55:59
beach
So it looks like I started the SICL project in August 2008. And FORMAT was the first module.
8:58:57
beach
Not an executable, no. But thanks to the bootstrapping technique, a lot of the code has been run and tested.
9:03:32
beach
I used it for a couple of years, and I took all the classes by Honeywell-Bull. But I haven't worked on system code anything.
9:06:15
zacts
beach: I'm curious because you've mentioned it here before, and I also have an interest in it via multicians.org and minix3.
9:08:08
beach
I see. Yes, it is one of the pioneering projects for time sharing and implementing an OS in a high-level language.
9:12:42
zacts
it'd be interesting to tinker with multics though. I also have heard of people running V5/6 UNIX in an emulator
9:22:32
beach
OK, so 2008-2013 were quite slow for SICL. 2016 and 2017 a bit sluggish. So I think it is fair to say that I have so far put in around 6 years of part-time work, so say 4 person-years. That's not too bad.
11:06:28
beach
I need to figure out how to write the system-call code, and I need help comparing the options. 1. I can write the code in assembly using (say) NASM and try to figure out how to read a binary file to create a SICL function. 2. I can invent a type of function where the body consists of Cluster instructions and create a way to turn that into a SICL function. 3. I can create primops, AST classes, HIR classes, etc., and figure out how to
11:06:52
beach
I think 3 will be hard when there are things like nested structs or vectors required by the system call.
11:09:34
beach
zacts: Whenever I see "kernel", I kind of lose interest, at least with respect to the CLOSOS idea.
11:10:33
beach
I hate it when I have to restart Firefox just because they updated something, and I hate it that I have to restart the operating system and all the applications when they update the kernel.
11:11:43
no-defun-allowed
Nothing important, I was wondering if the somewhat different spelling changed things.
11:12:52
beach
zacts: No, I don't think so. But software written in C would have to be subject to context switches as usual, with associated performance penalty.
11:13:55
beach
One could dynamically replace system modules, and the dynamic linker would pick them up the next time it was invoked.
11:15:06
beach
Multics did do context switches of course, because the 36-bit address width did not allow for all segments to be in the address space simultaneously.
11:16:02
beach
No such problem with 64-bit addresses, at least for now. And 128-bit might happen one day.
11:18:50
beach
And for C code, there would also have to be something similar to Unix file descriptors, and C code would not have direct access to CLOSOS capabilities.
11:31:26
no-defun-allowed
I have implemented GETHASH, (SETF GETHASH), and REMHASH for the linear probing hash table, currently without resizing.
11:34:53
no-defun-allowed
It's quite slow, in part because I haven't thought about where to put the types, and it uses generic arithmetic mostly. But after a quick test with some ugly looking THE forms, it's still pretty uninspiring. The design should be good though.
13:26:29
shka_
... end i am taking credits for posting youtube link to the talk about the hash-table design
13:37:32
heisig
Heh! From now on -.e will be the expression of me dropping a 'Faschingskrapfen' on my keyboard. I hope I won't need that emote too often.
14:16:27
heisig
They are delicious though. And none of the filling (they are filled with rose hip marmalade) went into the keyboard, so the whole endeavor was still worth it.
14:28:06
jackdaniel
ACTION stares intensively whether anyone noticed what he did with the word Swedish
15:44:21
shka_
heisig: it is german word, it therefore spelled with all caps and the exclamation mark at the end
17:25:48
drmeister
Right - because every CS paper contains the statement "With a sufficiently intelligent compiler ..."
17:27:07
shka_
don't know about every CS paper, but this was often quoted phrase in the CL standard discussions