<yacin>
i'm going a bit crazy here and i'm wondering if someone can sanity check things for me. i have a small example of zstd compression generating broken files for me on my arm macbook with sbcl (2.4.5 and 2.4.10). it works fine on ecl (24.5.10) on my arm mac, and works fine on amd64 linux sbcl (2.2.9). script, input file, and a way to test forthcoming
<yacin>
501 files decompressed : 125250000 bytes total
<yacin>
otherwise you'll see (probably a few of):
<yacin>
foo.log.140.zst : Decoding error (36) : Data corruption detected
<yacin>
zstd: foo.log.36.zst: unsupported format
lucasta has quit [Quit: Leaving]
<yacin>
the other function (compress-file-line-cb) works fine, so at first i assume i was using ZSTD wrong, but i'm reasonably sure that's how the api is supposed to be used
<yacin>
would love to see if it fails on another arm machine
<yacin>
and if anyone has advice on how to try and debug this (:
lucasta has joined #commonlisp
triffid has quit [Remote host closed the connection]
triffid has joined #commonlisp
entrotec has quit [Quit: Quit]
Pixel_Outlaw has joined #commonlisp
lucasta has quit [Quit: Leaving]
triffid has quit [Quit: triffid]
edgar-rft_ has joined #commonlisp
triffid has joined #commonlisp
edgar-rft` has quit [Ping timeout: 246 seconds]
Akbar-Birbal has joined #commonlisp
eddof13 has quit [Quit: eddof13]
random-nick has quit [Ping timeout: 252 seconds]
notzmv has quit [Remote host closed the connection]
rkazak has quit [Ping timeout: 272 seconds]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 245 seconds]
eddof13 has joined #commonlisp
eddof13 has quit [Client Quit]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 265 seconds]
markb1 has quit [Remote host closed the connection]
rkazak has joined #commonlisp
robin_ is now known as robin
rkazak has quit [Ping timeout: 260 seconds]
shawnw has quit [Ping timeout: 252 seconds]
rtypo has quit [Quit: WeeChat 4.4.2]
longlongdouble has joined #commonlisp
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
longlongdouble has quit [Read error: Connection reset by peer]
longlongdouble has joined #commonlisp
rkazak has joined #commonlisp
triffid has quit [Remote host closed the connection]
triffid has joined #commonlisp
longlongdouble has quit [Read error: Connection reset by peer]
rkazak has quit [Ping timeout: 245 seconds]
Patternmaster has quit [Ping timeout: 248 seconds]
AetherWind has quit [Ping timeout: 252 seconds]
beach` has joined #commonlisp
longlongdouble has joined #commonlisp
longlongdouble has quit [Remote host closed the connection]
theruran has quit [Quit: Connection closed for inactivity]
chkhd_ has joined #commonlisp
chkhd has quit [Ping timeout: 276 seconds]
alternateved has joined #commonlisp
rkazak has joined #commonlisp
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 245 seconds]
Lord_of_Life_ is now known as Lord_of_Life
lagash has quit [Ping timeout: 248 seconds]
rkazak has quit [Ping timeout: 248 seconds]
varjag has joined #commonlisp
mgl has joined #commonlisp
Grauwolf has quit [Quit: WeeChat 4.1.2]
Grauwolf has joined #commonlisp
attila_lendvai has joined #commonlisp
rkazak has joined #commonlisp
rkazak has quit [Ping timeout: 272 seconds]
bike has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
yacin has joined #commonlisp
chkhd has joined #commonlisp
JuanDaugherty has quit [Quit: JuanDaugherty]
mishoo has quit [Remote host closed the connection]
mishoo has joined #commonlisp
chkhd_ has quit [Ping timeout: 260 seconds]
nerap has joined #commonlisp
pkal has quit [Read error: Connection reset by peer]
pkal has joined #commonlisp
dino_tutter has joined #commonlisp
alcor has joined #commonlisp
triffid has joined #commonlisp
<nerap>
Hi, I for the live of me figure out how to use the reader macros @export-accessors or @eval-always of the cl-syntax library. Regular @export in front of a defun works fine. The docs say to simple call (syntax:use-syntax :annot) and then the @ reader macros should work. But neither @export-accessors nor @eval-always work. Any pointer or example project that uses those things successfully?
<minion>
nerap, memo from phoe: oh, it's the SBCL package system warning you that you might have forgotten™ some symbols; you can uiop:define-package to avoid that
King_julian has joined #commonlisp
rkazak has joined #commonlisp
alternateved has quit [Remote host closed the connection]
rkazak has quit [Ping timeout: 244 seconds]
gorignak has quit [Read error: Connection reset by peer]
rkazak has joined #commonlisp
rkazak has quit [Ping timeout: 252 seconds]
alternateved has joined #commonlisp
mzan has joined #commonlisp
gorignak has joined #commonlisp
rkazak has joined #commonlisp
longlongdouble has quit [Remote host closed the connection]
dinomug has quit [Remote host closed the connection]
hirez- has quit [Ping timeout: 252 seconds]
ixelp has joined #commonlisp
hirez has joined #commonlisp
rkazak has quit [Ping timeout: 265 seconds]
bendersteed_ is now known as bendersteed
lagash has joined #commonlisp
rkazak has joined #commonlisp
longlongdouble has joined #commonlisp
mari-estel has joined #commonlisp
Th30n has quit [Ping timeout: 252 seconds]
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
longlongdouble has quit [Read error: Connection reset by peer]
longlongdouble has joined #commonlisp
longlongdouble has quit [Read error: Connection reset by peer]
rkazak has quit [Ping timeout: 260 seconds]
longlongdouble has joined #commonlisp
gnoo has joined #commonlisp
chomwitt has quit [Quit: WeeChat 3.8]
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
longlongdouble has quit [Read error: Connection reset by peer]
longlongdouble has joined #commonlisp
random-nick has joined #commonlisp
nerap` has joined #commonlisp
nerap has quit [Ping timeout: 246 seconds]
kevingal has joined #commonlisp
rkazak has joined #commonlisp
random-nick has quit [Ping timeout: 252 seconds]
mwnaylor has quit [Ping timeout: 245 seconds]
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
longlongdouble has quit [Read error: Connection reset by peer]
longlongdouble has joined #commonlisp
rkazak has quit [Ping timeout: 246 seconds]
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
longlongdouble has quit [Read error: Connection reset by peer]
longlongdouble has joined #commonlisp
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
JuanDaugherty has joined #commonlisp
rkazak has joined #commonlisp
decweb has joined #commonlisp
longlongdouble has quit [Read error: Connection reset by peer]
longlongdouble has joined #commonlisp
kevingal has quit [Ping timeout: 246 seconds]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
rkazak has quit [Ping timeout: 244 seconds]
zwr has quit [Read error: Connection reset by peer]
cercopith has joined #commonlisp
yi has joined #commonlisp
zwr has joined #commonlisp
yi has quit [Quit: Client closed]
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
dnhester26 has joined #commonlisp
longlongdouble has quit [Read error: Connection reset by peer]
rkazak has joined #commonlisp
chkhd has quit [Quit: ZZZzzz…]
JuanDaugherty has quit [Quit: JuanDaugherty]
chkhd has joined #commonlisp
<shka>
hi all, i found something unexpected in agnostic-lizard, is that a bug? https://termbin.com/ob9h this will produce error that looks to me like it is
kopiyka has quit [Remote host closed the connection]
<shka>
or even just '((cdr #:l1238))
longlongdouble has quit [Read error: Connection reset by peer]
longlongdouble has joined #commonlisp
<scymtym>
what is the unexpected part? ((cdr ...)) is not a valid form
rkazak has quit [Ping timeout: 265 seconds]
King_julian has quit [Ping timeout: 244 seconds]
dnhester26 has quit [Remote host closed the connection]
rainthree has joined #commonlisp
dnhester26 has joined #commonlisp
mari-estel has quit []
younder has joined #commonlisp
attila_lendvai_ has joined #commonlisp
<shka>
scymtym: yeah, i've just figured out what was wrong
<shka>
though i think that error could be slightly more descriptive
<shka>
and not just "no method"
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
<scymtym>
right. i hope, the s-expression-syntax library can help improve this situation at some point
attila_lendvai has quit [Ping timeout: 265 seconds]
<dnhester26>
why can I temporarily set a variable, even from another package, in a let statement to some value during the execution of that let statement ad even inside functions called inside that let statement, but for some reason I can't (maybe I don't know how to?) set the value of a slot of an object to be something while the let statement executes? I tried (let (((myval-accessor myobj) 2)) (some-fun myobj)) and it doesn't compile the let s
<dnhester26>
tatement
longlongdouble has quit [Ping timeout: 248 seconds]
<shka>
dnhester26: let establishes new variable binding (that could be named as already existing variable) but does not modify existing variable binding
longlongdouble has joined #commonlisp
<bike>
dnhester26: let only works for variables. you can't create a new binding of something like a slot.
<dnhester26>
thanks for the answers. Can you please explain what the difference between a variable and a slot's data is?
<dnhester26>
I don't quite follow: if a variable has to be accessed with a symbol isn't that what an accessor or slot-value are doing as well? accessing data with a symbol?
<shka>
dnhester26: symbol in lisp is used as a name of many things…
<bike>
dnhester26: symbols are just names.
longlongdouble has quit [Ping timeout: 260 seconds]
longlongdouble has joined #commonlisp
attila_lendvai_ is now known as attila_lendvai
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
rkazak has joined #commonlisp
<beach>
dnhester26: Look at the syntax for LET. It says var is a symbol.
longlongdouble has quit [Read error: Connection reset by peer]
longlongdouble has joined #commonlisp
<beach>
dnhester26: It introduces a lexical variable. Ultimately, that will be some stack location in the current stack frame or some register in the processor. There is no parallel with slots. A slot is ultimately a location in a standard object. Those are totally different concepts.
<beach>
dnhester26: And it should come as no surprise that LET works for any symbol, no matter the home package of that symbol.
<beach>
... unless that symbol is a constant of course.
shawnw has quit [Ping timeout: 276 seconds]
clarkf has joined #commonlisp
<dnhester26>
Let me confirm I understand: whenever a symbol is called in general, there's some lookup table of symbol -> value, when a symbol is called inside the let, in the stack, the lookup of symbol -> value first checks the stack table and if not found then checks the global lookup table. However by slots in an object, even though we do (slot-value obj symbol-of-slot), it's not actually a symbol -> value, but rather data in the object and t
<dnhester26>
hat's why there is no lookup table to override. Is that what you guys are saying?
<beach>
Wow, hold on...
<beach>
Symbols are not "called".
longlongdouble has quit [Remote host closed the connection]
<dnhester26>
sorry I meant used or referenced, i don't know the right word to use
longlongdouble has joined #commonlisp
<beach>
OK, so LET can be used to bind lexical variables or special variables. Let's stick to lexical variables at the moment.
<beach>
To simplify, the compiler associates a lexical variable with some stack location or register location, and when a reference to that variable is seen, the compiler generates code to reference that location.
longlongdouble has quit [Read error: Connection reset by peer]
longlongdouble has joined #commonlisp
kopiyka has joined #commonlisp
chkhd has quit [Quit: ZZZzzz…]
<beach>
So a lexical variable must have a value, because there is no way to create a lexical variable without a value. Therefore the reference does not need any "lookup". The compiler catches references to non-existing variables, so nothing special needs to happen at run time.
rkazak has quit [Ping timeout: 264 seconds]
<beach>
A slot access goes like this:...
<beach>
The slot name is looked up in the class of the object, and a slot metaobject contains the location of the slot in the object. The value is then accessed in a similar way to the element of a vector, because a standard object contains a vector of slot values.
chkhd has joined #commonlisp
gorignak has quit [Quit: quit]
longlongdouble has quit [Read error: Connection reset by peer]
longlongdouble has joined #commonlisp
<dnhester26>
ok that's much clearer. thanks for the explanation. so the reason is that the compiler doesn't associate the slot access to a location in the stack or a reference but rather with the index of the data in the vector of values for the object, so that the location to get the data can't be changed because the slot access doesn't store a location but rather the index of the element of the vector which doesn't make sense to change. Is tha
<dnhester26>
t what you meant?
<beach>
Sort of. There is no reason the slot couldn't be changed. There are some constructs that do that, like store the current value in a temporary variable, then executes some code, and then restores the value. But LET is not such a construct.
<beach>
And constructs that do that are notorious for not being thread safe, unless slots are handled in a special way as jackdaniel recently discussed.
rainthree has quit [Ping timeout: 244 seconds]
longlongdouble has quit [Read error: Connection reset by peer]
longlongdouble has joined #commonlisp
<dnhester26>
I meant that the compiler doesn't write the location of the data directly, instead it writes the slot access procedure. What I did in practice was unwind-protect and setf in the beginning the value I want to use and setf in the end the original value of the slot back in place.
<dnhester26>
thanks for the explanation
<beach>
Yes, that's the way those constructs work. Careful with thread safety though.
<beach>
Also again, be careful with terminology. The compiler doesn't write to the location. It generates code to do so.
<beach>
But the resulting code can write the location with one or two instructions if it has a reference to the vector of slot values.
chkhd has quit [Quit: ZZZzzz…]
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
<dnhester26>
what should I do for thread safety though? is there a special form I should use?
<beach>
No there is nothing built in, and you can't do it in general for instances of standard classes. Like I said, jackdaniel had a significant blog post about it recently.
rkazak has joined #commonlisp
<beach>
The reason you can't do it in general is that slot access takes more than one instruction, and a different thread can manipulate the same data between two of those instructions.
<dnhester26>
beach: yeah. I never took a course on that. Do you have any resources you could recommend me for learning? I also never took a course on language design either if it's something pressing to learn as well.
longlongdouble has quit [Remote host closed the connection]
<minion>
dnhester26: paip: Paradigms of Artificial Intelligence Programming. More about Common Lisp than Artificial Intelligence. Now freely available at https://github.com/norvig/paip-lisp
<ixelp>
GitHub - norvig/paip-lisp: Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"
<jackdaniel>
minion: tell dnhester26 about pcl
<minion>
dnhester26: please look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005).
<ixelp>
Practical Common Lisp
longlongdouble has joined #commonlisp
<beach>
dnhester26: For computer architecture, you don't need anything sophisticated meant for computer architects. Find a book that targets computer scientists, perhaps the text book from a CS university program.
<beach>
dnhester26: For compiler design and language semantics in general, I recommend Lisp in Small Pieces.
Krystof has joined #commonlisp
<dnhester26>
just search for introduction to computer architecture?
<beach>
Well, I have the best book for you, but it is in French.
<bjorkintosh>
dnhester26: Code, by petzold is a fantastic start.
<dnhester26>
jackdaniel: aren't those general learn lisp or common lisp books? do they help for understanding these issues?
<bjorkintosh>
beach: what is it called??
<beach>
Architecture de l'ordinateur.
<dnhester26>
beach: perhaps I can understand, I can give it a try if I find a preview. my french is not great, though I assume most of the technical words will probably be very similar to english or spanish which may be enough
<ixelp>
Architecture de l'ordinateur - Portes logiques, circuits combinatoires, arithmétique binaire, circuits séquentiels et mé [...]
<jackdaniel>
dnhester26: paip and sicp teach you how to build interesting programs; I'd say that's about architecture too. pcl admittedly is more about learning common lisp
<bjorkintosh>
ah. the book is written by one R. Strandh.
<beach>
Yes, it's by me an my favorite coauthor.
<bjorkintosh>
beach: yes I know who the famous R. Srandh is.
<bjorkintosh>
not personally, of course.
<beach>
*blush*
<beach>
bjorkintosh: So you haven't been to ELS yet?
<bjorkintosh>
it's about lisp machines and prolog machines.
<bjorkintosh>
it's on archive.org
<bjorkintosh>
The Architecture of Symbolic Computers
<bjorkintosh>
or, SECD machines.
<shka>
PAIP is not terrible book to learn from, especially if for some reason person does not enjoy PCL at all
longlongdouble has quit [Read error: Connection reset by peer]
<bjorkintosh>
they're not substitutes. they're complimentary.
bjorkint0sh has joined #commonlisp
longlongdouble has joined #commonlisp
bjorkint0sh has quit [Client Quit]
<shka>
what i am getting is that i need to learn french to read beach
<bjorkintosh>
you need to learn french in order to take long walks on the beach huh?
<bjorkintosh>
don't we all?
rkazak has quit [Ping timeout: 260 seconds]
* bjorkintosh
likes foreign languages and long walks on the beach and candle light dinners.
* bjorkintosh
hasn't taken the time to learn foreign languages. yet.
<shka>
and i find new languages to be exceptionally difficult subject to learn
<beach>
I should either ask Dunod for the rights to the English version, or just publish the English version anyway. I don't think they would care much. The royalties are around 2€/month.
<bjorkintosh>
there's an english version??
<beach>
I am pretty sure I have almost all of the material, yes. But it is not in good state.
<bjorkintosh>
better than non existent, I say!
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
longlongdouble has quit [Read error: Connection reset by peer]
jadzi has quit [Ping timeout: 246 seconds]
longlongdouble has joined #commonlisp
eddof13 has joined #commonlisp
attila_lendvai has quit [Ping timeout: 244 seconds]
<dnhester26>
beach: is there any way I can get a preview of the english version? would be happy to add comments on editing :)
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
rkazak has joined #commonlisp
<beach>
It doesn't compile, apparently, so that might be a bit too much work for me right now.
<beach>
Maybe I'll have a look at it in the next few days and make an assessment.
mari-estel has joined #commonlisp
mishoo has quit [Remote host closed the connection]
mishoo has joined #commonlisp
<dnhester26>
ok, no worries, I have a book I've been meaning to takle on the subject for a long time. it's just that I've prioritized reading keene and on lisp over other books, then I was hoping to read AMOP, and maybe then the computer architecture book. just so much stuff to do and so little time
longlongdouble has quit [Read error: Connection reset by peer]
<beach>
I completely understand.
longlongdouble has joined #commonlisp
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
<bjorkintosh>
beach: is it written in latex?
<beach>
Yes.
<bjorkintosh>
dnhester26: definitely check out Kogge's book at some point. add it to the list.
* bjorkintosh
suffers from tsundoku
eddof13 has quit [Quit: eddof13]
mari-estel has quit [Ping timeout: 255 seconds]
eddof13 has joined #commonlisp
<dnhester26>
bjorkintosh: will that book be helpful for me to learn computer architecture in general and common lisp compilers in particular of thread considerations? To be honest from the amazon page it doesn't seem so useful as a main book on the subject considering it's from 1990, though I may be completely wrong. Do you mean to read it as supplementary material or as a main source of learning to replace other alternatives?
eddof13 has quit [Client Quit]
longlongdouble has quit [Read error: Connection reset by peer]
shawnw has joined #commonlisp
longlongdouble has joined #commonlisp
<bjorkintosh>
dnhester26: a supplement.
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
<bjorkintosh>
if you ever get nerd sniped into playing with virtual lisp machines, it will be handy.
<bjorkintosh>
don't get sniped though.
longlongdouble has quit [Read error: Connection reset by peer]
<bjorkintosh>
Kogge is one of the few people who doesn't write about the inaptly named von-Neumann machines.
varjag has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
rkazak has quit [Ping timeout: 260 seconds]
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
longlongdouble has quit [Read error: Connection reset by peer]
<dnhester26>
ok, fascinating. I hope to get to it some day, right now I have too many things on the list
<dnhester26>
will save the links
longlongdouble has joined #commonlisp
mgl has quit [Ping timeout: 265 seconds]
<beach>
dnhester26: I understand you have a lot to do. I guess we all do. But knowing about computer architecture and compiler design will save to lots of time in the long run, and your programs will be better too.
<bjorkintosh>
dnhester26: tsundoku. it afflicts us all.
<bjorkintosh>
but I'd take beach's word.
<dnhester26>
beach: yeah. but does that mean I should prioritize the Kogge book? Or does that mean I should read another book?
<beach>
I wold say go for basic computer architecture for CS people, and an introduction to compiler design.
<ixelp>
How does "Engineering a Compiler" (by Keith Cooper and Linda Torczon) compare to the Dragon Book (Principles of Compiler [...]
<dnhester26>
ok thanks, so I have my work set up. Will that be enough though to understand things like how the slot accessor works and what the compiler is doing with symbols? or is that too CL specific? My purpose really is: will I have to then read another book to learn about CL or read the spec for this specific low level behaviours? or will it be enough to go through those two books?
mari-estel has joined #commonlisp
<beach>
Every language has similar constructs, but vary in the details.
<beach>
Like you have lexical variables in C using { <type> <name>; ...} and you have structs which are similar to standard objects, but without the flexibility.
eddof13 has joined #commonlisp
<dnhester26>
ok, so I will have the conceptual base in order to figure out the CL specificities without actually having to go through another book, great
<dnhester26>
thanks so much for the guidance
<beach>
Sure, good luck!
treflip has joined #commonlisp
rkazak has joined #commonlisp
eddof13 has quit [Quit: eddof13]
gilberth has joined #commonlisp
mari-estel has quit []
<dnhester26>
thanks
longlongdouble has joined #commonlisp
rkazak has quit [Ping timeout: 248 seconds]
zxcvz has joined #commonlisp
_whitelogger has joined #commonlisp
zxcvz has quit [Client Quit]
longlongdouble has quit [Read error: Connection reset by peer]
longlongdouble has joined #commonlisp
eddof13 has joined #commonlisp
wacki has joined #commonlisp
alcor has quit [Ping timeout: 255 seconds]
NotThatRPG_ has joined #commonlisp
longlongdouble has quit [Remote host closed the connection]
NotThatRPG has quit [Ping timeout: 246 seconds]
gorignak has joined #commonlisp
NotThatRPG_ has quit [Ping timeout: 260 seconds]
rkazak has joined #commonlisp
ajf has joined #commonlisp
theruran has joined #commonlisp
longlongdouble has joined #commonlisp
Akbar-Birbal has left #commonlisp [#commonlisp]
dnhester26 has quit []
longlongdouble has quit [Read error: Connection reset by peer]
longlongdouble has joined #commonlisp
alcor has joined #commonlisp
rkazak has quit [Ping timeout: 260 seconds]
longlongdouble has quit [Remote host closed the connection]
longlongdouble has joined #commonlisp
yitzi has joined #commonlisp
rkazak has joined #commonlisp
longlongdouble has quit [Read error: Connection reset by peer]
NotThatRPG has joined #commonlisp
longlongdouble has joined #commonlisp
longlongdouble has quit [Remote host closed the connection]