freenode/#sicl - IRC Chatlog
Search
5:44:41
beach
The goal for today is to make progress on turning the top-level function in HIR to one that can ultimately be compiled to native code.
5:44:48
beach
For that to be possible, I need to move the constants out of it and put them in the static environment of that function.
5:44:54
beach
I plan to do that bey defining a subclass of the TOP-LEVEL-ENTER-INSTRUCTION that has an additional slot for hoisted constants.
5:45:01
beach
The code of the top-level function will refer to the static environment for constants, and the non-native code for enclosing the top-level function will create the closer with a static environment containing those constants.
5:46:45
beach
Oh, and recall that the top-level function in HIR is the one that gets executed in order to "tie" the code to a particular environment.
5:47:25
beach
So I want the top-level function in HIR to be structured in a way that it can be turned into MIR, but it should still be possible to turn it into host Common Lisp for execution in the host during bootstrapping.
5:53:50
ck_
beach: this channel seems like an awesome set of labnotes for you. have you ever used it for that purpose, I mean, looked up something from say last year?
5:53:54
beach
It would be possible to leave the HIR code as it is, for the purpose of translating it to Common Lisp for execution in the host, and only restructure it as described above in order to turn it into HIR.
5:55:08
beach
Also, sometimes people catch me saying stupid things, which is great. I can then rethink my plans.
5:55:11
ck_
I never tried writing notes as if explaining them to a channel full of people. Worth a try definitely, thanks for the demonstration :)
5:56:01
beach
I can't use pens very much anymore. The muscles have not been trained to do more than a shopping list.
5:58:30
ck_
I meant that, if I were to try it, writing as if there was an audience doesn't translate so well if feedback is important.
6:01:05
beach
I really don't have any preference about the name, as long as it is unique and that it suggests the purpose.
6:08:48
beach
So, continuing, like I said, I could apply the transformation described above just to HIR code meant to be translated to MIR and ultimately to native code. But recall that I decided that MIR code is going to be very hard, or impossible, to test before it is turned into native code and executed in a native SICL environment.
6:09:36
beach
At that point, I will lose all my debugging tools, and I will be stuck with looking at disassembly listings, or (worse), machine code in hex format.
6:10:22
beach
So, my plan for avoiding that is to apply as many transformations as possible before the HIR code is turned into Common Lisp code for execution in the host.
6:11:34
beach
And turning the top-level HIR function into something that can ultimately be turned into native code, while preserving the possibility of turning it into Common Lisp for execution in the host, is part of this strategy.
6:13:03
beach
But right now I have more urgent things to think about, namely to go run some errands.
7:07:46
ck_
I think so too. At most, I feel bad or in the wrong place when I can't contribute much in a meaningful way
7:58:39
beach
ck_: Oh, sorry to hear that. I am sure you will be able to contribute at some point. It is more a matter of how much time you have. You are already contributing a lot to McCLIM which is good.
8:05:40
jackdaniel
right, there is an hidden struggle between projects because there is more work than people capable of doing it, so people tend to be sucked in from one project to another (sometimes they get sucked back)
8:08:43
jackdaniel
I'm not sure if 'interesting' is used here with a positive or a negative connotation. Either way I have such feeling each time I get engaged in some non-trivial code rework in one of the projects I work on -- these other projects are temporarily starved
8:11:26
beach
jackdaniel: Yes, I see. I am just contemplating whether the people "in charge" of some project try to lure other people away from other projects, perhaps unconsciously.
8:12:26
jackdaniel
well, implying that was not my intention. I think that people work on whatever is interesting to them, so this "sucking in" is not driven by intent (at least on a picture I've tried to draw)
8:33:13
beach
jackdaniel: Though, I am way more optimistic about the "too much work, not enough time and peoplepower" than I used to be. A number of things are going well. McCLIM is doing VERY well. And scymtym and heisig are both working in libraries (Trucler, Eclector, "style checker", etc.) that are generally useful, and that have the potential of freeing up time from other projects.
8:37:18
jackdaniel
maybe I'm just too much thinking about my own progress. i.e ECL release drags for a second year in a row (>90% done now), McCLIM tidbits I've planned over a year ago are not even started, not to mention side projects like polyclot or london and tooling I use (I have a hacky visualiser or cl-bench) etc etc. but it could be that I'm just really bad at managing my time
8:43:59
jackdaniel
from the bright side I expect to have working "checkers" game with a working drag-and-drop support in a terminal emulator (McCLIM backend prototype)
8:45:32
ck_
Will it have powerful AI, trained through machine learning and some networks with at least 10 hidden layers?
8:46:13
jackdaniel
no, but I've considered using montecarlo version of alpha-beta ai. maybe it will some day ,)
8:56:57
beach
jackdaniel: Can you summarize your current work on ECL, as in what your plans are and why those particular plans?
9:02:47
jackdaniel
I've planned a set of features for 16.2.0 release from which only delimited continuations (and green threads) are missing
9:03:31
jackdaniel
after that a longish testing period comes by and regression fixing (we test all the time, but before release we check also unusual platforms like haiku and bsds)
9:04:04
jackdaniel
in a meantime it is probable that rigetti will hire me to improve ffi performance for their quantum compiler
9:05:00
jackdaniel
after the release I'm going to work on generic function dispatch as described in your paper, refactoring the compiler to allow multiple backends and work on better cross compilation support
9:10:01
jackdaniel
(that's why I was recently working on a specialized representation for complex floats)
9:12:01
jackdaniel
arrays too, but I've also introduced complex floats specialized representation (backed by C's _Complex float etc), previuosly ecl had all complex numbers reprented as a pair of numbers
9:14:17
scymtym
heisig: i usually don't like names that refer to people rather than projects, but there are no alternatives and dragging this out any longer won't do any good. so i support the proposal
9:14:18
jackdaniel
this whole project talk remind me that I have almost finished PR for bordeaux-threads with portable (in bt terms) mailboxes
9:17:37
scymtym
jackdaniel: did you ask sionescu whether he considers mailboxes in-scope for bt? in my experience, he is generally pretty conservative in that regard
9:19:27
jackdaniel
scymtym: I did and the answer qutie vague (i.e he did not say no, but he didn't say yes either)
9:21:10
ck_
And some expressionism to go: https://en.wikipedia.org/wiki/Die_Bruecke . It has a nice quote that is flexible enough to fit all this as well maybe
9:23:19
ck_
"Mit dem Glauben an Entwicklung, an eine neue Generation der Schaffenden [...]" -- roughly translated "With the belief in progress[ion], in a new generation of creators [...]"
9:34:15
jackdaniel
https://gist.github.com/dkochmanski/4de37d4e7432d8d59afa7d2a64a4bb41 (license will be of course adjusted)
9:35:48
jackdaniel
the only addition I can think of is prepending messages, but it would be arguably wrong for mailbox
10:47:27
heisig
Ok s-expressionists it is. The next step is to move projects over to this organization.