libera/#sicl - IRC Chatlog
Search
4:33:09
hayley
I should mention that the latency in saying good morning was because I just presented at university and am now finished for the semester.
5:11:14
hayley
I could probably provide upper and lower bounds based on what assignments I have done, but I think it is mostly based on the work I just presented.
5:14:02
hayley
The work revolves around a web application which provides statistics on the spread of coronavirus, with the aim to assist policymakers in deciding where to supply vaccines and other preventative measures.
5:14:36
hayley
So the big three assignments were initial design documents for the frontend and database, writing the application, and presenting on how the application achieves the aim.
5:17:37
hayley
With the exception of the first assignment, my grades have been pretty good. But I am aware that having to leave home temporarily, and my assignment partner having been unable to run the server or write any code, could threaten that.
5:30:03
hayley
Same as last summer vacation if the conditions remain the same: the only interesting part would be "more programming".
5:32:41
hayley
I have a small backlog now: I need to finish implementing gilberth's approach for regular expression compilation with submatching and DFAs, and if I ever feel like doing it I will eventually redesign the Netfarm server to be more space efficient.
12:48:18
beach
I was able to create instances of SICL SIMPLE-FUNCTION in environment E5 when functions are imported from the host, according to the plan I outlined the other day, but other parts of the code does not use this new way, so I have to restructure things.
12:48:19
beach
In particular, at the time, I thought I was smart and imported a bunch of host functions in the :AFTER method on INITIALIZE-INSTANCE specialized to the base class of the bootstrapping environments, and that way won't work anymore. I guess I'll make an indirection via the environment, since the way to import is potentially specific to each environment.
13:19:12
beach
Interestingly, there is a possible bootstrapping technique that I hadn't thought of before. When we create an ersatz function in E5, the HEADER is a host FUNCALLABLE-STANDARD-OBJECT that is used when the function is to be executed in the host, but the rack is (or will be) what determines the code that goes into the executable, and the two are entirely separate.
13:19:18
beach
Right now, when we load a function definition in the form of a file containing a DEFUN form into E5, the HIR evaluator will create an object of its own type which is also a host funcallable-standard-object, and it will call the host SET-FUNCALLABLE-INSTANCE-FUNCTION to make that object executable. This object is then stored in the environment as usual.
13:19:23
beach
But I want to change that so that the HIR evaluator creates instances of SICL SIMPLE-FUNCTION. But nothing prevents us from calling SET-FUNCALLABLE-INSTANCE-FUNCTION with an imported host function while keeping the rack as the result of the compilation.
13:19:24
beach
We could then sometimes use a faster host version of a function, like say MEMBER for execution during bootstrapping, while still have the rack reflect the compiled SICL version. Of course, doing it that way means the SICL version won't be tested during bootstrapping.