Search
Wednesday, 21st of March 2018, 20:42:22 UTC
23:24:57
drmeister
It turned out the easiest thing was to install the jsme code in the same directory as the jupyter notebook.
23:25:20
drmeister
I figured that out several hours ago - now I'm working on updating dashboards
0:49:15
shiho
drmeister: Are you going to the meeting tomorrow by yourself? or with me?
0:49:48
drmeister
shiho: I'm going by myself.
0:50:13
drmeister
I'm not sure I'm going though - the snow between here and GSK is pretty bad for that time in the morning.
0:50:37
shiho
Oh,,, I'm worried about that too...
2:38:32
drmeister
Well, saner heads prevailed (not mine - I was ready to crawl through snow to get there). My GSK trip has been postponed.
2:39:36
drmeister
Schools are closed until 11am tomorrow so GSK is closed until after that.
4:22:53
beach
Good morning everyone!
7:22:40
beach
drmeister: karlosz is going to suggest a GSOC project to integrate Cleavir with CLISP. Is it OK if we conduct the discussion here? It is very relevant to Clasp as well.
7:23:10
beach
karlosz: drmeister is very likely asleep, and he has some important demo coming up.
7:23:26
karlosz
there is no #sicl channel?
7:23:40
beach
No. I don't think there would be much traffic.
7:23:58
beach
Though, I might reconsider if traffic increases.
7:25:08
beach
karlosz: What time zone are you in?
7:26:21
karlosz
US west coast, i.e UTC-7
7:27:00
beach
I am in UTC+1 for another week, then UTC+2.
7:27:29
beach
So we will have more overlap in my morning starting the last Sunday of March.
7:28:07
karlosz
okay, so european daylight savings
7:28:11
karlosz
i'll keep that in mind
7:28:54
karlosz
so would the sicl clisp interface essentially be clisp reader -> hir objects and cleavir datastructures -> clisp backend?
7:29:16
karlosz
and the 'simple' cleavir you were talking about refers to that interface
7:29:23
karlosz
and the optimizatoins passes would just take place in between
7:29:48
beach
You might want to consider using Eclector, a reader that preserves source location. If so, Eclector -> AST -> HIR -> backend.
7:30:07
beach
All optimizations are in HIR (and later in MIR as well).
7:30:35
beach
If you don't use Eclector, then CLISP READ -> AST -> HIR -> backend.
7:31:31
karlosz
i'll see if there are any clisp specific things to watch out for
7:31:40
karlosz
there is an escape analysis module, right?
7:31:49
beach
Yes, very primitive at the moment.
7:31:54
karlosz
that's something they are especially interested in
7:31:56
karlosz
stack allocating lcosures
7:32:08
beach
Bike is interested in that too.
7:32:40
karlosz
is most of the sicl stuff in clasp generally shared back upstrema?
7:32:45
beach
But I think the point here is that, once CLISP uses Cleavir, it will automatically benefit from Cleavir progress.
7:33:09
beach
I don't know about "most".
7:33:15
beach
Certainly the Cleavir part, yes.
7:33:40
karlosz
hopefully i wont have to think about licensing issues
7:33:54
karlosz
(GNU project and all)
7:34:08
beach
Correct. Cleavir and SICL are both BSD.
7:34:36
karlosz
yes, i am worried about contributing code back to cleavir
7:34:50
karlosz
i think ill have to sign rights to the GNU project
7:34:55
beach
We need to be a bit careful.
7:36:04
beach
It irritates me very much that so many Lispers avoid *GPL. I feel forced to use a lesser license for my library code.
7:36:13
beach
Not that it matters much.
7:36:32
karlosz
i think the live compiler bit certianly complicates things
7:36:34
beach
The risk of someone like Apple taking the code and turning it into commercial closed-source is very small.
7:36:48
beach
Yes, I only recently heard about that one.
7:37:18
beach
Oh, one more thing. Cleavir uses generic function A LOT.
7:37:37
Shinmera
Yeah, better hope your CLOS is fast.
7:37:40
karlosz
part of the modularity thing
7:37:49
beach
So if CLISP is particularly slow with generic dispatch, you might consider implementation my fast generic dispatch technique.
7:38:20
karlosz
that's certainly something to watch out for
7:38:36
karlosz
although that would only affect compile time
7:38:44
karlosz
not that that isnt importnat
7:38:58
beach
Traditional Common Lisp code avoids generic functions for performance-critical code, so there has been little incentive to make generic dispatch fast.
7:39:04
karlosz
but clisp has a very fast compiler already that does very little optimization
7:39:38
karlosz
methd dispatch will always be 30% slower
7:39:50
beach
Except it's not true. :)
7:41:10
karlosz
seems like clisp doesnt use pcl but a system written from scratch
7:41:22
beach
Yes, I seem to remember that.
7:41:35
beach
Was it gilberth who wrote it in C?
7:42:02
karlosz
seems like a pure lisp implementation by the authors of clisp
7:42:05
beach
I know he wrote some major piece of code in C, that nobody else would have considered doing that way.
7:42:18
beach
Oh, so I must be thinking of something else.
7:42:37
beach
Right you are, I remember looking at it and being very surprised.
7:42:39
karlosz
yes, for some reason i also remember clisp being written in much more c than it actually is
7:44:07
beach
So I imagine CLISP can't use CLOS for more basic stuff. It needs the full compiler before it can load CLOS. Right?
7:44:57
karlosz
looking throught the soruces
7:44:58
beach
... whereas in SICL, I can write (defclass symbol ((%name ...) (%package ...)) :metaclass built-in-class)
7:45:11
karlosz
the other stuff seems not use it
7:45:18
karlosz
but that may be for performance reasons
7:45:34
beach
I am guessing for bootstrapping reasons too.
7:45:41
karlosz
i know that sbcl doesn't use clos because of bootstrapping
7:46:05
karlosz
i tried to get pcl bootstrapped intoo sbcl
7:46:19
karlosz
there was pushback because the maintainers didnt think it was useful
7:46:31
karlosz
just a maintenance hassle
7:48:39
beach
I can understand that.
7:49:17
beach
If I understand it right, the SBCL maintainers prefer the compiler not to use generic functions.
7:49:28
beach
And that is so that the compiler can still be fast.
7:49:43
beach
And that is because generic dispatch is not fast enough in SBCL.
7:49:45
karlosz
i think the earlier maintainers wanted it to be in
7:49:54
karlosz
because there are hadnrolled object systems in the compiler
7:50:03
karlosz
for expressing a lot of the type machinery
7:50:21
karlosz
yes, the python compiler was written while oop was in its infancy, i believe
7:50:35
karlosz
or perhaps before clos was even created
7:51:07
karlosz
you are correct that it creates a chicken egg problem
7:51:12
beach
Since I am basically the only person working on SICL, I can't afford such luxury as maintaining several object systems.
7:51:14
karlosz
people dont write generic functions because its implemented slowly
7:51:22
karlosz
thus its never really fast
7:51:58
beach
... so not only do I only use a single object system, but I use the CLOS machinery for most of the built-in stuff as well.
7:52:07
beach
It makes the code much easier to maintain.
7:52:29
beach
... as the example of defining SYMBOL shows.
7:52:46
karlosz
have you sorted out all the bootstrap issues yet?
7:53:02
beach
No, not yet. I am working on other stuff at the moment.
7:53:27
karlosz
thanks for the advice on sicl, ill finish drafting up my proposal
7:53:32
beach
Right now, the ELS submissions must be improved to please the referees.
7:53:43
beach
Great. I'll be happy to read it.
Thursday, 22nd of March 2018, 8:42:22 UTC