<bike>
kchanqvq: according to the manual, sbcl does the optimization when the logand mask is an (unsigned-byte 64), on 64 bitm achines
<bike>
6.3 modular arithmetic
<bike>
64 bit machines*
<kchanqvq>
Yep, do you know if that section is up-to-date? It seems to reference version number 0.9.*
<bike>
most-positive-fixnum is an ub64, so it should be ok. it'll just cut things down to 64 bits and then logand at the end
<kchanqvq>
ah makes sense
<kchanqvq>
thanks!
<bike>
i can't imagine they've made it worse
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 240 seconds]
kchanqvq90 has joined #commonlisp
kchanqvq has quit [Ping timeout: 252 seconds]
rgherdt has quit [Remote host closed the connection]
kchanqvq90 has quit [Ping timeout: 252 seconds]
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 252 seconds]
akoana has quit [Quit: leaving]
kchanqvq has joined #commonlisp
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 272 seconds]
stanrifkin has quit [Quit: Leaving]
<wohonajax>
is (format t "~A ~A" str (nreverse str)) expected to print the reversed string twice?
<wohonajax>
the examples in the hyperspec say it's implementation-dependent how str would be affected by nreverse but in this case it's getting passed as an argument before nreverse happens, is what i would think... bug in sbcl or working as intended?
leeb has joined #commonlisp
leeb_ has quit [Ping timeout: 252 seconds]
<aeth>
It kind of leaks the implementation of FORMAT, which is whether you print-as-you-go or just bind the variables and then print all at once
<aeth>
if you don't do the former, then you'd have to cache the old pre-mutation string
<wohonajax>
yeah that makes sense, is changing it too much work for too little gain most likely? i can just use reverse anyway
<aeth>
I would actually expect SBCL's behavior if it were to behave like an ordinary function call, since that function would have to bind everything in the lambda-list first, with side effects during the binding affecting the object first, and then the body runs. It's only that FORMAT could be heavily inlined-and-optimized that the other behavior could exist.
<aeth>
Inlining a function would afaik basically be like doing (let ((x arg1) (y arg2)) ...) so if arg1 and arg2 are the same data structure with arg2 mutating it, then anything in the ... body, whether x or y, would be using the modified form
<aeth>
(If I'm wrong on the semantics I expect to be corrected eventually)
<wohonajax>
thanks for the explanation, it definitely makes sense. i just wasn't sure if it was intended behavior or just necessary based on the implementation (or a straight-up bug)
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 252 seconds]
<wohonajax>
if it weren't intended i guess it would need a serious overhaul to fix
<aeth>
And in case anyone objects, I oversimplified, but arg2 can mutate because it can be a symbol-macro, e.g. from with-accessors or symbol-macrolet
random-nick has quit [Ping timeout: 276 seconds]
<aeth>
hmm... I think a similar thing could come up with (+ (f) (g) (h)) because if f, g, and h are known to return single-float that might be turned into (%sf+ (%sf+ (f) (g)) (h)) but (h) could mutate the return value of (f) or (g)
<aeth>
So an implementation might carelessly do that instead of binding (f), (g), and (h) to gensyms first.
robin has quit [Read error: Connection reset by peer]
wavedepletion has joined #commonlisp
<bike>
yeah this behavior is required by the semantics. you write (format t "~a ~a" str (nreverse str)) and the nreverse has to be done before FORMAT is called
<wohonajax>
thanks for the clarification, that makes sense
<wohonajax>
i guess that output would technically be implementation-dependent then
<bike>
the only implementation-dependent part is that nreverse might not modify the sequence
<bike>
whether format is inlined or optimized otherwise is irrelevant
<wohonajax>
yeah that's what i meant. what str would be after nreverse is called is implementation-dependent
<bike>
i think in practice all implementations do nreverse in place on vectors
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 252 seconds]
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 240 seconds]
<acdw>
have yall ever just had sly slow way down on you?
<acdw>
to be fair i;m loading a lot of heavy libraries so that might be it. just seems extra slower
jon_atack has joined #commonlisp
<wohonajax>
emacs is actually unable to load sly for me. i had to switch to vs code :x
jonatack has quit [Ping timeout: 260 seconds]
<wohonajax>
definitely not as nice an experience but sly has a lot of advanced features that i'm not really sure how to use anyway. sorry i don't have any helpful input for you though
<acdw>
oof
<acdw>
no worreis
Lycurgus has joined #commonlisp
slyrus_ has quit []
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 276 seconds]
Lycurgus has quit [Quit: irc.renjuan.org (juan@acm.org)]
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 265 seconds]
kchanqvq has quit [Ping timeout: 252 seconds]
kchanqvq has joined #commonlisp
jon_atack has quit [Ping timeout: 240 seconds]
jonatack has joined #commonlisp
decweb has quit [Quit: Konversation terminated!]
treflip has joined #commonlisp
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 244 seconds]
X-Scale has quit [Ping timeout: 260 seconds]
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 265 seconds]
beach has quit [Remote host closed the connection]
beach has joined #commonlisp
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 252 seconds]
wavedepletion has quit [Quit: Terminus Est]
edgar-rft` has joined #commonlisp
<g-gundam>
wohonajax: The `use-package' expression at https://github.com/joaotavora/sly/discussions/683 should be enough to get sly installed. I just tried it on a vanilla config with just that use-package expression in it, and I was able to `M-x sly` on the first run of that config.
<ixelp>
Setting up `display-buffer-alist` for sly · joaotavora/sly · Discussion #683
<g-gundam>
I did it on Linux, but I've tested it on Windows in the past too. For Windows, you only have to change the path for `inferior-lisp-program' to point to wherever sbcl is installed. It otherwise just works on Windows too (which was surprising).
edgar-rft has quit [Ping timeout: 252 seconds]
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 265 seconds]
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 260 seconds]
mulk has quit [Ping timeout: 252 seconds]
<wohonajax>
g-gundam: i have (use-package sly :ensure t) and nothing else, but still get a "Cannot load sly" error
mulk has joined #commonlisp
<g-gundam>
wohonajax: Are there any interesting error messages in the *Messages* buffer?
<wohonajax>
g-gundam: there are several complaints about missing files, csharp-mode, avy, apel, and a
jonatack has joined #commonlisp
<g-gundam>
Try this for me: `M-x package-refresh-contents` and then `M-x package-install RET sly RET`
<g-gundam>
those other messages aren't relevant to sly, but your emacs config probably needs some fixing.
jon_atack has quit [Ping timeout: 260 seconds]
<g-gundam>
wohonajax: Also, what does `M-x emacs-version` say?
<wohonajax>
g-gundam: GNU Emacs 31.0.50 (i built it from source)
<g-gundam>
good
<g-gundam>
I was afraid you had an old version of emacs, but I'm glad that wasn't the case.
<wohonajax>
also, M-x package-install sly gives me a completions buffer with 5 sly packages, but sly itself doesn't show up
<wohonajax>
alright thanks for the info
<g-gundam>
i think we need to get `package-refresh-contents' to work again, and that means putting the right things in the `package-archives' variable.
<g-gundam>
one moment....
<wohonajax>
my current package-archives contents are gnu, nongnu, melpa, elpy, and melpa-stable
<g-gundam>
wohonajax: I'm guessing somewhere near the top of your init, there's a line that sets up package-archives. If there's anything related to marmalade, get rid of it.
<g-gundam>
All you need is gnu, nongnu, and melpa
<g-gundam>
get rid of melpa-stable and I don't know what elpy is.
jon_atack has joined #commonlisp
<wohonajax>
elpy was related to a python environment but i don't really use it so i'll remove it
<g-gundam>
gnu and nongnu should be there by default for you too. melpa is the only one you have to explicitly add.
<wohonajax>
i'm still only getting those sly- completions
<g-gundam>
wohonajax: https://bpa.st/K3XA <-- eval that elisp for me, and then `M-x package-refresh-contents`
<ixelp>
View paste K3XA
jonatack has quit [Ping timeout: 252 seconds]
<g-gundam>
You should see sly after that when you try to `M-x package-install`.
beach has quit [Remote host closed the connection]
<wohonajax>
no change
<g-gundam>
that's strange.
<wohonajax>
still just getting "5 possible completions:"
beach has joined #commonlisp
<g-gundam>
wohonajax: If you do `M-x package-list-packages` is sly in that list? (Maybe it's already installed.)
<wohonajax>
i don't see it, just those 5 sly-* packages
rgherdt has joined #commonlisp
<wohonajax>
wait i found it
<g-gundam>
oh?
<wohonajax>
"Status: Installed in `sly-20250522.2241/` (unsigned)."
<g-gundam>
If it's installed, try `M-x sly`.
<g-gundam>
that's the latest one.
<wohonajax>
it's not starting a repl
<g-gundam>
How far did it get?
<wohonajax>
before it would start up an *inferior-lisp* but i'm not sure how to list buffers with a bare config :x
<g-gundam>
C-x b
<wohonajax>
C-x b just gives me a buffer switch prompt in the minibuffer
<wohonajax>
and it only cycles between two buffers
<g-gundam>
The buffer sly creates is usually named "*sly-mrepl for sbcl*"
<wohonajax>
i switched to that buffer, it's blank. i don't think it was created by M-x sly
<g-gundam>
Are you using sbcl and is it in /usr/bin/sbcl?
<g-gundam>
(setq inferior-lisp-program "/usr/bin/sbcl") ; or wherever it's installed on your system.
<g-gundam>
then try `M-x sly` again. If that doesn't work, I don't know.
<wohonajax>
all i get is "Sly-Asdf-Flymake-Base mode enabled in current buffer"
<wohonajax>
thanks for trying to help
<g-gundam>
I'm surprised, because for me, setting up sly was relatively pain free.
<g-gundam>
sorry I couldn't get it to work.
<wohonajax>
yeah it worked before, i think i did a git pull and that's when problems started. but it was a while ago so i don't really remember
<wohonajax>
it's usually pain free for me as well, not sure what changed. though i did brick my system at one point and had to downgrade a ton of packages
<wohonajax>
thanks for trying. vs code will suffice
<g-gundam>
on the bright side, at least your `package-archives' has good data in it again.
<wohonajax>
yeah i had some old stuff in there
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 252 seconds]
admich1 has quit [Ping timeout: 240 seconds]
jon_atack has joined #commonlisp
admich1 has joined #commonlisp
jonatack has quit [Ping timeout: 245 seconds]
ixelp has quit [Ping timeout: 240 seconds]
wohonajax has quit [Quit: leaving]
ixelp has joined #commonlisp
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 245 seconds]
mgl has joined #commonlisp
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 240 seconds]
bpanthi977 has quit [Ping timeout: 276 seconds]
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 276 seconds]
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 265 seconds]
lcn_ has joined #commonlisp
treflip has quit [Ping timeout: 260 seconds]
wohonajax has joined #commonlisp
mgl has quit []
cage has joined #commonlisp
prokhor has quit [Remote host closed the connection]
prokhor_ has joined #commonlisp
prokhor_ has quit [Ping timeout: 240 seconds]
mgl has joined #commonlisp
euandreh has joined #commonlisp
pve has joined #commonlisp
treflip has joined #commonlisp
rtypo has joined #commonlisp
mgl has quit []
admich1 has quit [Read error: Connection reset by peer]
<ixelp>
GitHub - unjordy/LispM-Font: The Lisp Machine console font, converted to OTF, TTF, and WOFF.
<wohonajax>
it did take some finagling to get it to work though. specifically i had to change the em-size to 1024 from 1000 and rebuild from the source using fontforge
robin has joined #commonlisp
<McParen>
that sounds nice
McParen has left #commonlisp [#commonlisp]
<wohonajax>
it's a pretty nice font, but i'm personally not a fan of "/" being so small, not to mention it's a little hard to tell the difference between quote and backquote
apac has quit [Quit: Konversation terminated!]
<wohonajax>
just a matter of being used to a vertical quote from the Dina font, which unfortunately has a small "#". so nothing is really perfect :)
<wohonajax>
"@" is also a bit small for my taste so splicing-unquote looks a little funny, but Dina is kind of similar in that regard