freenode/#clasp - IRC Chatlog
Search
12:16:35
drmeister
Macintosh HD 1 is the hard drive of my old computer accessed through the cable. The numbers are slow and all over the place.
12:55:56
Bike
okay so here's what i'm thinking about inlining. first off, if we have the function body and the call site, there's no way we "can't" inline. We just need to make sure we allocate the ex-callee's environment at the ex-call site - conceptually, inline it.
12:56:19
Bike
this might not work for partial inlining, but i'm not really concerned with partial inlining
12:57:32
Bike
second, we've been talking about unifying handling of simple variables with closure variables, but i think it would make more sense to unify closure variables with data structures. The only difference between a cell and a cons is that one can be enclosed over and the other can be used as an argument. I don't think any analysis that could cover one couldn't cover the other.
12:58:29
Bike
simple (like, non closed over) variables are like data structures that are only read from and written to- not even used for identity - which is why we can put them in registers etc. I think that's enough of a difference that we should treat them differently, and we could reduce data to variables in some cases.
12:59:56
Bike
so i'm thinking we should do cell conversion fairly early and possibly have different optimization passes to allow handling data.
13:01:19
Bike
for inlining, i think we should convert lets to assignments rather than make them functions, just for efficiency reasons. we'd mark the assignments as "creating" variables, which we probably want to allow anyway for like, catch-instruction. then segregate lexicals can replace them with create-cell instructions if necessary without doing the dominance analysis stuff.
13:19:38
Bike
Also it would rule out inlining functions calls that aren't really obvious, which is occasionally useful.
15:11:06
Shinmera
Apple has sunk my opinion on them and their platform to the deepest depths imaginable.
15:16:59
Shinmera
Speaking of keyboards, I ordered a custom WASD after your recommendation. I hope it's gonna be good.
15:18:44
drmeister
cracauer is visiting us here and he has several wasd keyboards. I had the benefit of being able to try a few of them. I personally liked them a lot and once he takes them again I'll have to buy one.
15:19:05
Shinmera
My reason is mostly that my current keyboard repeats spaces sometimes, and I want to switch to DVORAK so it seemed like a good opportunity to put together my own layout.
15:20:48
stassats
my choice of macbook is, it's the only thing can ran macos, and linux is shit on laptops, and windows is, well, windows on laptops
15:23:07
stassats
i hope by the time it dies the new ones will have 16 cores and 128GB of RAM and whatnot
15:23:29
drmeister
stassats: I hear you - I went for the 2016/2017 Macbook Pro with touchbar - hated the keyboard and thought it was underpowered for what it could have been.
15:25:45
drmeister
I've been using AWS machines a lot over the last couple of weeks. They are very annoying when you have to break the connection a lot.
15:26:41
drmeister
When I break the connection and then remake it - I have to go through a song and dance to register the IP of my new connection with the AWS security. That usually means logging in with two-factor authentication.
17:43:06
Bike
drmeister: is llvmoExpose.cc auto generated, or can i just put stuff there if i want it exposed
18:53:07
drmeister
usha: With the new docker image we also have a new way to set up the cando development environment.
18:53:58
drmeister
In a nutshell, cando uses jupyterlab as its front end - and jupyterlab is a big Python project that is under active development and it has to be installed on the system that runs cando so that cando can interact with it.
18:55:04
drmeister
We've been working hard to get control of how jupyterlab installs itself so that everything gets installed under one directory called /opt/clasp
18:55:44
drmeister
The operating system (macOS, Linux of FreeBSD) will provide the python 3.6 or 3.7 and everything else is in /opt/clasp
18:56:52
drmeister
All of this is in the docker image - so you don't need to worry about it - but if you do want to worry about it - cando and jupyterlab is in /opt/clasp/... and Amber is in /opt/amber18 within the docker image.
18:57:29
drmeister
We can also install natively on macOS, Linux and FreeBSD and again - everything goes into those two directories.
18:58:03
drmeister
In a development system we are still using /opt/clasp - but it doesn't contain cando - just the jupyterlab stuff.
19:00:39
drmeister
Ok, I'm saying this stuff because you said that you were interested in learning Common Lisp and programming in Cando. When you are ready - we can set you up with a development system.
19:02:12
drmeister
Right - I'm saying this to demystify the cando development system a bit and because I'm rearranging things and it helps me to tell people about it to straighten things out in my head.