torbo has quit [Remote host closed the connection]
<astronavt>
does CL have a standardized or otherwise common async framework?
anewuser has joined #lisp
<no-defun-allowed>
cl-async is pretty common
orivej has quit [Ping timeout: 258 seconds]
anewuser has quit [Ping timeout: 246 seconds]
xkapastel has quit [Quit: Connection closed for inactivity]
housel has quit [Ping timeout: 276 seconds]
t58 has quit [Quit: Night]
shrdlu68 has quit [Ping timeout: 258 seconds]
<LdBeth>
Compile to C language can still be fast, if enough optimizations are done at high level, or C unboxed datatypes are directly utilized.
makomo_ has joined #lisp
<mfiano>
Is there any way to have a macro _expand to_ a read-eval form (#.) such that it is evaluated only once _after_ expansion before compile-time?
makomo has quit [Ping timeout: 245 seconds]
<mfiano>
My use case is to allow users to register the file of the DSL they are writing so it can lookup relative assets without requiring the user to fill in a path or have asdf-specific functionality in the codebase, by expanding to something like (setf *foo* #.(or *compile-file-truename* *load-truename*))
<LdBeth>
You can try to write a macro expends to eval-when form
<LdBeth>
And set the variable parameters
<mfiano>
Probably should just use load-time-value maybe
<mfiano>
I'll play around, thanks
parjanya has joined #lisp
nanoz has joined #lisp
alexanderbarbosa has quit [Remote host closed the connection]
semz has quit [Ping timeout: 264 seconds]
semz has joined #lisp
semz has quit [Changing host]
semz has joined #lisp
elderK has quit [Quit: Connection closed for inactivity]
matisch has joined #lisp
srandon111 has quit [Remote host closed the connection]
ebzzry has quit [Quit: WeeChat 2.3]
ebzzry has joined #lisp
<remexre>
is there a way to drop into a REPL at a given point?
<remexre>
specifically, I'm embedding abcl into a larger java application, and wanna be able to drop into a REPL at certain points
<Bike>
your java application will need to support it, then. you know, have a text display and input and stuff
karswell has quit [Read error: Connection reset by peer]
makomo_ has quit [Ping timeout: 248 seconds]
ahungry has joined #lisp
Bike has quit [Quit: Lost terminal]
matisch has quit [Ping timeout: 246 seconds]
elderK has joined #lisp
<beach>
Good morning everyone!
<LdBeth>
morning, beach
anewuser has joined #lisp
dddddd has quit [Remote host closed the connection]
milanj has quit [Quit: This computer has gone to sleep]
<aeth>
LdBeth: My point was that any language on a platform has to be judged as its own language.
chipolux has quit [Quit: chipolux]
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
Inline has quit [Remote host closed the connection]
Inline has joined #lisp
aoeu256 has quit [Read error: Connection reset by peer]
chipolux has joined #lisp
<remexre>
eh, Bike left, but the java app is CLI; the default abcl repl is fine, I just don't know how to call into it "safely"
BugsForDays has quit [Quit: Going offline, see ya! (www.adiirc.com)]
Ricchi has quit [Remote host closed the connection]
igemnace has quit [Quit: WeeChat 2.5]
BugsForDays has joined #lisp
oni-on-ion has quit [Remote host closed the connection]
splittist has quit [Ping timeout: 252 seconds]
splittist has joined #lisp
CEnnis91 has quit [Ping timeout: 252 seconds]
postit has quit [Ping timeout: 252 seconds]
pent has quit [Ping timeout: 252 seconds]
billstclair has quit [Ping timeout: 252 seconds]
jerme_ has quit [Ping timeout: 252 seconds]
bchar has quit [Ping timeout: 252 seconds]
oni-on-ion has joined #lisp
CEnnis91 has joined #lisp
postit has joined #lisp
jerme_ has joined #lisp
bchar has joined #lisp
pent has joined #lisp
billstclair has joined #lisp
cl-arthur has joined #lisp
zotan has quit [Ping timeout: 250 seconds]
zotan has joined #lisp
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
oldtopman has quit [Ping timeout: 248 seconds]
oldtopman has joined #lisp
SaganMan has joined #lisp
BugsForDays has quit [Quit: Going offline, see ya! (www.adiirc.com)]
milanj has joined #lisp
cosimone has joined #lisp
SaganMan has quit [Ping timeout: 272 seconds]
orivej has quit [Ping timeout: 246 seconds]
SaganMan has joined #lisp
mindthelion has quit [Ping timeout: 246 seconds]
vaporatorius has quit [Ping timeout: 246 seconds]
techquila has joined #lisp
mindthelion has joined #lisp
techquila has quit [Ping timeout: 264 seconds]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
nowhere_man has quit [Ping timeout: 272 seconds]
cosimone has quit [Quit: WeeChat 2.4]
nanozz has joined #lisp
vaporatorius has quit [Ping timeout: 246 seconds]
nanoz has quit [Ping timeout: 245 seconds]
cosimone has joined #lisp
cosimone has quit [Quit: WeeChat 2.4]
cosimone has joined #lisp
milanj has quit [Read error: Connection reset by peer]
milanj has joined #lisp
dddddd has joined #lisp
cosimone has quit [Client Quit]
cosimone has joined #lisp
cosimone has quit [Client Quit]
Bike has joined #lisp
milanj has quit [Read error: Connection reset by peer]
milanj has joined #lisp
lnostdal has joined #lisp
wxie has joined #lisp
nowhere_man has joined #lisp
amerlyq has joined #lisp
Inline has quit [Read error: Connection reset by peer]
Inline has joined #lisp
hhdave has joined #lisp
hhdave has quit [Client Quit]
atgreen__ has joined #lisp
nanozz has quit [Ping timeout: 268 seconds]
atgreen_ has quit [Ping timeout: 276 seconds]
cosimone has joined #lisp
SaganMan has quit [Ping timeout: 272 seconds]
cosimone has quit [Quit: WeeChat 2.4]
zaquest has joined #lisp
vaporatorius has joined #lisp
oni-on-ion has quit [Ping timeout: 264 seconds]
orivej has joined #lisp
gareppa has joined #lisp
dgfhdfg has joined #lisp
cosimone has joined #lisp
rozenglass has quit [Remote host closed the connection]
shka_ has quit [Quit: Konversation terminated!]
lnostdal has quit [Ping timeout: 246 seconds]
lucasb has joined #lisp
gareppa has quit [Quit: Leaving]
shka_ has joined #lisp
ptiyoyip has joined #lisp
dgfhdfg has quit [Ping timeout: 244 seconds]
shka_ has quit [Client Quit]
shka_ has joined #lisp
orivej has quit [Ping timeout: 248 seconds]
atgreen__ has quit [Remote host closed the connection]
atgreen__ has joined #lisp
FreeBirdLjj has joined #lisp
t58 has joined #lisp
nowhere_man has quit [Ping timeout: 244 seconds]
kayront has joined #lisp
wxie has quit [Ping timeout: 276 seconds]
kayront has left #lisp ["Leaving"]
orivej has joined #lisp
orivej has quit [Ping timeout: 245 seconds]
cosimone has quit [Quit: WeeChat 2.4]
Arcaelyx has joined #lisp
cosimone has joined #lisp
orivej has joined #lisp
manualcrank has joined #lisp
micro has quit [Remote host closed the connection]
cosimone has quit [Quit: WeeChat 2.4]
Frobozz has joined #lisp
oni-on-ion has joined #lisp
lemoinem is now known as Guest71685
lemoinem has joined #lisp
Guest71685 has quit [Ping timeout: 246 seconds]
micro has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
cosimone has joined #lisp
igemnace has joined #lisp
FreeBirdLjj has quit [Ping timeout: 248 seconds]
nowhere_man has joined #lisp
sepi` has joined #lisp
zooey has quit [Ping timeout: 260 seconds]
cosimone has quit [Ping timeout: 264 seconds]
zigpaw1 has joined #lisp
zigpaw has quit [Ping timeout: 245 seconds]
cosimone has joined #lisp
cosimone has quit [Client Quit]
cantstanya has quit [Ping timeout: 260 seconds]
zooey has joined #lisp
cantstanya has joined #lisp
cosimone has joined #lisp
cosimone has quit [Client Quit]
cosimone has joined #lisp
cartwright has joined #lisp
FreeBirdLjj has joined #lisp
Frobozz has quit [Read error: Connection reset by peer]
cantstanya has quit [Ping timeout: 260 seconds]
FreeBirdLjj has quit [Ping timeout: 268 seconds]
makomo has quit [Quit: WeeChat 2.4]
atgreen has joined #lisp
atgreen__ has quit [Read error: Connection reset by peer]
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
jansc has joined #lisp
nanoz has joined #lisp
Jeanne-Kamikaze has joined #lisp
krwq has joined #lisp
<krwq>
hey guys, I frequently find myself writing macros with following pattern (example oversimplified): https://pastebin.com/yUGJLEdK - is there some easy way so that (declare (ignore ...)) will be moved to the outer scope? I found that I usually have to do this through lambda + funcall which is the solution I'm not a fan of
<Bike>
you could expand to `(defun ,name (,@args &aux (,something (+ 1 3))) ,@body)
atgreen_ has joined #lisp
<semz>
pretty sure that would break when args contains an &aux of its own
atgreen has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #lisp
<semz>
though i suppose nothing would stop him from parsing args on his own and extracting &aux arguments, even if it's a bit ugly
Arcaelyx has quit [Ping timeout: 244 seconds]
<Bike>
it would break. i figured &rest args meant all required, not a lambda list, but eh
FreeBirdLjj has quit [Ping timeout: 244 seconds]
stepnem has quit [Ping timeout: 258 seconds]
<krwq>
Bike: semz: I guess aux would work for most simple cases and for the more comples I guess I'd have to parse the lambda-list and combine passed in aux with my own aux?
metawilm has joined #lisp
<krwq>
s/comples/complex
jansc has quit [Ping timeout: 248 seconds]
gareppa has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
EvW has joined #lisp
Arcaelyx has joined #lisp
cosimone has quit [Quit: WeeChat 2.4]
cosimone has joined #lisp
FreeBirdLjj has joined #lisp
gareppa has quit [Quit: Leaving]
Ni-chan has quit [Ping timeout: 245 seconds]
Ni-chan has joined #lisp
stepnem has joined #lisp
FreeBirdLjj has quit [Ping timeout: 258 seconds]
metawilm has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jansc has joined #lisp
aeth has quit [Read error: Connection reset by peer]
ryufghj has quit [Remote host closed the connection]
ryufghj has joined #lisp
jmercouris has joined #lisp
khisanth_ has quit [Ping timeout: 248 seconds]
Ricchi has joined #lisp
ggole has quit [Quit: Leaving]
colluphid has joined #lisp
<White_Flame>
krwq: you could also have a separate optional macro location for declarations
<colluphid>
What specifically do you love about lisp? I see people rave about how much they love lisp but I'm having trouble getting into it.
<White_Flame>
metaprogramming
<White_Flame>
regularity
<White_Flame>
multi-paradigm
<White_Flame>
compactness
<White_Flame>
(in the large, it's not a code golfing language)
<White_Flame>
and it has all these features while being very fast
<colluphid>
White_Flate: I've seen metaprogramming mentioned a few times. Do you know of any good code examples to get my head around it?
<White_Flame>
have you done any manual metaprogramming/code generation in other languages?
<colluphid>
I have not
<White_Flame>
yeah, it's not done that often in other languages, because it's a massive pain in the neck
<White_Flame>
lisp makes it easy enough that it looks trivial in tutorials, and people tend to ask "what's the point?"
<White_Flame>
but basically, if you've ever wanted to generate/customize code bodies, or insert boilerplate (which could be data setup, or usage contracts & assertions, or register things at compile-time), or be able to pass around bodies of code to insert inside tests without being evaluated first, then tahth sort of thing is really easy inlisp
Lord_of_Life_ has joined #lisp
<White_Flame>
one of the most simple examples is creating intialization data forms
<White_Flame>
in C, for instance, you might have tons of lines #define'ing various names to similarly-shaped stuff
<p_l>
or creating "wrappers" that manage temporary objects for you
<White_Flame>
in Lisp, you could have a basic list of names/numbers, and have a macro expand that out to a list of defconstant forms with all the boilerplate inserted, all in lisp, all inline, all using standard list operations
<White_Flame>
p_l: yeah, you can define custom scopes. C++ RAII does some of that, but in a limited and fairly clunky way
<White_Flame>
as well as Python custom "with" bodies (I forget their name)
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<White_Flame>
since the Lisp generating that code is just normal programming code, you can transform and parameterize the generated source code in any way you want, without being constrained by the RAII/with-management API
khisanth_ has joined #lisp
<p_l>
`with` in various languages tends to be incapable of changing bindings or other bits of environment
<White_Flame>
yep
<p_l>
so you can't make things like CL:WITH-OUTPUT-TO-STRING other than by temporarily replacing a possibly global value (thus not thread-safe)
<White_Flame>
and just for colluphid, a with-output-to-string scope remaps stdout to a string buffer and returns that. And it's fully implementable in a plain user macro, doesn't need any runtime support
jmercouris has quit [Ping timeout: 245 seconds]
<White_Flame>
if you find yourself beating your head against language limitations of any form in other langauges, Lisp is a godsend
<pjb>
krwq: I thought so. I use com.informatimago.common-lisp.lisp-sexp.source-form:parse-body.
<White_Flame>
but if you haven't hit that yet, then it's kind of hard to see the advantages
<colluphid>
huh thats pretty neat, thanks White_Flame and p_L
<White_Flame>
colluphid: oh, another _major_ advantage is the runtime/REPL nature of Lisp
<White_Flame>
you can develop while the program is running, and test function calls immediately