freenode/#lisp - IRC Chatlog
Search
21:23:12
drmeister
I'm dropping source code and a cache directory full of compiled files into a docker image and then running code.
21:23:38
drmeister
asdf is rebuilding everything even though the timestamps are preserved - so I'm a bit puzzled.
21:47:16
drmeister
Is there a function like (asdf:why-the f*ck-are-you-rebuilding-everything system)?
21:49:09
Shinmera
You can manually build an ASDF action plan (I showed you how once before) -- the plan should only include things that need to be done, excluding already performed operations
21:49:24
Shinmera
Then you can try tracing select functions in ASDF to see where it's getting things from
22:04:53
AeroNotix
is there an asdf function that can find the modules that the `:components` key describes. Alternatively, a function that gives me the asdf definition?
22:07:23
Shinmera
If you want the list of components in the system definition, asdf:component-children
23:04:59
aeth
dim: Idk, I think the most graceful way for an IRC client to fail is to pretend like it's working, complete with fake conversations. The conversations are even predictable: talk about how the IRC client is now working.
0:03:33
dwrngr`
I think of it like the street slang of programming. It has a consistency to it and you have to keep up somewhat in order to fit in. But it gets in the way in a professional setting :P
0:06:19
dwrngr`
I guess Typescript is supposed to make it more tolerable there, but personally the limited times I have to use it I've found parenscript to make life a lot simpler
0:44:37
aeth
(And if you wanted to do a TypeScript-like-thing in CL all you'd need is a handful of macros)
2:27:54
kenster
doing some live lisp programming here: https://youtu.be/l4Uj13QLtpU or https://www.twitch.tv/kingherring
3:07:11
siraben
You might see "Quit" in the minibuffer time to time when he presses C-g to cancel selection
3:12:57
mason
If you *really* want to achieve flow, though: https://www.youtube.com/watch?v=sBvt0lsoInc
6:37:12
v0|d
beach: is there a way to make a very tiny lisp image that removes all the unused functions removed?
6:38:20
v0|d
I mean, GHC can actually compile programs to a small binary w/o repls or anything but a main().
6:40:19
Shinmera
it's called tree-shaking. Most implementations don't offer it because people have plenty of RAM and disk space now.
6:41:36
aeth
I think one problem is that large Lisp programs will probably use most of the language, especially if they're using dependencies that can be very stylistically different from each other.
6:42:06
edgar-rft
it sounds easier than it is because you need to remove all unused implementation-internals, too
6:42:22
aeth
Right, the implementation internals might also use stuff like e.g. structure-objects even if you don't use any
6:52:35
edgar-rft
v0|d: how so what? tree shaking implementation internals or writing a micro assembler
6:55:12
edgar-rft
every ANSI CL function must be defined from something. This "something" must be removed from the final binary, too. What "something" is depends on the Common Lisp implementation.
6:57:40
jackdaniel
(example: small forth interpreter written in C used to bootstrap some functions and target compiler may be a part of a final runtime too)
7:00:09
edgar-rft
the question was howto reduce the size of a binary and the discussion was howto write a treeshaker
7:02:02
edgar-rft
jackdaniel: but it was said that ECL produces small binaries, maybe you're the right man to help :-)
7:03:20
jackdaniel
of course such runtime would only carry bytecodes compiler (but binary itself may be compiled to native beforehand), no ASDF etc
7:04:31
jackdaniel
needless to say, you may add module loading on demand (if present in form of fas files) - that way you may add compiled native module to a runtime
7:07:49
jackdaniel
McCLIM aligning text to right, wrapping by word against a margin and aligned vertically *above* bottom margin: http://i.imgur.com/Vbnr6Qx.png