<void_pointer>
aeth: like arithmetic if statements, the not technically standard but defacto standardized cray pointers, etc.
Kundry_Wag has joined #lisp
<aeth>
Yeah, I suspect you'd want a hand translation because efficient SBCL and efficient FORTRAN are two different things even though SBCL can get pretty efficient.
robotoad has quit [Quit: robotoad]
<aeth>
(I'd expect at most a 4x performance loss in properly-written SBCL, and perhaps even a performance gain once define-vop is mixed in for the implementation-and-architecture-specific parts.)
pierpal has joined #lisp
ivan4th has quit [Read error: No route to host]
rpg has joined #lisp
<void_pointer>
Would be hard to imagine getting withen even x2 of refblas. Definitely not within that much of ATLAS or one of the processor vender versions of BLAS (which are extremely tuned to the processor)
<void_pointer>
But getting within x4 would be pretty good
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #lisp
<aeth>
void_pointer: If you wanted to do a serious CL BLAS, you'd use define-vop on SBCL and the available equivalent in other implementations if there are any, falling back to the CL as a default for unsupported implementation/architecture combinations or if the user requests the portable CL (in *FEATURES* or something?) which would be safer but slower
<aeth>
So I'm guessing with that you'd get within x2
<aeth>
(I'm guessing you'd also want GPU implementations as well, depending on your workload.)
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<void_pointer>
aeth: thanks for the article
<void_pointer>
anyhow, have to go now. Late in my timezone
<void_pointer>
was nice talking about these topics
dddddd has quit [Remote host closed the connection]
robotoad has joined #lisp
pjb has quit [Read error: Connection reset by peer]
gigetoo has quit [Quit: leaving]
gigetoo has joined #lisp
Essadon has quit [Quit: Qutting]
robotoad has quit [Quit: robotoad]
<Xach>
many years ago on another channel i maintained an xearth markerfile for all the regulars so you could see what timezone they might mean when they said such things
<Xach>
oh, i guess it was this channel! but still many years ago.
fikka has quit [Ping timeout: 268 seconds]
elfmacs has joined #lisp
msb has quit [Ping timeout: 268 seconds]
msb has joined #lisp
eddof13 has quit [Quit: eddof13]
eddof13 has joined #lisp
<Xach>
housel: congrats on also being Old!!
dale has quit [Quit: dale]
<aeth>
Only a few names on that list are still with us
<aeth>
seems to be mostly 2004-2006 based on the history
igemnace has quit [Ping timeout: 252 seconds]
eddof13 has quit [Quit: eddof13]
igemnace has joined #lisp
asarch has joined #lisp
<aeth>
To put that in perspective, most people would have been using single-core 32-bit processors and 32-bit Lisps. I'm guessing CLISP was probably the most popular back then based on the material from the period that survived.
lyf[kde] has joined #lisp
ryan_vw has joined #lisp
nanoz has joined #lisp
<aeth>
I was still using Windows in 2004.
<LdBeth>
I was still using Windows 98 that time :D
<aeth>
I was using a Windows 2000 system (not mine) as late as 2008. Obviously not my choice in that case.
<housel>
I have some channel logs from 2003-2004; SBCL, CMUCL, OpenMCL, GCL, ECL, CLISP all get mentions
<aeth>
GCL
<aeth>
When is GCL going to be a usable, standards-compliant CL?
<lyf[kde]>
I just joined may I asked what is going on?
<fiddlerwoaroof>
That kinda makes it interesting, if one were interested in implementing CLOS from scratch
<LdBeth>
It uses PCL implementation of CLOS
jetchisel has joined #lisp
<fiddlerwoaroof>
I guess their readme isn't up to date :)
khisanth_ has quit [Ping timeout: 245 seconds]
aleamb has quit [Ping timeout: 268 seconds]
<fiddlerwoaroof>
I wonder which lisps use which CLOSes
<LdBeth>
CMUCL also uses PCL
igemnace has quit [Quit: WeeChat 2.3]
cyraxjoe has quit [Quit: I'm out!]
cyraxjoe has joined #lisp
khisanth_ has joined #lisp
Kundry_Wag has joined #lisp
rpg has joined #lisp
<fiddlerwoaroof>
My suspiscion is that CCL + Lispworks, at least, don't
Kundry_Wag has quit [Ping timeout: 252 seconds]
<fiddlerwoaroof>
And isn't there one that uses a CLOS that's derived from Closette?
d4ryus has quit [Ping timeout: 264 seconds]
<LdBeth>
Both CCL and LispWorks use their own implementation, because they are commercial products
<LdBeth>
(WERE for CCL)
<Bike>
ecl has its own deal mostly written in C.
robotoad has joined #lisp
igemnace has joined #lisp
<PuercoPop>
I know this is only tangentially on-topic, but does someone know how to configure the shift keys to work like the space cadet ones, when they are pressed by they own they insert a shift
<fiddlerwoaroof>
You mean paren?
<fiddlerwoaroof>
there's a tool called xcape on linux that can do this sort of thing
<fiddlerwoaroof>
On Mac, there's Karabiner Elements (if you google, you can find a config)
Kaisyu has joined #lisp
<PuercoPop>
fiddlerwoaroof: yeah, paren. I look into xcape. Was hoping that I could setxkmap my way to it
<LdBeth>
PuercoPop: unfortunately you need you OS adapt it
<fiddlerwoaroof>
PuercoPop: I don't think xkbmap is flexible enough for it
<jcowan>
Windows definitely supports sticky-shift as part of the disability accommodations, and I bet the Mac does too.
<fiddlerwoaroof>
However, I set this up everywhere I work (ever since reading sjl's article) and it's amazing
<fiddlerwoaroof>
jcowan: know this is "push shift by itself and get a paren, push it with another key and get a capital/symbol"
<fiddlerwoaroof>
s/know/no
<jcowan>
ah
<jcowan>
well, I know it now
d4ryus has joined #lisp
DGASAU has quit [Read error: Connection reset by peer]
<oni-on-ion>
hmm i like the idea. already using snoopy-mode so the whole number row is preshifted ; xcape can do this ?
<fiddlerwoaroof>
I'm not sure
<fiddlerwoaroof>
I mainly use it for makin it easier to type parens
<oni-on-ion>
yes. with snoopy-mode my 9 and 0 by themselves are parens, numbers with shift
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<oni-on-ion>
i had the idea to move backspace to top left (tilde) and space to top right (backspace.) which i then understand is similar to commodore 64
rpg has joined #lisp
<oni-on-ion>
i might have ; and : flipped, since i go full rather than half, when i colon
<oni-on-ion>
more often
d4ryus has quit [Ping timeout: 252 seconds]
<fiddlerwoaroof>
I have also recently switched to having capslock be C-M-s, so C-M-s-g is just Caps Lock-g, which is really nice too
<fiddlerwoaroof>
ls
<fiddlerwoaroof>
rm -rf *
<oni-on-ion>
ah, i use C-s a lot
<oni-on-ion>
caps for me is plain C- but it has been getting stuck 25% of the time on this kb
<fiddlerwoaroof>
I use C-M-s- for global keybindings such as "capture the current safari tab url in org-mode"
<fiddlerwoaroof>
or "google the selected text"
<oni-on-ion>
ohhhh i assumed it was the default, C-s but regexp
<oni-on-ion>
alright cool
<fiddlerwoaroof>
Ah, "s" for "super"
ryan_vw has joined #lisp
Bike has quit [Quit: Lost terminal]
Roy_Fokker has quit [Read error: Connection reset by peer]
<oni-on-ion>
oh, oops. [meanwhile i've been using s- for everything becaues its my windows key and exwm has it locked down.]
xkapastel has quit [Quit: Connection closed for inactivity]
igemnace has quit [Read error: Connection reset by peer]
DGASAU has joined #lisp
Kundry_Wag has joined #lisp
arescorpio has joined #lisp
buffergn0me has joined #lisp
mejja has quit [Quit: mejja]
Kundry_Wag has quit [Ping timeout: 252 seconds]
dale has joined #lisp
d4ryus has joined #lisp
meepdeew has joined #lisp
anewuser has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<ski>
oni-on-ion : huh, C64 has ⌜←⌝ on top left, and ⌜DEL⌝ (backspace) on top right
fikka has joined #lisp
igemnace has joined #lisp
shifty has joined #lisp
<beach>
Good morning everyone!
<LdBeth>
good eveing
orivej_ has joined #lisp
orivej has quit [Ping timeout: 276 seconds]
fikka has quit [Ping timeout: 272 seconds]
<oni-on-ion>
ski: different things? top left is a cursor/arrow?
Lycurgus has joined #lisp
equwal has quit [Ping timeout: 268 seconds]
<ski>
not a cursor arrow, just a left arrow symbol (emitting such a glyph)
<White_Flame>
petscii has an up-arrow for exponentation in BASIC, and a left-arrow for ... nothing in particular?
<White_Flame>
a lot of DOS wedges used it, but other than that it's basically like any other graphics glyph. Not sure why it got its own key
<no-defun-allowed>
i think the left arrow was for assigment in smalltalk and the like
<no-defun-allowed>
it'd be in place of _
<no-defun-allowed>
(in gnu smalltalk, `x _ 2` assigns 2 to x, so i assume that the codepoint was also used by <-)
<White_Flame>
right, it's still char code 95
<oni-on-ion>
ah yeah, up arrow is also return in smalltalk
<oni-on-ion>
default assignment without the <- in st is :=
<oni-on-ion>
err supported extra syntax for assignment in st.
<oni-on-ion>
White<-Flame
<ski>
hm, Turbo Assembler uses left-arrow as an escape key (cf. `^A' in GNU Screen). perhaps it was intended that applications could use it like that ?
equwal has quit [Remote host closed the connection]
equwal has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
impulse has joined #lisp
<oni-on-ion>
now we have 'back' button on everything
fikka has joined #lisp
<oni-on-ion>
White_Flame: why inverse case? =)
<White_Flame>
petscii has reversed case compared to ascii
dale has quit [Quit: dale]
<oni-on-ion>
ohhh. ^_^
Kundry_Wag has joined #lisp
fikka has quit [Ping timeout: 244 seconds]
ryan_vw has quit [Ping timeout: 252 seconds]
ryan_vw has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
wanz has joined #lisp
shka_ has joined #lisp
<oni-on-ion>
for a big standard theres a lot of libs. uiop, alexandria, trivia, optima, series, incf-cl; does anyone know the status of the most recent/complete CL community spec? i forget what it was called.
<oni-on-ion>
didn't know a regular was involved with it
<oni-on-ion>
CDRs were like SRFIs ? first time i heard about them
<beach>
Yes, similar.
<oni-on-ion>
k
<beach>
I think the work on the UltraSpec is stalled. You can ask phoe who is the one who starte it.
<beach>
started.
orivej_ has quit [Ping timeout: 268 seconds]
<oni-on-ion>
yeap
Kundry_Wag has joined #lisp
fikka has joined #lisp
vlatkoB has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 252 seconds]
igemnace has quit [Quit: WeeChat 2.3]
ryan_vw has quit [Ping timeout: 252 seconds]
<jackdaniel>
as of CDRs: at least ECL implemented some and plans to implement more
<jackdaniel>
for instance the one written by Didier Verna about format interpretation differences (and proposal of how to unify them)
<jackdaniel>
sub-interval numerical types, compiled-file-p / abi-version are on the plate etc
gigetoo has quit [Ping timeout: 252 seconds]
gigetoo has joined #lisp
frgo has quit [Remote host closed the connection]
<elderK>
That sounds really cool.
<elderK>
I like the idea of the CL community having something akin to SRFIs.
<elderK>
Also, Math exam went reasonably well. Cautiously optimistic :)
<elderK>
For once, an exam did not feel like charging a machine-gun nest. :P
<elderK>
I really wanna play more with Lisp atm but RSI is acting up :| WANNA HACK. But shouldn't
anewuser has quit [Quit: anewuser]
<shka_>
elderK: get better soon
<elderK>
Thanks shka_. The RSI seems to come in fits and bursts. It gets really bad for a time and then... seems to vanish.
<shka_>
i know
<shka_>
i struggled with this as well
jruchti has quit [Ping timeout: 268 seconds]
<elderK>
Does anything help you in particular?
<elderK>
I have this brace thing I put on when it gets really bad. That usually helps.
<elderK>
Not always, but sometimes.
<shka_>
having regular, short breaks, i also learned how to type better
asarch has quit [Quit: Leaving]
<shka_>
didn't have this pain in wrist for awhile
<shka_>
and thanks god for that
<shka_>
in my case, i switched into different keyboard layout (colemak) and this seems to helped, but my evidence is purely anecdotal and therefore you may ignore this
<shka_>
for sure learning how to type with all the fingers instead of the 3 on each hand helped
<shka_>
because i am not forcing wrist into excessive motion
<shka_>
ah, i also edited my keyboard layout so i can type ( easier :D
<shka_>
elderK: hope it helps you somehow, but in my case it was just tones of bad habits
<elderK>
Nice :) I need to invest in a new ergonomic keyboard. My last was destroyed due to well, acids. That's a long story.
<elderK>
Here, they are very expensive. But, I've been saving. So, maybe now is the time :)
<elderK>
And yeah, bad habits are surprisingly easy to slip back into wrt posture and typing and stuff.
<jackdaniel>
if you abstract things as macro you'll type less, your wrists will heal back and we'll praise the elaborate macro system in Common Lisp ;-)
<shka_>
heh, obviously ;-)
<elderK>
Hahah :D
<shka_>
elderK: just make sure that you handle this quickly
<elderK>
:( Aye. I've had it... for some time. Other than get a new keyboard and try to adjust my angles - and make sure I don't "skip" exercizes, I'm not sure what else to do.
<elderK>
Thank you, shka_.
<shka_>
elderK: try to record how you type
<elderK>
I mean, from what you've said, you know how it goes. Sometimes, it's merely annoying. Other times, it's so bad you have trouble holding a cup.
<elderK>
Any tips for how to do that?
<shka_>
use camera
<shka_>
simply check how often do you actually move your wrists
<shka_>
ideally you should only move your fingers
<jackdaniel>
I think you may be better served on query / lispcafe (discussion-wise)
<elderK>
One thing I need, is a proper... desk space. I have a very... skewed setup, mostly due to space.
<shka_>
jackdaniel: good idea
<shka_>
elderK: let's go to cafe
<elderK>
Agreed. See you there, shka_.
shrdlu68 has joined #lisp
angavrilov has joined #lisp
vlatkoB has quit [Remote host closed the connection]
vlatkoB has joined #lisp
<oni-on-ion>
ive no desk or chair, on floor, need to work something out here for the real coding sessions
<oni-on-ion>
oops, just seen you guys moved. ^_^
Kundry_Wag has joined #lisp
<LdBeth>
what is a NLISP? a list with a member count?
<LdBeth>
*NLIST
<jackdaniel>
given lack of context answer it is a list with letter n in front is as good as any other
shka_ has quit [Ping timeout: 268 seconds]
<LdBeth>
What I know is it's probably a term in LISP 1.5 or likewise
Kundry_Wag has quit [Ping timeout: 252 seconds]
<LdBeth>
In PAIP I see "An nlist is implemented as a (count . elements) pair"
<jackdaniel>
then there you have it
<LdBeth>
Well, in INTERLISP nlistp[x] => not[listp[x]]. I suppose that's it
frgo has joined #lisp
<LdBeth>
and I think INTERLISP give nil for listp[nil]
frgo has quit [Read error: No route to host]
frgo has joined #lisp
thiesen has joined #lisp
thiesen has quit [Client Quit]
Kundry_Wag has joined #lisp
frgo has quit [Ping timeout: 252 seconds]
Kundry_Wag has quit [Ping timeout: 245 seconds]
edgar-rft has quit [Quit: Leaving]
vlatkoB has quit [Remote host closed the connection]
vlatkoB has joined #lisp
cylb has joined #lisp
Guest70792 has joined #lisp
vlatkoB has quit [Remote host closed the connection]
vlatkoB has joined #lisp
cylb has quit [Ping timeout: 252 seconds]
frgo has joined #lisp
Guest70792 has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
Kundry_Wag has joined #lisp
tripty has joined #lisp
fikka has quit [Ping timeout: 252 seconds]
<flip214>
beach: could you get your gitlab.c-l.n password resetted?
Kundry_Wag has quit [Ping timeout: 268 seconds]
copec has quit [Excess Flood]
copec has joined #lisp
tripty has quit [Ping timeout: 252 seconds]
wanz has quit [Quit: wanz]
jcowan has quit [Quit: Connection closed for inactivity]
rozenglass has quit [Remote host closed the connection]
makomo has joined #lisp
fikka has joined #lisp
Kundry_Wag has joined #lisp
pierpal has quit [Quit: Poof]
Kundry_Wag has quit [Ping timeout: 246 seconds]
froggey has quit [Ping timeout: 240 seconds]
ogamita has joined #lisp
froggey has joined #lisp
Guest70792 has joined #lisp
shka_ has joined #lisp
heisig has joined #lisp
shka_ has quit [Quit: WeeChat 1.9.1]
shka_ has joined #lisp
nirved has joined #lisp
wanz has joined #lisp
jochens has joined #lisp
hhdave_ has joined #lisp
esrse has quit [Ping timeout: 272 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
marvin2 has quit [Ping timeout: 252 seconds]
tripty has joined #lisp
beach has quit [Ping timeout: 252 seconds]
igemnace has joined #lisp
themsay has quit [Ping timeout: 240 seconds]
dariken has quit [Quit: Leaving]
Kundry_Wag has joined #lisp
wanz has quit [Quit: wanz]
edgar-rft has joined #lisp
ogamita has quit [Ping timeout: 252 seconds]
Kundry_Wag has quit [Ping timeout: 268 seconds]
wanz has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
paul0 has quit [Remote host closed the connection]
foom2 has quit [Ping timeout: 264 seconds]
scymtym has quit [Ping timeout: 272 seconds]
ogamita has joined #lisp
wanz has quit [Quit: wanz]
voidlily has quit [Ping timeout: 276 seconds]
wanz has joined #lisp
marvin2 has joined #lisp
voidlily has joined #lisp
uint has joined #lisp
scymtym has joined #lisp
dddddd has joined #lisp
myrkraverk has quit [Ping timeout: 252 seconds]
vlatkoB has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Guest70792 has quit [Ping timeout: 244 seconds]
vlatkoB has joined #lisp
Kundry_Wag has quit [Ping timeout: 244 seconds]
Kundry_Wag has joined #lisp
beach has joined #lisp
<beach>
flip214: I tried that before. Has anything changed?
ogamita has quit [Ping timeout: 246 seconds]
Kundry_Wag has quit [Ping timeout: 252 seconds]
<carmack>
Second web page in subject of the channel no found
<scymtym>
carmack: at least here, both work fine (the ccl one redirects to the HTTPS version, that is https://ccl.clozure.com/irc-logs/lisp/ , immediately)
skeuomorf has joined #lisp
skeuomorf has left #lisp [#lisp]
astalla has joined #lisp
pierpal has joined #lisp
vutral has quit [Ping timeout: 245 seconds]
vutral has joined #lisp
xrash has quit [Ping timeout: 268 seconds]
MichaelRaskin has quit [Quit: MichaelRaskin]
shifty has joined #lisp
xrash has joined #lisp
frgo has quit [Remote host closed the connection]
frgo_ has joined #lisp
Guest70792 has joined #lisp
Kundry_Wag has joined #lisp
frgo_ has quit [Ping timeout: 252 seconds]
frgo has joined #lisp
myrkraverk has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
frgo has quit [Ping timeout: 252 seconds]
xrash has quit [Ping timeout: 268 seconds]
ircbrowse has quit [Ping timeout: 250 seconds]
xrash has joined #lisp
xrash has quit [Read error: Connection reset by peer]
Essadon has joined #lisp
cylb has joined #lisp
frgo has joined #lisp
cylb has quit [Remote host closed the connection]
cylb has joined #lisp
frgo has quit [Ping timeout: 246 seconds]
elderK has quit [Quit: Connection closed for inactivity]
lumm has joined #lisp
anewuser has joined #lisp
fikka has quit [Ping timeout: 252 seconds]
fikka has joined #lisp
m00natic has joined #lisp
Bike has joined #lisp
xkapastel has joined #lisp
anewuser has quit [Read error: Connection reset by peer]
<ski>
(perhaps those should be separated like "<...>,<...>", not like "<...,...>")
nicksmaddog has joined #lisp
orivej has joined #lisp
fikka has quit [Ping timeout: 272 seconds]
asarch has joined #lisp
frgo has joined #lisp
frgo_ has joined #lisp
jcowan has joined #lisp
Kundry_Wag has joined #lisp
m00natic has quit [Ping timeout: 244 seconds]
frgo has quit [Ping timeout: 252 seconds]
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
m00natic has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
<jcowan>
The main difference is that SRFIs don't get finalized until there is an implementation, preferably a portable one, or at the very least a strong implementation sketch (at the editors' discretion). A SRFI can't be a naked idea.
fikka has joined #lisp
frgo_ has quit [*.net *.split]
lumm has quit [*.net *.split]
heisig has quit [*.net *.split]
meepdeew has quit [*.net *.split]
fitzsim has quit [*.net *.split]
impulse has quit [*.net *.split]
equwal has quit [*.net *.split]
spal has quit [*.net *.split]
hjudt has quit [*.net *.split]
charh has quit [*.net *.split]
omilu has quit [*.net *.split]
flazh has quit [*.net *.split]
emar has quit [*.net *.split]
jkordani has quit [*.net *.split]
ku has quit [*.net *.split]
muwabisabi has quit [*.net *.split]
ym has quit [*.net *.split]
troydm has quit [*.net *.split]
ski has quit [*.net *.split]
theBlackDragon has quit [*.net *.split]
PuercoPop has quit [*.net *.split]
slyrus has quit [*.net *.split]
borodust has quit [*.net *.split]
z0d has quit [*.net *.split]
acolarh has quit [*.net *.split]
gabot has quit [*.net *.split]
Posterdati has quit [*.net *.split]
slyrus2 is now known as slyrus
PuercoPop has joined #lisp
omilu has joined #lisp
z0d has joined #lisp
emar has joined #lisp
gabot has joined #lisp
igemnace has quit [Quit: WeeChat 2.3]
spal has joined #lisp
frgo has joined #lisp
jkordani has joined #lisp
ym has joined #lisp
k-hos has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
charh has joined #lisp
hjudt has joined #lisp
impulse has joined #lisp
heisig has joined #lisp
slyrus1 has joined #lisp
Kundry_Wag has joined #lisp
ski has joined #lisp
ym has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 252 seconds]
Kundry_Wag has quit [Ping timeout: 260 seconds]
jetchisel has quit [Ping timeout: 252 seconds]
eschulte has quit [Ping timeout: 246 seconds]
jruchti has joined #lisp
shrdlu68 has quit [Quit: WeeChat 2.2]
igemnace has joined #lisp
varjag has joined #lisp
dale has joined #lisp
Kundry_Wag has joined #lisp
<luis>
Ahrg. I suck at remembering names. I was discussing some vlime/swank ideas with someone here the other day but I don't remember their nickname.
Kundry_Wag has quit [Ping timeout: 250 seconds]
<luis>
Was it sjl?
<luis>
Or flip214?
ski has quit [Ping timeout: 260 seconds]
frgo has quit [Remote host closed the connection]
Zaab1t has joined #lisp
frgo has joined #lisp
frgo has quit [Remote host closed the connection]
rippa has joined #lisp
<jackdaniel>
luis: I think you were talking with sjl
frgo has joined #lisp
ski has joined #lisp
<sjl>
probably both
sjl_ has joined #lisp
rpg has joined #lisp
heisig has quit [Quit: Leaving]
<luis>
sjl, flip214: in discussion at $WORK it occurred to me that another interesting use-case for thinking about the conversion from SWANK sexps to JSON would be the implementation of an LSP server (langserver.org). I suppose the hook we were discussing could be used to convert between SWANK sexps and LSP messages as well (but there might be other proto
<luis>
col requirements). In any case, I don't if this langserver protocol is a good match for Lisp; maybe it's fine for some features.
<luis>
But, maybe an LSP server just needs to call SWANK operations and massage the messages into the LSP format.
orivej has joined #lisp
<sjl_>
I think an LSP server for Lisp would be good, because it would add editor support to a ton of other editors for free. People could ease their way into things instead of hitting the "you must learn emacs" wall immediately.
<Xach>
I'm really curious about the capability. I hope it's not like other situations where the relatively rare features of Lisp make a generic underlying thing unsuitable (or at least difficult)
<sjl_>
And yeah, I'd imagine an LSP server would mostly just use SWANK as a utility library to do the heavy lifting on the backend. LSP has a pretty specific set of messages it wants, I don't think it corresponds 1:1 with swank's protocol
<Xach>
"GC? too weird for us"
<dim>
LSP is about a “language server that can provide code completion, hover tooltips, jump-to-definition, find-references, and more”
<dim>
so I think it's really bent towards IDE integration and that's it
<fe[nl]ix>
luis: I doubt it has any support for restarts, restarting frames in the debugger, etc...
<dim>
I'd be surprise that there's something so strange about editing lisp code that the LSP protocol wouldn't make sense, it's just that they won't probably include the listener?
<fe[nl]ix>
it would be useful strictly for editing code, not interactive debugging
<luis>
Sure, but it's probably good to have those features handled the IDE's LSP-aware functionality and focus on Lisp-specific features.
<luis>
*handled by
<Xach>
I think that could be pretty cool
<dim>
at least people could use vscode or atom and get started
kajo has quit [Ping timeout: 264 seconds]
<dim>
then later when they see what SLIME offers with a full REPL including debugging and the listener they might want to reconsider the traditional edit/compile/run cycle, but well
<luis>
dim: my point is that you want to write a Lisp plugin for cool-editor-of-the-day, you can get the LSP features for free and focus on implementing Lisp-specific features like the REPL/restarts/whatever
<luis>
*if you want
<jackdaniel>
I think it didn't provide any means for interactive development. otoh I don't think they would object if someone would propose such features for the next version of this protocol
<jackdaniel>
(because I'm sure python crowd would be thrilled for instance)
<sjl_>
It doesn't have to have feature parity with emacs immediately -- there's value in having *some* support in other editors even if it's not perfect.
<dim>
luis: yeah
<dim>
luis: I get it and I like it ;-)
<jdz>
I think I've heard LSP in the Clojure/nrepl context.
nicksmaddog has quit [Ping timeout: 244 seconds]
fikka has quit [Ping timeout: 246 seconds]
<jdz>
Now looking at first search hits I don't see anything about REPL...
<sjl_>
When I looked at LSP it didn't have anything REPL-related in it. But of course you can use the vanilla SBCL REPL for the server process (with rlwrap or linedit or whatever).
<sjl_>
And LSP does have some capability negotiation built-in, so you could have the LSP server advertise an "evaluateForm" action and if the editor plugin supports it, cool. Or the user could map it themselves.
<dim>
yeah you could have the REPL on the side and just reload the whole project each time you want to play in there, with (ql:quickload "current-project") after editing
<dim>
when doing extensive changes, or changes in exported symbols in several packages, then I often do that anyway at the REPL before continuing with my testing/fiddling around
<luis>
Some of LSP's messages are things like "user opened this file" or "here are the whole/changed contents of this opened file". We probably don't want to do anything in that case. BTW, this is not just for cool-editor-of-the-day, apparently there are some LSP-aware packages for Emacs, though it seems sad to use JSON-RPC instead of Elisp/sexps in that
<luis>
case. :-)
<sjl_>
heck, just (bt:make-thread (lambda () (watch-for-changes-with-inotify-or-something (ql:quickload :current-project)))
cylb has quit [Remote host closed the connection]
cylb has joined #lisp
<sjl_>
luis: the file changed messages could help swank fix its line locations when you edit a file to move stuff around without evaluating
<sjl_>
but that would be a nice-to-have in the future, not necessary
<sjl_>
qa
<luis>
sjl_: interesting.
<jdz>
I personally save files way more often than they are in a compile-able state. Probably a habit from the old days when I've lost half-a-day work because of not saving files.
<sjl_>
an alternative is to use tmux or whatever and have a key in your editor to send the (quickload foo) to the REPL split
<jdz>
LispWorks also has a feature (at least had) that tracked changes in files and could recompile only the changed expressions.
<sjl_>
LSP not having everything you could possibly want for lisp development built-in doesn't mean it's not worth using.
<sjl_>
Ah, the rare triple-negative sentence.
<jdz>
Emacs itself has a mode that tracks changed parts of files, but I've found it more troublesome than useful back in the day.
<sjl_>
Anywhere, there's a 2-year old repo at https://github.com/cxxxr/cl-lsp that has a license now. Unsure if it's worth using as a base, or if the protocol has changed too much since then to make it viable.
anamorphic has joined #lisp
fikka has joined #lisp
wanz has quit [Quit: wanz]
shka_ has quit [Quit: Konversation terminated!]
frgo has quit [Remote host closed the connection]
anamorphic has quit [Ping timeout: 245 seconds]
anamorphic__ has joined #lisp
<anamorphic__>
Is there a rule of thumb for how much and where one should use CHECK-TYPE?
itruslove has quit [Ping timeout: 250 seconds]
<sjl_>
API boundaries are a good place
<anamorphic__>
Hmmm that makes sense
kajo has joined #lisp
itruslove has joined #lisp
<pfdietz>
I will also sometimes use methods as a way to check argument types. And in SBCL, type declarations are assertions at safety 3.
<anamorphic__>
What do you mean by methods? defmethod methods?
<pfdietz>
Yes.
<pfdietz>
Onlyworks with types that are classes, of course.
cylb has quit [Remote host closed the connection]
cylb has joined #lisp
irdr has joined #lisp
<flip214>
beach: please see the private messages.
irdr has quit [Max SendQ exceeded]
<asarch>
How would you write an application just like "tail -f" work? (I mean, it would inspect for new content of a file)
<beach>
flip214: Thanks.
irdr has joined #lisp
cylb has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
irdr has quit [Remote host closed the connection]
<flip214>
asarch: seek to the end of the file, remember the position, seek to the end of the file, check whether the position changed.
cylb has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
gigetoo has quit [Ping timeout: 268 seconds]
Kundry_Wag has joined #lisp
gigetoo has joined #lisp
<asarch>
How often?
<flip214>
asarch: tail has an option "--sleep-interval=N" for floating-point N.
lumm has joined #lisp
<asarch>
I mean, how would I set the timer for that in Common Lisp?
Kundry_Wag has quit [Remote host closed the connection]
<asarch>
Thank you!
<asarch>
Thank you very much guys :-)
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
m00natic has quit [Ping timeout: 244 seconds]
eddof13 has joined #lisp
lumm has quit [Quit: lumm]
lumm has joined #lisp
shka_ has joined #lisp
anamorphic__ has quit [Ping timeout: 246 seconds]
<shka_>
good evening
<jcowan>
Is it considered best practice to use defgeneric or not to bother?
<shka_>
jcowan: use defgeneric
<shka_>
also, document those
<jcowan>
Thanks
<jcowan>
I'm glad to hear that.
<sjl_>
+1 on using defgeneric
borodust has joined #lisp
<pfdietz>
Use defgeneric as you might use the declaration of a function signature in C. Also, it's a place to hang the :documentation string for the whole function.
<pfdietz>
SBCL used to issue style warnings if it encountered a defmethod without first having seen the defgeneric.
<Bike>
also good if you want argument precedence order or particular keywords or whatever.
<flip214>
and needed for different method combinations.
lumm has quit [Quit: lumm]
eddof13 has quit [Quit: eddof13]
lumm has joined #lisp
hhdave_ has quit [Ping timeout: 252 seconds]
shifty has quit [Ping timeout: 268 seconds]
eddof13 has joined #lisp
jochens has quit [Remote host closed the connection]
jochens has joined #lisp
eddof13 has quit [Client Quit]
jochens has quit [Ping timeout: 244 seconds]
fikka has quit [Ping timeout: 272 seconds]
fikka has joined #lisp
cage_ has joined #lisp
lumm has quit [Read error: Connection reset by peer]
lumm_ has joined #lisp
lumm_ is now known as lumm
rpg has joined #lisp
rpg has quit [Client Quit]
lumm has quit [Client Quit]
lumm has joined #lisp
orivej has quit [Ping timeout: 250 seconds]
rpg has joined #lisp
<jackdaniel>
I'd even say taht for exported interfaces you should have defgeneric for accessors/readers too
lumm has quit [Quit: lumm]
<jackdaniel>
but that is, of course, opinionated
<pfdietz>
SBCL did not issue style warnings for those in the absence of defgeneric, but the documentation would be good.
<jackdaniel>
I'm saying that, because with time readers may deteriorate and become normal methods anyway, but the interface doesn't change
<jcowan>
Makes sense to me. For every method a defgeneric, even methods not created by defmethod.
<shka_>
yes
<shka_>
rarely i see this channel in such agreement
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Kaisyu has quit [Quit: Connection closed for inactivity]
<jcowan>
rarely are such simple and obvious questions asked by a tolerated ignoramus
<shka_>
if it happens again i will assume that we are starting to form a hive mind
<pfdietz>
The interesting style question to me is: what to name these accessors? The potential for collisions of short names is high.
<shka_>
ha :D
mkolenda has quit [Ping timeout: 252 seconds]
<shka_>
pfdietz: usually people name it like slot itself
<shka_>
so slot size (or %size) has accessor size
<pfdietz>
Which just pushes the question back one step.
<jcowan>
Indeed.
<shka_>
personally i name accessors access-size, read-size, write-size but this is NOT mainstream
<pfdietz>
FOO-OF is another possibility.
<jcowan>
I guess that within the scope of an app the accessors should be named after the domain objects of the design
<jcowan>
pfdietz: Cobol!
<pfdietz>
ADD ONE TO COBOL YIELDING COBOL, the OO extension.
dim has quit [Ping timeout: 252 seconds]
dim has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
it3ration has joined #lisp
ealfonso has quit [Remote host closed the connection]
fikka has joined #lisp
<Xach>
I consider the notion that they are associated with a slot to be an implementation detail
fikka has quit [Ping timeout: 245 seconds]
<luis>
The slot is a cache for the accessor and caches are the root of all evil. :-)
rpg has joined #lisp
rpg has quit [Client Quit]
rpg has joined #lisp
rpg has quit [Client Quit]
rpg has joined #lisp
travv0 has joined #lisp
<pfdietz>
I often use slots as exactly that, populating the cache with a slot-unbound method.
travv0 has quit [Remote host closed the connection]
fikka has joined #lisp
fikka has quit [Ping timeout: 252 seconds]
emaczen has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
emaczen has joined #lisp
fikka has joined #lisp
sebboh has quit [Quit: WeeChat 2.1]
travv0 has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
joast has quit [Ping timeout: 252 seconds]
it3ration has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
kyby64 has joined #lisp
jruchti has quit [Remote host closed the connection]
Lycurgus has joined #lisp
fikka has quit [Ping timeout: 246 seconds]
<jcowan>
pfdietz: s/YIELDING/GIVING
<jcowan>
presumably they did not trust people to spell YIELDING correctly
travv0 has quit [Quit: leaving]
travv0 has joined #lisp
oni-on-ion has quit [Ping timeout: 244 seconds]
oni-on-ion has joined #lisp
rozenglass has joined #lisp
anamorphic has joined #lisp
on_ion has joined #lisp
vlatkoB has quit [Remote host closed the connection]
oni-on-ion has quit [Ping timeout: 276 seconds]
SumoSud0 has quit [Ping timeout: 245 seconds]
SumoSud0 has joined #lisp
makomo has quit [Ping timeout: 272 seconds]
mejja has joined #lisp
travv0_ has joined #lisp
joast has joined #lisp
makomo has joined #lisp
jack_rabbit_ has joined #lisp
travv0_ has quit [Ping timeout: 252 seconds]
Zaab1t has quit [Quit: bye bye friends]
angavrilov has quit [Remote host closed the connection]
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
anamorphic has quit [Quit: anamorphic]
cage_ has quit [Quit: Leaving]
Lycurgus has quit [Quit: Exeunt]
cylb has quit [Quit: Leaving]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
scymtym has quit [Ping timeout: 260 seconds]
mejja has quit [Quit: mejja]
shka_ has quit [Ping timeout: 252 seconds]
mejja has joined #lisp
elderK has joined #lisp
fsmunoz has joined #lisp
astalla has quit [Ping timeout: 268 seconds]
scymtym has joined #lisp
rpg has joined #lisp
pierpa has joined #lisp
asarch has quit [Quit: Leaving]
Lycurgus has joined #lisp
Roy_Fokker has joined #lisp
kajo has quit [Ping timeout: 252 seconds]
varjag has quit [Ping timeout: 250 seconds]
kajo has joined #lisp
kyby64 has quit [Quit: Leaving]
troydm has joined #lisp
kingcons has joined #lisp
<no-defun-allowed>
okay i finally realised something very very stupid about disassembling car/cdr
<no-defun-allowed>
on sbcl (disassemble 'cdr) movs [rcx+1] and car movs [rcx-7]
<no-defun-allowed>
it's so you don't have to zero out the tag bits i think