<pve>
not the numbers, but everything else.. it's a strange ouroboros of classes and metaclasses, so the experience has been "interesting", to say the least
<pve>
oh, you mean the repository started 5 days ago.. yeah, I just recently cleaned it up and put it on github, been working on it on and off for much longer
<pve>
i've a parser too for smalltalkish-like syntax, but it's not on github yet
<pve>
looks like it could use some documentation too ;)
rgherdt has joined #commonlisp
<pve>
but what's currently working (and what I'm most proud of) is that the classes themselves respect the class hierarchy, so when a message is sent to the class itself, the methods defined on the superclasses can also be used.
<pve>
so that's different from specializing on, say, (eql (find-class 'foo))
ec has quit [Ping timeout: 240 seconds]
ec has joined #commonlisp
shka has quit [Read error: Connection reset by peer]
shka has joined #commonlisp
Inline has quit [Quit: Leaving]
lewisje has quit [Read error: Connection reset by peer]
lewisje has joined #commonlisp
Alfr has quit [Quit: Leaving]
jonatack has quit [Quit: WeeChat 3.8]
Alfr has joined #commonlisp
mooseball has joined #commonlisp
alcor has joined #commonlisp
<beach>
Is it just me, or is it the case that the ANSI test suite does not build in a very nice way?
<beach>
Maybe my version is old. I should probably update it.
Lord_of_Life has quit [Ping timeout: 240 seconds]
<beach>
Also, I wish it were easier to run the tests on a bunch of "extrinsic" operators. By that I mean that I have a library that defines standard operators, but not in the CL package, so that it can be loaded into an existing implementation without clobbering the existing operators, and I would like to run the ANSI tests on the operators defined in that library.
Lord_of_Life has joined #commonlisp
<beach>
I guess if each function had a single entry point associated with it, and that entry point were passed the function as an argument, that might work.
mooseball has quit [Ping timeout: 250 seconds]
knusbaum has quit [Ping timeout: 265 seconds]
<jackdaniel>
beach: you may discuss that with yitzi, he is very active recently on ansi-test repository
<jackdaniel>
as of the loading - it is based on makefile and bare calls to load, because when you test an incomplete common lisp implementation you can't sanely assume that asdf system will work
<beach>
Oh, excellent! Then it is likely that my version is old.
<beach>
Hmm, yes, I see.
<jackdaniel>
it is also important to note that while we maintain ansi-test repository on common-lisp.net, pfdietz works on his own version that contains random testers and other goods - that's something I'd very much like to backport at some point if time and energy permits
<jackdaniel>
(and in a matter of fact pfdietz should be in charge of "our" ansi-test suite but I don't recall him expressing any interest in that)
<beach>
I guess I missed all this recent work. Thanks for letting me know.
<pjb>
However if ansi-tests uses qualified symbols eg. CL:CAR, then you may need to use a reader macro instead.
<pjb>
But in the context of sicl and in general of tools for implementation writters, ansi-tests should be written with that level of indirection, so a big patch would be in order, if it doesn't already have it (which I doubt).
shka has quit [Quit: Konversation terminated!]
shka has joined #commonlisp
robin has joined #commonlisp
random-nick has joined #commonlisp
jrm has quit [Ping timeout: 240 seconds]
occ has joined #commonlisp
<beach>
Thanks.
random-jellyfish has joined #commonlisp
<random-jellyfish>
does the use of (values ...) to return multiple values affect the execution speed of an inlined function?
<random-jellyfish>
I noticed that inlining some functions makes them much faster, in sbcl at least
<_death>
it could.. so you need to measure
<hayley>
The SBCL compiler should see through VALUES in an inlined function, I believe.
<jackdaniel>
inlining is like the single best optimization compilers can make (if they can of course)
random-nick has quit [Ping timeout: 250 seconds]
<random-jellyfish>
okay I'll do some measurements
karlosz has joined #commonlisp
<beach>
I would expect the amount of work the function does to be more significant than whether it uses multiple values.
<random-jellyfish>
(values (logand x (1- (ash 1 n))) n))
<random-jellyfish>
this is the function, it saves the least significant n bits of an integer and zeroes out the rest
<jackdaniel>
why does it return two values if the second value is the identity of the second argument? (just curious)
<random-jellyfish>
with values it also returns the number of bits
<beach>
For a fixnum, that's a very small amount of work, so the call overhead would be significant.
<beach>
random-jellyfish: What if you have a similar function but without multiple values?
<beach>
I would expect a similar observation then.
<random-jellyfish>
I have an entire library of bit level operations and I'm thinking of also returning the bit width of the result because in some cases it's not equal to one of the arguments
<pjb>
you could abstract it into a structure: (defstruct word width bits) (defun to-unsigned-bit (x n) (make-word :width n :bits (logand x (1- (ash 1 n))))) (to-unsigned-bit 42 16) #| --> #S(word :width 16 :bits 42) |#
<jackdaniel>
ah, an uniform interface, makes sense
<random-jellyfish>
for example when I want to concatenate the bits of two integers into a bigger integers
<jackdaniel>
yes, I see now, thanks for explaining
<random-jellyfish>
it's a lot of work to do this change to all the functions and I was wondering if you guys have an intuition about the performance impact it might have
<random-jellyfish>
right now I only return one integer result, I don't return the bit width
<pjb>
For optimization sake, you may want to avoid the multiple values, since you already know the width in the caller.
<pjb>
But you may have operations that compute a new width. Eg, (multiply a wa b wb) --> a*b wa+wb
<random-jellyfish>
yeah maybe just change the ones that compute a new width
<random-jellyfish>
those are fewer
jrm has joined #commonlisp
<random-jellyfish>
and run some benchmarks on them
<jackdaniel>
random-jellyfish: if the function is inlined, the the compiler should figure out how to handle multiple values here without much issue
<jackdaniel>
otherwise ~~it depends~~
bjorkint0sh has joined #commonlisp
bjorkintosh has quit [Ping timeout: 240 seconds]
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
bjorkint0sh has quit [Ping timeout: 240 seconds]
waleee has joined #commonlisp
<phoe>
beach: PCS license is complicated? how? it's public license for the code + BSD for tests copied from ANSI-TEST
<phoe>
oh, maybe you mean the CC0 license; yes, it's full of legalspeak, but basically it means that this code is public domain
<phoe>
s/public domain/public domain license/
rogersm has joined #commonlisp
<beach>
Good to know. Thanks! I may not use very much code anyway, but if I do, I'll make sure to indicate its origin.
Fare has joined #commonlisp
bjorkintosh has quit [Ping timeout: 250 seconds]
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
rogersm_ has joined #commonlisp
danieli has quit [Quit: Ping timeout (120 seconds)]
pony_ has joined #commonlisp
susam has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
ecraven has quit [Quit: quit]
etimmons_ has joined #commonlisp
pjb`` has joined #commonlisp
froggey has quit [Remote host closed the connection]
parjanya- has joined #commonlisp
famicom_guy has quit [Ping timeout: 265 seconds]
pranavats has quit [Ping timeout: 265 seconds]
pony has quit [Ping timeout: 265 seconds]
parjanya has quit [Ping timeout: 265 seconds]
phileasfogg has quit [Ping timeout: 265 seconds]
les has quit [Ping timeout: 265 seconds]
etimmons has quit [Ping timeout: 265 seconds]
rogersm has quit [Ping timeout: 265 seconds]
Posterdati has quit [Ping timeout: 265 seconds]
pony_ is now known as pony
pjb is now known as Guest2906
AmyMalik has quit [Read error: Connection reset by peer]
kopiyka has quit [Remote host closed the connection]
les has joined #commonlisp
jcowan has quit [Ping timeout: 265 seconds]
_death has quit [Ping timeout: 265 seconds]
splittist has quit [Ping timeout: 265 seconds]
phileasfogg has joined #commonlisp
kopiyka has joined #commonlisp
famicom_guy has joined #commonlisp
Guest2906 has quit [Ping timeout: 265 seconds]
froggey has joined #commonlisp
jcowan has joined #commonlisp
splittist has joined #commonlisp
susam has joined #commonlisp
ecraven has joined #commonlisp
pjb`` is now known as pjb
danieli has joined #commonlisp
etimmons_ is now known as etimmons
<splittist>
So Roswell hasn't done a Windows release since October 2021?
* splittist
was trying to try out Lem
pjb is now known as Guest6961
adeht has joined #commonlisp
pjb has joined #commonlisp
Guest6961 has quit [Ping timeout: 246 seconds]
pjb has quit [Remote host closed the connection]
rainthree3 has quit [Ping timeout: 265 seconds]
Cymew has quit [Ping timeout: 240 seconds]
<alcor>
Seems so. The last Windows release is v21.10.14.111
<edgar-rft>
will there bo no other release ever after?
Posterdati has joined #commonlisp
Ellenor has joined #commonlisp
<splittist>
Hmm. Perhaps I don't need ros at all.
amb007 has quit [Ping timeout: 250 seconds]
amb007 has joined #commonlisp
tyson2 has joined #commonlisp
green__ has quit [Remote host closed the connection]
green__ has joined #commonlisp
green__ has quit [Remote host closed the connection]
jeffrey has joined #commonlisp
rogersm_ has quit [Quit: Leaving...]
green_ has joined #commonlisp
waleee has quit [Ping timeout: 246 seconds]
random-jellyfish has quit [Quit: Client closed]
<beach>
phoe: I asked a question the other day about associating a restart with a condition, and bike answered that I was write in assuming that the association must be distinct from the restart. However, in your code, a restart contains a list of associated conditions. What makes you think that will work?
<beach>
phoe: Never mind. I think I see. You kind of implement the logic of special variables yourself by using an UNWIND-PROTECT and popping off the conditions when the dynamic environment is no longer established.
rgherdt_ is now known as rgherdt
<beach>
phoe: So let me ask you this instead: Why did you decide to do it this way, rather than with a special variable as (apparently) KMP does.
Fare has joined #commonlisp
karlosz has joined #commonlisp
msavoritias has quit [Ping timeout: 246 seconds]
attila_lendvai has quit [Ping timeout: 250 seconds]
green_ has quit [Remote host closed the connection]
green_ has joined #commonlisp
random-jellyfish has joined #commonlisp
GnarledHorn has joined #commonlisp
GnarledHorn has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tetsuo9 has joined #commonlisp
random-nick has joined #commonlisp
random-jellyfish has quit [Ping timeout: 245 seconds]
xaltsc has joined #commonlisp
pjb has joined #commonlisp
Krystof has quit [Ping timeout: 268 seconds]
cage has joined #commonlisp
Lycurgus has joined #commonlisp
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
waleee has joined #commonlisp
dcb has joined #commonlisp
rgherdt_ has joined #commonlisp
rgherdt has quit [Ping timeout: 265 seconds]
fiddlerwoaroof has quit [Remote host closed the connection]
xaltsc has quit [Quit: WeeChat 3.8]
xaltsc has joined #commonlisp
Inline has joined #commonlisp
rgherdt_ is now known as rgherdt
jeffrey has quit [Quit: Client quit]
pranavats has joined #commonlisp
piethesailor has joined #commonlisp
<piethesailor>
I am trying to use "clx" an running into an issue. Anyone familiar? looking for a tip.
tyson2 has quit [Remote host closed the connection]
<piethesailor>
So far I've (ql:quickload :clx) and tried to run (xlib:open-display "localhost:0") and im getting an: `Name service error in "getaddrinfo": -2 (Name or service not known)` error
<Nilby>
splittist: Here's some hackish lines I had in my .lisprc to start LEM without roswell. I haven't tested it recently. https://plaster.tymoon.eu/view/3812#3812
<piethesailor>
I've also tried using various ip address found with1 ip addr show | grep 'inet '
pranavats has left #commonlisp [Error from remote client]
<Nilby>
piethesailor: maybe (open-display "localhost" :display 0) or even (open-display "" :display 0)
<piethesailor>
Nilby: Ah! your second suggestion returned a display object! Much appreciated!
<gilberth>
These days there also is (XLIB:OPEN-DEFAULT-DISPLAY) which may be more reliable. And are we sure that the X11 listens on a TCP/IP socket and not on a UNIX domain socket only?
<piethesailor>
gilberth: your suggestion worked as well
<piethesailor>
I am not sure which it runs on, must be worth knowing. I am running ubuntu through windows subsystem. So that might muddy things..
<piethesailor>
This might be a more in depth issue, could be too much for discussion here, but I'll try my luck
xaltsc has joined #commonlisp
Inline has quit [Ping timeout: 250 seconds]
<Nilby>
piethesailor: This might not be the best way, but it works for me if I change line 16 to: :image-data (xlib::image-x-data image)
<Nilby>
line 16 from the github version, but I don't get the match error either
<Nilby>
also the swizzling of the colors for the png, makes it wrong for displaying again
<Nilby>
I used to get match errors on older version of CLX, but that doesn't seem happen much anymore.
jonatack has joined #commonlisp
<gilberth>
The code also assumes a certain pixel format and visual class. Bound to break. One of the most tedious parts of the X11 protocol. I wish they would have designed the X11 protocol in a device independent fashion.
<ixelp>
GitHub - VitoVan/cl-dino: A Chrome Dinosaur Robot written in Common Lisp
adeht is now known as _death
<gilberth>
Though these days chances that you face some 24-bit truecolor are high.
<piethesailor>
Interesting.. Appreciate all the input so far. I am getting the match error when running (take-screenshot) so that would be before I even get to saving the screen shot as png
<piethesailor>
Looking into cl-autogui adeht
<piethesailor>
(cl-autogui:x-snapshot) is also giving me the same match error
<piethesailor>
there must be a common source for the error. I'll dig deeper and report back
<Nilby>
piethesailor: as usual, you should prefer gilberth's and adeht's good advice
<piethesailor>
Nilby: Will do!
<Nilby>
piethesailor: I think the error usually means the default visual for the display different than the root window, which could happen with multiple monitors, gpu cards, or even the desktop environment / window manager.
<Nilby>
the "xpdyinfo" command can show the visuals and you can compare to what you're getting. But maybe also make sure your CLX is up to date.
<piethesailor>
is xpdyinfo supposed to be run in term? I am getting cammand not found in the eshell
Fare has quit [Ping timeout: 248 seconds]
<_death>
xdpyinfo
<piethesailor>
and I ql:quickloaded CLX just a day or two ago. so I think I am good on that front
<piethesailor>
Thanks _death
<piethesailor>
gilberth: I am seeing a lot of class: TrueColor Depth: 24 planes items when I run xdpyinfo
<piethesailor>
not sure if that speaks to your previous statements
<pve>
Hi, is there a page that lists which macros or special operators, when they are top-level forms, also process their "inner forms" as top-level forms?
cage has quit [Quit: rcirc on GNU Emacs 28.2]
<gilberth>
This is curious. The GetImage X11 protocol request doesn't need a depth or visual. It rather returns that information. The protocol spec says that a match error occurs when the rectangle asked is not viewable (not considering inferiors or siblings). So are we sure that this is an CLX or programming issue and not a server issue. Perhaps some of the modern compositing or even wayland getting into the way?