jackdaniel changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook> | Pastebin: <https://plaster.tymoon.eu/> | News: ELS'22 this Monday (2022-03-21), see https://european-lisp-symposium.org
<nij-> Has anyone used this C->CL compiler? Written in its doc is "C memory is backed by regular Common Lisp arrays." .. I wonder if this lowers the performance of the C code?
yauhsien has joined #commonlisp
taiju has joined #commonlisp
<aeth> if you write one, back the memory by static-vectors mwahahaha
<aeth> turn cffi into c
yauhsien has quit [Ping timeout: 272 seconds]
<nij-> aeth is that for me? write what?
<aeth> a C->CL compiler
White_Flame has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
White_Flame has joined #commonlisp
knusbaum has quit [Quit: ZNC 1.8.2 - https://znc.in]
knusbaum has joined #commonlisp
<dbotton> nij- I plan on trying it out at some point to offer the ability (for marketing purposes) to add events in the builder in C :)
<dbotton> You can already add events in JS by using (js-execute target "") in the buidler, and plan also on playing with Python and maybe Basic
azimut has joined #commonlisp
<nij-> What do you mena by "add events in LANG-FOO"?
<nij-> But, in theory.. should that kind of C compiler slower than native C? I mean, Lisp array is a kind of abstraction already.. I'd be surprised if the performance'd be similar.
<White_Flame> casting contents of a byte array into longer ints & floats in standard CL would be slow
<White_Flame> also, you'd need bounds checking on all the time for every "memory" access, unless you're willing to crash or you run a 32-bit C with 4GB allocated
<White_Flame> plus, would have to do weird things with function pointers
<White_Flame> (something which webasm does tackle, though)
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
<nij-> White_Flame hmm not sure what that implies on my question..
<nij-> is https://github.com/vsedach/Vacietis slower than native C?
<dbotton> nij- to clog builder
[deleted] has quit [Read error: Connection reset by peer]
livoreno has joined #commonlisp
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
<dbotton> does anyone know of a pretty printer for HTML in CL?
<dbotton> something like sgml-pretty-print for emacs
<White_Flame> nij-: the original question about what performance might mean if backed with a big numeric array for the memory space
<White_Flame> ah, it explains that it has sizeof 1 for everything, so it's probably an array of type T
<White_Flame> but still, having to bounds check accesses to the memory will add a very fundamental overhead compared to C
tyson2 has quit [Remote host closed the connection]
<White_Flame> it references zeta-c, which was also very slow
nij- has quit [Ping timeout: 244 seconds]
masinter_ has quit [Ping timeout: 244 seconds]
szkl has joined #commonlisp
notzmv has quit [Ping timeout: 255 seconds]
Oladon has joined #commonlisp
pranavats has joined #commonlisp
notzmv has joined #commonlisp
pillton has joined #commonlisp
akoana has quit [Quit: leaving]
paul0 has quit [Ping timeout: 240 seconds]
Oladon has quit [Quit: Leaving.]
waleee has quit [Ping timeout: 268 seconds]
masinter has joined #commonlisp
mrcom has joined #commonlisp
hineios8 has joined #commonlisp
hineios has quit [Ping timeout: 272 seconds]
hineios8 is now known as hineios
igemnace has joined #commonlisp
azimut has quit [Ping timeout: 268 seconds]
azimut has joined #commonlisp
alvaro121_ has joined #commonlisp
alvaro121 has quit [Ping timeout: 268 seconds]
selwyn has quit [*.net *.split]
jackdaniel has quit [*.net *.split]
phadthai has quit [*.net *.split]
Demosthenex has quit [*.net *.split]
jgkamat has quit [*.net *.split]
axel-bee has quit [*.net *.split]
jackdaniel has joined #commonlisp
phadthai has joined #commonlisp
Demosthenex has joined #commonlisp
axel-bee has joined #commonlisp
selwyn has joined #commonlisp
jgkamat has joined #commonlisp
dcx has quit [*.net *.split]
skyl4rk has quit [*.net *.split]
jaimelm_ has quit [*.net *.split]
xantoz has quit [*.net *.split]
energizer has quit [*.net *.split]
micro has quit [*.net *.split]
markasoftware has quit [*.net *.split]
somexis has quit [*.net *.split]
bollu has quit [*.net *.split]
boigahs_ has quit [*.net *.split]
micro has joined #commonlisp
skyl4rk has joined #commonlisp
xantoz has joined #commonlisp
somexis has joined #commonlisp
dcx has joined #commonlisp
markasoftware has joined #commonlisp
energizer has joined #commonlisp
boigahs has joined #commonlisp
jaimelm has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
azimut has quit [Ping timeout: 268 seconds]
pranavats has joined #commonlisp
elderK has quit [Quit: Connection closed for inactivity]
aartaka has joined #commonlisp
taiju has quit [Ping timeout: 240 seconds]
shka has joined #commonlisp
Spawns_Carpeting has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
Spawns_Carpeting has joined #commonlisp
pve has joined #commonlisp
yauhsien has joined #commonlisp
masinter__ has joined #commonlisp
mzan has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
masinter has quit [Ping timeout: 268 seconds]
masinter has joined #commonlisp
masinter__ has quit [Ping timeout: 268 seconds]
mzan has joined #commonlisp
yauhsien has quit [Ping timeout: 268 seconds]
masinter___ has joined #commonlisp
masinter has quit [Ping timeout: 240 seconds]
pranavats has left #commonlisp [#commonlisp]
Jach has quit [Quit: Leaving.]
Jach has joined #commonlisp
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
jealousmonk has quit [Quit: ERC 5.4.1 (IRC client for GNU Emacs 27.1)]
masinter___ has quit [Ping timeout: 268 seconds]
yauhsien has joined #commonlisp
karlosz has quit [Quit: karlosz]
yauhsien has quit [Ping timeout: 252 seconds]
MajorBiscuit has joined #commonlisp
perrierjouet has quit [Ping timeout: 240 seconds]
frgo has joined #commonlisp
Algernon69 has joined #commonlisp
frgo has quit [Remote host closed the connection]
OlCe has joined #commonlisp
perrierjouet has joined #commonlisp
nij- has joined #commonlisp
OlCe has quit [Remote host closed the connection]
frgo has joined #commonlisp
frgo has quit [Ping timeout: 252 seconds]
OlCe has joined #commonlisp
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
frgo has joined #commonlisp
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
Josh_2 has quit [Remote host closed the connection]
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij- has quit [Remote host closed the connection]
frgo has quit [Remote host closed the connection]
totoro has quit [Quit: ZNC 1.8.2 - https://znc.in]
frgo has joined #commonlisp
frgo has quit [Read error: Connection reset by peer]
totoro has joined #commonlisp
yauhsien has joined #commonlisp
lisp123 has joined #commonlisp
<lisp123> A couple of things I wanted to ask
<lisp123> 1) Does anybody find Maxima's API a bit strange? Wasn't straight forward to follow
<lisp123> 2) I've been doing a thought experiment to add metadata to lists .. e.g. let "x" be of type car, then undertaking a series of transforms that maintains type, e.g. (f (g (h (i (j x))))) should have type car
<lisp123> however its annoying to recurse down every time, so I've been modelling such data as CLOS with 2-slots - 1 the transformation (above) and 2 the type of the transformation (car)
<lisp123> Has anyone done something similar / thought about something similar & has recommendations
<jackdaniel> I think that "of type car" is quite ambiguous in the context of list, I had to read whole thing twice before I've realized that you mean a vehicle, not the first element of the list
<lisp123> oops
<jackdaniel> if you model a function then why not make it a funcallable (and not a standard class)?
<jackdaniel> then you could (setf (fdefinition f) #<the-funcallable>) and (f x); what's more, (reader #'f)
<flip214> lisp123: isn't that just a kind of type-annotation or -derivation of functions?
<lisp123> flip214: yes. noting that if y is a bus then (f (g (h (i (j y))))) is of type bus
<flip214> if #'j takes a type C and F returns a type C, and the argument/return types inbetween are compatible, that's what you expect?
<lisp123> jackdaniel: Don't quite follow as I'm not too close to the concept of funcallables
<flip214> well, SBCLs type derivation has improved recently... perhaps with sb-ext:*derive-function-types* and sb-introspect:function-type you can derive the output type of that chain already
<lisp123> I see
<lisp123> Stepping back a bit, the key thing I want to hone in on is the concept of adding "metadata to lists". Lists as recursive structure provide a lot of benefits, but at the same time cannot hold as much information as other structures
Inline has joined #commonlisp
yauhsien has quit [Ping timeout: 245 seconds]
<lisp123> For example, if I look at the rope data structure, which I'm not close to at all and could be completely mistaken, it holds metadata about the underlying string by having each leaf hold a string and a length
<lisp123> So I guess one of the questions is do people somewhat commonly look to add metadata to lists and anything of note in this topic area. It seems sensible to me to add in type information whilst constructing lists, so that later when they are reused, that information is already there
<lisp123> In some ways its just a form of memoization I guess
Algernon69 has quit [Quit: Leaving]
Algernon69 has joined #commonlisp
Josh_2 has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
Algernon69 has quit [Ping timeout: 264 seconds]
pillton has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.1)]
azimut has joined #commonlisp
<phantomics> Has anyone used cl-flamegraph lately? It seems its dependencies have been deprecated for a while, at least for SBCL. Trying to load it I get an error saying 'Symbol "MAP-TRACE-SAMPLES" not found in the SB-SPROF package.' and upon review I found that that symbol was removed from sb-sprof several versions of SBCL ago
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
jmdaemon has quit [Ping timeout: 255 seconds]
Oddity has quit [Ping timeout: 268 seconds]
<pjb> (type-of (wheels my-car)) --> car ???
lisp123 has joined #commonlisp
<Josh_2> Crazy wheels for that car
shka has quit [Read error: Connection reset by peer]
shka has joined #commonlisp
tyson2 has joined #commonlisp
<edgar-rft> (wheels-of my-car) => ?
<pjb> edgar-rft: it's expected to return a list of wheels.
<pjb> not a list of cars.
pranavats has joined #commonlisp
<mxben> Author of blog pretends to be someone else to promote himself: https://hn.algolia.com/?query=singaporecode%20ashok%20khanna&type=all
<mxben> Thanks to this author (who is present in this channel too) sending personal insults to me, I am leaving IRC forever. No thanks for this disappointing experience from the author after I joined with IRC eagerness and for expressing eagerness in the author's work.
mxben has quit [Quit: issued !quit command]
Algernon69 has joined #commonlisp
<hayley> "© 2022 Symbolics Pte Ltd All Rights Reserved" An interesting company name.
<drakonis> quite
<drakonis> also a strange license choice
<drakonis> licence
<drakonis> microsoft public license
<drakonis> who does this
<hayley> Using the logo on https://github.com/Symbolics/ also isn't great.
<jackdaniel> I believe that these are two different people; but I don't care enough to pursue the topic. if the accusation of harassment is true - whomever you are please don't do that
<hayley> mxben had brought up this issue in #lispcafe some time ago.
<lisp123> no the guy has some strange stalkerish vibes to me (found out what industry I'm in, for a newcomer, strangely focused on my name, etc.)
<lisp123> Guess I will have to be careful nothing more comes from it. I created a few HN accounts over the years as I kept forgetting my password, and there's a tinge of self promotion, but its hardly much
<hayley> dang's response on HN suggested you used both signaporecode and Lisp-Stat in a short period of time. And if you did forget your password in that time, it's not great to complement yourself that way (though I don't know if you did, so please don't interpret it as me saying you did).
<lisp123> I am not lisp-stat...
<lisp123> I tend to upvote all CL posts and compliment them regardless......lol at getting banned at over that
scymtym has quit [Ping timeout: 244 seconds]
Brucio-61 has quit [Ping timeout: 272 seconds]
<jackdaniel> I've talked with both Steven and lisp123 and they both give very distinct impression, that's why I've said the above
<_death> maybe it's about your first comment.. "I should sponsor the guide's author" (where that author is yourself)
Brucio-61 has joined #commonlisp
Algernon69 has quit [Quit: Leaving]
<_death> "I found online" (where you published it yourself)
gxt_ has quit [Write error: Broken pipe]
azimut has quit [Remote host closed the connection]
<lisp123> shrug
azimut has joined #commonlisp
<lisp123> maybe i was bored, i cant remember what I type always
<lisp123> i've been here two years, i hardly see myself as self promoting
<_death> indeed, this is all offtopic here
gxt_ has joined #commonlisp
<semz> lol
<pjb> In any case, one has to self promote, nobody else will do for you.
<lisp123> well i hope that lisp-stat guy didn't get banned lol, his charts were actually quite good
<lisp123> I might write to them about it
<gin> singaporecode looks fishy to me. the first few comments were complimenting this ashok guy's articles. more comments like that later too. pretending to promote your own work as someone else would be frowned upon in any community, I guess. losing passwords makes sense but losing your identity along with the password and becoming someone else to complement your own work is weird!
<jackdaniel> I think that most people share your sentiment gin; either way let's focus on the channel topic
<lisp123> jackdaniel: I see
<gin> lisp-stat guy seems fine. looks like dang just picked singaporecode's latest comment to warn about their past behavior. there is no direct-messaging facility on hacker news, so that must be a workaround dang chose.
<gin> jackdaniel: oops! sorry. for a moment, i thought this was #lispcafe. but offtopic here and possibly offtopic in #lispcafe too. irc drama after a long time. my apologies
yauhsien has joined #commonlisp
<pjb> gin: if you're a lisper, nothing's off-topic in #lispcafe ;-)
<hayley> Careful: Lisp is off-topic in #lispcafe.
<pjb> hayley: you don't seem to take that much into account anyways.
<gin> lol. glad to know that.
<pjb> And neither does gilbert.
<hayley> pjb: I'll have you know the SBCL GC is written in C, so my rambling is on-topic, thanks.
<drakonis> what makes a lisper?
<pjb> hayley: :-)
<pjb> drakonis: writing lisp code. The more lisp code you write, the more of a lisper you are.
<drakonis> i see
thuna` has joined #commonlisp
<gin> i have sadly been away from Lisp for sometime, so #lispcafe is perfect for me. :D the problem is that nobody in our company works on Lisp and no new hobby projects too right now. so I don't get much of a chance to work on Lisp.
<drakonis> does scheme count :V?
<pjb> There's an alternate path, which is writing lisp implementation (any language goes), but if you don't write some lisp code, you may still be a stranger.
<pjb> gin: one trick is to use emacs, and write some personnal extensions in emacs lisp code.
<White_Flame> lisp123: your annotation actually seems closest to units libraries
<White_Flame> eg, you have 23cm, as you apply functions you still have cm
<pjb> gin: you can do that in any professionnal setting.
<pjb> White_Flame: nope.
<pjb> White_Flame: (surface side) -> (expt cm 2)
<gin> I use emacs. which lisper does not. i should get into the habit of writing my own extensions. great idea that is.
<pjb> White_Flame: or I mean, using Haskell typing notation: (surface side) :: (expt cm 2)
<White_Flame> pjb: I don't see what that has to do with it
gxt_ has quit [Remote host closed the connection]
<pjb> gin: sometimes, you can write a lot of (emacs) lisp code on the job, eg. if you generate code for your job project from emacs lisp.
<pjb> White_Flame: the result type doesn't depend on the input, it depends on the function!
<White_Flame> obviously, that's not what he was talking about
<White_Flame> eg, if starting with a car (vehicular), concatenate them into a train etc would be possible
<pjb> Right.
<White_Flame> but still the type of annotation in his idea seems affixed to values in the same way that units libraries affix their unit
<lisp123> White_Flame: Yes
<_death> personally I associated it with the Layered Data chapter in Software Design for Flexibility
yauhsien has quit [Ping timeout: 272 seconds]
<pjb> Just define a class for magnitudes with units and define arithmetic operators on them. Have a look at this example (for monetary amounts in a given currency, but it's the same principle): https://gitlab.com/com-informatimago/com-informatimago/-/blob/master/common-lisp/invoice/invoice.lisp#L177
gxt_ has joined #commonlisp
<pjb> lisp123: ^
<lisp123> pjb: Thanks, I was thinking something very similar
<lisp123> The currency slot is kept through the operations yes?
<_death> line 2315 looks weird
<lisp123> pjb: yes, that's exactly what I'm after
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
livoreno has quit [Ping timeout: 255 seconds]
livoreno has joined #commonlisp
<lisp123> Is there a way to specialise a defgeneric, similar to the following: (defgeneric (item1 item2)) then defmethod where item1 and item2 are of the same class?
<pjb> lisp123: indeed, each operation checks the units of the arguments for consistency, and compute the unit of the result and the magnitude of the result.
<pjb> lisp123: better use normalized units. eg. meter instead of centimeter.
<pjb> lisp123: a unit can also be a standard-class, if you have appropriate operations.
<lisp123> pjb: I see, that makes sense
<pve> Hi, in playing around some more with my compute-with-arrows macro, I decided to add operations for accessing properties of objects.
<pve> One operation uses the "of" symbol which allows for typing .. name of person <- "Peter" ...
<pve> The other operation uses the form "'s", which allows for typing .. person's name <- "Peter" ...
<pve> However, it occurs to me that forms inside the "compute" forms might also use the "of" symbol.
<pve> At least I think loop uses "of".
<pjb> pve: but the scope should be clear.
<pjb> pve: loop has a syntax.
<pve> So I think I should macroexpand inner forms before walking them..
<pjb> pve: you can always use progn.
<pjb> pve: (compute-with-arrows (loop for person in persons collect (progn name of person)))
<pjb> assuming compute-with-arrows uses code walking to perform deep syntax substitution.
<pjb> pve: otherwise, you can use a macrolet: (compute-with-arrows (loop for person in persons collect (with-arrows name of person)))
<pve> pjb: yes, it does "dumb" walking
<pjb> in that case define a macrolet in the expansion to go back to with-arrows syntax.
<pve> but I was thinking of the case (compute ... (loop for x being each hash-key of my-table ...))
<pve> it will walk the loop form and happily substitute the "of"
<pve> so my hope is that macroexpanding loop first might resolve this
<pjb> pve: you should macroexpand the loop before code walking it.
<pve> yes!
<pjb> Indeed, it will.
<pve> pjb: thank you
<_death> it won't solve it in the general case
<pve> _death: yeah, I would not assume so
<pve> The new stuff is after the line ';; Accessing using "of"' in case anyone wants to have look :)
<_death> (let ((of (make-hash-table))) (loop for of being each hash-key of of collect of))
<White_Flame> why not (loop with of = (make-hash-table) ...) ?
<White_Flame> just to rake it through the muck even more ;)
<_death> just my style.. I often prefer to limit the complexity of my loop forms
<pve> _death: sure, I can't bind the "keywords" inside the compute form. I use M-x highlight-regexp to remind myself of this.
<pjb> just see: (macroexpand '(loop with of = (make-hash-table) for of being each hash-key of of collect of))
<pve> pjb: my macro will look for binop patterns like "a op b", so in the case of loop I should be alright?
<pve> after macroexpansion, that is
<pve> hmm, or I guess I can't be sure..
<pve> because it could conceivably expand into (let (a of b) ... )
pranavats has left #commonlisp [Error from remote client]
pranavats has joined #commonlisp
<pjb> yes, after macroexpansion.
<pjb> you also need to process special operator specially.
ebrasca has joined #commonlisp
dlowe has quit [Read error: Connection reset by peer]
dlowe has joined #commonlisp
frgo has joined #commonlisp
waleee has joined #commonlisp
<pve> the macrolet looks like the proper approach, I probably should do that
mbrndtgn has quit [Quit: Bye!]
dBc has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
Catie has quit [Quit: switching clients]
Catie has joined #commonlisp
<pve> Actually, since the forms can macroexpand into basically anything, doesn't it make sense to *not* macroexpand, so the programmer (i.e. me) can visually inspect the code for potential interference with other macros?
<pve> Not that it's a particularly good solution, but still
<pve> highlighting the operators in emacs helps quite a bit
rogersm has joined #commonlisp
torbo has joined #commonlisp
recordgroovy has quit [Quit: me_irl]
<pjb> pve: if you use a macrolet, then you can avoid macroexpanding, and only process "toplevel" forms.
causal has joined #commonlisp
<pjb> pve: something like: https://termbin.com/uqz9 ; you can explicitely pass the env when the defmacro augments the environment (if you need to pass data from with-foo to foo, you can do it thru the environment by declaring local macros, or local symbol-macros.
<pjb> )
<pve> pjb: yep, thanks
waleee has quit [Ping timeout: 240 seconds]
zachel_ has joined #commonlisp
zachel has quit [Ping timeout: 240 seconds]
beach` has joined #commonlisp
beach has quit [Killed (NickServ (GHOST command used by beach`!~user@2a01:cb19:150:3400:5bdc:8dc5:9f7e:d578))]
beach` is now known as beach
scymtym has joined #commonlisp
NotThatRPG has joined #commonlisp
thuna` has quit [Ping timeout: 252 seconds]
nij- has joined #commonlisp
analogsalad has joined #commonlisp
torbo has left #commonlisp [ERC 5.4 (IRC client for GNU Emacs 28.1)]
anticomputer has quit [Remote host closed the connection]
frgo has quit [Read error: Connection reset by peer]
anticomputer has joined #commonlisp
MajorBiscuit has quit [Ping timeout: 245 seconds]
orestarod has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
masinter has joined #commonlisp
frgo has joined #commonlisp
thuna` has joined #commonlisp
cosimone has quit [Read error: Connection reset by peer]
dBc has quit [Quit: leaving]
Oladon has joined #commonlisp
Schnouki has quit [Remote host closed the connection]
chiheisen has quit [Remote host closed the connection]
ardon has quit [Remote host closed the connection]
sirufer has quit [Remote host closed the connection]
artyn has quit [Remote host closed the connection]
mcoll has quit [Remote host closed the connection]
alethkit has quit [Remote host closed the connection]
jasom has quit [Remote host closed the connection]
\f has quit [Remote host closed the connection]
sm2n has quit [Remote host closed the connection]
axvr has quit [Remote host closed the connection]
theothornhill has quit [Write error: Connection reset by peer]
whereiseveryone has quit [Remote host closed the connection]
payphone has quit [Write error: Connection reset by peer]
hannibal_ad_port has quit [Remote host closed the connection]
ggb has quit [Remote host closed the connection]
srhm has quit [Write error: Connection reset by peer]
nytpu has quit [Remote host closed the connection]
ardon has joined #commonlisp
jasom has joined #commonlisp
ggb has joined #commonlisp
sirufer has joined #commonlisp
Schnouki has joined #commonlisp
\f has joined #commonlisp
sm2n has joined #commonlisp
chiheisen has joined #commonlisp
axvr has joined #commonlisp
payphone has joined #commonlisp
alethkit has joined #commonlisp
srhm has joined #commonlisp
hannibal_ad_port has joined #commonlisp
mcoll has joined #commonlisp
nytpu has joined #commonlisp
artyn has joined #commonlisp
payphone has quit [Remote host closed the connection]
artyn has quit [Remote host closed the connection]
sm2n has quit [Remote host closed the connection]
ardon has quit [Remote host closed the connection]
sirufer has quit [Remote host closed the connection]
hannibal_ad_port has quit [Remote host closed the connection]
srhm has quit [Remote host closed the connection]
chiheisen has quit [Remote host closed the connection]
ggb has quit [Remote host closed the connection]
Schnouki has quit [Remote host closed the connection]
\f has quit [Remote host closed the connection]
alethkit has quit [Remote host closed the connection]
axvr has quit [Remote host closed the connection]
jasom has quit [Remote host closed the connection]
mcoll has quit [Remote host closed the connection]
nytpu has quit [Remote host closed the connection]
ardon has joined #commonlisp
Schnouki has joined #commonlisp
whereiseveryone has joined #commonlisp
jasom has joined #commonlisp
ggb has joined #commonlisp
Schnouki has quit [Changing host]
Schnouki has joined #commonlisp
ardon has quit [Changing host]
ardon has joined #commonlisp
mcoll has joined #commonlisp
theothornhill has joined #commonlisp
chiheisen has joined #commonlisp
srhm has joined #commonlisp
nytpu has joined #commonlisp
payphone has joined #commonlisp
axvr has joined #commonlisp
sirufer has joined #commonlisp
artyn has joined #commonlisp
hannibal_ad_port has joined #commonlisp
sm2n has joined #commonlisp
alethkit has joined #commonlisp
morganw has joined #commonlisp
\f has joined #commonlisp
tyson2 has joined #commonlisp
pjb has quit [Read error: Connection reset by peer]
pjb has joined #commonlisp
nij- has quit [Remote host closed the connection]
cosimone has joined #commonlisp
pjb has quit [Ping timeout: 240 seconds]
pjb has joined #commonlisp
alethkit has quit [Remote host closed the connection]
sirufer has quit [Remote host closed the connection]
chiheisen has quit [Remote host closed the connection]
Schnouki has quit [Remote host closed the connection]
payphone has quit [Remote host closed the connection]
artyn has quit [Remote host closed the connection]
sm2n has quit [Write error: Connection reset by peer]
hannibal_ad_port has quit [Write error: Broken pipe]
mcoll has quit [Write error: Broken pipe]
ardon has quit [Remote host closed the connection]
ggb has quit [Write error: Broken pipe]
whereiseveryone has quit [Remote host closed the connection]
theothornhill has quit [Write error: Broken pipe]
\f has quit [Remote host closed the connection]
axvr has quit [Remote host closed the connection]
jasom has quit [Remote host closed the connection]
srhm has quit [Write error: Broken pipe]
nytpu has quit [Remote host closed the connection]
pjb is now known as Guest8327
sirufer has joined #commonlisp
ardon has joined #commonlisp
ggb has joined #commonlisp
Schnouki has joined #commonlisp
whereiseveryone has joined #commonlisp
jasom has joined #commonlisp
sm2n has joined #commonlisp
axvr has joined #commonlisp
srhm has joined #commonlisp
payphone has joined #commonlisp
\f has joined #commonlisp
hannibal_ad_port has joined #commonlisp
mcoll has joined #commonlisp
alethkit has joined #commonlisp
artyn has joined #commonlisp
chiheisen has joined #commonlisp
nytpu has joined #commonlisp
theothornhill has joined #commonlisp
Guest8327 has quit [Remote host closed the connection]
Dynom_ has joined #commonlisp
Dynom_ is now known as Guest6909
cage has joined #commonlisp
Oladon has quit [Quit: Leaving.]
frgo has quit [Remote host closed the connection]
btach has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
gxt_ has quit [Ping timeout: 268 seconds]
gxt_ has joined #commonlisp
dtman34 has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
dtman34 has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 276 seconds]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life_ is now known as Lord_of_Life
tyson2 has joined #commonlisp
frgo has joined #commonlisp
frgo has quit [Remote host closed the connection]
aartaka has quit [Ping timeout: 268 seconds]
aartaka has joined #commonlisp
frgo has joined #commonlisp
nullsh has joined #commonlisp
frgo has quit [Ping timeout: 245 seconds]
waleee has joined #commonlisp
karlosz has joined #commonlisp
karlosz has quit [Client Quit]
jealousmonk has joined #commonlisp
mrcom has quit [Quit: Leaving]
frgo has joined #commonlisp
mrcom has joined #commonlisp
pjb has joined #commonlisp
Psybur has quit [Ping timeout: 268 seconds]
pjb has quit [Ping timeout: 264 seconds]
parjanya has joined #commonlisp
attila_lendvai has joined #commonlisp
jmdaemon has joined #commonlisp
jmdaemon has quit [Remote host closed the connection]
jmdaemon has joined #commonlisp
alvaro121 has joined #commonlisp
alvaro121_ has quit [Ping timeout: 276 seconds]
igemnace has quit [Ping timeout: 272 seconds]
jmdaemon has quit [Quit: ZNC 1.8.2 - https://znc.in]
mrcom has quit [Remote host closed the connection]
Oddity has joined #commonlisp
pjb has joined #commonlisp
<dbotton> If I am passed a function is there a way to determine the number of parameters needed to call that function?
irc_user has joined #commonlisp
<Josh_2> keep calling it until no condition is signalled :joy:
<pjb> dbotton: function-lambda-expression, but it may return nil, so nothing standard. Look in swank for implementation specific functions and portability layer.
<edgar-rft> dbotton: you an try to analyze the return value of FUNCTION-LAMBDA-EXPRESSION but it's allowed to return NIL
<Josh_2> Sounds like my idea isn't so stupid after all :sunglasses:
<edgar-rft> Josh_2: your way doesn't tell if there are &optional &key or &rest parameters
<Josh_2> Well neither does yours if the implementation returns nil in all cases
<pjb> (swank:operator-arglist "OPERATOR-ARGLIST" "SWANK") #| --> "(OPERATOR-ARGLIST name package)" |#
<pjb> (swank/backend:arglist 'sin) #| --> (ccl::x) |#
<pjb> dbotton: ^
<dbotton> thanks
<dbotton> that really should be part of standard (and other introspection functions)
<dbotton> Josh_2 your way may be only truly cross platform way
<Josh_2> :thinking:
<yitzi> Why would you not just parse the lambda list? There are plenty of lambda list parsers out there.
varjag has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
nij- has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
frgo has quit [Ping timeout: 240 seconds]
<pjb> dbotton: introspection is overhead. Not needed in compiled systems runnin on micro-controlers.
<pjb> dbotton: remember, CL is an industrial programming language, specified to be efficient.
<dbotton> you don't have to use
<aeth> in practice
<aeth> you could come up with another solution like &allow-other-keys
frgo has joined #commonlisp
<aeth> or, actually (funcall foo ... :allow-other-keys t)
frgo has quit [Read error: Connection reset by peer]
<aeth> if it's not all functions in general but instead some specific API.
attila_lendvai has quit [Ping timeout: 252 seconds]
<aeth> but without details, there's no way of telling what alternative that CL already has would make more sense for the problem
<aeth> (if any)
Guest6909 has quit [Quit: WeeChat 3.5]
frgo has joined #commonlisp
nij- has quit [Ping timeout: 264 seconds]
morganw has quit [Remote host closed the connection]
frgo has quit [Ping timeout: 240 seconds]
analogsalad has quit [Quit: bye]
frgo has joined #commonlisp
varjag has quit [Ping timeout: 252 seconds]
frgo has quit [Ping timeout: 240 seconds]
frgo has joined #commonlisp
robin has joined #commonlisp
<White_Flame> yitzi: where would you get it from?
<White_Flame> given a function object, and function-lambda-expression returning NIL
dra has joined #commonlisp
<yitzi> I posted a function a bit earlier
frgo has quit [Ping timeout: 264 seconds]
<White_Flame> sorry, missed that. my client has stopped copy/pasting for some reason
<White_Flame> regarding urls
<White_Flame> yitzi: those are reliable then?
<White_Flame> does (debug 0) foil them?
karlosz has joined #commonlisp
karlosz has quit [Client Quit]
karlosz has joined #commonlisp
<yitzi> No idea.
shka has quit [Ping timeout: 245 seconds]
aartaka has quit [Ping timeout: 245 seconds]
frgo has joined #commonlisp
shka has joined #commonlisp
aartaka has joined #commonlisp
frgo has quit [Ping timeout: 240 seconds]
irc_user has quit [Quit: Connection closed for inactivity]
masinter____ has joined #commonlisp
masinter has quit [Ping timeout: 272 seconds]
yauhsien has joined #commonlisp
btach has quit [Quit: Leaving]
yauhsien has quit [Ping timeout: 252 seconds]
pve has quit [Quit: leaving]
gateway2000 has quit [Quit: Leaving]
gateway2000 has joined #commonlisp
masinter has joined #commonlisp
azimut_ has joined #commonlisp
masinter_____ has joined #commonlisp
masinter____ has quit [Ping timeout: 245 seconds]
azimut has quit [Ping timeout: 268 seconds]
masinter has quit [Ping timeout: 245 seconds]
akoana has joined #commonlisp
pillton has joined #commonlisp
danieli has quit [Remote host closed the connection]
danieli has joined #commonlisp
danieli has quit [Read error: Connection reset by peer]
danieli has joined #commonlisp
nij- has joined #commonlisp
thuna` has quit [Read error: Connection reset by peer]
danieli has quit [Read error: Connection reset by peer]
thuna` has joined #commonlisp
danieli has joined #commonlisp
danieli has quit [Remote host closed the connection]
danieli has joined #commonlisp
orestarod has quit [Ping timeout: 240 seconds]
tyson2 has quit [Remote host closed the connection]
mon_aaraj has joined #commonlisp
varjag has joined #commonlisp
pjb has quit [Read error: Connection reset by peer]
mrcom has joined #commonlisp
pjb has joined #commonlisp
varjag has quit [Ping timeout: 245 seconds]
nij- has quit [Read error: Connection reset by peer]
minion has quit [Remote host closed the connection]
specbot has quit [Killed (NickServ (GHOST command used by specbot1))]
specbot has joined #commonlisp
minion has joined #commonlisp
masinter_____ has quit [Ping timeout: 245 seconds]
mrcom has quit [Read error: Connection reset by peer]
mrcom has joined #commonlisp
mrcom has quit [Remote host closed the connection]
mrcom has joined #commonlisp
mrcom has quit [Remote host closed the connection]
mrcom has joined #commonlisp
dra_ has joined #commonlisp
dra has quit [Ping timeout: 240 seconds]
mrcom has quit [Read error: Connection reset by peer]
mrcom has joined #commonlisp
masinter has joined #commonlisp
thuna` has quit [Remote host closed the connection]