anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
dinomug has joined #commonlisp
copec has joined #commonlisp
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
azimut has quit [Ping timeout: 246 seconds]
jonatack1 has quit [Read error: Connection reset by peer]
jonatack1 has joined #commonlisp
jonatack1 has quit [Read error: Connection reset by peer]
jonatack1 has joined #commonlisp
lucasta_ has joined #commonlisp
habamax has quit [Remote host closed the connection]
habamax has joined #commonlisp
cdegroot_ is now known as cdegroot
Brucio-61 has quit [Ping timeout: 245 seconds]
Brucio-61 has joined #commonlisp
lucasta_ has quit [Quit: Quit]
lucasta_ has joined #commonlisp
lucasta_ has quit [Quit: Quit]
lucasta_ has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
jonatack1 has quit [Ping timeout: 246 seconds]
eddof13 has joined #commonlisp
eddof13 has quit [Client Quit]
micro has quit [Ping timeout: 240 seconds]
micro has joined #commonlisp
fosskers has quit [Ping timeout: 245 seconds]
fosskers has joined #commonlisp
totoro has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
jonatack1 has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
jello_pudding has quit [Ping timeout: 248 seconds]
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
dcb has quit [Quit: MSN Messenger 4.0.3]
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
jello_pudding has joined #commonlisp
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
jonatack1 has quit [Read error: Connection reset by peer]
jonatack2 has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
wonko-the-sane has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
rainthree has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Remote host closed the connection]
totoro has joined #commonlisp
totoro has quit [Client Quit]
waleee has quit [Ping timeout: 244 seconds]
amb007 has quit [Ping timeout: 258 seconds]
bollu has quit [Quit: Ping timeout (120 seconds)]
bollu has joined #commonlisp
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
Pixel_Outlaw has quit [Remote host closed the connection]
rtypo has quit [Ping timeout: 244 seconds]
rgherdt has joined #commonlisp
mgl has joined #commonlisp
rainthree has quit [Ping timeout: 248 seconds]
Lycurgus has joined #commonlisp
amb007 has quit [Ping timeout: 246 seconds]
pve has joined #commonlisp
amb007 has joined #commonlisp
igemnace has joined #commonlisp
_cymew_ has joined #commonlisp
mgl has quit [Quit: Client closed]
shka has joined #commonlisp
Lycurgus has quit [Quit: Tschüss]
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
Cymew has joined #commonlisp
_cymew_ has quit [Ping timeout: 248 seconds]
thuna` has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
elderK has joined #commonlisp
<elderK>
Hey guys, I'm having trouble making sense of nested quasiquotation. I was wondering if anyone could recommend any good references besides the CLHS: I remember stumbling on this in 2018, had an aha! moment. Unfortunately, the insight from that time has decayed.
<elderK>
Also, I'm curious as to when you should declare types of things: Is it something that makes sense to do often, say, as a documentation aid as well as for possible optimizations?
<beach>
Nested quasiquotation can often be avoided by the use of helper functions. Otherwise, maybe OnLisp has something, I can't remember.
<elderK>
Thanks beach :)
<elderK>
Have finally managed to steal some serious time to tinker with CL again of late. It's been great :)
<elderK>
Even using Emacs and Sly instead of Vim and slimv!
<beach>
The way I see it is that declaring types makes sense only for optimization purposes. Because in Common Lisp, declaring a type is making a promise to the compiler, so your code can then be less safe than without the declaration.
<elderK>
Thank you for making that point - I was concerned about that.
<beach>
If you want type safety, use CHECK-TYPE instead.
<elderK>
I guess you could always have a macro that expands to check-type in some modes, and to a type declaration in others?
amb007 has quit [Read error: Connection reset by peer]
<elderK>
Or not - the declarations can't be macros, can they?
<beach>
Correct. Declarations are not forms.
amb007 has joined #commonlisp
<elderK>
I guess my next question would be that if you really wanted to have say, a specific type that was built for a given bunch of values, you'd probably write a macro that would expand to an implementation of that type, for those values.
<beach>
But if the compiler is any good, CHECK-TYPE will also result in the type inference that a type declaration would do.
<elderK>
Excellent!
<elderK>
If you specify lower safety values, does that eventually disable check-type calls?
<beach>
Rather than a macro, you would use DEFTYPE probably.
<elderK>
How about for cases like, say, you've got some ADT that you'd like to specialize for given types.
azimut has joined #commonlisp
<beach>
No, CHECK-TYPE is a function, so it is probably always called, unless the compiler can prove that the call is unnecessary, i.e. that the type is correct.
<beach>
Then you use generic functions and method specializers.
<elderK>
Excellent :)
amb007 has quit [Ping timeout: 245 seconds]
amb007 has joined #commonlisp
donleo has joined #commonlisp
remexre has quit [Ping timeout: 252 seconds]
Inline has joined #commonlisp
remexre has joined #commonlisp
habamax has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)]
dinomug has quit [Ping timeout: 260 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
mgl has joined #commonlisp
seanw has quit [Ping timeout: 260 seconds]
amb007 has quit [Ping timeout: 240 seconds]
amb007 has joined #commonlisp
dino_tutter has joined #commonlisp
_cymew_ has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
jrx has joined #commonlisp
donleo has quit [Ping timeout: 250 seconds]
igemnace has quit [Read error: Connection reset by peer]
habamax has joined #commonlisp
yitzi has joined #commonlisp
kevingal has joined #commonlisp
jrx has quit [Quit: ERC (IRC client for Emacs 27.2)]
elderK has quit [Quit: Connection closed for inactivity]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life_ is now known as Lord_of_Life
igemnace has joined #commonlisp
cage has joined #commonlisp
donleo has joined #commonlisp
yitzi has quit [Remote host closed the connection]
thuna` has quit [Remote host closed the connection]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
yitzi has joined #commonlisp
tevo has quit [Ping timeout: 245 seconds]
tyson2 has joined #commonlisp
yitzi has quit [Remote host closed the connection]
yitzi has joined #commonlisp
theBlackDragon has quit [Ping timeout: 246 seconds]
theBlackDragon has joined #commonlisp
amb007 has quit [Ping timeout: 246 seconds]
amb007 has joined #commonlisp
donleo has quit [Ping timeout: 244 seconds]
habamax has quit [Remote host closed the connection]
habamax has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
donleo has joined #commonlisp
jello_pudding has quit [Ping timeout: 260 seconds]
fosskers has quit [Ping timeout: 248 seconds]
jello_pudding has joined #commonlisp
AetherWind has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
amb007 has quit [Ping timeout: 250 seconds]
amb007 has joined #commonlisp
ronald has quit [Read error: Connection reset by peer]
ronald has joined #commonlisp
cosimone has joined #commonlisp
rgherdt has quit [Ping timeout: 260 seconds]
_whitelogger has joined #commonlisp
wonko-the-sane has quit [Ping timeout: 246 seconds]
rgherdt has joined #commonlisp
habamax has quit [Remote host closed the connection]
pillton has quit [Remote host closed the connection]
wonko-the-sane has joined #commonlisp
<Josh_2>
beach: what about type declarations for slots?
rgherdt_ has joined #commonlisp
rgherdt has quit [Ping timeout: 256 seconds]
random-jellyfish has joined #commonlisp
wonko-the-sane has quit [Ping timeout: 246 seconds]
<random-jellyfish>
I use uiop:chdir to change the dir in the repl, but other commands like truename for example still behave as if the folder wasn't changed?
<random-jellyfish>
why is that happening?
<random-jellyfish>
how do I change the working directory so that all the commands can see it?
jonatack2 has quit [Ping timeout: 245 seconds]
waleee has joined #commonlisp
<random-jellyfish>
*default-pathname-defaults* seems to be the culprit
<random-jellyfish>
shouldn't this variable be changed every time we do a uiop:chdir?
notzmv has joined #commonlisp
White_Flame has quit [Remote host closed the connection]
ronald has quit [Read error: Connection reset by peer]
White_Flame has joined #commonlisp
<semz>
Would you expect (let ((*default-pathname-defaults* ...)) ...) to temporarily change the OS-level current directory?
akonai_ has joined #commonlisp
<semz>
imo this would make DPD very awkward to use, and so they can desync regardless
<semz>
DPD also has aspects that aren't reflected in the current directory, such as a default type
akonai has quit [Ping timeout: 244 seconds]
ronald has joined #commonlisp
<random-jellyfish>
I'm sure it's a feature and not a bug, common lisp has lots of these
rgherdt_ is now known as rgherdt
wonko-the-sane has joined #commonlisp
<semz>
not sure if "feature"; maybe "would be even more trouble otherwise"
<semz>
as much as I like CL pathnames, their correspondence to modern OS pathnames is a bit wonky
skin has joined #commonlisp
rtypo has joined #commonlisp
donleo has quit [Ping timeout: 245 seconds]
notzmv has quit [Ping timeout: 248 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
<glozzom>
Do you have any way to bind parens to something like square brackets in your environment? Shift + 0 and Shift + 9 is quite annoying, and it seems like a problem someone has already solved.
<edgar-rft>
sqare brackets are AltGr + 8 / 9 on my keyboard wat is even moar awkward
<mgl>
(I mean the xkb linked from the post)
<glozzom>
Regardless, I'm assuming that more serious lisp developers have made their lives easier that using Shift + 9 and Shift + 0 over and over.
random-jellyfish has quit [Quit: Client closed]
<glozzom>
mgl: Thanks, I found that link
<mgl>
Also, with paredit, the closing paren is less often necessary.
<mgl>
That setup is great until I try to type on someone else's keyboard.
<glozzom>
Is there some sort of 'tab complete' shortcut to closing a list?
<pkal>
as in you get a menu of a different number of parentheses you might want to close?
<glozzom>
Oh, I found it. I don't use Emacs yet but I'm trying to warm up to it.
<mgl>
Since paredit inserts balanced parens, there is no need to close. One can still press ), but it's more of a movement command.
<splittist>
glozzom: I long ago reached the point where I can type faster than I can think, so optimising that modality isn't much use to me (:
<pkal>
glozzom: There is no reason to fear Emacs, it is just wierd and different at first
<mgl>
A large part of the CL experience is in the interactive development, and Emacs + Slime/Sly shine there.
<splittist>
The absurdly large spacebars on modern (well, less than ancient) keyboards makes modifiers so much harder to reach.
<glozzom>
pkal: yea, its just before I get used to an environment, I feel like its a handicap from the environment I am currently used to
<pkal>
glozzom: what environment is that?
<skin>
glozzom: That's usually and editor thing. VS code, vim, emacs all have ways of rebinding keys.
<glozzom>
Ehh, just like VSCode and standard floating windows, virtual desktops, etc.
<Josh_2>
What is wrong with shift + 9?
<glozzom>
josh_2: its evil
<Josh_2>
Quit being slow
<Josh_2>
You are evil
<glozzom>
No u
<Josh_2>
You come into this channel and blaspheme!! :joy:
<glozzom>
But seriously, it just removes my hand position from typing
<skin>
I mean, you *can* add reader macros so actual square brackets = braces in your code, but this is (in my opinion) un-idiomatic. https://gist.github.com/chaitanyagupta/9324402#:~:text=Reader%20Macros%20in%20Common%20Lisp%201%20Quote%20One,readtable%20when%20associating%20macro%20functions%20with%20characters%3A%20
<ixelp>
Reader Macros in Common Lisp · GitHub
<skin>
brackets = parens I mean
wonko-the-sane has quit [Ping timeout: 246 seconds]
<glozzom>
These are helpful, thank you
<Josh_2>
dont do that :(
<pve>
glozzom: If you ever do try emacs, you can try something like: (local-set-key (kbd "M-1") "("), or whatever bindings work for you. Also global-set-key, if that's your thing.
<glozzom>
pve: I have it installed, its just a matter of using it, learning existing keybinds, configuring my own, etc.
<pve>
sure
<glozzom>
It looks cool, the fuzzy searching seems to solve the cd, ls , cd , ls , cd ...... problem
<skin>
honestly, if it were me, I'd just remap parens keys to brackets and vice versa using xkb in linux. Or, if windows, remap each to each using registry. Don't know for mac.
<skin>
also you can install fzf for that problem
<glozzom>
try not to cringe but in the terminal I normally navigate directories like this
<semz>
I'm wondering since most of the defpackage options have corresponding functions, e.g. use-package for :use
<semz>
but I can't seem to find anything for nicknames
<louis77>
semz: what about (rename-package :ob.api :ob.api '(:api))
<louis77>
the last parameter is a list of new nicknames
<semz>
ah, there it is. thanks
tyson2 has quit [Remote host closed the connection]
Lycurgus has joined #commonlisp
cosimone has quit [Ping timeout: 246 seconds]
rgherdt has joined #commonlisp
donleo has quit [Ping timeout: 245 seconds]
dinomug has joined #commonlisp
thuna` has joined #commonlisp
donleo has joined #commonlisp
<skin>
Josh_2: You do opentelemetry in CL? This is the first I've seen of this library. Awesome!
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
son0p has quit [Ping timeout: 246 seconds]
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Client Quit]
Lycurgus has quit [Quit: Tschüss]
pve has quit [Quit: leaving]
<Josh_2>
I just wrote it and its only HTTP JSON and only works with traces, I haven't written the code for metrics or logging
shka has quit [Ping timeout: 252 seconds]
attila_lendvai has joined #commonlisp
<mfiano>
Is there anything in the wild that would provide or aid in the development of a {e,c}typecase-like matching construct which would match literal types, with type-expansion taken into consideration? For example (deftype ub64 () '(unsigned-byte 64)) (let ((x '(unsigned-byte 64))) (typespeccase x (ub64 t))) => T ?
<mfiano>
Not necessarily literal objects, just type specifier representations.
tevo has joined #commonlisp
amb007 has quit [Remote host closed the connection]
akoana has joined #commonlisp
amb007 has joined #commonlisp
robin has quit [Ping timeout: 246 seconds]
attila_lendvai has quit [Ping timeout: 246 seconds]
igemnace has quit [Quit: WeeChat 4.0.3]
lagash has joined #commonlisp
LispTyro has quit [Remote host closed the connection]
rgherdt has quit [Quit: Leaving]
Mandus_ has quit [Ping timeout: 240 seconds]
thuna` has quit [Remote host closed the connection]
son0p has joined #commonlisp
mathrick_ has joined #commonlisp
mathrick has quit [Quit: Leaving]
mathrick_ is now known as mathrick
rtypo has quit [Quit: WeeChat 4.0.1]
habamax has joined #commonlisp
dino_tutter has quit [Ping timeout: 250 seconds]
akoana has quit [Quit: leaving]
<bike>
mfiano: matching how, like exactly or subtypep?
<mfiano>
bike: I was thinking exactly, but for any synonymous expansions of sameness
<mfiano>
subtype would be a different thing and also useful
rtypo has joined #commonlisp
donleo has quit [Ping timeout: 260 seconds]
<bike>
well, you can do type equivalence with bidirectional subtypep, like alexandria does
<bike>
i don't think there is any portable interface for type expansion