spdegabrielle has quit [Quit: Connection closed for inactivity]
<JuanDaugherty>
does "free work offer" mean ppl offering to do the job for nothing?
rkazak has quit [Ping timeout: 265 seconds]
<JuanDaugherty>
if so wouldna guessed that was at issue
<edgar-rft_>
"free work offer" is ambiguous at best
AetherWind has joined #commonlisp
<Shinmera>
JuanDaugherty: yes
<JuanDaugherty>
i c
<JuanDaugherty>
ty 4 clarifying
<Shinmera>
It's a generic copy I put in, because sometimes I get offers from people (usually students) to do some work for free.
<Shinmera>
I don't like to do that kind of thing for a variety of reasons (unclear work relationship, quality of delivered work, etc)
<JuanDaugherty>
i thought that might be the case but the rest of the requirements seemed to preclude that
<Shinmera>
Naturally I'm happy for anyone that decides to contribute to OSS on their own accord
<JuanDaugherty>
that was the other possible interprestation, negated, that it wasn for FOSS
<JuanDaugherty>
*interpretation
<Shinmera>
I do explicitly state the license
random-nick has joined #commonlisp
<edgar-rft_>
if I'm in a jail "free work offer" means that I expect Shinmera to get me out of there for my work
<JuanDaugherty>
i see that now
<Shinmera>
And so far I haven't made anything that's closed source :v
<JuanDaugherty>
difficult to do as a collective without going full capitalistici or being quite different from that or the average foss collective
rkazak has joined #commonlisp
<Shinmera>
?
<JuanDaugherty>
'capitalistici' is an amalagm of 'i musici' and 'capitalist'
<Shinmera>
I still don't know what you're going on about
<JuanDaugherty>
i'm not
<Shinmera>
All I can say is that any capitalist tendencies you might see in whatever I do are despite my own intentions.
rkazak has quit [Ping timeout: 246 seconds]
rkazak has joined #commonlisp
McParen has joined #commonlisp
rkazak has quit [Ping timeout: 264 seconds]
shmorg83 has joined #commonlisp
decweb has joined #commonlisp
rkazak has joined #commonlisp
pfdietz has joined #commonlisp
NorthStar has joined #commonlisp
X-Scale has quit [Ping timeout: 276 seconds]
NorthStar is now known as X-Scale
rkazak has quit [Ping timeout: 252 seconds]
shmorg83 has quit [Ping timeout: 276 seconds]
zxcvz has joined #commonlisp
rkazak has joined #commonlisp
zxcvz has quit [Client Quit]
<McParen>
hey, is there somewhere a rule which says that (princ "foo") always calls write-char in the background and that it cant be redefined to call something else?
<McParen>
redefining print-object on string objects seems only to work when (print "foo") is caled, but not for (print "foo").
<McParen>
i meant not for (princ "foo")
brokkoli_origin has quit [Ping timeout: 265 seconds]
<bike>
redefining print-object on a standard class (e.g. string) is already undefined behavior
<pfdietz>
If you want to override printing on strings, I suggest using the pretty printing mechanism.
<pfdietz>
clhs 22.2.1.4
<McParen>
i want to redefine printing for other types of streams (in my case, ncurses windows), so i am trying to first understand how it works at all.
<McParen>
my guess was that you basically redefine print-object, and if *print-escape* is t (set by princ), then you dispatch on that. but i'm just finding out that princ doesnt seem to call print-object _at all_.
<McParen>
it directly goes to write-char
<bike>
yeah. you can't redefine print-object.
<Shinmera>
you're not allowed to pass objects other than streams to the stream argument, either.
<bike>
now, if you have your own streams, you can customize how printing to those streams work, through the gray streams extension
<Shinmera>
(much to my own annoyance, but alas)
<McParen>
Shinemera: i've redefined ncurses windows to be gray streams, in that case it works.
<Shinmera>
sure
<McParen>
bike: i dodnt redefine print-object, but added a method like (defmethod print-object (str string) (stream window)). i am just puzle why princ completely ignores that and directly goes to write-char.
rkazak has quit [Ping timeout: 252 seconds]
<McParen>
obviously the gray stream has a precedence over the print-object methods for the same object type.
<bike>
McParen: methods to print-object aren't supposed to depend on the identity of the stream. There is no requirement that the implementation actually calls the print-object function when printing standard objects.
<McParen>
yeah, i'm finding that out now, but isnt that weird? you can specialize a method on specific types, but it isnt called event if it exists? isnt that the whole purpose of print-object being a generic function, so you can customize it?
<bike>
the point is that you can customize it for _your own objects_. if you want to customize the stream behavior, that's what gray streams is for.
Everything has joined #commonlisp
<McParen>
okay, thanks for the clarification.
JuanDaugherty has quit [Quit: JuanDaugherty]
gnoo has quit [Ping timeout: 252 seconds]
AetherWind has quit [Quit: leaving]
gnoo has joined #commonlisp
<McParen>
(happy new year, by the way.)
<bike>
happy 2025. another sci fi year number
<beach>
Isn't there a rule that you can't specialize to the stream parameter?
<bike>
"methods should therefore not depend on the identity of this stream."
<bike>
which doesn't say that outright, but i think that's the gist
<ixelp>
CLHS: Standard Generic Function PRINT-OBJECT
<bike>
yeah, there at the bottom of the description.
<beach>
Right before "See Also"
rkazak has joined #commonlisp
<McParen>
yeah, i see. so it is as bike said previously, the customization has to be done in the gray stream methods completely.
<McParen>
which sci fi year is 2025 exactly? i thought solynet green, but that was 2022.
cmack has joined #commonlisp
dra has joined #commonlisp
rkazak has quit [Ping timeout: 252 seconds]
mishoo has joined #commonlisp
amb007 has quit [Ping timeout: 265 seconds]
amb007 has joined #commonlisp
<jrm>
Happy New Year. I've written about some work to improve the CL experience on FreeBSD. Things are progressing, and we now have (what I think is good) support for CCL, CLISP, and SBCL.
<jrm>
I'm now working on adding support for ECL, but struggling to debug a problem with ASDF output translations specific to ECL. Here is the problem:
<jrm>
Everything has been working for CCL, CLISP, and SBCL, but with ECL, when building a package, the fasl is still written under ${HOME}/.cache instead of under /wrkdir.
<jrm>
Unelss I'm interpreting the output translations incorrectly, the fasl should be written under /wrkdir.
<jrm>
If anyone has any tips to debug this, they would be graciously received.
<ixelp>
freebsd-ports/Mk/Uses/cl.mk at main · freebsd/freebsd-ports · GitHub
<jrm>
If I recall correctly, jackdaniel responded when I briefly mentioned this a week or so ago in #ecl. I was a little less clear on the problem them, but jackdaniel essential clarified that it's an ASDF problem and not an ECL problem.
<beach>
I see. How can it be an ASDF problem if it works for the other implementations? Does ECL have a different version of ASDF?
rkazak has joined #commonlisp
<jrm>
I hope if I can figure out how to step through the ADSF code, the issue will become clearer.
<jrm>
beach: It does, but the same problem occurs if I use the latest ASDF.
<beach>
I see.
citizeno has joined #commonlisp
yitzi has joined #commonlisp
shmorg83 has joined #commonlisp
rkazak has quit [Ping timeout: 248 seconds]
McParen has left #commonlisp [#commonlisp]
shmorg83 has quit [Ping timeout: 252 seconds]
<citizeno>
So I rewrote parts of cl-binary-store so it isn't too slow when run with not so smart compilers... not fun at all, but now Allegro and CCL are only 4x slower than SBCL and ECL is 10x slower. Now working on getting ABCL and Lispworks working... on both most of the tests pass, but need some more tweaking. Yesterday's problem of Allegro CFFI only
<citizeno>
allowing aligned memory accesses has been worked around (at the expense of speed).
notzmv has quit [Ping timeout: 265 seconds]
rkazak has joined #commonlisp
yitzi has quit [Ping timeout: 252 seconds]
green_ has quit [Ping timeout: 252 seconds]
<jackdaniel>
beach: it can be asdf problem because asdf in many regards works as a portability layer (i.e. it is littered with #+(or foo bar) and such)
<jackdaniel>
jrm: if I had to guess, /wrkdir is in a different mountpoint than /home, and asdf tires to use move-file between them (posix-wise you can't move file between different devices, you need to copy the file)
<jackdaniel>
beach: and, since "output translations" are not a common lisp concept, it is hard to blame the implementation that it does not implement output translations itself
<jackdaniel>
s/move-file/rename-file/
<beach>
I understand.
<jackdaniel>
and sure enough asdf does use rename-file in a rather flippant manner - in one place when it fails it resorts to copy-file, and in another it doesn't
<jackdaniel>
(it does not in compile-file*, if output translations uses that, then this could be possibly the culpirt)
Everything has quit [Ping timeout: 246 seconds]
rkazak has quit [Ping timeout: 246 seconds]
cmack has quit [Ping timeout: 265 seconds]
yitzi has joined #commonlisp
JuanDaugherty has joined #commonlisp
dtman34 has quit [Ping timeout: 260 seconds]
rkazak has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
shmorg83 has joined #commonlisp
dstein64- has joined #commonlisp
dstein64 has quit [Ping timeout: 245 seconds]
dstein64- is now known as dstein64
mgl has joined #commonlisp
wacki has quit [Read error: Connection reset by peer]
wacki has joined #commonlisp
rkazak has quit [Ping timeout: 252 seconds]
zwr has quit [Read error: Connection reset by peer]
NorthStar has joined #commonlisp
X-Scale has quit [Ping timeout: 276 seconds]
NorthStar is now known as X-Scale
<citizeno>
I got ABCL and Lispworks working. cl-binary-store now works on many Common Lisp implementations: SBCL, ECL, CCL, ABCL, Lispworks, and Allegro. This was my first time using all the other Common Lisps (I've been using SBCL heavily for about 15 years and have gotten used to relying on type inferencing and good code generation). Using the
<citizeno>
"personal editions" of Allegro and Lispworks is a no fun experience, the heap limitations mean you just can't do anything (load too many packages? boom, dead). I was not impressed with Allegro: it is very opinionated with "ignore all inline declarations" and has an almost complete lack of type inferencing. Lispworks performed well once I had
<citizeno>
already suffered through making Allegro not 100x slower than SBCL. I have not done any performance work on ECL (10x slower than sbcl) nor ABCL (100x slower than sbcl). Anyone who happens to love those implementations could give me some hints?
zwr has joined #commonlisp
<jackdaniel>
citizeno: ecl greatly benefits from type declarations (because it has a very decent propagator, but no inferencer)
<jackdaniel>
functions that are defined in the same compilation unit are aggressively inlined unless declared notinline
<jackdaniel>
contemporary optimization settings also influence the generated code
<citizeno>
jackdaniel: how can I look at the resulting asm code or C code? disassemble doesn't seem to work.
<jackdaniel>
citizeno: (disassemble '(lambda () 42)) is one
mgl has quit [Ping timeout: 272 seconds]
<contrapunctus>
There was a data serialization format which may have been based on s-expressions, supported references, and had an implementation in Common Lisp among other languages. Does anyone know the name?
<jackdaniel>
another is (compile-file ... :c-file "/tmp/my-file.c" :h-file "/tmp/mhy-file.h" :data-file "/tmp/my-file.datah")
<contrapunctus>
Sort of like EDN. (But not EDN.)
dtman34 has joined #commonlisp
<citizeno>
jackdaniel: perfect... I was stuck on disassemble not working... (;;; Warning: Cannot disassemble the binary function ...)
<jackdaniel>
note that I've quoted the lambda (i.e it is not the function but rather an s-expression)
<random-nick>
contrapunctus: conspack?
<contrapunctus>
random-nick: That's the one, thanks!
<jackdaniel>
yeah, if you want to disassemble a binary function, then you'll have better luck with contemporary linux tools
<citizeno>
jackdaniel: yep, got it! Thank you!
<jackdaniel>
sure
<citizeno>
Very important comments in the result: "/* function definition for GAZONK */"
<jackdaniel>
yes, gazonk is a stand-in name for anonymous lambda here, but if you actually compile a function or a file, it will contain the function name
<citizeno>
jackdaniel: any way to force structure accessor inlining (it also seems to ignore type declarations on struct slots)
<jackdaniel>
citizeno: (speed 3) (safety 1) I think, or you can declare explicit policy, but I don't remember the name
Lord_of_Life_ has joined #commonlisp
<jackdaniel>
you may see the file src/cmp/cmpenv-optimize.lsp for defined optimization policies and how they depend on optimization qualities
Lord_of_Life has quit [Ping timeout: 244 seconds]
<jackdaniel>
(define-policy ext:inline-slot-access "Inline access to structures and sealed classes." (:on speed 1) (:off debug 2) (:off safety 2))
triffid has quit [Remote host closed the connection]
dtman34 has quit [Ping timeout: 264 seconds]
cage has joined #commonlisp
cage has quit [Excess Flood]
cage has joined #commonlisp
dtman34 has joined #commonlisp
<citizeno>
Conspack has a nice trick --- when you are tracking references, all lists have finite length... saves a cons marker in the output.
Thermoriax has joined #commonlisp
akoana has joined #commonlisp
rkazak has joined #commonlisp
NorthStar has joined #commonlisp
X-Scale has quit [Killed (NickServ (GHOST command used by NorthStar!~NorthStar@137.65.114.89.rev.vodafone.pt))]
NorthStar is now known as X-Scale
rkazak has quit [Ping timeout: 265 seconds]
rkazak has joined #commonlisp
green_ has joined #commonlisp
rkazak has quit [Ping timeout: 248 seconds]
attila_lendvai has joined #commonlisp
mgl has quit [Ping timeout: 244 seconds]
shmorg83 has quit [Ping timeout: 252 seconds]
johnjaye has quit [Ping timeout: 272 seconds]
v88m has joined #commonlisp
brokkoli_origin has quit [Ping timeout: 252 seconds]
brokkoli_originl has joined #commonlisp
Everything has joined #commonlisp
rkazak has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
mwnaylor has joined #commonlisp
varjag has joined #commonlisp
mishoo has quit [Ping timeout: 265 seconds]
attila_lendvai has quit [Ping timeout: 246 seconds]
cage has quit [Quit: rcirc on GNU Emacs 29.4]
rkazak has quit [Ping timeout: 248 seconds]
Everything has quit [Quit: leaving]
attila_lendvai has joined #commonlisp
attila_lendvai_ has joined #commonlisp
attila_lendvai has quit [Read error: Connection reset by peer]
Everything has joined #commonlisp
attila_lendvai has joined #commonlisp
attila_lendvai_ has quit [Ping timeout: 252 seconds]
JuanDaugherty has quit [Quit: JuanDaugherty]
kevingal has joined #commonlisp
rkazak has joined #commonlisp
thuna` has joined #commonlisp
attila_lendvai_ has joined #commonlisp
attila_lendvai has quit [Ping timeout: 252 seconds]
rkazak has quit [Ping timeout: 265 seconds]
rkazak has joined #commonlisp
rkazak has quit [Ping timeout: 265 seconds]
notzmv has quit [Ping timeout: 252 seconds]
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
varjag has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.2)]
dtman34 has quit [Ping timeout: 245 seconds]
rkazak has joined #commonlisp
<kagevf>
yottabyte: re: your cl-sql-lite question ... just a wild guess, but maybe it's a permissions issue? as in, you're recognized as one user in the repl, but your generated program running by itself has different permissions / user(s) associated with it ...
contrapunctus has left #commonlisp [#commonlisp]
gorignak has quit [Ping timeout: 252 seconds]
wacki has quit [Quit: Leaving.]
fnat has quit [Ping timeout: 252 seconds]
pfdietz has quit [Ping timeout: 240 seconds]
attila_lendvai_ has quit [Ping timeout: 252 seconds]
fnat has joined #commonlisp
amb007 has quit [Ping timeout: 265 seconds]
pfdietz has joined #commonlisp
contrapunctus has joined #commonlisp
dtman34 has joined #commonlisp
rkazak has quit [Ping timeout: 252 seconds]
pve has quit [Quit: leaving]
shmorg83 has joined #commonlisp
dino_tutter has quit [Ping timeout: 265 seconds]
Everything has quit [Quit: leaving]
amb007 has joined #commonlisp
rkazak has joined #commonlisp
amb007 has quit [Ping timeout: 265 seconds]
amb007 has joined #commonlisp
johnjaye has joined #commonlisp
MyNetAz has quit [Remote host closed the connection]
MyNetAz has joined #commonlisp
<yottabyte>
kagevf: that's a nice theory! I'll test it out running as admin