freenode/#sicl - IRC Chatlog
Search
19:13:15
beach
ebrasca: You can nest environments if you like. They are just any old objects. So you can define a special variable in one environment that has another environment as its value. But what would be the point? We already know that things are not hierarchical, and that hierarchical file systems are a kludge to make it acceptably fast to search for files in computers from the 1960s.
19:26:45
beach
This is why CLOSOS does not have a hierarchical object system or file system or environment system.
19:34:34
ebrasca
If envirements can become any language , what if language a is implemented by language b?
19:36:14
beach
I don't see how that is related to environments (which are just mappings from names to objects). The Scheme specification does not mention what language an implementation must be written in.
6:01:25
no-defun-allowed
I'm now thinking that green threads might violate expectations on how one is supposed to call C functions; if the called function blocks, or takes some time to execute, the entire OS thread is blocked and cannot be preempted. (For example, the Erlang manual page on native functions states "a native function doing lengthy work before returning degrades responsiveness of the VM, and can cause miscellaneous strange
6:02:39
no-defun-allowed
I was hoping you'd say "Why are you using FFI in the first placeā½", but that will suffice :)
6:03:00
beach
... due to the fact that "modern" operating systems have to do so many costly context switches because of the stupid way they were designed.
6:04:05
no-defun-allowed
You're not wrong, but I want something to allow me to write somewhat sane networking code before CLOSOS.
6:08:29
no-defun-allowed
A quick review of prior art: Java code which calls "native" code will have to be fixed, Haskell delegates blocking operations to another OS thread pool, which then wake up green threads, and Go has a thread which watches for OS threads which are blocking in C code, and creates new OS threads to continue scheduling.
6:10:26
no-defun-allowed
The last two are interesting, and the Go solution seems like it would have less overhead for calling functions which don't block for too long, as it doesn't require sending operations between threads.
6:12:54
no-defun-allowed
So, there is an acceptable patch for this hack, which fixes this kludge, which is nice to see short-term.
6:39:09
no-defun-allowed
It's only speculation, and it will remain that way, but it's much more fun to speculate about than trying to speculate on electives for two universities at once.
6:41:43
no-defun-allowed
(My current university cancelled the FPGA design course I wanted to take, so trying to ask to enrol for that was a waste of time. That was the last straw with the curriculum here.)