<resttime>
Is there anything out there on bootstrapping Common Lisp? Meaning having a minimal amount of practical primitives (not theoretical of just lambdas lol) needed to then implement the rest, possibly reusing anything existing work.
<bike>
skin: yes, or handler-bind
<resttime>
(Guess a possible context would be for writing a new implementation, I'm curious how it'd work)
<bike>
resttime: not really, because actually building a lisp system out of the mud like that is a huge pain in the ass and unnecessary
<bike>
even if you do do it, you'll probably be motivated more by "what's easiest to implement" or "what do i want to have to make this slightly less painful to debug" than making it theoretically minimal
<resttime>
Hmmm, then throwing out "theoretically minimal" as requirement. What about the other two you just mentioned? I had thought that "minimal" and "easiest to implement" would end up the same.
<skin>
From a practical perspective, I think you're asking "what language/ecosystem would you use to implement lisp".
LuisSyst-M has quit [Ping timeout: 256 seconds]
<bike>
as you mentioned, "minimal" could technically mean lambda, but nobody's doing that
LuisSyst-M has joined #commonlisp
<bike>
clasp does kind of build itself from mud right now, and for example we implement member primitively (in C++). we don't _have_ to, it's implementable in lisp with funcall and cons iteration and so on, but it's convenient to have it available really early so we can check for features and stuff
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
nij_ has quit [Quit: Using Circe, the loveliest of all IRC clients]
<bike>
and a number of things decompose into nonstandard operators. for example make-array is the CL basis for making arrays, but with all the keyword parameters it can actually do a whole lot of different things. so it's easier to make up some nonstandard operators and implement make-array in terms of those.
amb007 has joined #commonlisp
<bike>
there's also the issue of convenience within the primitive language. in clasp we implement null in C++ even though it's trivial in terms of eq and nil (also defined in C++) because a bunch of the other primitive functions depend on checking if something is null
amb007 has quit [Ping timeout: 260 seconds]
mgl has quit [Ping timeout: 255 seconds]
nij- has joined #commonlisp
<resttime>
Were things like this determined ahead of time or through planning? Or kinda like, "oh huh, we should reimplement this in C++ cause that'd make X easier"
<bike>
no planning. chaos reigns
<bike>
this is also based off the ECL codebase, and I don't know how ECL's build process works at all
<resttime>
lol alright 😂
<resttime>
That makes me curious now if ECL uses pointer tagging or NaN boxing
<bike>
also, currently how it works is we have a C++ implementation of a bytecode compiler and interpreter, which can handle all of CL semantics (all of the special operators). so we have primitive eval even though eval is sort of the end goal
<Mondenkind>
how to bootstrap cl from a minimum of primitives: 1. implement a riscv interpreter 2. run sbcl on it 3. write the rest of your cl in cl
<bike>
there is also the computation-theoretic aspect, indeed
<bike>
seriously though, i've been working on clasp for years and i have to emphasize: avoid doing it this way. writing code for a system that's halfway through boot is very frustrating, and debugging it is worse
<aeth>
resttime: I don't think any implementation uses NaN boxing. That would prioritize double-floats over large fixnums. So you can rule it out with (log (- most-positive-fixnum most-negative-fixnum) 2d0)
<aeth>
I think only CLISP's 64-bit fixnums are small enough to fit in a NaN box (49 bits)
<aeth>
e.g. ,(log (- most-positive-fixnum most-negative-fixnum) 2d0)
<nij->
In page 6, it reads "it requires a compatible Lisp memory image".
<nij->
I wonder what that Lisp memory image is.
<nij->
Why isn't the C and assembly code enough to produce a working sbcl executable?
<beach>
The "Lisp image" is the contents of main memory when a Common Lisp system is executing.
<beach>
SBCL is written mainly in Common Lisp, so a host Common Lisp implementation is needed to run the SBCL compiler in order to turn SBCL source code into FASLs.
<beach>
If C and assembly were enough to produce a finished system, you would have exactly the problems resttime has and that are documented in the paper I cited.
<beach>
Oh, I think what the paper means is this: When the cross compiler produces FASLs, the top-level code (that should be executed when the FASLs are loaded) has not yet been executed. The FASLs are concatenated into a big file that executes all those top-level forms in order.
<beach>
The compiler does not produce C and assembler, so the main system code is not present there, and is instead present in the form of SBCL FASLs.
semz has joined #commonlisp
<nij->
Does that image exist in the sbcl I run?
waleee has quit [Ping timeout: 264 seconds]
<beach>
It is not the same image, but whenever you execute a Common Lisp system, there is a "Lisp image" that is operating.
josrr has quit [Remote host closed the connection]
<beach>
The glossary of the standard has a definition of "Lisp image".
<masinter>
the medley bootstap starts with reading in the sources, renaming the memory-access functions to instead work on a file image, and loading enough of the system to build a new image
<beach>
masinter: What system is used to read the sources?
<masinter>
you need a lisp that can read in the interlisp sources
<ixelp>
first cut at better build explanation by masinter · Pull Request #1507 · Interlisp/medley · GitHub
<masinter>
i tried to write up what's going on...
<masinter>
in the 1970s we built the Interlisp-D bootstrap using Interlisp-10 for the PDP-10
<beach>
nij-: Maybe you mean "machine code" rather than "assembly"? Then, sure, the FASLs contain mainly machine code, so then the C, the assembly, and the machine code are obviously enough.
<beach>
Yes, a small amount of assembly code is generated, but that's not the main code of the system. The main code of the system is contained in the FASL files, which do not contain assembly code.
<beach>
I suppose the assembly code is for things that can't be expressed in portable C.
<beach>
nij-: Does that make sense?
boogsbunny has quit [Ping timeout: 260 seconds]
ronald_ has joined #commonlisp
boogsbunny has joined #commonlisp
ronald has quit [Read error: Connection reset by peer]
ronald_ has quit [Read error: Connection reset by peer]
<nij->
I see now.. more..
<nij->
The lisp memory image doesn't seem to be the same as the lisp image defined in the standard.
<beach>
Great! Feel free to ask more questions. I haven't studied SBCL source code, but I think I understand the paper, and Krystof explained a bit more to me in person at some point.
<beach>
Yeah, that term is not well chosen.
<nij->
The lisp memory image, which is called the cold core later in the paper, is just an image that simulates the memory space with fasls loaded.
boogsbunny has quit [Read error: Connection reset by peer]
<nij->
This seems to be necessary because the target sbcl runtime, in its init phase, doesn't know how to load fasl either.
Algernon91 has joined #commonlisp
<nij->
So the cross compiler (loaded in the host lisp) has to simulate fasl loadings.
<beach>
Right, the FASLs aren't "loaded".
<hayley>
The cold core is the memory space, which SBCL mmap()s in. The genesis stage of compiling SBCL generates a core by simulating the heap in Common Lisp.
<nij->
This seems cool, but I'm wondering if there's no easier way. (i.e. is this compicacy necessary)
<beach>
I don't think so. The cross compiler just produces code for the top-level forms. It does not execute those forms.
<beach>
So the resulting executable is what then executes the top-level forms in the FASLs.
Algernon69 has quit [Ping timeout: 256 seconds]
<beach>
Krystof was very clear about that. No SBCL Common Lisp code is executed in the host other than the (cross) compiler.
<beach>
And, no, it is not necessary as our paper on bootstrapping explains.
<nij->
Could you clarify this ? "NO SBCL ... than the cross compiler."
<beach>
The host produces FASLs, but it does not execute the top-level forms in those FASLs, so it does not "load" those FASLs.
<beach>
Only the executable resulting from the concatenation of those FASLs, plus the C and assembly code, can execute those top-level forms.
ronald has joined #commonlisp
<nij->
Oh, I see. Yes, that's what I understand too. Cool.
igemnace has joined #commonlisp
<nij->
beach, I remembering you mentiioned this before.. why wouldn't people start using sicl once its done? It wouldn't be hard to optimize?
<nij->
(I mean - why wouldn't it become the new defactor implementation?)
<beach>
It would be no harder to optimize that any other implementation I think. On the contrary, once we get call-site optimization going, it should be easier. The main obstacle is developer time.
<beach>
nij-: I don't control other people's choices, so I don't know what will happen. And I don't really care that much what people choose. Often people's choices are non-optimal for reasons other than logic.
<beach>
Also, the IDE that we are working on is designed to run in the same image as the system being developed, and I have come to the conclusion that current Common Lisp systems, including SBCL, are too easy to break for that to be idea.
<beach>
*ideal
pfdietz has joined #commonlisp
<beach>
And that's probably why Shinmera once said something like "I will never use an editor that runs in the same image as the code being developed".
<beach>
But the hope here is that the use of first-class global environments, then the entire system will be less fragile. We can run the IDE in one environment and the code being developed in a different environment. The environment in which the IDE is running will remain operational.
PuercoPop has quit [Remote host closed the connection]
<nij->
I see!
triffid has quit [Remote host closed the connection]
<beach>
I said that "developer time" is the main obstacle, but several people are helping out by maintaining code extracted to separate repositories, so that's good. And the more code we extract, the less will be left in SICL itself which is good. What is left, then, is mainlyh the bootstrapping code.
<beach>
And I think it will be easier to convince people to help with the maintenance of one of those extracted libraries than to convince them to work on SICL code.
triffid has joined #commonlisp
<beach>
Also, if we could persuade maintainers of other Common Lisp implementations to use those extracted libraries, then the chances of finding a maintainer increase.
Lycurgus has joined #commonlisp
Pixel_Outlaw has quit [Remote host closed the connection]
pfdietz has quit [Ping timeout: 250 seconds]
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
danza has joined #commonlisp
pfdietz has joined #commonlisp
<beach>
The AMOP book describes not only how CLOS is implemented, but also how it is "bootstrapped" from a pre-ANSI Common Lisp implementation (without CLOS). And the PCL CLOS implementation is designed to do just that. But bootstrapping CLOS this way has the same problems as resttime and Clasp do, in that it has to be gradually built from a system with no CLOS code.
<beach>
And, as I often point out, CLOS is best described as the result of executing a CLOS program. That is why we use the host CLOS system to build CLOS. We then don't have to do this gradual build, and we can build CLOS first during bootstrapping.
<beach>
As a result, we can use CLOS to implement the rest of the system, which simplifies lots of the rest of the code.
wacki has joined #commonlisp
chiselfuse has quit [Ping timeout: 260 seconds]
chiselfuse has joined #commonlisp
iNomad has joined #commonlisp
wilfred has joined #commonlisp
<aeth>
beach: A factor that you may not have considered that Shinmera and anyone else making a game (engine) would probably care a lot about is the necessity of FFI for that particular task, even if you try to minimize it as much as you can. And ocne you FFI, that image can be unstable, on the FFI side.
<aeth>
s/ocne/once/
rtypo has quit [Quit: WeeChat 4.2.1]
<beach>
Sounds right.
<beach>
With FFI, all bets are off.
<aeth>
Primarily OpenGL or Vulkan, as well as SDL or the SDL alternative (or just writing directly to the Linux, Windows, Mac, etc., APIs, of which only Linux has a stable syscall interface while the others want you to use a standard library).
<ixelp>
GitHub - Shinmera/cl-steamworks: A bindings library for the Valve SteamWorks API.
<aeth>
s/standard library/system library/
istewart has quit [Quit: Konversation terminated!]
amb007 has joined #commonlisp
msavoritias has joined #commonlisp
pfdietz has quit [Quit: Client closed]
chomwitt has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
amb007 has quit [Read error: Connection reset by peer]
anticomputer has joined #commonlisp
amb007 has joined #commonlisp
danza has quit [Ping timeout: 252 seconds]
pve has joined #commonlisp
leungbk has joined #commonlisp
<beach>
Ideally, FFI should be used only at the system level to create a safe Common Lisp interface. Then, modulo bugs in the interface code, the Lisp side would remain safe. But I guess that's not always possible.
amb007 has quit [Remote host closed the connection]
amb007 has joined #commonlisp
<aeth>
big graphics APIs would be the main issue, especially since not all platforms support Vulkan so it would be more than one.
<beach>
Do you mean "issue" as "requiring a lot of work", or "hard to create a safe Lisp interface for"?
leungbk has quit [Quit: ERC 5.6-git (IRC client for GNU Emacs 30.0.50)]
<aeth>
I suppose it's both, since they have a large surface area for a large variety of (unsafe) features and if you don't expose them all, people will go around the interface anyway
<beach>
I see.
<aeth>
OS abstraction seems doable, though.
leungbk has joined #commonlisp
rgherdt has joined #commonlisp
<aeth>
probably as much if not more available as in a graphics API, but less of a need to use 95% of those features
zetef has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
danse-nr3 has joined #commonlisp
chomwitt has quit [Ping timeout: 272 seconds]
igemnace has quit [Quit: WeeChat 4.2.1]
leungbk has quit [Remote host closed the connection]
<hayley>
I recall gilberth mentions running FFI in another process somehow. Another option which might be lighterweight on modern hardware is to use "memory keys".
<beach>
What are those?
<hayley>
One can have 16 keys with different memory protection, and switch between the keys in userspace. I could switch to a key which cannot access the Lisp heap when performing a FFI call, for example.
<beach>
Oh, that might solve the safety problem entirely.
<hayley>
The foreign code could of course change the key again; it isn't very sound in that sense. But I don't know of any libraries which twiddle keys, so it should work fine in practise.
<beach>
Yes, I see.
leungbk has joined #commonlisp
<Shinmera>
beach: ime even graphics drivers regularly get confused by their state and restarting the process is the only way to fix it
<Shinmera>
so even if you put in all the work to reduce the ffi interface to the OS level you're still dead in the water
<beach>
I understand.
<hayley>
I also heard in the lab that the V8 JavaScript engine uses memory protection (and memory keys where available) because they don't trust the compiler to generate safe code.
<ixelp>
GitHub - Shinmera/framebuffers: A library for portable framebuffer access
<beach>
Great!
<Shinmera>
but there's still a lot of FFI :/
mgl has joined #commonlisp
mgl has quit [Ping timeout: 246 seconds]
ronald has quit [Ping timeout: 252 seconds]
wacki has joined #commonlisp
ronald has joined #commonlisp
danse-nr3 has quit [Ping timeout: 256 seconds]
danse-nr3 has joined #commonlisp
beach` has joined #commonlisp
beach has quit [Killed (NickServ (GHOST command used by beach`!~user@2a01:cb19:682:4600:48a4:2daf:ec4d:5971))]
beach` is now known as beach
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
mivanchev has joined #commonlisp
igemnace has joined #commonlisp
<mivanchev>
hey, anyway to tell ASDF to produce test output in a machine readable format or at least make it exit with 1 in case of a failure?
shka has joined #commonlisp
Cymew has joined #commonlisp
leungbk has quit [Remote host closed the connection]
chomwitt has joined #commonlisp
wilfred has quit [Quit: Connection closed for inactivity]
stylewarning has quit [Read error: Connection reset by peer]
conjunctive has quit [Read error: Connection reset by peer]
stylewarning has joined #commonlisp
conjunctive has joined #commonlisp
jsatk has quit [Read error: Connection reset by peer]
jsatk has joined #commonlisp
dino_tutter has joined #commonlisp
bjorkintosh has quit [Ping timeout: 268 seconds]
bjorkintosh has joined #commonlisp
<beach>
Do you mean "exit with 1" as in terminating the OS process with 1 as the error code?
<mivanchev>
beach, yes, exactly. Sadly, so far I am grepping for "Test .* failed" to establish the result
<beach>
But why would you want to terminate the Common Lisp process?
<mivanchev>
i don't want to terminate it, i want it to naturally end with said result
<beach>
That's pretty harsh, and not good for incremental development.
<beach>
I'm lost.
<mivanchev>
I want sbcl --no-incremental --eval "(asdf:test-system ...)" to ultimately exit with exit code 1
<mivanchev>
naturally, without forceful termination
<beach>
But why do you do all this from the OS command line?
<mivanchev>
because it's a CI test job that never fails although tests fail
<beach>
Like I said, that's not great for incremental development, which is what Common Lisp is good for.
<beach>
I see, sort of.
<mivanchev>
beach, I should hope so :) A test system incompatible with CI tools is kinda... yeah not very useful.
<mivanchev>
Can't expect folks to change their process to "control the output manually"
<mivanchev>
I saw some people using some uiop:quit hacks
danse-nr3 has quit [Ping timeout: 272 seconds]
danse-nr3 has joined #commonlisp
alcor has joined #commonlisp
_cymew_ has joined #commonlisp
bjorkint0sh has joined #commonlisp
bjorkintosh has quit [Ping timeout: 256 seconds]
Inline has joined #commonlisp
danse-nr3 has quit [Ping timeout: 252 seconds]
markb1 has quit [Ping timeout: 260 seconds]
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Ping timeout: 264 seconds]
donleo has joined #commonlisp
kamafam has joined #commonlisp
<beach>
Can't you just put a handler around LOAD-SYSTEM and have the handler exit?
markb1 has joined #commonlisp
<mivanchev>
around test-system you mean?
chomwitt has quit [Ping timeout: 256 seconds]
attila_lendvai has joined #commonlisp
<beach>
Oh, right. Yes, I guess so.
<mivanchev>
not for alexandria's case, but I'll patch the ASD file to (error in case run-tests fail
mariari has quit [Quit: WeeChat 4.2.1]
mgl has joined #commonlisp
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
mariari has joined #commonlisp
<mivanchev>
that worked beach and it's imo the most sane solution
igemnace has quit [Quit: WeeChat 4.2.1]
igemnace has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Ping timeout: 272 seconds]
tok has joined #commonlisp
deadmarshal_ has quit [Ping timeout: 255 seconds]
amb007 has quit [Ping timeout: 260 seconds]
danse-nr3 has joined #commonlisp
Arthur_ has joined #commonlisp
cl-arthur has quit [Ping timeout: 252 seconds]
bjorkint0sh has quit [Ping timeout: 246 seconds]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 255 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<paulapatience>
Shinmera: I saw your Mastodon post about framebuffers. I'm interested in testing it on Wayland. You suggest just running the examples that are in the readme?
<Shinmera>
yeah, it won't even open a window atm
<paulapatience>
Ok, I'll try it out. I'll have more time tonight, though.
<Shinmera>
sure.
ronald has quit [Read error: Connection reset by peer]
ronald has joined #commonlisp
nij- has joined #commonlisp
skeemer has joined #commonlisp
igemnace has quit [Ping timeout: 268 seconds]
random-nick has joined #commonlisp
leungbk has joined #commonlisp
zetef has quit [Ping timeout: 260 seconds]
green_ has quit [Ping timeout: 252 seconds]
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
Posterdati has joined #commonlisp
mm007emko has quit [Ping timeout: 260 seconds]
mm007emko has joined #commonlisp
green_ has joined #commonlisp
Inline has joined #commonlisp
<younder>
beach read up on your exchange during the 'night'. Frame pointers mivanchev sounds interesting.
<mivanchev>
huh
<mivanchev>
what frame pointers
<younder>
Also thank you for the overview of SICL particularly CLOS.
alcor` is now known as alcor
<younder>
Sorry mivanchev I guess I am thinking of heyley's contribution to the discussion.
alcor has quit [Changing host]
alcor has joined #commonlisp
a51 has joined #commonlisp
<younder>
Luring hare let's you pick up on things that are no i the docks. The 10 000 ft. view.
<younder>
lurking
chomwitt has joined #commonlisp
danse-nr3 has quit [Ping timeout: 268 seconds]
tyson2 has joined #commonlisp
unl0ckd has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
mm007emko has joined #commonlisp
Lycurgus_ has quit [Quit: leaving]
Lycurgus has joined #commonlisp
flounders_ is now known as flounders
Inline has quit [Ping timeout: 240 seconds]
Inline has joined #commonlisp
wacki has joined #commonlisp
cage has joined #commonlisp
lagash has quit [Ping timeout: 255 seconds]
aeth has quit [Ping timeout: 255 seconds]
aeth has joined #commonlisp
danse-nr3 has joined #commonlisp
occ has quit [Ping timeout: 255 seconds]
aeth has quit [Ping timeout: 255 seconds]
ezakimak has quit [Ping timeout: 255 seconds]
ezakimak has joined #commonlisp
aeth has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
occ has joined #commonlisp
danse-nr3 has quit [Ping timeout: 255 seconds]
waleee has joined #commonlisp
chomwitt has quit [Ping timeout: 268 seconds]
markb1 has quit [Ping timeout: 256 seconds]
pfdietz has joined #commonlisp
unl0ckd has quit [Ping timeout: 268 seconds]
<Shinmera>
paulapatience: we've talked about it in #shirakumo
<Shinmera>
pretty sure the arglist marshalling is wrong somehow, but I have no clue how
reb` has quit [Remote host closed the connection]
ronald has joined #commonlisp
markb1 has joined #commonlisp
ronald has quit [Read error: Connection reset by peer]
unl0ckd has joined #commonlisp
ebrasca has joined #commonlisp
ronald has joined #commonlisp
deadmarshal_ has joined #commonlisp
<beach>
younder: Glad you liked it.
leungbk has quit [Ping timeout: 260 seconds]
tyson2 has quit [Remote host closed the connection]
bendersteed has joined #commonlisp
bheesham has quit [Remote host closed the connection]
chiheisen has quit [Remote host closed the connection]
whereiseveryone has quit [Remote host closed the connection]
zyd has quit [Remote host closed the connection]
jonlevin has quit [Remote host closed the connection]
ajoberstar has quit [Remote host closed the connection]
mcoll has quit [Remote host closed the connection]
srhm has quit [Remote host closed the connection]
skin has quit [Remote host closed the connection]
Schnouki has quit [Remote host closed the connection]
slondr has quit [Remote host closed the connection]
jasom has quit [Remote host closed the connection]
morganw has quit [Remote host closed the connection]
migalmoreno has quit [Remote host closed the connection]
\f has quit [Remote host closed the connection]
rselim has quit [Remote host closed the connection]
artyn has quit [Write error: Connection reset by peer]
sm2n has quit [Remote host closed the connection]
brettgilio has quit [Remote host closed the connection]
nathanb has quit [Remote host closed the connection]
sherbert has quit [Remote host closed the connection]
paulapatience has quit [Remote host closed the connection]
shunter has quit [Remote host closed the connection]
gosha_ has quit [Remote host closed the connection]
payphone has quit [Remote host closed the connection]
okflo has quit [Remote host closed the connection]
alethkit has quit [Remote host closed the connection]
theothornhill has quit [Remote host closed the connection]
ggb has quit [Remote host closed the connection]
sirufer has quit [Write error: Connection reset by peer]
edgarvincent has quit [Remote host closed the connection]
pvac has quit [Remote host closed the connection]
mhcat has quit [Write error: Connection reset by peer]
cpli has quit [Remote host closed the connection]
jmbr has quit [Remote host closed the connection]
arpunk has quit [Remote host closed the connection]
nytpu has quit [Remote host closed the connection]
Schnouki has joined #commonlisp
okflo has joined #commonlisp
shunter has joined #commonlisp
mhcat has joined #commonlisp
paulapatience has joined #commonlisp
sherbert has joined #commonlisp
morganw has joined #commonlisp
arpunk has joined #commonlisp
sirufer has joined #commonlisp
edgarvincent has joined #commonlisp
migalmoreno has joined #commonlisp
ggb has joined #commonlisp
pvac has joined #commonlisp
mcoll has joined #commonlisp
brettgilio has joined #commonlisp
gosha_ has joined #commonlisp
whereiseveryone has joined #commonlisp
zyd has joined #commonlisp
nytpu has joined #commonlisp
payphone has joined #commonlisp
ajoberstar has joined #commonlisp
srhm has joined #commonlisp
jmbr has joined #commonlisp
jonlevin has joined #commonlisp
rselim has joined #commonlisp
skin has joined #commonlisp
nathanb has joined #commonlisp
chiheisen has joined #commonlisp
slondr has joined #commonlisp
theothornhill has joined #commonlisp
artyn has joined #commonlisp
cpli has joined #commonlisp
\f has joined #commonlisp
bheesham has joined #commonlisp
sm2n has joined #commonlisp
jasom has joined #commonlisp
alethkit has joined #commonlisp
Inline has quit [Quit: Leaving]
leungbk has joined #commonlisp
nij- has joined #commonlisp
X-Scale has joined #commonlisp
unl0ckd has quit [Ping timeout: 268 seconds]
Inline has joined #commonlisp
yitzi has quit [Remote host closed the connection]
tane has joined #commonlisp
tane has quit [Changing host]
tane has joined #commonlisp
tane has quit [Quit: Leaving]
Inline has quit [Quit: Leaving]
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
tyson2 has joined #commonlisp
chomwitt has joined #commonlisp
prxq has joined #commonlisp
dnhester has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 29.2]
danse-nr3 has quit [Ping timeout: 240 seconds]
tyson2 has quit [Remote host closed the connection]
a51 has quit [Quit: WeeChat 4.2.1]
josrr has joined #commonlisp
lagash has joined #commonlisp
tane has joined #commonlisp
tane has quit [Changing host]
tane has joined #commonlisp
kevingal has joined #commonlisp
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
unl0ckd has joined #commonlisp
dino_tutter has joined #commonlisp
mgl has quit [Ping timeout: 256 seconds]
ec has quit [Ping timeout: 260 seconds]
ec has joined #commonlisp
mgl has joined #commonlisp
fitzsim has quit [Ping timeout: 252 seconds]
iNomad has quit [Quit: leaving]
Inline has joined #commonlisp
ec has quit [Ping timeout: 260 seconds]
Cymew has quit [Ping timeout: 268 seconds]
ec has joined #commonlisp
X-Scale has quit [Quit: Client closed]
mivanchev has quit [Quit: Leaving]
Inline has quit [Quit: Leaving]
leungbk has quit [Ping timeout: 252 seconds]
Pixel_Outlaw has joined #commonlisp
yitzi has joined #commonlisp
rtypo has joined #commonlisp
Inline has joined #commonlisp
occ has quit [Ping timeout: 255 seconds]
a51 has joined #commonlisp
ec has quit [Ping timeout: 260 seconds]
danse-nr3 has quit [Ping timeout: 255 seconds]
occ has joined #commonlisp
ec has joined #commonlisp
alcor has quit [Remote host closed the connection]
ec has quit [Remote host closed the connection]
pfdietz has quit [Quit: Client closed]
decweb has joined #commonlisp
ec has joined #commonlisp
waleee has quit [Ping timeout: 264 seconds]
alcor has joined #commonlisp
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
josrr has quit [Remote host closed the connection]
pfdietz has joined #commonlisp
arbn has joined #commonlisp
bendersteed has quit [Quit: bendersteed]
danse-nr3 has quit [Read error: Connection reset by peer]
danse-nr3 has joined #commonlisp
igemnace has quit [Quit: WeeChat 4.2.1]
occ has quit [Ping timeout: 272 seconds]
occ has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
ebrasca has quit [Remote host closed the connection]
ebrasca has joined #commonlisp
chomwitt has quit [Ping timeout: 264 seconds]
mgl has quit [Ping timeout: 255 seconds]
arbn has quit [Ping timeout: 255 seconds]
yottabyte has joined #commonlisp
_cymew_ has quit [Ping timeout: 256 seconds]
arbn has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
unl0ckd has quit [Ping timeout: 268 seconds]
shka has joined #commonlisp
arbn has quit [Ping timeout: 264 seconds]
danse-nr3 has quit [Ping timeout: 252 seconds]
danse-nr3 has joined #commonlisp
chomwitt has joined #commonlisp
cage has joined #commonlisp
danse-nr3 has quit [Ping timeout: 255 seconds]
Josh_2 has joined #commonlisp
a51 has quit [Quit: WeeChat 4.2.1]
msavoritias has quit [Remote host closed the connection]
kamafam has quit [Ping timeout: 260 seconds]
pfdietz has quit [Quit: Client closed]
HerlockSholmes has joined #commonlisp
istewart has joined #commonlisp
chomwitt has quit [Ping timeout: 264 seconds]
jmiven_ is now known as jmiven
kamafam has joined #commonlisp
Krystof has quit [Ping timeout: 256 seconds]
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
tisanae has joined #commonlisp
fitzsim has joined #commonlisp
kamafam has quit [Read error: Connection reset by peer]
zetef has joined #commonlisp
_cymew_ has joined #commonlisp
HerlockSholmes has quit [Ping timeout: 255 seconds]
arbn has joined #commonlisp
tok has quit [Remote host closed the connection]
mgl has joined #commonlisp
ronald has quit [Read error: Connection reset by peer]
_cymew_ has quit [Ping timeout: 252 seconds]
Lycurgus has quit [Quit: leaving]
ronald has joined #commonlisp
kevingal has quit [Ping timeout: 252 seconds]
dsmith has joined #commonlisp
alcor has quit [Remote host closed the connection]
Inline has quit [Ping timeout: 255 seconds]
anticomputer has quit [Ping timeout: 260 seconds]
anticomputer_ has joined #commonlisp
waleee has joined #commonlisp
<Josh_2>
I assume *features* persists after the image is dumped?
<Josh_2>
Trying to add a :production feature to *features* so I can remove certain api's when my image is in the production environment
tane has quit [Quit: Leaving]
<Josh_2>
In my Makefile I am just including a --eval '(setf *features* (list* :production *features*))' before quickloading and using asdf:make
zetef has quit [Remote host closed the connection]
Inline has joined #commonlisp
<kagevf_>
Josh_2: why list* and not regular list?
<kagevf_>
oh wait ... I see why nm
<Josh_2>
(list* 'a 'b 'c '(d e f)) -> (a b c d e f) (list 'a 'b 'c '(d e f)) -> (a b c (d e f))
<Josh_2>
Luv list* simple az
<kagevf_>
nice :)
cage has quit [Quit: rcirc on GNU Emacs 29.2]
<kagevf_>
Josh_2: is save-lisp-and-die in the mix somewhere? or the equivalent if not using sbcl?
<Josh_2>
I assume asdf:make is using save-lisp-and-die
<kagevf_>
I see
<kagevf_>
Josh_2: that sounds like a good idea, though ... did you try it and it didn't work, or are you just asking whether it'll work ahead of time?
<Josh_2>
I am playing around with it now
chomwitt has joined #commonlisp
<kagevf_>
Josh_2: so your make file dumps an image, then you just upload or copy it to somewhere and run it? I've only done that for little one offs, slightly bigger things I just generated the image from source (to run through hunchentoot)
<kagevf_>
(not with a make file in my case, though)
<Josh_2>
Currently using docker with a gitlab pipeline
<Josh_2>
I dont know how it works, I just know it does :joy:
<Josh_2>
I let the devops folks deal with it
<kagevf_>
interesting ... now I have docker questions, but I'll keep quiet hehe
<Josh_2>
I have a bit of experience with docker, but none with lisp... I just told the devops folks about the Fukumachi images and then let them handle it
<kagevf_>
Fukamachi, right? He makes lisp images available somewhere?
<kagevf_>
are the roswell bits contained within the ... container? if the host system doesn't have it, it's not a problem, right?
Krystof has joined #commonlisp
<Krystof>
whether the sbcl build executes sbcl code outside the cross-compiler is a bit blurry
<Krystof>
the cross-compiler processes files containing forms like (eval-when (:compile-toplevel) ...) which must have some effect for the rest of the file to be compilable
<Krystof>
during cross-compilation we must simulate the effects of those, too