<kakuhen>
in my very informal experience, you can define a compiler-macro in CCL but CCL wont do anything with it unless you are compiling a form making use of the macro... submitting it to the REPL for evaluation will just give you an unbound symbol error
<_death>
kakuhen: right.. the same will happen if you have (setf sb-ext:*evaluator-mode* :interpret)
<kakuhen>
I actually find CCL's behavior confusing because I was always under the impression forms were compiled and what's executed is, well, the compiled form
pdietz has quit [Quit: Client closed]
<_death>
well, from skimming the source (not running ccl) it seems to have a "cheap-eval" interpreter.. a defun may get compiled, but simple form like (foo 42) will not
genpaku has quit [Read error: Connection reset by peer]
genpaku has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
_cymew_ has joined #commonlisp
morganw has joined #commonlisp
cage has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 265 seconds]
Lord_of_Life has joined #commonlisp
mfru has joined #commonlisp
thoughtron has quit [Ping timeout: 260 seconds]
ec has quit [Ping timeout: 255 seconds]
ec has joined #commonlisp
shka has joined #commonlisp
ym has joined #commonlisp
szkl has joined #commonlisp
thoughtron has joined #commonlisp
ym has quit [Ping timeout: 272 seconds]
tane has joined #commonlisp
tane has quit [Changing host]
tane has joined #commonlisp
son0p has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
shka has joined #commonlisp
Cymew has joined #commonlisp
shka has quit [Ping timeout: 252 seconds]
pve has joined #commonlisp
ec_ has joined #commonlisp
shka has joined #commonlisp
ec has quit [Ping timeout: 255 seconds]
ec_ has quit [Remote host closed the connection]
ec_ has joined #commonlisp
Oddity has quit [Ping timeout: 252 seconds]
bldr_ has quit [Ping timeout: 248 seconds]
Lycurgus has joined #commonlisp
doyougnu has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
cercopith__ has quit [Remote host closed the connection]
cercopith__ has joined #commonlisp
Cymew has quit [Ping timeout: 252 seconds]
ym has joined #commonlisp
waleee has joined #commonlisp
bitmapper has quit [Quit: Connection closed for inactivity]
random-nick has joined #commonlisp
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
azimut has joined #commonlisp
kaskal has quit [Ping timeout: 246 seconds]
kaskal has joined #commonlisp
perrierjouet has quit [Quit: WeeChat 3.7.1]
random-nick has quit [Ping timeout: 272 seconds]
Inline has joined #commonlisp
Cymew has joined #commonlisp
speskk has joined #commonlisp
speskk has quit [Changing host]
speskk has joined #commonlisp
inline_ has joined #commonlisp
Inline has quit [Ping timeout: 246 seconds]
inline_ has quit [Quit: Leaving]
Brucio-61 has quit [Ping timeout: 260 seconds]
Inline has joined #commonlisp
Lycurgus has joined #commonlisp
Brucio-61 has joined #commonlisp
inline_ has joined #commonlisp
aartaka has joined #commonlisp
Inline has quit [Ping timeout: 272 seconds]
Inline__ has joined #commonlisp
inline_ has quit [Ping timeout: 260 seconds]
Cymew has quit [Ping timeout: 272 seconds]
mfru has quit [Ping timeout: 252 seconds]
gxt__ has quit [Ping timeout: 255 seconds]
gxt__ has joined #commonlisp
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
waleee has quit [Quit: WeeChat 3.7.1]
nij- has joined #commonlisp
pranavats has joined #commonlisp
mfru has joined #commonlisp
aartaka has quit [Ping timeout: 272 seconds]
sedzcat has joined #commonlisp
sedzcat has quit [Client Quit]
<nij->
What does a 'clean bootstrapping process' mean, as in "SBCL was announced as a CMUCL variant with a ‘clean’ bootstrap process"?
<beach>
I recommend you read Krystof's paper. It is very good, and explains it all.
<nij->
That quote is taken from Krystof paper :)
<beach>
Hmm, OK.
<nij->
(In other words, I'm reading it.)
<Bike>
isn't the whole point of that paper to describe said bootstrap process
<beach>
CMUCL was apparently difficult to upgrade. I don't remember the details. But I know that some Common Lisp implementation are upgraded by patching an existing image, so they don't build from source. Others build from source, but only using a previous version of the same implementation. SBCL can be bootstrapped from pretty much any conforming Common Lisp implementation.
<nij->
I see. And the point, I think, is that the end result (SBCL) does not depend on the state of the host lisp?
<beach>
Bike: Perhaps it doesn't say what it means NOT to be "clean".
tyson2 has joined #commonlisp
<beach>
nij-: It doesn't depend on the state of a particular image, nor on functionality specific to any particular Common Lisp implementation.
pdietz has joined #commonlisp
<nij->
Right, and in that sense, we can say the end result is independent to the host lisp. I take that as what 'clean' means.
<phoe>
more or less this, yes
<phoe>
"clean" == you don't need any particular CL implementation, or any particular version of it
<phoe>
the OS part is still an issue, since cross-OS compilation is not all that common
<phoe>
but then again, I guess implementers have it solved, and most of the time you don't cross-compile across OS boundaries either
<nij->
cross-OS compilation means that the end result should be independent to the OS too?
<beach>
I think that would be hard.
<beach>
phoe: [assuming you mean compiling on one OS to create an executable for a different OS] what would be the difficulty of doing that?
rainthree3 has quit [Ping timeout: 252 seconds]
jkamat is now known as jgkamat
<phoe>
beach: not much in particular - if anything, you may not have access to win32-specific code on linux
<beach>
Oh, you mean like libc?
<phoe>
depends on how the compiler is constructed - if you can load the compiler for win32-specific parts on linux, for instance
inline_ has joined #commonlisp
Inline__ has quit [Ping timeout: 260 seconds]
pranavats has left #commonlisp [Disconnected: Hibernating too long]
<nij->
Wow, 'clean' means even more as I read on. It also involves the fact that building the target sbcl doesn't mutate any structure of the host ("the build must neither use any properties of the host SBCL, nor mutate any of its structures." sec. 3.3)
pranavats has joined #commonlisp
mfru has quit [Ping timeout: 252 seconds]
<beach>
That sounds impossible.
<phoe>
I assume it means internal compiler structures or something like that
<beach>
There must be some restrictions associated with that phrase, yes.
<phoe>
this probably doesn't apply to creating new packages or interning symbols or defining stuff that is portable CL and not SBCL-specific
inline_ is now known as inline
inline is now known as Inline
Inline is now known as inline
<beach>
Oh, I guess he means "SBCL-specific structures", maybe?
<nij->
Yeah, new packages can be constructed in the host, e.g. #:sb!xc.
inline_ has joined #commonlisp
inline has quit [Ping timeout: 268 seconds]
azimut has quit [Ping timeout: 255 seconds]
<NotThatRPG_away>
Anyone familiar with the internals of FiveAM? Does it work properly with comparison operators that take additional arguments (e.g., :key, :test)?
azimut has joined #commonlisp
NotThatRPG_away is now known as NotThatRPG
frgo has joined #commonlisp
bitmapper has joined #commonlisp
jmdaemon has quit [Ping timeout: 252 seconds]
<NotThatRPG>
Ugh. The way that FiveAM does list matching makes it almost impossible to extend it to correctly handle `(is (set-equal <expected> <actual> :test 'equalp))` :-(
jmdaemon has joined #commonlisp
<NotThatRPG>
The best thing would probably refactor it to use something like OPTIMA or whatever is the current preferred matching library...
perrierjouet has joined #commonlisp
<pdietz>
trivia supplanted optima, I think.
aartaka has joined #commonlisp
eddof13 has joined #commonlisp
inline has joined #commonlisp
jeosol has joined #commonlisp
inline_ has quit [Ping timeout: 260 seconds]
random-jellyfish has joined #commonlisp
inline_ has joined #commonlisp
<random-jellyfish>
is there a function to access an element in a nested list using a list of "coordinates"? for example (get-element '(0 1 3) '((7 (2 3 4 5)) 5 7 8)) would return 5
<random-jellyfish>
is there such a function implemented somewhere or do I have to write it from scratch?
inline has quit [Ping timeout: 265 seconds]
<NotThatRPG>
pdietz: Thanks! Will investigate
inline_ has quit [Remote host closed the connection]
<Alfr>
random-jellyfish, maybe use NTH for each index?
<random-jellyfish>
Alfr yes that's the obvious solution, I could write a macro or a function that could generate a chain of nth to reach the element
<random-jellyfish>
I was just wondering if anybody didn't write that already
<random-jellyfish>
it would be quite an useful function
<random-jellyfish>
I'd like there to be an equivalent of grep to be used on s-expressions
<random-jellyfish>
to do recursive searches using predicates and getting a list of results that could include the values, the positions of the values or both
<random-jellyfish>
I'm surprised something like that hasn't been written in over 50 years of lisp
<random-jellyfish>
or maybe it was but got lost
<beach>
random-jellyfish: I think the reason is that nested lists are usually a very poor choice for a data structure. And if it is not a data structure, but some language construct, then each element would be processed recursively.
<random-jellyfish>
This is what chatGPT generated for me:
<beach>
random-jellyfish: Like if you have something like (LET ((X 10) (Y 20)) (F X Y)) then, the function processing LET would call the function PROCESS-BINDINGS with ((X 10) (Y 20)), and that function would call PROCESS-BINDING twice with (X 10) and (Y 20). You would not typically access the 10 from the top level.
<random-jellyfish>
chatGPT is scary, that function might actually be what I'm looking for
<NotThatRPG>
pdietz: Looking at the trivia manual, it's not very clear. Biggest challenge: It doesn't explain the critical question of how trivia distinguishes between variable names and constants in patterns! when is "a" a variable name that is bound and when would it match the symbol named "A"?
<random-jellyfish>
beach but I might want to have a separate set of functions to query the s-expression, they might be useful in an IDE to autocomplete for example
perrierjouet has quit [Quit: WeeChat 3.7.1]
<random-jellyfish>
or find all calls to a function
<beach>
OK.
perrierjouet has joined #commonlisp
cercopith__ has quit [Remote host closed the connection]
cercopith__ has joined #commonlisp
tibfulv_ has joined #commonlisp
tibfulv has quit [Read error: Connection reset by peer]
<NotThatRPG>
pdietz: Presumably one uses quote, but really, it's not at all clear.
igemnace has quit [Remote host closed the connection]
<random-jellyfish>
chatGPT generates almost decent common lisp code
tyson2` has joined #commonlisp
tyson2` has quit [Remote host closed the connection]
tyson2 has quit [Remote host closed the connection]
nij- has quit [Ping timeout: 252 seconds]
rgherdt has quit [Remote host closed the connection]
varjag has joined #commonlisp
random-nick has joined #commonlisp
random-jellyfish has quit [Quit: Client closed]
varjag has quit [Remote host closed the connection]
varjag has joined #commonlisp
perrierjouet has quit [Quit: WeeChat 3.7.1]
perrierjouet has joined #commonlisp
jeosol has quit [Quit: Client closed]
aartaka has quit [Ping timeout: 272 seconds]
tyson2 has joined #commonlisp
inline has joined #commonlisp
azimut has quit [Ping timeout: 255 seconds]
ttree has joined #commonlisp
azimut has joined #commonlisp
varjag has quit [Remote host closed the connection]
varjag has joined #commonlisp
doyougnu has quit [Ping timeout: 272 seconds]
varjag has quit [Ping timeout: 260 seconds]
nij- has joined #commonlisp
mariari has quit [Read error: Connection reset by peer]
inline_ has joined #commonlisp
inline has quit [Ping timeout: 268 seconds]
pdietz has quit [Quit: Client closed]
Oddity has joined #commonlisp
<Josh_2>
Quick design question. I have receive json from a server, parse it and then forward it onto a client. Should I keep the original raw data around to forward, or can I just convert the json back to a string and send that? I'm worried about inconsistencies in the data from converting to and from json
mariari has joined #commonlisp
<Krystof>
nij-: back in the day, there were some lisp build processes that required mutating the host lisp in order that some of the reflection in the compiler would get the "right" answer (the "right" answer for the lisp-to-be-built as opposed to the lisp-that-is-the-host-for-the-build)
<Krystof>
there was a nice demo that I used to be able to do; I don't know if it still works. There's a structure in cmucl called something like a "defstruct-description", which (as you might expect) describes structures. It itself is a structure.
tyson2 has quit [Remote host closed the connection]
<Krystof>
I used to invite the uncautious to attempt to move the slots of that structure around and rebuild. My recollection is that the cmucl rebuild blew up because the compiler would interrogate itself to find out how to dump those structure descriptions to fasl files, but the living definition and the target definition were different.
<Krystof>
The hacky solution to that would be to modify the in-memory representation of the description of the defstruct-description structure
<Josh_2>
I decided I will just keep both in postgres
<Josh_2>
:sunglasses:
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
<nij->
Krystof Thanks. Could you remind me if this is to reply some of my questions? Or it's just a nice-to-know fact :D?
* nij-
thinks it's nice to know.
aartaka has joined #commonlisp
<jackdaniel>
if you don't remember your questions then perhaps they are not that important to answer
<nij->
jackdaniel The problem is I'm noobish, so I fail to match his answers to any of my question.
aartaka has quit [Ping timeout: 260 seconds]
Inline__ has joined #commonlisp
aartaka has joined #commonlisp
inline_ has quit [Ping timeout: 272 seconds]
Inline__ is now known as inline
_cymew_ has quit [Ping timeout: 268 seconds]
varjag has joined #commonlisp
aartaka has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
speskk has quit [Ping timeout: 272 seconds]
cage has quit [Quit: rcirc on GNU Emacs 27.1]
waleee has joined #commonlisp
inline_ has joined #commonlisp
<Krystof>
nij-: it was about the phrase "mutate any structure of the host"
inline has quit [Ping timeout: 272 seconds]
inline__ has joined #commonlisp
skeemer has joined #commonlisp
inline_ has quit [Ping timeout: 272 seconds]
morganw has quit [Remote host closed the connection]
rgherdt has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
varjag has quit [Quit: ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)]
azimut has quit [Ping timeout: 255 seconds]
shka has quit [Ping timeout: 256 seconds]
thuna` has quit [Remote host closed the connection]
<jcowan>
why the @#$* am I so cold when it is 4 outside and I am inside? Perhaps I need to turn on a little heat.
<NotThatRPG>
jcowan: I feel confident that's 4 *Celsius* not Fahrenheit!
<Bike>
we can only hope.
<aeth>
NotThatRPG: He said 4, not 4 degrees, which means that he must mean Kelvin
<NotThatRPG>
No wonder he's cold!
inline_ has joined #commonlisp
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
inline__ has quit [Ping timeout: 268 seconds]
inline__ has joined #commonlisp
<jcowan>
Yes, I convert to the metric system when talking to a multinational audience.
azimut has joined #commonlisp
<jcowan>
and no, not 4 kelvins.
<jcowan>
if so I would have to have a liquid helium nervous system
inline_ has quit [Ping timeout: 272 seconds]
mfru has joined #commonlisp
doyougnu has joined #commonlisp
<Reinhilde>
aeth: I will usually assume celsius
euandreh has quit [Remote host closed the connection]
euandreh has joined #commonlisp
inline_ has joined #commonlisp
doyougnu has quit [Ping timeout: 252 seconds]
inline_ has quit [Max SendQ exceeded]
aartaka has quit [Ping timeout: 272 seconds]
inline_ has joined #commonlisp
aartaka has joined #commonlisp
inline__ has quit [Ping timeout: 252 seconds]
euandreh has quit [Quit: euandreh]
inline__ has joined #commonlisp
inline_ has quit [Ping timeout: 272 seconds]
tane has quit [Quit: Leaving]
akoana has joined #commonlisp
tyson2 has joined #commonlisp
<jackdaniel>
it may be 20°C and still subjectively freezing
<jackdaniel>
raw temperature is not a good indicator of terman comfort
<jackdaniel>
thermal*
inline_ has joined #commonlisp
inline__ has quit [Ping timeout: 265 seconds]
inline__ has joined #commonlisp
<aeth>
20°C is cold though. 'room temperature'... 22-23 is far more comfortable
inline_ has quit [Ping timeout: 252 seconds]
aartaka has quit [Ping timeout: 265 seconds]
<pve>
can also be expensive.. my living room was 16 C the other day, had to code with those wool half finger gloves, or whatever they're called :)
<pve>
granted, the north wind was really something that day