<pjb>
NotThatRPG: it means that your path is missing "test" and "cache" to match the pattern.
<pjb>
NotThatRPG: also, indeed, in the translations you will need a pattern with 3 stars if you specify a version: **/*.*.* --> something ; **/*.* --> something and **/* --> something
jealousmonk has joined #commonlisp
<NotThatRPG>
Guest74: No, just makes me wish clisp would crawl into a hole and die.
lisp123 has joined #commonlisp
igemnace has quit [Remote host closed the connection]
<jcowan>
Interlisp still does versioning, using the emacs convention
lisp123 has joined #commonlisp
Catie has quit [Quit: Going home]
lisp123 has quit [Ping timeout: 240 seconds]
tyson2 has quit [Remote host closed the connection]
abrantesasf has joined #commonlisp
random-nick has quit [Ping timeout: 252 seconds]
rotateq has quit [Ping timeout: 252 seconds]
<fitzsim>
why doesn't clisp do a new release?
<fitzsim>
it seems like there has been some development
<fitzsim>
and there's a PLN patch set pending for about a year now
<fitzsim>
development seems to have been migrated to gitlab
<fitzsim>
it just seems like its maintainers could do a release, not sure why they don't
lisp123 has joined #commonlisp
<fitzsim>
it's a good implementation, and it's useful for bootstrapping; it's a shame that it hasn't had a new release in such a long time
dtman34 has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
dtman34 has joined #commonlisp
lisp123 has quit [Ping timeout: 268 seconds]
<hayley>
Building CLISP is not fun, since I can't ever find a suitable version of libsigsegv, even while following the instructions to a T.
<hayley>
Usually I bootstrap from ECL, which tends to run a bit faster too.
pl has quit [Ping timeout: 240 seconds]
s-liao has quit [Ping timeout: 256 seconds]
pl has joined #commonlisp
s-liao has joined #commonlisp
peterhil has quit [Remote host closed the connection]
splittist has quit [Ping timeout: 260 seconds]
peterhil has joined #commonlisp
peterhil has quit [Remote host closed the connection]
peterhil has joined #commonlisp
lisp123 has joined #commonlisp
splittist has joined #commonlisp
<jcowan>
Who cares if Clisp has a formal release as long as changes to the repo are being made?
yewscion has quit [Ping timeout: 240 seconds]
Lycurgus has joined #commonlisp
lisp123 has quit [Quit: Leaving...]
<mfiano>
Not very many I'd assume, though for different reasons.
<Lycurgus>
i like c and I like lisp. Clisp nyet.
<Lycurgus>
society should work on mechanisms for backing out bad ideas gracefully
taiju has quit [Ping timeout: 240 seconds]
<Lycurgus>
after one for recognizing them igess
abrantesasf has quit [Remote host closed the connection]
taiju has joined #commonlisp
<Lycurgus>
sometimes such bad ideas are transformed by the force of history/events as in the case of c++, which 30 ya, I would have said the same about
<Lycurgus>
then it would be i like c and i like smalltalk
<Lycurgus>
but i didn about clos because it was being done right
s-liao has quit [Ping timeout: 256 seconds]
* mfiano
waits for the inevitable
<hayley>
Why would you like C then?
<beach>
Good morning everyone!
<mfiano>
At last!
<hayley>
Which, beach saying good morning, or me asking why one would like Lisp and C but not C++?
<beach>
I hope it's not me.
<mfiano>
beach. My day is complete now. That is usually my signal that it is late for me :)
<Lycurgus>
i said i felt that way about c++ c. 1991
<Lycurgus>
not after it began to be what it is now
<Lycurgus>
at that time it was basically on the same level as the c preprocessor
<mfiano>
How is this on-topic, or even Lispy in general? It's sort of disgusting to even think about C++...
<Lycurgus>
in re clisp
<Lycurgus>
which if it is a descendant of kyoto i was working with about that time, ported it (AKCL) to os/2
<hayley>
I think Kyoto CL led to ECL. CLISP was originally written for the Amiga from memory.
<Lycurgus>
ah
<Lycurgus>
anybody used netclos or other actorish thing in cl?
<Lycurgus>
(and no lparallel)
<Lycurgus>
*not
<hayley>
I wrote a supervisor tree library called "bailout" but never used it.
<hayley>
But that's not much of an actor library; my reason for writing it was to handle resetting shared state like resetting an actor.
s-liao has joined #commonlisp
* Lycurgus
reviews supervision trees on erlang site
semz has quit [Ping timeout: 268 seconds]
s-liao has quit [Ping timeout: 256 seconds]
semz has joined #commonlisp
Guest74 has quit [Quit: Connection closed]
Guest74 has joined #commonlisp
Oladon has joined #commonlisp
jealousmonk has quit [Quit: sleep]
Bike has quit [Quit: Connection closed]
<Guest74>
Really need to pay attention to sbcl's comments. Kept wondering why it was telling me yesterday that SORTs results shouldn't be discarded. I seem to always forget SORT is destructive even without the N.
s-liao has joined #commonlisp
lisp123 has joined #commonlisp
<beach>
Except that the argument is not a sorted version of what it was before the call.
varjag has joined #commonlisp
<Guest74>
that part I remember, I just kept doing things like trying to take the length of the initial sequence.
Oladon has quit [Quit: Leaving.]
<_death>
yeah, some days ago I also had a (list (sort seq ...) (length seq)) thinko
varjag has quit [Ping timeout: 268 seconds]
<Guest74>
yeah, I did exactly that today. Wasn't obvious in my djikstra(sp?) when i kept getting warnings, but today was hard to not spot what was going on.
yewscion has joined #commonlisp
<_death>
for dijkstra better use a priority queue ;)
mason0 has quit [Quit: CGI:IRC (Session timeout)]
<Guest74>
yeah, I don't have one yet. haven't even looked at any already done libs.
<Guest74>
i mean, i didn't even have the djikstra!
<_death>
I've dijkstra stashed somewhere, but my A* is more readily available so I used that
<Guest74>
I did look up A* star today and will probably go with that, seems easier to implement generally in my head.
<Guest74>
ugh, i'm tired I can't write.
<_death>
it will likely be needed again soon
<Guest74>
yeah, seems like they usually have at least two.
<_death>
hmm, fewer A* solutions than I expected.. 2016: 4, 2018: 1, 2019: 2, 2021: 1
easye has joined #commonlisp
<Guest74>
hey thanks for that. I've been wondering about data to check my implementation. Looks like 2016 is where it's at.
<Guest74>
though I guess I should probably finish the 3 i didn't do in the past couple years.
<_death>
2019 had 4 bfs solutions.. maybe that's why I expected more
<Guest74>
maybe that's what I was thinking about. That's a big chunk of what i'm missing for that year.
<phoe>
I have not managed to set up an IRC bridge this time, apologies - commenting will need to happen on Twitch.
<jackdaniel>
and what is the topic?
<phoe>
"Turning dpANS into new Specification Documents" by scymtym
<jackdaniel>
I see, thanks
<_death>
thanks for the reminder
<scymtym>
so discussion in twitch chat?
<phoe>
yes
<scymtym>
ok, i think i still have my account
<flip214>
babel, flexi-streams, and sbcl each have a few unicode tables - in files called enc-cn-tbl.lisp resp. enc-jpn-tbl.lisp.
<flip214>
Is there a chance to re-use some of them, to reduce the redundant data in an image?
<rotateq>
oh i wanted to join too
lisp123 has joined #commonlisp
<jackdaniel>
rotateq: you still can, it starts at 12
<jackdaniel>
cet
<jackdaniel>
(in 10 minutes))
<Nilby>
flip214: worse they frequently have slightly differing data depending on when they were last updated from official unicode tables
<rotateq>
i have no twitch acc, so just passively, but thanks that I'm allowed
<phoe>
plus the talk itself will be on YT
<rotateq>
ah also live?
<phoe>
rotateq: I did not find the time to set up an IRC bridge between twitch and libera, apologies
<phoe>
but yes, the talks are basically video playbacks with live commentary on Twitch chat
<rotateq>
phoe: don't worry, I doubt I could say anything of worthiness like most times here
<phoe>
even if all you can do is ask questions then good questions are worth their weight in gold :D
<rotateq>
hm wonders me if twitch uses elixir/erlang for its backend too like discord does
<flip214>
Nilby: yeah, that too
<phoe>
there was a big twitch code leak recently, maybe you can check it out yourself
<rotateq>
phoe: yes at work that was mostly my part :)
<flip214>
sadly that's a cross-project effort, so no single bug-tracker would help
<rotateq>
oha
<phoe>
flip214: we'd need to have some common way of accessing and upgrading unicode tables and then hook into that across the projects
<flip214>
that's why I bring it up here, hoping that the maintainers find a solution
<flip214>
phoe: even a trivial-unicode-tables isn't nice as a prerequisite for implementations...
<flip214>
they aim to be working by themselves, which is a nice goal
<rotateq>
i should dig again and more into erlang or LFE too. discord also use afaik rust NIFs too for extra performance, but very offtopic besides LFE
lisp123 has quit [Ping timeout: 256 seconds]
<phoe>
flip214: I wish that trivial-unicode-tables was something that was actually implemented by implementations themselves
<jackdaniel>
lfe is also offtopic on this channel
<rotateq>
hm so the topic later has to do what WSCL will be for?
<phoe>
rotateq: #lisp will be better for LFE since it doesn't discriminate between Lisp dialects :D
<rotateq>
jackdaniel: yes right, as it's more maclisp. they don't want GENSYM as it shall violate concurrency things
<flip214>
phoe: the problem is that the data is stored in different formats now - 2d array, list of lists, ...
<_death>
how big are these tables?
<rotateq>
:D
<flip214>
but perhaps they get all computed into similar hash tables?
<rotateq>
all those trivial packages :)
<phoe>
flip214: that's a good question
<flip214>
_death: my estimate is ~350kB for the JP 2d array _input_
<Nilby>
Some are not a good fit for simple hash tables.
mgxm has quit [Quit: ....]
<flip214>
that gets converted to a hash-table, I believe -- but the input stays around, as it's a constant
mgxm has joined #commonlisp
<flip214>
_death: but then there's a chinese table as well...
<flip214>
so, if there was some good, common representation (perhaps defined via some trivial function that gets inlined anyway?), I'd hope for a half a megabyte or one megabyte saved for each core
<hayley>
Read the description of prog2 very carefully.
<phoe>
tl;dr prog1 returns the first value whereas prog2 returns the first value
<rotateq>
hayley: i will later, i never used it yet nor prog1
paule32 has quit [Quit: Leaving]
paule32 has joined #commonlisp
perrierjouet has quit [Quit: WeeChat 3.3]
perrierjouet has joined #commonlisp
Qwnavery has quit [Quit: WeeChat 3.3]
lisp123 has joined #commonlisp
<rotateq>
brrrr javascript
<rotateq>
how long will the talk be?
<jackdaniel>
it is basically scheme, isn't it? (at least that's how the lore goes ,)
<phoe>
1h20min
<beach>
rotateq: Another 20 minutes or so.
<rotateq>
okay good length
<rotateq>
jackdaniel: yes in C's clothes. and afaik Eich also used CL for prototyping it, or another dialect
<hayley>
jackdaniel: "JavaScript is Lisp!" "No it's not, it's Scheme" "JavaScript is Scheme!" "No it's not, it's Self" "JavaScript is Self!" "Goddammit!"
<jackdaniel>
rotateq: that was mostly a joke. He /planned/ to use scheme, but was given a ridiculus timeline and a requirement "should look like java"
<rotateq>
yes :D
<jackdaniel>
and here we are, a few decades later
<hayley>
"Don’t tell me it’s got lexical scope, because JavaScript’s scoping is an abomination in the face of God. Guy Steele isn’t even dead and JS scope makes him pre-emptively roll in his not-yet-occupied grave." - Bob Nystrom
<rotateq>
i shouldn't comment more on the situation :)
<jackdaniel>
online version posted, me dips to navigate draftospec
<rotateq>
hayley: I was a bit suprprised when reading that Steele also was involved in crafting Java originally.
attila_lendvai has quit [Ping timeout: 240 seconds]
<rotateq>
oh the condition system, i have to read on with that too
jollygood2 has joined #commonlisp
<jackdaniel>
"We were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp."
<jackdaniel>
- Guy Steele
<rotateq>
yes one of my favorited quotes
<rotateq>
i even read yesterday for some additional example in my head, the garbage collector for C# was also prototyped in CL, so more for answering "and what is it used for?"
<phoe>
"Notice that no one mentions that this way they also managed to drag a lot of Lisp programmers about halfway back to C++."
<phoe>
- me, angrily
<jackdaniel>
did they though?
<phoe>
no, not really
<_death>
at least one Lisp language designer
<rotateq>
phoe: yes, madness. and as i watched the talk by dr-meister again some days ago, comparing IRS tax forms for template madness with poetry and lisp macros
<rotateq>
and as it seems twitch uses C++ and Golang for everything that must be fast and scale, so i bet a similar thing like greenspun's 10th rule but in this case as it screams for erlang, then for that :)
<rotateq>
scymtym: where do i find the method browser? or how to load and try it
<scymtym>
rotateq: repository links at the end. keep in mind that this stuff is pretty experimental, though
<rotateq>
very kind of you
<rotateq>
oh don't worry scymtym, it will be galaxies more ahead on what i could ever produce
<scymtym>
i mean in terms of actual usability
<rotateq>
no problem, thanks for all the effort
Everything has joined #commonlisp
random-nick has quit [Ping timeout: 256 seconds]
random-nick has joined #commonlisp
<rotateq>
i also like KaTeX in rocketchat, but mathjax may be more used on websites
<rotateq>
I would be interested what you used for crafting the presentation.
<scymtym>
rotateq: org-mode with org-reveal
<rotateq>
ah heisig is also online
<rotateq>
scymtym: thanks. so i have another good thing beside latexbeamer
<rotateq>
nice talk
<scymtym>
thanks
* jackdaniel
claps
pranavats has left #commonlisp [Error from remote client]
heisig has joined #commonlisp
<jackdaniel>
hayley: "only firefox and safari support" -aren't they all mainstream browsers not derived from adtech? ,)
<hayley>
Now, what's the usage numbers of the adtech browser like again?
<rotateq>
hello heisig, good to see you too. wanted to write you a little email for asking how you come along with your work
<rotateq>
lel safari
* rotateq
goes on safari for hunting crabs
<cage>
scymtym: thanks!
Cymew has joined #commonlisp
<jackdaniel>
don't know, don't care (similar to c++ popularity,)
<heisig>
rotateq: Thanks, I'm making progress. I slowed down my coding a little bit to have more time for writing my thesis. But good stuff is happening.
<rotateq>
all no nyxt generation browsers :)
<rotateq>
heisig: i would have bet so.
<rotateq>
my offer still goes on, for checking if someone on a lower level can understand the text, i may read something, may it be in english or german
<phoe>
thanks as well
<rotateq>
but i think it will be minimal so well written as the petalisp paper
<heisig>
rotateq: I haven't forgotten your kind offer :) I suggest we move such discussions to #petalisp.
jollygood2 has quit [Quit: CGI:IRC]
jollygood2 has joined #commonlisp
<_death>
heisig: I tried loading sb-simd today.. I think :fma should be added to the typespec of %encoding slot in class instruction-record
<Nilby>
I'm shocked, but it might be soon that my old dpans info files ride the pale horse to Valhalla.
<heisig>
_death: Fixed, thanks!
<_death>
thanks
Everything has left #commonlisp [#commonlisp]
pdietz has quit [Ping timeout: 256 seconds]
lisp123 has quit [Remote host closed the connection]
Bike has joined #commonlisp
s-liao has quit [Quit: Client closed]
waleee has joined #commonlisp
rotateq has quit [Ping timeout: 252 seconds]
pranavats has joined #commonlisp
s-liao has joined #commonlisp
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
waleee has quit [Ping timeout: 240 seconds]
waleee has joined #commonlisp
azimut_ has joined #commonlisp
s-liao has joined #commonlisp
azimut has quit [Ping timeout: 276 seconds]
yewscion_ has joined #commonlisp
s-liao has quit [Quit: Client closed]
random-nick has quit [Quit: quit]
yewscion has quit [Ping timeout: 240 seconds]
* scymtym
is available for further discussion for a bit
edgar-rft has quit [Quit: Leaving]
xsperry has quit [Remote host closed the connection]
xsperry has joined #commonlisp
attila_lendvai has joined #commonlisp
tyson2 has joined #commonlisp
jealousmonk has joined #commonlisp
waleee has quit [Ping timeout: 240 seconds]
waleee has joined #commonlisp
waleee has quit [Ping timeout: 240 seconds]
frgo has joined #commonlisp
igemnace has joined #commonlisp
waleee has joined #commonlisp
<Nilby>
scymtym: Great talk. I'm having trouble loading dpans-conversoin because it looks like "code/tex" directory is missing in git for the "tex" module.
<scymtym>
Nilby: thanks. yeah, i forgot to publish the repository then rushed it. i will try to fix things up once child is in bed
<Nilby>
scymtym: No rush. We've gone 27 years already. Thanks for doing this!
rotateq has joined #commonlisp
epolanski has joined #commonlisp
pve has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
waleee has quit [Ping timeout: 240 seconds]
waleee has joined #commonlisp
frgo has quit [Remote host closed the connection]
hobo has joined #commonlisp
frgo has joined #commonlisp
edgar-rft has joined #commonlisp
hhdave_ has joined #commonlisp
hhdave has quit [Ping timeout: 268 seconds]
hhdave_ is now known as hhdave
waleee has quit [Ping timeout: 240 seconds]
heisig has quit [Quit: Leaving]
waleee has joined #commonlisp
scymtym has quit [Remote host closed the connection]
frgo has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
notzmv has quit [Ping timeout: 240 seconds]
srhm has joined #commonlisp
srhm has quit [Client Quit]
edgar-rft has quit [Read error: Connection reset by peer]
edgar-rft has joined #commonlisp
random-nick has joined #commonlisp
frgo has joined #commonlisp
frgo has quit [Read error: Connection reset by peer]
frgo_ has joined #commonlisp
Algernon666 has joined #commonlisp
Algernon91 has quit [Ping timeout: 268 seconds]
makomo has joined #commonlisp
qhong has joined #commonlisp
Catie has joined #commonlisp
Cymew has quit [Ping timeout: 240 seconds]
sander has quit [Quit: So long! :)]
frgo_ has quit [Remote host closed the connection]
yewscion_ has quit [Ping timeout: 240 seconds]
frgo has joined #commonlisp
frgo has quit [Remote host closed the connection]
Guest74 has quit [Quit: Connection closed]
sander has joined #commonlisp
treflip has quit [Quit: good night ✨]
tyson2 has quit [Remote host closed the connection]
jeffrey has joined #commonlisp
notzmv has joined #commonlisp
tyson2 has joined #commonlisp
jollygood2 has quit [Quit: CGI:IRC (Session timeout)]
lisp123 has joined #commonlisp
frgo has joined #commonlisp
Inline has quit [Quit: Leaving]
<jmercouris>
I have the following pattern I am seeing in my codebase (defparameter q (if xyz (qwe xyz) "default"))
<jmercouris>
is there a better way to express this?
<jmercouris>
I don't want to have to check xyz before running (qwe xyz)
<jmercouris>
and nor do I want to do something like (or (ignore-errors (qwe xyz)) "default")
<Bike>
why don't you want to check xyz
<jmercouris>
it just seems redundant
<jmercouris>
like we are writing (if x (q x) "default")
<jmercouris>
why not just (if (q x) "default")
<jmercouris>
and of course if X does not exist, we'll get an error
<jmercouris>
but I don't want an error! I just want the default value then
<jmercouris>
perhaps it is a dumb request, but it is something that would work just fine in Objective-C
<Bike>
how would it work in objective-c, exactly?
<jmercouris>
it just ignores nulls somehow
<jmercouris>
I can't remember the exact way it works
<semz>
I don't think there's anything built-in that would be shorter.
<Nilby>
You could do something like (defaulting-qwe xyz "default")
<semz>
I sometimes macrolet something for that when converting certain formats.
<Bike>
there's nothing built in, but you could obviously do it with a macro quickly
Demosthenex has quit [Ping timeout: 268 seconds]
<jmercouris>
yes
<jmercouris>
I will think about such a macro
<Bike>
i am not sure i understand the requirements exactly
scymtym has joined #commonlisp
xsperry has quit []
<frodef_>
With standard sbcl and hunchentoot on linux, requests are handled by threads such that I need to (manually) arrange synchronization for access to shared datastructures, right?
<jmercouris>
the requirements are attempt to evaluate a form, if you can get a value, return it, if it signals a condition, return a default
<Nilby>
If there's a lot of initializations I sometimes do a short local macro
<jmercouris>
maybe there is something in Alexandria...
<_death>
frodef_: right
<frodef_>
_death: thanks
Demosthenex has joined #commonlisp
sander has quit [Quit: So long! :)]
sander has joined #commonlisp
<Bike>
jmercouris: so (handler-case form (error () default))? presumably wrapped in a macro, again
MichaelRaskin has joined #commonlisp
<phoe>
the ugly (or (ignore-errors ...) default) will work if you expect to never return NIL
<phoe>
though it's ugly as *#^$
lisp123 has quit [Remote host closed the connection]
<Bike>
i don't understand what objective-c could be doing. it seems unlikely that it would compile checks for null in every single function, or something
varjag has joined #commonlisp
<pjb>
Bike: no, it's simplier: there's just a check in the send method primitive. If the object is nil it returns nil.
<pjb>
[nil foo] --> nil
Algernon666 has quit [Read error: Connection reset by peer]
Guest74 has joined #commonlisp
lisp123 has joined #commonlisp
attila_lendvai has quit [Ping timeout: 268 seconds]
lisp123 has quit [Ping timeout: 240 seconds]
frgo has quit [Remote host closed the connection]
cage has quit [Quit: rcirc on GNU Emacs 27.1]
frgo has joined #commonlisp
pve has quit [Quit: leaving]
tyson2 has quit [Remote host closed the connection]
frgo has quit [Ping timeout: 240 seconds]
rotateq has quit [Ping timeout: 256 seconds]
frgo has joined #commonlisp
<Guest74>
is there something like BUTLAST for the front?
varjag has quit [Remote host closed the connection]
varjag has joined #commonlisp
<mfiano>
nthcdr
waleee has quit [Ping timeout: 260 seconds]
waleee has joined #commonlisp
qhong has quit [Ping timeout: 245 seconds]
qhong has joined #commonlisp
frgo has quit [Remote host closed the connection]
<Guest74>
ah, I guess my question was badly specified. say I want only the last 10 elements of a list. I'll have to keep nthcdr in mind though.
<mfiano>
Then you should keep pointers to those cons cells if you don't want a big Big-O
<mfiano>
Or use a more proper data structure
<Guest74>
it's just a random list.
<mfiano>
A list is not a good choice of a data structure for this algorithm.
<mfiano>
If you don't want to build it up piece wise and keep pointers to the interesting cells
<semz>
Huh? It's doable in O(n) without precomputed extra info
<Guest74>
I'm just talking about lists, any random list I might receive. I am not choosing this as a data structure.
<Guest74>
wpi;dm
<Guest74>
oops
<Guest74>
wouldn't it be 2n?
<semz>
O(2n) = O(n)
<semz>
but yes
<Guest74>
me knows nothing about O
<phoe>
Guest74: CL:LAST
qhong has quit [Ping timeout: 256 seconds]
shka has quit [Ping timeout: 256 seconds]
qhong has joined #commonlisp
<Guest74>
Nice! Thanks. I was thinking there should be something.
<Guest74>
and I thought butlast wasn't such a good name, but now it makes sense.
<Guest74>
uh, no, i still don't like it.
frgo has joined #commonlisp
<phoe>
"the last N elements" versus "everything but the last N elements"
<phoe>
LAST versus BUTLAST
peterhil has quit [Read error: Connection reset by peer]
<Guest74>
as a cobbler it doesn't sound good.
peterhil has joined #commonlisp
<Nilby>
and there's BUTFIRST as I like to call CDR
peterhil has quit [Max SendQ exceeded]
frgo has quit [Ping timeout: 268 seconds]
tyson2 has joined #commonlisp
<Guest74>
might as well make a whole bunch. butnth
<Nilby>
you can rename nthcdr and cd*dr's
Algernon69 has joined #commonlisp
<Guest74>
sure, and replace remove-if-not with but-if
peterhil has joined #commonlisp
<phoe>
nthcadadr
Algernon91 has joined #commonlisp
<Guest74>
anybody have a jps+ implementation?
Algernon69 has quit [Ping timeout: 268 seconds]
<jackdaniel>
nthc(random-number-of-times (random-elt a d))r
poselyqualityles has joined #commonlisp
rotateq has joined #commonlisp
akoana has joined #commonlisp
<Guest74>
I just noticed I'm getting a warning on a case slot with :INITFORM nil and :TYPE (or nil something)
<Guest74>
s/case/class
<jackdaniel>
the type nil is empty
<jackdaniel>
you want (or null something)
<Guest74>
thanks
<jackdaniel>
sure
taiju has quit [Ping timeout: 240 seconds]
frgo has joined #commonlisp
frgo has quit [Ping timeout: 240 seconds]
<rotateq>
and I wanted to admit my logical failure of yesterday, of course an AND in the matching expression wouldn't make sense ^^ maybe in a quantum computer with quilc :)
Alfr has quit [Ping timeout: 240 seconds]
poselyqualityles has quit [Ping timeout: 256 seconds]
contrapunctus has left #commonlisp [#commonlisp]
contrapunctus has joined #commonlisp
varjag has quit [Ping timeout: 240 seconds]
temp1234 has joined #commonlisp
Oddity has joined #commonlisp
<temp1234>
So, is an fexpr just a macro whose body is implicitly quoted? I've been trying to understand why you'd want them :)
<hayley>
A fexpr is a function which gets its arguments unevaluated.
<hayley>
Theoretically they are more powerful than macros, but I can't think of any uses of fexprs that macros don't do.
<temp1234>
Hm, alright
temp1234 has quit [Client Quit]
temp1234 has joined #commonlisp
<White_Flame>
is a fexpr expcted to actualy execute the code in the runtime environment, instead of returning source code?
<hayley>
Yes.
temp1234 has quit [Quit: Client closed]
_73 has quit [Remote host closed the connection]
Inline has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
<Nilby>
I don't think fexprs are more powerful than macros, it's just that given fexprs you can make macros better than the other way around. Most of the time you want macros.
taiju has joined #commonlisp
<rotateq>
hm i know mexprs from mathematica and such, what are fexprs again exactly?
<Nilby>
like hayley said, a function that gets un-eval arguments like a macro
<mfiano>
Does the standard provide the building blocks for them, or do they require implementation support?
<Nilby>
You can make a macro that is the fexpr, but then you can't pass it to apply, so you have to make another function which you can apply. So it's a little clumsy, but you can do it in any CL.
gaqwas has joined #commonlisp
<mfiano>
You can apply a macro if it also expands to that second function though, though maybe that is not possible in this specific context.
<Nilby>
It's a tiny bit different because applying the macro function just does the expansion and doesn't evaluate it.