bendersteed has quit [Remote host closed the connection]
pin56 has joined #commonlisp
bendersteed has joined #commonlisp
shka has quit [Remote host closed the connection]
slyrus has joined #commonlisp
pin56 has quit [Remote host closed the connection]
pin56 has joined #commonlisp
chomwitt has quit [Ping timeout: 252 seconds]
slyrus has quit [Ping timeout: 276 seconds]
rkazak has joined #commonlisp
Posterdati has joined #commonlisp
jrx has joined #commonlisp
pin56 has quit [Remote host closed the connection]
pin56 has joined #commonlisp
pin56 has quit [Remote host closed the connection]
pin56 has joined #commonlisp
rkazak has quit [Ping timeout: 276 seconds]
chops_ has quit [Ping timeout: 276 seconds]
pin56 has quit [Remote host closed the connection]
zenmov has quit [Quit: Lost terminal]
pin56 has joined #commonlisp
pin56 has quit [Remote host closed the connection]
zenmov has joined #commonlisp
mwnaylor has quit [Ping timeout: 246 seconds]
pin56 has joined #commonlisp
ingeniot has joined #commonlisp
rkazak has joined #commonlisp
chops_ has joined #commonlisp
chops_ has quit [Changing host]
chops_ has joined #commonlisp
slyrus has joined #commonlisp
pin56 has quit [Remote host closed the connection]
chops_ has quit [Ping timeout: 248 seconds]
pin56 has joined #commonlisp
slyrus has quit [Ping timeout: 244 seconds]
rtypo has joined #commonlisp
chops_ has joined #commonlisp
chops_ has quit [Changing host]
chops_ has joined #commonlisp
shka has joined #commonlisp
shka has quit [Client Quit]
shka has joined #commonlisp
pin56 has quit [Remote host closed the connection]
pin56 has joined #commonlisp
pin56 has quit [Remote host closed the connection]
chops_ has quit [Ping timeout: 260 seconds]
pin56 has joined #commonlisp
pin56 has quit [Remote host closed the connection]
pin56 has joined #commonlisp
rkazak has quit [Ping timeout: 248 seconds]
cage has joined #commonlisp
cage has quit [Excess Flood]
cage has joined #commonlisp
ingeniot has quit [Ping timeout: 240 seconds]
chops_ has joined #commonlisp
chops_ has quit [Changing host]
chops_ has joined #commonlisp
pin56 has quit [Remote host closed the connection]
pin56 has joined #commonlisp
slyrus has joined #commonlisp
chops_ has quit [Ping timeout: 248 seconds]
pin56 has quit [Remote host closed the connection]
pin56 has joined #commonlisp
dostoevsky has quit [Remote host closed the connection]
slyrus has quit [Ping timeout: 252 seconds]
pin56 has quit [Remote host closed the connection]
pin56 has joined #commonlisp
pin56 has quit [Remote host closed the connection]
pin56 has joined #commonlisp
chops_ has joined #commonlisp
chops_ has quit [Changing host]
chops_ has joined #commonlisp
rkazak has joined #commonlisp
yitzi has joined #commonlisp
chops_ has quit [Ping timeout: 276 seconds]
phantomics has joined #commonlisp
slyrus has joined #commonlisp
mi6x3m has joined #commonlisp
<mi6x3m>
broskis, how can I test for a pathname?
<mi6x3m>
pathname-p doesn't seem to exist?
slyrus has quit [Ping timeout: 276 seconds]
pin56 has quit [Ping timeout: 245 seconds]
<yitzi>
its pathnamep
<mi6x3m>
yitzi, does it exist because it's a class?
ebrasca has quit [Remote host closed the connection]
<yitzi>
single word predicates don't usually have a dash before the p
chops_ has joined #commonlisp
chops_ has quit [Changing host]
chops_ has joined #commonlisp
random-nick has joined #commonlisp
chops_ has quit [Ping timeout: 248 seconds]
decweb has joined #commonlisp
rkazak has quit [Ping timeout: 244 seconds]
chops_ has joined #commonlisp
chops_ has quit [Changing host]
chops_ has joined #commonlisp
<beach>
mi6x3m: For things like that, you can go to the dictionary in the standard (using, say the Nova Spec) and you will see the name of the function you are looking for.
<beach>
mi6x3m: And, should some type predicate not exist, you can always use TYPEP.
<mi6x3m>
i did i did but i got conflicted information
<mi6x3m>
i guess i was searching for pathname-p i promise i didn't pester you on weak grounds
<beach>
What I mean was not searching for it, but looking at section 19.4.
<beach>
You can then see that the fifth entry in the list is PATHNAMEP.
semarie has left #commonlisp [#commonlisp]
<mi6x3m>
aye, aye, I was using the much worse in terms of query 2nd edition
ebrasca has joined #commonlisp
slyrus has joined #commonlisp
slyrus has quit [Ping timeout: 272 seconds]
rkazak has joined #commonlisp
<jackdaniel>
cltl2 is not normative for ansi cl implementations, so you may find there information that is incorrect
<beach>
Ah, is that what was meant by "2nd edition"?
<beach>
Then, yes, what jackdaniel said.
mgl_ has joined #commonlisp
mgl has quit [Ping timeout: 244 seconds]
rkazak has quit [Ping timeout: 248 seconds]
<mi6x3m>
yes I figured that much because it usually ends up with me coming here
<mi6x3m>
and beach answering kindergarden stuff
slyrus has joined #commonlisp
slyrus has quit [Ping timeout: 245 seconds]
rkazak has joined #commonlisp
brokkoli_origin has quit [Remote host closed the connection]
brokkoli_origin has joined #commonlisp
slyrus has joined #commonlisp
<younder>
ouch. Gou ther C interface. That's what I do
<younder>
The CL generic interface to pathnames is a mess. Luckely I use Linux. With SBCL it is less of a mess
<bike>
assuming you need the whole list for something else.
molson__ has joined #commonlisp
josrr has joined #commonlisp
molson_ has quit [Ping timeout: 272 seconds]
<yitzi>
and also there is destructuring-bind
bendersteed has quit [Quit: bendersteed]
rkazak has quit [Ping timeout: 252 seconds]
<mivanchev>
bike, however this requires extra () around the args, no?
<bike>
no?
<bike>
i wrote it like that because that's how i'd expect to see keyword parameters in a macro, but you can do (defmacro foo (&rest kwargs &key ...) ...) if you want
<bike>
and then (foo :bar baz) or whatever.
<mivanchev>
hm, I think i missed to specify that I also want a body-like thing at the end
<bike>
if this is leading up to you wanting to have keyword parameters followed by non-keyword parameters, i have to recommend not doing that
<bike>
yeah, okay.
<mivanchev>
so I either have to prepend with extra ()s or extract them from &rest
<bike>
the parsing gets weird. you run into stupid problems like what if the body just returns a keyword.
<mivanchev>
I know it by heart sadly, thanks yitzi 👍
<mivanchev>
I thought there might be some lib for this use-case, it seems to be a missing feature in CL
<beach>
Yeah, the standard is really minimal. Lots of good stuff is needed but wasn't included.
<beach>
... That was sarcasm in case someone missed it.
<bjorkintosh>
nope. I erased what I was typing.
<mivanchev>
I was erasing it but SBCL crashed
slyrus has quit [Ping timeout: 244 seconds]
<beach>
mivanchev: The standard is something like 1300 pages long. If we were to include every favorite use case of everyone with some special need, it would be 10 times that. And people already complain that it is too long.
<mivanchev>
I think we're leading a joyous discussion beach, I miss nothing regarding the standard :)
<beach>
I get pretty tired of reading about missing niche features in the standard.
<bjorkintosh>
they should be in a library.
rkazak has joined #commonlisp
mivanchev has quit [Remote host closed the connection]
rkazak has quit [Ping timeout: 276 seconds]
<beach>
I don't mean that the standard is perfect or complete. There are definitely a few things missing, like the ability to determine whether a symbol is a type name or a declaration identifier.
<beach>
But that's not a niche use case. It is an essential feature for writing portable code walkers.
<beach>
There are a few more like that.
ftzm has quit [Ping timeout: 244 seconds]
slyrus has joined #commonlisp
rkazak has joined #commonlisp
<beach>
Like something similar to MACRO-FUNCTION but for types.
varjag has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
vardhan has quit [Ping timeout: 272 seconds]
yaneko has joined #commonlisp
pfdietz has quit [Quit: Client closed]
chops_ has quit [Ping timeout: 246 seconds]
slyrus has quit [Ping timeout: 244 seconds]
shmorg83 has joined #commonlisp
chops_ has joined #commonlisp
chops_ has quit [Changing host]
chops_ has joined #commonlisp
olivial has quit [Read error: Connection reset by peer]
olivial has joined #commonlisp
chops_ has quit [Ping timeout: 260 seconds]
zxcvz has joined #commonlisp
rkazak2 has joined #commonlisp
kopiyka_ has joined #commonlisp
zxcvz has quit [Client Quit]
patrix5 has joined #commonlisp
cayley53 has joined #commonlisp
Shinmera- has joined #commonlisp
bicalot` has joined #commonlisp
terrorjack40 has joined #commonlisp
zlqrvx_ has joined #commonlisp
hayaliali has joined #commonlisp
shmorg83 has quit [Ping timeout: 248 seconds]
srji_ has joined #commonlisp
jfloren__ has joined #commonlisp
BrokenCo1 has joined #commonlisp
rkazak2 has quit [Ping timeout: 246 seconds]
alip has quit [Killed (NickServ (GHOST command used by hayaliali))]
hayaliali is now known as alip
BrokenCo1 is now known as BrokenC02
semz_ has joined #commonlisp
rkazak has quit [*.net *.split]
terrorjack4 has quit [*.net *.split]
bicalot has quit [*.net *.split]
traxex has quit [*.net *.split]
semz has quit [*.net *.split]
mathrick has quit [*.net *.split]
srji has quit [*.net *.split]
kopiyka has quit [*.net *.split]
ixelp has quit [*.net *.split]
zlqrvx has quit [*.net *.split]
BrokenCog has quit [*.net *.split]
jfloren_ has quit [*.net *.split]
Shinmera has quit [*.net *.split]
cayley5 has quit [*.net *.split]
patrix has quit [*.net *.split]
semz_ is now known as semz
cayley53 is now known as cayley5
terrorjack40 is now known as terrorjack4
Shinmera- is now known as Shinmera
patrix5 is now known as patrix
chops_ has joined #commonlisp
chops_ has quit [Changing host]
chops_ has joined #commonlisp
slyrus has joined #commonlisp
mathrick has joined #commonlisp
chops_ has quit [Ping timeout: 276 seconds]
traxex has joined #commonlisp
slyrus has quit [Ping timeout: 244 seconds]
ixelp has joined #commonlisp
chops_ has joined #commonlisp
chops_ has quit [Changing host]
chops_ has joined #commonlisp
chops_ has quit [Ping timeout: 276 seconds]
mooseball has quit [Quit: Leaving]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 252 seconds]
rkazak has joined #commonlisp
trocado has joined #commonlisp
Lord_of_Life_ is now known as Lord_of_Life
chops_ has joined #commonlisp
chops_ has quit [Changing host]
chops_ has joined #commonlisp
mgl_ has joined #commonlisp
rtypo has quit [Ping timeout: 244 seconds]
slyrus has joined #commonlisp
bicalot` is now known as bicalot
rkazak has quit [Ping timeout: 248 seconds]
rtypo has joined #commonlisp
rkazak has joined #commonlisp
MyNetAz has quit [Read error: Connection reset by peer]
MyNetAz has joined #commonlisp
cow_2001 has joined #commonlisp
rkazak has quit [Ping timeout: 272 seconds]
kamafam has joined #commonlisp
thuna` has joined #commonlisp
chops_ has quit [Ping timeout: 248 seconds]
slyrus has quit [Ping timeout: 252 seconds]
<jackdaniel>
I've heard many good things about ACL, but their extension proposals are usually bad
<jackdaniel>
i.e hierarchical packages did not gain much traction, "modern" reader was a disaster on its own terms
<jackdaniel>
well, I guess that as long as ACL users are happy it does not matter much
<aeth>
beach: Personally, my solution to code walking is to not attempt it. And where it is unfortunately required, to create a DSL that looks and feels like CL without being CL (or, alternatively, to reimplement a subset of CL; either way, supporting 100% of CL would be impossible for my uses). Although, code walking for, say, an IDE would need the general, proper solution.
slyrus has quit [Ping timeout: 265 seconds]
pve has quit [Quit: leaving]
<aeth>
For instance, for linear algebra, everyone kind of converges on the idea to code walk so that (v+ a b (v+ c d)) doesn't have to do the intermediate cons because writing the equation in a way that doesn't do this automatically greatly interferes with readability.
<aeth>
In which case, I think the general idea usually becomes to use compiler macros.
<aeth>
But if it's a code-walking compiler macro rather than a linear algebra DSL, it now has to be able to handle absolutely anything (because of the expression language nature of CL) being a possible argument to v+
shka has quit [Quit: Konversation terminated!]
<yitzi>
So you are just saying a compiler macro to do (v+ a b (v+ c d)) -> (v+ a b c d)?
fugata has left #commonlisp [#commonlisp]
chops_ has joined #commonlisp
chops_ has quit [Changing host]
chops_ has joined #commonlisp
<aeth>
yitzi: well, I think it's more like the c+d is known to be an intermediate form (or indeed any intermediate result if you first break a variadic v+ down into dyadic %v+ forms at compilation time if possible, i.e. if not higher order functions or evals)
<aeth>
yitzi: so a sophisticated enough macro knows that it can do e.g. create an a+b, create as dynamic-extent c+d, and then (%v+-into a+b a+b c+d) and return a+b
<aeth>
Or indeed, if it is smart enough to turn it into (v+ a b c d) first, then it can create a+b, then (%v+-into a+b a+b c), then (%v+-into a+b a+b d) and return the final result
<aeth>
Which if you do manually is very verbose and obfuscates what's going on
<aeth>
So I think this is why nearly everyone working with math vecs winds up at least considering code walking.
chops_ has quit [Ping timeout: 248 seconds]
scymtym has quit [Ping timeout: 260 seconds]
scymtym has joined #commonlisp
<aeth>
jackdaniel: ASDF kind of reinvented hierarchical packages on its own with the / convention, especially in its package-inferred-system, which (mostly) merges the concepts of systems with packages. As for a "modern" reader, the only end result seems to be that I defensively do (symbol-name '#:foo) to almost certainly get "FOO" at times, and literally nobody else has ever bothered afaik.
yitzi has quit [Remote host closed the connection]
chops_ has joined #commonlisp
chops_ has quit [Changing host]
chops_ has joined #commonlisp
JuanDaugherty has quit [Quit: JuanDaugherty]
rkazak has joined #commonlisp
slyrus has joined #commonlisp
eddof13 has joined #commonlisp
chops_ has quit [Ping timeout: 272 seconds]
fugata has joined #commonlisp
chomwitt has quit [Quit: WeeChat 3.8]
slyrus has quit [Ping timeout: 265 seconds]
josrr has quit [Remote host closed the connection]
fugata has left #commonlisp [#commonlisp]
chops_ has joined #commonlisp
chops_ has quit [Changing host]
chops_ has joined #commonlisp
fugata has joined #commonlisp
fugata has left #commonlisp [#commonlisp]
slyrus has joined #commonlisp
slyrus has quit [Ping timeout: 265 seconds]
shmorg83 has quit [Ping timeout: 252 seconds]
wacki has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
dinomug has joined #commonlisp
thuna` has quit [Ping timeout: 260 seconds]
rkazak has quit [Ping timeout: 272 seconds]
shmorg83 has joined #commonlisp
Everything has joined #commonlisp
slyrus has joined #commonlisp
pfdietz has joined #commonlisp
alternateved has quit [Remote host closed the connection]
mwnaylor has joined #commonlisp
slyrus has quit [Ping timeout: 252 seconds]
mange has joined #commonlisp
rkazak has joined #commonlisp
oak has left #commonlisp [WeeChat 3.8]
shmorg83 has quit [Ping timeout: 252 seconds]
dino_tutter has quit [Ping timeout: 252 seconds]
slyrus has joined #commonlisp
akovalenko has quit [Ping timeout: 248 seconds]
rkazak has quit [Ping timeout: 260 seconds]
slyrus has quit [Ping timeout: 265 seconds]
akovalenko has joined #commonlisp
anticomputer_ has joined #commonlisp
anticomputer has quit [Remote host closed the connection]