Kundry_Wag has quit [Remote host closed the connection]
TMA has quit [Ping timeout: 260 seconds]
matta has joined #lisp
TMA has joined #lisp
<matta>
Can anyone tell me what the #+dev in https://github.com/vseloved/cl-agraph/blob/master/cl-agraph.asd is doing? I know that this conditionally includes the subsequent form, but how does this "dev" thing get set, and do conditional :depends-on tricks like this play nice with quicklisp?
<beach>
phoe: I am sorry you got into an argument with that guy.
<phoe>
beach: no worries. I am glad that I was able to spend some time and compile some publicly available data on him that will hopefully help keep the Lisp community a better place in the future.
<beach>
It's good you see it that way.
<phoe>
and the best news is that neither Xach nor lispm hold the position of the #1 Lisp baddie anymore!
<beach>
Heh!
ealfonso has quit [Remote host closed the connection]
<mfiano>
I still hold the record for longest grudge held against. Only recently as yesterday have I seen him mention me. Serious psychological issues over there.
RukiSama__ has joined #lisp
GuerrillaMonkey has joined #lisp
Jeanne-Kamikaze has quit [Remote host closed the connection]
kiroul has joined #lisp
RukiSama_ has quit [Ping timeout: 240 seconds]
kir0ul_ has quit [Ping timeout: 246 seconds]
wxie has quit [Ping timeout: 256 seconds]
zcheng3 has quit [Ping timeout: 240 seconds]
frost-lab has joined #lisp
iskander has quit [Ping timeout: 240 seconds]
enrio has quit [Ping timeout: 240 seconds]
iskander has joined #lisp
enrio has joined #lisp
_whitelogger has joined #lisp
wxie has joined #lisp
<dbotton>
oh my dear... that was intense...
Codaraxis__ has quit [Ping timeout: 272 seconds]
<phoe>
dbotton: you just read through all of it!?
janis has joined #lisp
<janis>
hello
<dbotton>
most of it.. he repeats himself alot
<phoe>
hey janis
<janis>
heya
<phoe>
dbotton: I am sorry
<janis>
barely ever been on irc
<janis>
mostly use discord
<phoe>
janis: well then welcome to #lisp, a place where Common Lisp programmers hang out
<janis>
i think im gonna try this more often bc i found out emacs has a built in irc client LOL
<phoe>
janis: :D
<janis>
so you can expect to see me somewhat frequently soon
<phoe>
you might want to visit #lispcafe if you feel like having some general random/offtopic chat with lispers
janis has left #lisp [#lisp]
<phoe>
or #clschool if you want to learn Common Lisp
<Bike>
i'm amazed you have the patience for this github argument
<phoe>
also just feel free to hang around and tune in to general #lisp discussion about Common Lisp the language
Kundry_Wag has quit [Remote host closed the connection]
<phoe>
Bike: I actually decided to have it
<phoe>
I think I'm the first person who actually managed to out-speak him
jw4 has quit [Quit: tot siens]
<Bike>
i envy their internet experience if the craziest thing anyone has ever said to them on the internet was that they're not good at lisp
<Bike>
well, i shouldn't gossip too much i guess, sorry
<phoe>
in my case it's just a combination of patience, persistence, data scraping and a decision to allocate some time to solve this issue with his aggression once and for all.
<phoe>
but, yes, right - I've cooled down a bit, too
<phoe>
back to standard #lisp content
<Bike>
so the reason this arrows thing would need a code walker is just to distinguish whether a form has <> in it, right?
<phoe>
yes
<phoe>
this is the only reason
<phoe>
because otherwise it cannot easily tell apart (list (list (list '<>))) from (list (list (list <>)))
<Bike>
and the reason that matters is because if there's no <> then it's implicitly the first argument to the next form, right... odd stuff
<phoe>
yes
supercoven has joined #lisp
supercoven has quit [Max SendQ exceeded]
supercoven has joined #lisp
aartaka has joined #lisp
oni-on-ion has joined #lisp
Bike has quit [Quit: night]
enrio has quit [Remote host closed the connection]
enrio has joined #lisp
enrio has quit [Remote host closed the connection]
enrio has joined #lisp
Kundry_Wag has joined #lisp
_whitelogger has joined #lisp
dvdmuckle has quit [Quit: Bouncer Surgery]
dvdmuckle has joined #lisp
momus has joined #lisp
enrioog has joined #lisp
enrio has quit [Ping timeout: 240 seconds]
narimiran has joined #lisp
jw4 has joined #lisp
_whitelogger has joined #lisp
andreyorst has joined #lisp
kir0ul_ has joined #lisp
kiroul has quit [Ping timeout: 256 seconds]
shka_ has joined #lisp
frost-lab has quit [Quit: Connection closed]
andreyorst has quit [Quit: WeeChat 3.0]
andreyorst has joined #lisp
narimiran has quit [Ping timeout: 260 seconds]
narimiran has joined #lisp
jw4 has quit [Ping timeout: 246 seconds]
Blukunfando has quit [Ping timeout: 264 seconds]
galex-713 has quit [Ping timeout: 272 seconds]
frost-lab has joined #lisp
dbotton has quit [Quit: Leaving]
galex-713 has joined #lisp
GuerrillaMonkey has quit [Remote host closed the connection]
kir0ul_ has quit [Ping timeout: 256 seconds]
Lord_of_Life has quit [Changing host]
Lord_of_Life has joined #lisp
aorst has joined #lisp
aorst has quit [Remote host closed the connection]
tempest_nox has quit [Remote host closed the connection]
aorst has joined #lisp
xsperry has joined #lisp
treflip has joined #lisp
gzj has joined #lisp
pillton_ has joined #lisp
Cymew has joined #lisp
gzj has quit [Quit: Leaving]
gzj has joined #lisp
pillton has quit [Read error: No route to host]
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
treflip has quit [Quit: WeeChat 2.6]
amb007 has quit [Ping timeout: 272 seconds]
amb007 has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 264 seconds]
random-nick has joined #lisp
earl-ducaine has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
Blukunfando has joined #lisp
* jackdaniel
puts down the bowl with popcorn and closes the issue #3 on github. all you said phoe is something I agree with :)
karlosz has quit [Quit: karlosz]
<phoe>
jackdaniel: was the popcorn tasty
<jackdaniel>
actually it was a donut (and it was tasty), but popcorn seems to be a "figure of speech"
<phoe>
yes, I see
<phoe>
belated bon appetit
<jackdaniel>
thank you
liberliver has joined #lisp
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 240 seconds]
pve has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
<phantomics>
I could use a jackdaniel after reading that comment thread
<imode>
dare I ask.
<phoe>
you mean you need a lisp programmer skilled in ECL, CLIM, and C?
<jackdaniel>
I'm sure I have some proficiency in Common Lisp too ,-)
ldb has joined #lisp
<ldb>
sup
<jackdaniel>
hey
<phoe>
jackdaniel: that's the part I meant by "lisp programmer"
<jackdaniel>
ah
<phantomics>
phoe I dunno how common Jack Daniel's is in Europe
<phoe>
imode: ask about the comment thread?
<imode>
yeah.
<phoe>
phantomics: yes, jackdaniel is in Europe
<jackdaniel>
phoe: you may get it in a store without an issue
<phoe>
phantomics: ^
<jackdaniel>
however hypocratic that sounds, I prefer scotch ^_^ sorry for the offtopic
<ldb>
I think I'd headache if I recived a peice of code from 30 years ago with "idioms" been used everywhere and has to reverse engineering what's going on there
<ck_>
isn't that what DSLs are?
<phoe>
they kinda are; that's why LOOP tends to get some hate now and then
<phoe>
so does FORMAT
<jackdaniel>
(><> -> :fish)
<phoe>
jackdaniel: what does this form evaluate to?
<jackdaniel>
beats me, I've never worked with arrows
<phoe>
weird, on my implementation I get :SALMON
<jackdaniel>
but it looks nice, symbolic fish is converted to a symbol
<phoe>
i wonder if that's clojure-compatible
<no-defun-allowed>
(>~<o> oOo) ; the fish-tank arrow
<phantomics>
question
<phantomics>
(-> foo
<phantomics>
(baz)
<phantomics>
(quux 1 2 3))
<phantomics>
bar
<phantomics>
Does the (baz) need to be in parentheses?
<no-defun-allowed>
...is something you should put on a paste, yes.
<no-defun-allowed>
To my knowledge, no. But you should know it's doable.
<imode>
arrow macros are neat. though I'm biased because I like concatenative langs.
<phantomics>
It's just 4 lines, I understand quux needs parens because it has arguments after the first implicit one
<phoe>
phantomics: no. symbols are implicitly converted to lists.
<ldb>
I got the LCF ML from Nuprl3 running correctly independently. Now I can start develop my own ML dialect on this.
momus has quit [Ping timeout: 240 seconds]
<phoe>
ldb: oh! is it in Lisp?
frgo has quit [Ping timeout: 264 seconds]
<no-defun-allowed>
The first ML implementation was written in Lisp; I don't know if it is that one though.
<ldb>
it runs inside Common Lisp and can call lisp functions transparently.
<ldb>
no-defun-allowed: it has code from that one
<ldb>
but also has some code from Caml compiler
<lotuseater>
phew, cool stuff
aartaka_d has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
aartaka has quit [Ping timeout: 246 seconds]
<lotuseater>
the first ML seems from 1973
xsperry has left #lisp [#lisp]
cosimone has quit [Quit: cosimone]
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
momus has joined #lisp
Achylles has joined #lisp
Achylles has quit [Max SendQ exceeded]
Achylles has joined #lisp
momus has quit [Changing host]
momus has joined #lisp
pankajsg has quit [Ping timeout: 256 seconds]
EvW has joined #lisp
Blukunfando has joined #lisp
Kundry_Wag has joined #lisp
FreeBirdLjj has joined #lisp
pankajsg has joined #lisp
dmc00 has quit [Remote host closed the connection]
saganman has joined #lisp
FreeBirdLjj has quit [Ping timeout: 256 seconds]
perrier-jouet has quit [Quit: WeeChat 2.9]
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
frost-lab has quit [Quit: Connection closed]
Achylles has quit [Remote host closed the connection]
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #lisp
cosimone has joined #lisp
Bike has joined #lisp
momus_ has joined #lisp
leo_song has quit [Ping timeout: 272 seconds]
perrier-jouet has joined #lisp
momus has quit [Ping timeout: 260 seconds]
Kundry_Wag has quit []
obnoxious_glenda has quit [Quit: WeeChat 3.0]
wsinatra has joined #lisp
hendursaga has quit [Remote host closed the connection]
hendursaga has joined #lisp
kir0ul_ has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
kaftejiman has joined #lisp
enrioog has joined #lisp
gxt has quit [Remote host closed the connection]
gxt has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
momus_ has quit [Changing host]
momus_ has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
ebrasca has joined #lisp
gzj has quit [Remote host closed the connection]
cosimone has quit [Remote host closed the connection]
gzj has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
gzj has quit [Remote host closed the connection]
pankajsg has quit [Ping timeout: 265 seconds]
surabax has quit [Ping timeout: 256 seconds]
ljavorsk_ has quit [Ping timeout: 256 seconds]
matta has quit [Ping timeout: 260 seconds]
surabax has joined #lisp
momus_ has quit [Ping timeout: 246 seconds]
neirac has joined #lisp
pfdietz has joined #lisp
dbotton has joined #lisp
EvW has quit [Ping timeout: 264 seconds]
davros_ has quit [Ping timeout: 264 seconds]
<pfdietz>
It's interesting that the ML page on Wikipedia does not mention the connection to LCF (which I knew about, having been at Cornell around that time.)
<loke[m]>
phoe: why do I get the impression that our favourite troll is a CL version of Xah?
matta has joined #lisp
<easye>
Ah, Xah. He was more entertaining.
<phoe>
loke[m]: I have no idea.
<lotuseater>
and how did he troll here?
<edgar-rft>
pfdietz: that's because Wikipedia articles are written by experts :-)
<loke[m]>
lotuseater: I was just followin gup on a discussion we've had on Mastodon today.
<lotuseater>
ah okay
<loke[m]>
easye: Xah is actually much more productive than hs. What he produces is not great, but at least he does something.
<epony>
edgar-rft, don't spread misinformation
<pfdietz>
I am old school, and remember Eric Naggum.
<easye>
loke[m]: agreed.
<easye>
pfdietz: When were you in Ithaca? I was undergrad 1987-1992ish.
<pfdietz>
I was elsewhere by then.
<easye>
Ok.
<loke[m]>
pfdietz: I wasn't part of the CL community at that time. I've read some of his rants though.
<edgar-rft>
Wikipedia is a good thing and I already have learned lots from it, but it's not a replacement for a good teacher.
<easye>
edgar-rft: unless one has no other possible teacher.
<_death>
wikipedia is good for its external links mostly ;)
<pfdietz>
Hmm. I hope archive.org deliberately scans wikipedia for links to archive.
<edgar-rft>
easye: your argument repeats what I said :-)
<easye>
heh.
matta has quit [Quit: ERC (IRC client for Emacs 27.1)]
gproto23 has joined #lisp
<pfdietz>
Eric's style is understandable when you realize he was suffering from ulcerative colitis for 15 years before it finally killed him at age 44.
matta has joined #lisp
<edgar-rft>
Unfortunately "community" always includes that you have to deal with idiots (e.g. like me), but I wouldn't waste too much time with arguing, just simply ignore them.
dbotton has quit [Ping timeout: 240 seconds]
<phoe>
OK, quicklisp and ultralisp issues submitted.
hendursa1 has joined #lisp
skapata has joined #lisp
hendursaga has quit [Ping timeout: 240 seconds]
ljavorsk_ has joined #lisp
dbotton has joined #lisp
Steeve has joined #lisp
<aeth>
edgar-rft: hexstream could just be a self-proclaimed CL expert like I'm the self-proclaimed galactic emperor (I am), in a completely ignorable way. But hexstream normally tries to get in very public arguments, especially on Github.
<aeth>
The effort in addressing such Github issue comments seems way too high, though.
<_death>
(format t "~36R" 1686565144778)
dbotton has quit [Ping timeout: 264 seconds]
<easye>
_death: Very cute.
<APic>
aeth: Do You have three Arms?
<p_l>
APic: It was president of the galaxy that had third arm (for punching people while skiing)
sjl_ has joined #lisp
dbotton has joined #lisp
gioyik has joined #lisp
<APic>
p_l: Yes, it is very good that the President has no Might in contrary to an Emperor ☺
momus has joined #lisp
<edgar-rft>
Emperor Edgar agrees with _death that we should continue this on #lispcafe :-)
andreyorst_ has joined #lisp
tmf has joined #lisp
Stanley00 has joined #lisp
<phoe>
_death: touche
toorevitimirp has quit [Remote host closed the connection]
ldb has quit [Remote host closed the connection]
Stanley00 has quit [Ping timeout: 260 seconds]
ggole has joined #lisp
andreyor1 has joined #lisp
ljavorsk has joined #lisp
iarebatman has joined #lisp
ljavorsk_ has quit [Ping timeout: 264 seconds]
<iarebatman>
Hey everyone, quick question.. Does anyone know of a good article/guide for setting up a common lisp environment on Windows that will work properly with quicklisp dists that are expecting to be able to run grovel/gcc?
andreyorst has quit [Ping timeout: 260 seconds]
andreyorst_ is now known as andreyorst
<lotuseater>
iarebatman you could use portacle
<lotuseater>
portacle.github.io
<phoe>
I actually don't know if it includes gcc stuff
<iarebatman>
Does that somehow have anything to do with grovel/gcc setup, because that's my issue
<iarebatman>
I mean, I suspect I'll have to do something like run sbcl/ccl within the context of msys2 - but I haven't been able to get that to work yet
aartaka_d has quit [Read error: Connection reset by peer]
<lotuseater>
this week I want to show my rommate some programming and he has windows so i thought about portacle
codewaffle_ has quit [Quit: Leaving]
jeosol has joined #lisp
<iarebatman>
lotuseater: Yeah, I have a similar situation.. I need make lisp accessible to my coworkers before it's a legitimate option..
<lotuseater>
for learning?
<iarebatman>
to be blunt, they wouldn't take any amount of time to learn emacs though. I did find that Atom has a package called slima though, and that's more their style.
dbotton has quit [Quit: This computer has gone to sleep]
<travv0>
someone also pretty recently made a sublime slime-alike, haven't tried it so i can't comment on how well it works but that's an option if they use sublime iarebatman
<lotuseater>
ah yes that could be a problem
<phoe>
slyblime?
<phoe>
travv0:
<lotuseater>
if it does not has to be CL you could try racket, not as huge
<travv0>
yeah that sounds right phoe
<phoe>
the person developing it is on the lisp discord AFAIK
<phoe>
and they got sorta far with it
andreyor1 has quit [Quit: WeeChat 3.0]
<phoe>
I must evaluate it someday
<travv0>
yep that's how i heard of it lol
<phoe>
me too
andreyor1 has joined #lisp
<phoe>
anyway
<phoe>
the issues on quicklisp and ultralisp are made.
<lotuseater>
now i get what is the problem with hexstream
<lotuseater>
aeth but how to become a non-self-proclaimed CL expert? :)
enrioog has quit [Remote host closed the connection]
<aeth>
lotuseater: someone needs to start a Common Lisp Engineer certification project where you can pay to take a multi-hour multiple choice test.
<phoe>
multiple value test*
<lotuseater>
yes that would be nice
<jmercouris>
what would the value of such a test be anyways?
<jmercouris>
knowing things about a language doesn't make you a good programmer
<lotuseater>
that's also true
<jmercouris>
a good programmer is one who can understand develop good models/abstractions
<jmercouris>
how do you even test taht?
<lotuseater>
but going to university also does not
<jmercouris>
I don't remember saying anything about university :-)
<lotuseater>
good :)
<lotuseater>
i learn the most out of (special) interests and i think the most people here also do
<jmercouris>
you know those issues raise a really good question, how do you support justice in the CL community?
<iarebatman>
well, you know - the demand for lisp developers is so high right now. This certification would allow employers to sift through the applicants for the quality picks...
<jmercouris>
would it be justice? Phoe's treatise seems to imply so
<jmercouris>
iarebatman: you would be surprised how hard it is to find good CL developers
<lotuseater>
"you have no PhD in computer science so you can't be good and can't work here"
<iarebatman>
jmercouris: /sarcasm
<lotuseater>
iarebatman where I live the demand is 0 :D
<lotuseater>
and yes the CL people that are findable are already in good employment
<aeth>
but maybe the demand's 0 just because it's so difficult to find someone who's a certified expert.
<lotuseater>
last week i wrote an email to Clozure Associates to ask how to become part of it. became an answer with "no job offers right now"
<lotuseater>
no, most companies here use Java/c#
<lotuseater>
and even don't know lisp exists or "it's so old, blablabla, parentheses, ..."
ealfonso has joined #lisp
<jmercouris>
I found the same conclusion, so I made a company
<lotuseater>
cool, but I'm not experienced enough and you need a good idea
aeth_ has joined #lisp
<jmercouris>
you don't need a good idea, you need good execution
aeth has quit [Ping timeout: 256 seconds]
<jmercouris>
anyways, this is off topic
<lotuseater>
and discipline ...
<lotuseater>
yes sorry
<jmercouris>
phoe: I am thinking about this, and I think also about how pjb's libraries are also excluded, I wonder, is this the way?
<phoe>
jmercouris: I have no idea about pjb.
aeth_ is now known as aeth
<jmercouris>
pjb has been excluded from the official Quicklisp dist by Zach for political reasons
<phoe>
like, I don't know the full story.
<jmercouris>
oh, I see
<phoe>
plus I'm running on no sleep since tonight was very busy for me
<jmercouris>
I don't know if Quicklisp dist should be running by a BDFL
<jmercouris>
of course it is Zach's right, his software, and his dist
<phoe>
AFAIK there's always the possibility to create new ones; quicklisp-dist is free software
<jmercouris>
of course, the trouble would be getting everyone away from the blessed dist :-)
<phoe>
it's just hard and thankless work to do it for a large group of people..
<jmercouris>
sure is
<jmercouris>
so my question here is, how does removing his software further the goal of insulating the common lisp community from his abuse?
<jmercouris>
I feel like after reading, I'm not making that connection
Cymew has quit [Ping timeout: 256 seconds]
<phoe>
for me, it is to make a very clear cut that this kind of behavior, especially lasting for years, is not acceptable whatsoever and under any circumstances; in theory free software is free software, especially under unlicense, but I think that uprooting hexstream altogether, his abusive behavior along with the "merit" which he has produced, will provide a much cleaner picture afterwards since there'll be nothing
<phoe>
remaining that could still make the connections between the lisp community over here and hex.
<phoe>
if you know what I mean, and if I am explaining myself clearly - sorry, sleep deprivation
<jmercouris>
I know what you mean, and that is my desire as well
<jmercouris>
I just don't konw how to justify it
<aeth>
jmercouris: how is a lisp business off-topic?
<jmercouris>
well, would you like me to mention details about my business in this channel :-D?
<jmercouris>
I think you will quickly find we stray away from discussion about programming, and more about business
<jmercouris>
I am happy to talk about it, just trying to avoid provoking some users who get annoyed by off-topic chat
<edgar-rft>
aeth: because business means you're enslaved to money, and this is *free*-node :-)
<phoe>
jmercouris: I know what I mean I just cannot turn it into clear words at the moment
<lotuseater>
i think there is much potential for nearly every domain or niches and getting out of the mess
<lotuseater>
cl-arthur hehe
<phoe>
the resulting picture is just much cleaner if there is nothing to remind us of the shit that he used to do; when he's gone, period, set to nil, altogether, along with all of the libraries that have exactly 0 dependents on Quicklisp
<lotuseater>
so I write a few more mails with Edi Weitz and someday he proclaims me so :D
<phoe>
that's how I perceive it - less chances for any accidental mixups or whatever that may happen otherwise
<jmercouris>
phoe: ah, I see
<jmercouris>
it is about discouraging points of contact
<jmercouris>
so if there is no dependence or usage of any of his libraries, then nobody in the Common Lisp space will need to communicate with him
<phoe>
due to the *years* of abuse that have happened, I think that in this case the line must be clear clear and separates a person as a whole, due to their contributions than a whole. I find the approach of "this is fine so it'll stay, but this is nuh-uh" to be dirty and not suitable for holes as big as this
<jmercouris>
I see
<phoe>
I don't know how to explain, it's just that a real broad stroke seems much more appropriate in this case than a thin zigzag.
<jmercouris>
I think I understand
pankajsg has joined #lisp
zcheng3 has joined #lisp
aartaka has joined #lisp
<jmercouris>
these topics are always sensitive and nuanced, and therefore difficult to conceptualize/explain
<jmercouris>
all this said, I think I understand the core idea behind the justification
<jmercouris>
reduction of touch points, and a reduction of harm
<phoe>
yes
<phoe>
whew, I actually managed to convey the point through :D
<jmercouris>
I think your argument would be more solidified if you put that in a "why"
<jmercouris>
like you've explained "what" the problem is
<jmercouris>
but not how your solution fixes the problem
<jmercouris>
or if it is there, I didn't read it until you said it here
<phoe>
can you support me with this and glue what I've posted above and reformat it slightly?
<jmercouris>
I can provide you an edited draft if you like
<jmercouris>
with a diff
<phoe>
my English skills dissolved today
<phoe>
yes please
<jmercouris>
I will make a diff file one second
<phoe>
I'm simply exhausted, it's been 48 hours of a hexstream-ensnaring marathon where I slept only the first night of it
<phoe>
sorry, I am not of much help at the moment
<jmercouris>
ay yai yai
<lotuseater>
oh noez that is much o_o
ski has quit [Ping timeout: 240 seconds]
ski has joined #lisp
<cl-arthur>
jmercouris: I'd be interested in hearing about your lispy business :)
<aeth>
oh wow, the arthur of Common Lisp is here
karlosz has joined #lisp
<jmercouris>
cl-arthur: that is a most broad question, what would you like to know about?
<cl-arthur>
aeth: some other arthur had already grabbed the "arthur" nick!
<jmercouris>
oh the joke was that arthur sounds like author?
andreyorst has quit [Ping timeout: 246 seconds]
<pfdietz>
Puns, the reader macros of humor.
<jmercouris>
stop, it hurts
<jmercouris>
its too much, even for me
<edgar-rft>
it's time now for the holy grail of Common Lisp
<lotuseater>
it could be the arthur from the knights of the lambda calculus
* jmercouris
winces
<cl-arthur>
jmercouris: business field for context, what lispy features you've leveraged in particular to solve the problems, and whether you've had any customer reactions to using lisp (if customers notice) :)
<jmercouris>
cl-arthur: they have noticed, we were able to deliver products much quicker
<jmercouris>
cl-arthur: these days we are only now working on a consumer product, which you may have heard of (Nyxt)
<jmercouris>
cl-arthur: in which case Lisp is a direct selling point OF the product, in that it is highly customizable, at run-time
<lotuseater>
the browser?
<jmercouris>
yes, the browser
<lotuseater>
have it installed, nice program :)
<jmercouris>
I'm glad you like it, there's lots more coming :-)
pankajsg has quit [Ping timeout: 256 seconds]
<phoe>
jmercouris: I'll actually pass on this edit; thank you
<jmercouris>
phoe: no problem whatsoever
<phoe>
just not feeling well enough to make edits.
<jmercouris>
you may in fact not even agree with, which I understand
<jmercouris>
I would suggest to relax, and enjoy life
<jmercouris>
don't consume your life with this
<jmercouris>
very kind and noble of you, but some people cannot be helped
<jmercouris>
especially when they don't want it themselves
<phoe>
we can be helped though
<pfdietz>
I don't use arrow macros, but I do sometimes use nest. The forms are in reverse order though.
<phoe>
pfdietz: gasp
<phoe>
well, uiop:nest indeed is a thing
<pfdietz>
Local lisp culture
<pfdietz>
Also, curry-compose-reader-macros
<aeth>
I use let*
<aeth>
works unless you need multiple values
<aeth>
if you're feeling really uncreative, I think you can do this: (let* ((foo ...) (foo ...) (foo ...)) (... foo))
Esa__ has joined #lisp
<aeth>
someone mentioned a similar example with $ iirc, but that makes it look a lot more intentional, while in reality, there might be 12 different names, and it just happens that foo shows up twice or thrice in a row
jprajzne has quit [Remote host closed the connection]
jprajzne has joined #lisp
<lotuseater>
jmercouris and one day wipe javascript and make CL the native browser language :D
<cl-arthur>
jmercouris: quick delivery's a good selling point XD
<Fade>
when did hextream become the new gavino?
Cymew has joined #lisp
<ck_>
I think it's an adventure many years in the making
hnOsmium0001 has joined #lisp
<phoe>
at least five
<Fade>
we're a small community. that behaviour represents too much entropic cost. :/
* edgar-rft
prefers to compose-curry-sausage
Aurora_v_kosmose has quit [Remote host closed the connection]
enrio has joined #lisp
Aurora_v_kosmose has joined #lisp
<Fade>
congratulations on your book, phoe. I've ordered my copy, and look forward to reading it over christmas.
<phoe>
Fade: <3
momus has quit [Ping timeout: 260 seconds]
<phoe>
hope it serves you
<Fade>
I'm sure it will.
momus has joined #lisp
EvW has joined #lisp
momus has joined #lisp
momus has quit [Changing host]
Steeve has quit [Quit: end]
enrio has quit [Remote host closed the connection]
Lycurgus has joined #lisp
enrio has joined #lisp
Steeve has joined #lisp
andreyorst has joined #lisp
<mseddon>
ooh yes, very much looking forward to my copy. Thanks again phoe!
Cymew has quit [Ping timeout: 240 seconds]
<gendl>
Hi, has anyone used the :stripe system as currently available in Quicklisp?
<gendl>
The documentation seems a bit sparse. At least an example or two would be helpful.
<mfiano>
jmercouris and I have used it in a commercial project. Other than that, probably not
<gendl>
mfiano: ah, there you are - you're the author, right?
<gendl>
The CLF has a rudimentary payments webapp where we have our own half-assed stripe interface intertwined into it (only for single transactions).
<mfiano>
Yes, it was developed at a time when I needed such a thing for a commercial project, and didn't document it because of time concerns. I have not used it since, but it was used successfully in a large commerical application.
<gendl>
Now we want to add subscription capability and i'm ready to rip out our half-baked stripe interface code and try to use your :stripe package... I'm also open to adding to the README.md
<gendl>
would you consider coaching me through getting started? I can show you what we are doing currently which will probably give you a good laugh as well (hopefully not nightmares)
<gendl>
this is for a Common Lisp Foundation effort.
<mfiano>
Sadly, I think all that knowledge has slipped my mind. But if jmercouris approves, I could publicize snippets of proprietery code, as that project dissolved.
<mfiano>
I would need his written permission though, as I signed an NDA :)
<gendl>
That could well be useful. I will not object if you want to reach out and ask him 🙏.
<gendl>
so you were using it to do subscriptions, right? I see subscription.lisp and subscription-item.lisp.
<mfiano>
subscriptions, coupons, etc
<mfiano>
we used a good portion of the api
<mfiano>
as far as i remember the stripe library covered the entire api at the time i wrote it
<exit70[m]>
hi, lisp newbie, looking for a native cl on apple m1. so far I found sbcl and ccl needs porting. ecl looks kinda portable but i got error at configure stage. clisp requires porting in libsigsegv.
enrio has joined #lisp
<shka_>
exit70[m]: lisp on arm is not in the ideal spot
<shka_>
SBCL
<shka_>
well, you know SBCL status
<shka_>
exit70[m]: perhaps you can take a look at the ABCL? It runs on the JVM so it is bound to work (I HOPE!)
<shka_>
i can't check myself, no mac here, and no m1 either
<shka_>
sadly
<shka_>
ECL should work, but i have no idea what you need to do to actually run it on the OSX
<shka_>
if you post configuration errors, maybe we can figure this out
Alfr has joined #lisp
Jeanne-Kamikaze has joined #lisp
<exit70[m]>
openjdk does not work on m1 mac right away yet. give me a second to post the ecl configure log
<shka_>
oh, i didn't knew it
<astronavt>
does anyone have experience here using CFFI to write bindings to libraries that depend on GLib? i've worked through the CFFI tutorial that uses curl to download a URL, but i'm not sure how to proceed in this more-complicated case
surabax has quit [Quit: Leaving]
Alfr_ has quit [Ping timeout: 260 seconds]
<astronavt>
specifically i was hoping to write an application that uses libnotify
<astronavt>
im not sure honestly. the docs for libnotify file:///usr/share/gtk-doc/html/libnotify/libnotify-notify.html show that it uses types like gboolean
<astronavt>
ive never worked with glib or gtk before
<shka_>
astronavt: not sure, but it looks like vanilla C
<shka_>
gboolean is just int
<astronavt>
thats good
<astronavt>
looks like their GList is also just a struct
<gendl>
mfiano: 👍🙏
<shka_>
exit70[m]: i think that you are out of luck here until GCC gets m1 support
<astronavt>
so i'd just use defctype or define-foreign-type on the few specific glib things i need, and then go from there making bindings to libnotify?
EvW has quit [Ping timeout: 260 seconds]
<shka_>
astronavt: i don't know for sure, but i guess the answer is yes
<astronavt>
ok, at least i can start there
<astronavt>
thanks. will report back when i inevitably break everything :P
<shka_>
born optimist
<fiddlerwoaroof>
exit70[m]: I've gotten abcl and lispworks to work
<fiddlerwoaroof>
You have to use the zulu openjdk, which is the only arm64 JDK I can find atm
<fiddlerwoaroof>
I started working on porting sbcl, but it's not really my specialty
lotuseater has quit [Ping timeout: 245 seconds]
<shka_>
fiddlerwoaroof: awesome that you managed to get some lisp running anyway
<exit70[m]>
I see. Thanks! I think most people simply use rosetta homebrew for now but I'm just curious about how many packages would not work natively.
<fiddlerwoaroof>
I did manage to do a bunch of the porting work, I'm just stuck on an error with mmap
<fiddlerwoaroof>
(and I'm sure there's more subtle issues too, haven't gotten something that even gets to a REPL yet)
<fiddlerwoaroof>
I fixed the error in the snippet :)
<fiddlerwoaroof>
"fixed", at least
<exit70[m]>
fiddlerwoaroof: bookmarked. fwiw there is windows on arm64 these days as well
<fiddlerwoaroof>
Yeah, I try to avoid using windows
ex_nihilo has quit [Ping timeout: 264 seconds]
<exit70[m]>
haha I was like that too. the arm64 devices are kinda nice though as they are fanless. and they run x86 applications like a real celeron (or slower)
<fiddlerwoaroof>
Apple's arm64 devices blow even relatively high-end x86 computers out of the water.
<fiddlerwoaroof>
At least on some benchmarks
<iarebatman>
lol this is super frustrating.. I'm pretty sure I need to compile a CL environment within msys2 to get things going. I've tried sbcl, ccl, and ecl. All fail to compile with various issues.
kaftejiman_ has joined #lisp
kaftejiman has quit [Ping timeout: 256 seconds]
<fiddlerwoaroof>
iarebatman: what's the context?
<fiddlerwoaroof>
Ah, nvm just didn't read far enough up
<fiddlerwoaroof>
Good luck :)
<iarebatman>
lol thanks
<iarebatman>
I figured at least one of those 3 popular implementations would 'just work' - but no.
<fiddlerwoaroof>
I wonder how much CL is used on Windows
iskander- has quit [Ping timeout: 246 seconds]
iskander has joined #lisp
<iarebatman>
apparently not as much as on other platforms
<fiddlerwoaroof>
My general impression is that implementation developers don't really use it as their primary platform
<iarebatman>
I'm probably just asking for trouble by even attempting to use it for actual business use-cases and should just do something else.
<fiddlerwoaroof>
Lisworks/Allegro probably are more reliabl on Windows
<fiddlerwoaroof>
And they'll have commercial support
<iarebatman>
Well here's the thing TBH.. I can download sbcl binaries and they work fine on windows.. I can get the development environment setup just fine..
<iarebatman>
but as soon as I need to say, use :cl-rabbit or :cl-rdkafka?
<iarebatman>
nope.
<fiddlerwoaroof>
For kafka, I'd use abcl
<iarebatman>
they assume gcc is setup like it is on linux and I've got libs & headers ready for it to do some stuff with.
liberliver has quit [Ping timeout: 256 seconds]
<fiddlerwoaroof>
In general, for enterprise stuff, the JVM is the way to go
<iarebatman>
/sad panda
<fiddlerwoaroof>
You won't have to reinvent the world to connect to existing systems
<fiddlerwoaroof>
And ABCL (or Clojure) are perfectly good lisps
<iarebatman>
I've not tried abcl yet, but I'm fairly familiar with Clojure.
<iarebatman>
I just didn't like the startup times involved mainly. I know that's a sort of shallow reason, but it bugs me lol.
<fiddlerwoaroof>
Maybe also Corman Lisp? That is/was a windows-first implementation that has been revived recently
kaftejiman__ has joined #lisp
<jmercouris>
mfiano: feel free to publish any snippets as long as you remove identifying information
<jmercouris>
of the client
kaftejiman_ has quit [Ping timeout: 246 seconds]
izh_ has quit [Quit: Leaving]
<jmercouris>
fiddlerwoaroof: I don't think Corman Lisp is a sound reccomendation, I would still suggest SBCL on Windows
<jmercouris>
I would actually not suggest Windows at all for Lisp development though
<fiddlerwoaroof>
Yeah
<fiddlerwoaroof>
I still think that, if you have to connect to something like Oracle or Kafka, ABCL or LispWorks is your best choice
<jmercouris>
I would agree with that
<fiddlerwoaroof>
Unless you like to spend your time debugging the connecting logic
imode has joined #lisp
aeth has quit [Ping timeout: 272 seconds]
aeth has joined #lisp
Lord_of_Life has quit [Excess Flood]
<iarebatman>
Yeah that's unfortunate for me. I'm in a position where it'd probably be frowned upon to require the developer to use linux in order to get things done here.
<exit70[m]>
so Corman Lisp could be built use msvc? let me try if it builds cleanly for arm64 ...
<iarebatman>
I did just manage to get sbcl to compile inside msys2 finally - via roswell. Not sure if that'll magically solve my problems or not yet.
<fiddlerwoaroof>
iarebatman: there's always WSL2
Lord_of_Life has joined #lisp
Lord_of_Life has quit [Changing host]
Lord_of_Life has joined #lisp
<iarebatman>
true. That might end up being the path of least resistance.
<iarebatman>
I mean, I guess besides just giving up and using c# anyway.
<fiddlerwoaroof>
Or implement CL in C# :D
ggole has quit [Quit: Leaving]
<iarebatman>
I've already got too many side projects lol, but I've definitely thought, 'gah! why doesn't this exist yet?'
gareppa has quit [Quit: Leaving]
<iarebatman>
lol scratch that 'sbcl builds on msys2 via roswell' comment. It builds, sort of. segfault immediately upon launching sbcl
<astronavt>
do quicklisp and/or asdf permit creating "environments" local to a project? like how python has venv, and ruby & nodejs/npm by default install packages to an isolated project-specific location
<iarebatman>
I have to do some other work, I'll revisit this later I guess. maybe look at wsl2 or possibly abcl. *sigh*
<fiddlerwoaroof>
astronavt: there's qlot
<astronavt>
ah thank you
<fiddlerwoaroof>
But, I've never felt a need for that, the libraries generally maintain backwards-compatibility pretty nicely
<fiddlerwoaroof>
I wouldn't say the same about python or node
<astronavt>
yeah, i guess its just my instinctive desire in any software dev context now
<fiddlerwoaroof>
Yeah, the issue I have with version pinning is that, if you pin versions, they slowly get out of date
<fiddlerwoaroof>
And, eventually rather than relatively small version updates, you have a three-week+ project
<fiddlerwoaroof>
So, there's a trade-off hee
<fiddlerwoaroof>
*here
<astronavt>
yeah, usually i dont pin specific versions. it's moreso that i'd like to keep libraries for one project separated from other projects
<astronavt>
i am also starting to learn about / read about ASDF and i'm a bit confused - does it expect me to put all of my lisp source code in a few specific places?
<fiddlerwoaroof>
You can configure its search path
<fiddlerwoaroof>
You can also do (asdf:load-asd "/path/to/foo.asd")
<astronavt>
im having nightmare flashbacks to $GOPATH :(
<fiddlerwoaroof>
which is what I always do
<fiddlerwoaroof>
One issue with venvs in lisp is that I don't normally restart my lisp when I switch projects
<astronavt>
interesting
<fiddlerwoaroof>
My REPL will run for days, weeks or months
<astronavt>
again maybe this is very un-lisp of me, but i definitely want to do a clean restart and re-run from scratch now and then
<fiddlerwoaroof>
until I accidentally crash it or restart my compuer
<fiddlerwoaroof>
I used to do that all the time, these days I rely on CI to make sure that my systems can be reloaded from scratch
<astronavt>
ive just had too many bad experiences in jupyter notebooks with losing track of what i defined and encountering subtle bugs as a result
<fiddlerwoaroof>
In lisp, your reset button is (delete-package :foo) and then reload things
<astronavt>
true
<fiddlerwoaroof>
There are a couple edge cases, but it works pretty well
<fiddlerwoaroof>
Especially if you avoid toplevel side effects in your source code
<astronavt>
i definitely do :)
<astronavt>
(do avoid them, i mean)
<astronavt>
it looks like qlot will take care of all the asdf path stuff anyway
<astronavt>
so maybe i dont have to mess around too much
<astronavt>
thanks for the pointer
luni has joined #lisp
devon has joined #lisp
cosimone has joined #lisp
<shka_>
astronavt: CL with slime is actually really nice for things you would typically use jupyter for
<shka_>
you don't have nice graphics, but i can live with that
Lycurgus has quit [Ping timeout: 260 seconds]
cosimone has quit [Quit: cosimone]
jeosol has quit [Remote host closed the connection]
enrio has quit [Ping timeout: 240 seconds]
EvW has joined #lisp
Jesin has quit [Quit: Leaving]
jprajzne_ has joined #lisp
jprajzne has quit [Read error: Connection reset by peer]
jprajzne_ is now known as jprajzne
gareppa has joined #lisp
jprajzne has quit [Client Quit]
Jesin has joined #lisp
jprajzne has joined #lisp
surabax has joined #lisp
shka_ has quit [Ping timeout: 240 seconds]
oni-on-ion has quit [Read error: Connection reset by peer]
oni-on-ion has joined #lisp
jprajzne has quit [Quit: jprajzne]
jprajzne_ has joined #lisp
jprajzne_ is now known as jprajzne
jprajzne has quit [Client Quit]
jprajzne has joined #lisp
andreyor1 has quit [Quit: WeeChat 3.0]
aorst has joined #lisp
Esa__ has quit [Remote host closed the connection]
Steeve has quit [Quit: end]
jeosol has joined #lisp
gioyik has quit [Quit: WeeChat 3.0]
matta has quit [Ping timeout: 240 seconds]
cosimone has joined #lisp
narimiran has quit [Quit: leaving]
andreyorst has quit [Ping timeout: 260 seconds]
aartaka has quit [Read error: Connection reset by peer]
aartaka_d has joined #lisp
aorst is now known as andreyorst_
Lycurgus has joined #lisp
shifty has joined #lisp
yitzi has joined #lisp
rpg has joined #lisp
bilegeek has joined #lisp
ebrasca has quit [Remote host closed the connection]
Jesin has quit [Quit: Leaving]
Xach has quit [Ping timeout: 240 seconds]
Xach has joined #lisp
gareppa has quit [Quit: Leaving]
<fiddlerwoaroof>
shka_: who says "you don't have nice graphics" :)
<exit70[m]>
is there a workflow that uses org-mode and cl together?
<jeosol>
When working with macros, is it a 'code smell' to be use 'eval' (albeit sparingly) or its ok
<phoe>
depends
<lotuseater>
exit70[m] literate programming?
<phoe>
there are very few specific use cases where eval might be required, such as with constantp values
<phoe>
but usually you don't need those
<exit70[m]>
lotuseater: maybe but I have not dived into that
<jeosol>
phoe: I have been using lots of macros to reduce and typing. Definitely provides more clarity with lots of the calculation happening behind the scenes in the automatically generated functions.
varjag has joined #lisp
<jeosol>
when getting the value of a variable that's constructed from a string, I used eval there ....?
<lotuseater>
but as far as I'm concerned you can't use SLIME features from org
<phoe>
jeosol: wait a second
<phoe>
show me your code
<jeosol>
it works that way;
<phoe>
please use a pastebin if it's a large function
<jeosol>
let me post a section of it;
<jeosol>
phoe: no, it's fairly involved, but the section is messy as I am still debugging it. I can share that part with code
Misha_B has quit [Remote host closed the connection]
<phoe>
jeosol: please do, but maybe someone else may aid you
<phoe>
I must crash asleep now
<jeosol>
no worries, you should get some sleep
pve has quit [Quit: leaving]
luni has left #lisp [#lisp]
momus_ has joined #lisp
momus has quit [Ping timeout: 256 seconds]
<fiddlerwoaroof>
jeosol: I've found it's useful to generate a form that gets the value rather than to try to actually get a value
shifty has quit [Ping timeout: 260 seconds]
<fiddlerwoaroof>
I've found that, in general, stateful macros end up being defficult to maintain
<jeosol>
fiddlerwoaroof: oh men ....; I am doing a refactor to automate a lot of things I do by hand.
shifty has joined #lisp
<jeosol>
fiddle...: can you explain your first statement
momus_ has quit [Read error: Connection reset by peer]
momus has joined #lisp
<fiddlerwoaroof>
So, instead of doing something like `(foo ,(eval some-macro-arg))
jprajzne has quit [Quit: jprajzne]
<jeosol>
fiddle: btw, what I mean was, say I create variable from a string name (interned, etc) and assigned a value to it. To retrieve the value I did (eval (get-parameter-name name))
<fiddlerwoaroof>
I think you should pastebin the code so I can see more context
<jeosol>
fiddle: oh I see what you mean.
<jeosol>
Let me post it and get some feed back... on the section
<fiddlerwoaroof>
My early macros used eval, but as I've used lisp I've found ways around most of those use-cases
<fiddlerwoaroof>
I think there are a couple of exceptions for some advanced CLOS stuff: but, even there, (compile nil `(lambda ()...)) is often better
momus has quit [Read error: Connection reset by peer]
matta has quit [Ping timeout: 265 seconds]
oni-on-ion has quit [Read error: Connection reset by peer]
oni-on-ion has joined #lisp
momus has joined #lisp
Jeanne-Kamikaze has quit [Ping timeout: 240 seconds]
pfdietz has quit [Remote host closed the connection]
dyelar has quit [Quit: Leaving.]
lotuseater has quit [Ping timeout: 245 seconds]
<fiddlerwoaroof>
So, this is a case where your macro that wants the value of *test-property* should probably just expand to *test-property*
kaftejiman__ has quit [Remote host closed the connection]
<jeosol>
Basically, I am going to use *test-property* as an argument to a function. So now I do (some-function (eval (make-property-name "test")))
kaftejiman__ has joined #lisp
tempest_nox has joined #lisp
matta has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
dbotton has joined #lisp
asdflkj has joined #lisp
gproto23 has quit [Ping timeout: 256 seconds]
aartaka has quit [Ping timeout: 260 seconds]
macdavid313 has joined #lisp
leo_song has joined #lisp
aeth has quit [Ping timeout: 256 seconds]
shifty has quit [Ping timeout: 264 seconds]
shifty has joined #lisp
aeth has joined #lisp
hendursa1 has quit [Quit: hendursa1]
aartaka has joined #lisp
hendursaga has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
shifty has quit [Ping timeout: 272 seconds]
shifty has joined #lisp
orivej has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 28.0.50)]
wsinatra has quit [Quit: WeeChat 3.0]
andreyorst_ has quit [Quit: WeeChat 3.0]
<fiddlerwoaroof>
jeosol: why not have your macro expand to `(some-function ,(make-property-name "test"))?
shifty has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
<fiddlerwoaroof>
When that code eventually gets evaluated, some-function will get the right value of *test-property*
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
gioyik has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
flazh has quit [Ping timeout: 260 seconds]
sjl_ has quit [Ping timeout: 240 seconds]
momus has joined #lisp
momus has quit [Changing host]
<jeosol>
Thanks for that.
<jeosol>
fiddlerwoaroof: I forget to mention that the evaluation I am trying to do is inside another macro -- i get your point about this being nasty
cosimone has quit [Remote host closed the connection]
ealfonso has quit [Ping timeout: 264 seconds]
Lycurgus has quit [Quit: Exeunt]
torbo has joined #lisp
<White_Flame>
jeosol: if you want the value at compile-time, then that's likely wrong, unless you're absolutely certain that the property has been set before compiletime
<White_Flame>
and even then, you probably want SYMBOL-VALUE, not EVAL, to be safe
<White_Flame>
if you want the value at runtime, as above you're still macroexpanding to the symbol to allow that to be evaluated at runtime, so nothing changes if it's 1 macro, a macro that uses another macro in its output, or a macro that needs another macro's expansion at compile-time
random-nick has quit [Ping timeout: 260 seconds]
<jeosol>
White_Flame: no, it's not compile time. I think symbol-value did the trick - I wanted to understand how to do it for one case. It's one macro per se but I am trying to paste the correct variable values during the macroexpanding.
jeosol has quit [Remote host closed the connection]
<White_Flame>
then you really shouldn't need symbol-value in the exeucting macro code at all
jeosol has joined #lisp
<phantomics>
I have a few cases where eval seems unavoidable
<phantomics>
Like I have a function used within a macro to generate code, and that function can take a pathname as one of its parameters
Xach has quit [Changing host]
Xach has joined #lisp
<phantomics>
But it could either be a literal pathname, like #P"/tmp/stuff.txt" or a pathname generated by code like (pathname (format nil "~a/stuff.txt" "/tmp"))
<phantomics>
The function used within the macro will just receive '(pathname (format nil "~a/stuff.txt" "/tmp")) if that's what gets passed to the macro
<phantomics>
So it needs to eval it to load that file
<jeosol>
fiddlerwoaroof, White_Flame: my chrome crapped up, not sure last message got through, but thanks for your brainstorming
<White_Flame>
of course, if it receives (pathname (format nil "~a/stuff.txt" my-dir)) with my-dir as a lexical variable,it wouldn't work
<White_Flame>
jeosol: "no, it's not compile time. ..." is the last I saw
<White_Flame>
phantomics: so yeah, it's best to demand literals in such cases
<jeosol>
haaaa, i need to use something else, maybe emacs; my browser craps up each time
<phantomics>
Yeah, that's a shortcoming, so literals are always preferred in a case like that
shifty has quit [Ping timeout: 260 seconds]
shifty has joined #lisp
<Xach>
phantomics: one common option is to put the code that produces the value you want into the expansion, rather than trying to compute the result at macroexpansion time, defer it to runtime.
<White_Flame>
but if you're generating code from that .txt file, then you'd just be deferring the EVAL until later
<White_Flame>
either EVAL the filename, or EVAL the expansion of the contents; the former is probably safer
<jeosol>
I was saying I was doing have two-levels of the indirection (creating the variable from string and using the value from that variable again ...)
<phantomics>
Yeah, this is for the April APL compiler, the contents of the file would be the code it's going to compile
<White_Flame>
jeosol: but your macro isn't using the value itself, right?
<jeosol>
maybe mine is a bad design, I am trying to construct and paste variable names in the macro and when its run, those variables will have values
<jeosol>
White_Flame: Yes, its not using the value
<White_Flame>
right, so you never have to use EVAL
<White_Flame>
just generate the var's symbol in the output code stream
<jeosol>
White_Flame: Ok, thanks, that makes some sense now
<White_Flame>
s/stream/form/
<jeosol>
I guess what are stateful macros, fiddlerwoaroof alluded to that earlier
pankajsg has joined #lisp
<White_Flame>
and the fun thing that most people have to have an "aha!" moment with is that the value usually doesn't even _exist_ when the macroexpansion code is run ;)
<jeosol>
The refactoring I did has simplified the interface greatly and pushing a lot of the functionality later.
<jeosol>
White_Flame: yeah. That's true. I need to remember that