Xach 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>
VincentVega has quit [Remote host closed the connection]
random-nick has quit [Ping timeout: 250 seconds]
ec_ has quit [Ping timeout: 276 seconds]
ec_ has joined #commonlisp
khrbt has quit [Ping timeout: 240 seconds]
waleee has quit [Ping timeout: 240 seconds]
waleee has joined #commonlisp
khrbt has joined #commonlisp
peterhil has quit [Ping timeout: 252 seconds]
ec_ has quit [Ping timeout: 276 seconds]
ec_ has joined #commonlisp
igemnace has joined #commonlisp
lisp123 has joined #commonlisp
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
lisp123 has quit [Ping timeout: 250 seconds]
ec_ has quit [Ping timeout: 276 seconds]
Oladon has quit [Quit: Leaving.]
peterhil has joined #commonlisp
beach` has joined #commonlisp
beach has quit [Ping timeout: 240 seconds]
peterhil has quit [Ping timeout: 252 seconds]
akoana has quit [Quit: leaving]
peterhil has joined #commonlisp
attila_lendvai has quit [Ping timeout: 252 seconds]
abrantesasf has quit [Quit: Leaving]
peterhil has quit [Ping timeout: 252 seconds]
amk has quit [Ping timeout: 250 seconds]
amk has joined #commonlisp
hendursaga has quit [Remote host closed the connection]
hendursaga has joined #commonlisp
waleee has quit [Ping timeout: 252 seconds]
beach` is now known as beach
lisp123 has joined #commonlisp
<beach> Good morning everyone!
srhm has joined #commonlisp
lisp123 has quit [Ping timeout: 252 seconds]
<mfiano> Naming things is hard :(
<mfiano> Obligatory something about 3 hard things in CS and the other one is off-by-one errors.
<mfiano> Regarding linear interpolation, and taking alexandria's function as an example, like most implementations, it names the parameters A, B, and V (usually T, but CL be like "nope"). I have an instance that computes and stores in one of its slots this "V" value to be later called. What to name this slot if I want to follow the convention of descriptively naming things...
<edgar-rft> slot-where-v-is-stored :-)
<mfiano> So helpful :)
<edgar-rft> you wanted a descriptive name, now you have one
semz has quit [Ping timeout: 250 seconds]
<edgar-rft> no matter how bad your name is, it will be better than mine
<pillton> Wouldn't it just be the unit it represents? e.g. pixel position, time, angle
<mfiano> This is part of a "clock" class with other "time"-named slots/accessors. This value is stored here based on timing information in the clock, for consumers of this class to use for vector algebra related things
<pillton> Or "the domain" and "a and b" are the range.
<mfiano> Trying to be not so ambiguous here...
<pillton> Yeah so it is whatever the unit of time is.
<mfiano> The unit of time is actually variable, depending on the system.
<mfiano> THere is a slot called units-per-second, which is what the RTC will return
<mfiano> I guess it's similar to g-i-real/run-t
srhm has quit [Quit: Konversation terminated!]
<jcowan> Nobody alive was born in the 19C; the last one died in 2017
<jcowan> (verifiably, anyway)
<mfiano> A few people missed the joke it seems
pillton has quit [Quit: ERC (IRC client for Emacs 27.2)]
semz has joined #commonlisp
<moon-child> mfiano: I wonder why v rather than w
<moon-child> (for 'weighting')
<mfiano> I don't think that's a term common to linear algebra.
<mfiano> It's usually called "v" in math contexts, or "alpha" in color blending...but I don't think I've seen anything else
<mfiano> err "t" in math
<moon-child> yes; as you mentioned it's usually t, but we can't use that in cl. The question is, why choose v?
<mfiano> because they didn't want to shadow T :)
<moon-child> i feel like we're walking in circles
<mfiano> I've seen coefficient and factor used, but they don't sound right at all
<mfiano> in alpha blending, T is typically called the "alpha _v_alue. could be why
<mfiano> Anyway, I wanted to associate the slot with interpolation, since that can't be inferred from the class it is part of. So "interpolation-domain" or "interpolation-value" is good enough
srhm has joined #commonlisp
Oladon has joined #commonlisp
srhm has quit [Quit: Konversation terminated!]
pillton has joined #commonlisp
<moon-child> beach: dpans says: 'The Lisp reader can be used as a lexical analyzer for a more general user-written parser.' I think it's become clear that such advice should be given with caveats or not at all. I know it is not technically its domain, but thoughts on removing that sentence in wscl?
Inline has quit [Quit: Leaving]
<beach> It's true that it doesn't quite belong in a language standard.
<kakuhen> regarding t being taken; in math we would then resort to using τ or a cursive t
<kakuhen> not convenient for typing depending on your keyboard i guess heh
<moon-child> kakuhen: I was considering |t|
lisp123 has joined #commonlisp
Bike has quit [Quit: Lost terminal]
lisp123 has quit [Ping timeout: 244 seconds]
Oladon has quit [Quit: Leaving.]
cjb has quit [Quit: rcirc on GNU Emacs 28.0.50]
<aeth> no
<aeth> maybe in your math
<aeth> ime, it'd just be t* ("t-star")
<aeth> or maybe put a ^ or a - on top but that doesn't really work out well with ASCII
shka has joined #commonlisp
<moon-child> aeth: I was being apocryphal :)
<aeth> but t really is the most unfortunate name conflict in CL because usually when given a numerical algorithm you just keep the letter that everyone else uses because... they're so general, that they don't really stand for anything so variable names don't really apply
<aeth> (sure, in Physics it generally means "time", but that's just one application of the generalized math)
<moon-child> I think you're already giving up quite a lot compared with traditional mathematical notation; the loss of a single variable name pales
<aeth> It matters because it's what every textbook has, so it's what anyone is trained to recognize as the "accepted" variable for a given numerical algorithm. Put differently, you don't need to call pi CL:PI since names are arbitrary, but it helps
<aeth> It's just one variable name conflict, though, so it doesn't make it unrecognizable
<aeth> You could switch to a Scheme reader where t is a new T and #t is CL:T, though (-:
<aeth> It wouldn't confuse people to switch syntax just for one function, right? (-:
<moon-child> ._.
hhdave has quit [Ping timeout: 245 seconds]
<moon-child> spec be like 'A type is a set'
<moon-child> I know I've complained about this before, but I didn't realise the spec did it too
<moon-child> and--I _get_ the choice of terminology, but it's still annoying
gaqwas has joined #commonlisp
Qwnavery has joined #commonlisp
<mfiano> 't' is commonly used in parametric equations, and so much of my math has to have comments to denote the translation
<akater[m]> aeth: I guess I'd shadow t if I had to deal with equations
lisp123 has joined #commonlisp
attila_lendvai has joined #commonlisp
Cymew has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
<lisp123> beach: Good morning, hope you are having a great day
<Colleen> lisp123: derelict said at 2021.08.30 00:22:18: When lisp123 is around again, it would be appreciated if someone could point him at https://pastebin.com/91i5p1fe, he was interested in the implementation. from: VincentV`
gaqwas has quit [Ping timeout: 240 seconds]
amb007 has quit [Ping timeout: 244 seconds]
amb007 has joined #commonlisp
<lotuseater> mfiano: and then you could use the true symbol for T, namely ⊤ :)
<moon-child> haha
<moon-child> may we ⊥ for nil, too?
<lotuseater> yeah why not :)
<lotuseater> top to bottom
<mfiano> NIL is not the bottom type though :)
<lotuseater> oh it's not? ^^
<mfiano> search "Common Lisp"
<lotuseater> i'll do, thx
pillton has quit [Quit: ERC (IRC client for Emacs 27.2)]
<mfiano> It depends how you look at it. CL's type system is a little different than most languages.
<lotuseater> it is
<akater[m]> nil is the least element w.r.t subtype. I don't think this leaves much for interpretation.
<moon-child> I don't see why it shouldn't be a bottom type. But the spec has an interesting example: (subtypep 'nil '(member)) is either true or indeterminate
<lotuseater> uii
<akater[m]> Why would `(subtype nil '(member))` be indeterminate?
<moon-child> oh, because 'subtypep is permitted to return the values false and false when at least one argument involves member'
<moon-child> so it doesn't actually mean anything
<moon-child> sbcl at least thinks it's a bottom type; (subtypep nil '(satisfies f)) is true
<moon-child> ditto ccl, clisp, and abcl
rain3 has joined #commonlisp
cosimone has joined #commonlisp
elf_fortrez has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
loke has quit [Ping timeout: 252 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
elf_fortrez has quit [Quit: Client closed]
pve has joined #commonlisp
peterhil has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
mjoerg has joined #commonlisp
santiagopim has quit [Remote host closed the connection]
mjoerg has quit [Quit: ERC (IRC client for Emacs 27.2)]
hendursa1 has joined #commonlisp
<mfiano> Another name question: Refresh rate, frame rate, etc are the number of x's per unit of time. If refresh rate is 60 for example, then each refresh is 1/60 units of time. If I wanted to name a variable to bind 1/60 to, what would you call such an inverse rate?
hendursaga has quit [Ping timeout: 276 seconds]
<beach> Maybe refresh-period or refresh-interval.
<mfiano> I like period better. Interval can connote a range or such
<mfiano> Thanks
<beach> Sure.
<jdz> Isn't that frequency?
<beach> Rate is the same as frequency.
<jdz> Right.
<mfiano> Yes beach is right. I'm looking for the inverse of frequency, if such a term exists.
* mfiano is not good on terminology
<mfiano> 3rd sentence, beach
<jdz> I just looked at https://en.wikipedia.org/wiki/Frequency, and all of these terms are mentioned there.
<beach> Great!
hhdave has joined #commonlisp
<mfiano> Dumb idea?: (defmacro doc (string) (format nil string)) to prevent #.(format nil "...") with ~#\newline for docstrings that span multiple lines. I don't think I ever had a need for a macro without backtick before...
heisig has joined #commonlisp
silasfox47 has joined #commonlisp
silasfox47 has quit [Client Quit]
<mfiano> I understand this could be a function and called with read-eval syntax, but I prefer the more concise, less noisy call site...thoughts?
VincentVega has joined #commonlisp
<pjb> mfiano: you can also write a reader macros to define docstrings. Note that macros are not evaluated on docstring: if it's a non-string, it's not a docstring.
<mfiano> I don't like altering the readtable because named-readtables or such taints everything all the way down to requiring the consumer of the library to switch back to the standard readtable.
<pjb> mfiano: the readtable used to read the sources is unrelated to the user readtables.
<mfiano> Well, the reason for using a macro was to avoid the extra syntax. I prefer my parens, thanks :)
<pjb> mfiano: you can use a macro (or a function) if you use #. to read a string returned by the operator.
<pjb> eg. #.(doc "foo" "bar" "baz") with new-lines, etc.
<mfiano> I mentioned that above I used a macro to avoid that extra syntaxz
<pve> Is there a problem with docstrings that span multiple lines?
<White_Flame> just indentation gets weird
<pve> oh, you mean it indents subsequent lines to column 0
<beach> pve: You have a choice. Either it looks weird in source code because you have text that starts in column 0, or it looks weird when it is printed because subsequent lines have leading spaces.
d4ryus1 is now known as d4ryus
<beach> pve: By using #.(format nil "...") you can use the tilde-newline FORMAT directive with an @ modifier. Then you can indent subsequent lines in source code, but those lines will not start with whitespace.
Guest24 has joined #commonlisp
<beach> pve: Does that make sense you you?
<beach> *to you
scymtym has joined #commonlisp
<pve> beach: it does, thanks
<beach> Sure.
VincentVega has quit [Read error: Connection reset by peer]
<ecraven> how does CL (specifically swank) interrupt a thread that is working? from what I understand, you can't really interrupt threads normally... does it send a signal to that thread?
<pve> Could one "post-process" docstrings, and replace occurrences of newline-space-space-space with just newline?
<beach> But you don't always want that.
<pve> yeah, I guess not
asarch has joined #commonlisp
<beach> Either way, the entire DOCUMENTATION system is broken. For one thing, it does not allow for internationalization. Furthermore, it does not allow for things like links, semantic markup, etc.
<beach> Luckily, the DOCUMENTATION system is kind of separate from everything else, so providing a separate system for documentation won't hurt.
<mfiano> I think "broken" is the wrong adjective here.
<pve> I guess I meant more of a local post-processing, like for a single project where I "know" the docstrings are safe to mangle.
Cymew has quit [Ping timeout: 245 seconds]
hhdave_ has joined #commonlisp
hhdave has quit [Ping timeout: 245 seconds]
hhdave_ is now known as hhdave
<mfiano> I did pre and post processing of docstrings the other day, albeit in my own macro. They are just strings, and you can use alexandria:parse-body to get at them.
<mfiano> and you can surely use #'(setf documentation), even at runtime, to post-process existing ones.
cosimone has quit [Read error: Connection reset by peer]
<lotuseater> beach: And, did you do it yesterday? Going to #python and complaining about the spec. (surely just a joke)
<mfiano> It wasn't a joke; he was demonstrating how awkward of a first comment it was.
<lotuseater> i know, I meant a joke of mine that he would actually do it
khrbt has quit [Ping timeout: 240 seconds]
Guest24 has quit [Quit: Client closed]
kakuhen has quit [Quit: Leaving...]
<lotuseater> it's a bit when starting a new job and saying on the first day what all can be done better
montxero has joined #commonlisp
<beach> lotuseater: I wouldn't dream of being so rude.
khrbt has joined #commonlisp
<ecraven> well, I've never worked anywhere where it wasn't true that almost everything could be done better, it was always a question of priorities and money-vs-time
<lotuseater> beach: Yes you're very polite. :)
<lotuseater> ecraven: "this is how it's always done" or with the Mandalorian meme
tyson2 has joined #commonlisp
VincentVega has joined #commonlisp
<ecraven> ;)
<ecraven> since hearing that theme, I really like the bass recorder!
<lotuseater> the music is cool. and the series itself
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
<lotuseater> or being an immortal lambda guard since ancient times must also an honorable job
VincentVega has quit [Ping timeout: 252 seconds]
VincentVega has joined #commonlisp
xantoz_ is now known as xantoz
igemnace has quit [Remote host closed the connection]
random-nick has joined #commonlisp
selwyn has joined #commonlisp
amb007 has quit [Ping timeout: 250 seconds]
amb007 has joined #commonlisp
Qwnavery has quit [Quit: WeeChat 3.2]
Cymew has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
cosimone has joined #commonlisp
cosimone has quit [Ping timeout: 252 seconds]
yitzi has joined #commonlisp
VincentVega has quit [Ping timeout: 244 seconds]
Alfr has quit [Ping timeout: 245 seconds]
mjoerg has joined #commonlisp
mjoerg has quit [Remote host closed the connection]
mjoerg has joined #commonlisp
lottaquestions has quit [Quit: Konversation terminated!]
amb007 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
mjoerg has quit [Ping timeout: 252 seconds]
yitzi has quit [Quit: Leaving]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
andreyorst has quit [Ping timeout: 248 seconds]
amb007 has quit [Read error: Connection reset by peer]
Noisytoot has quit [Excess Flood]
amb007 has joined #commonlisp
Noisytoot has joined #commonlisp
VincentVega has joined #commonlisp
<lisp123> Is there a setting to automatically select "No" at the prompt in SBCL when compiling a file fails and SBCL asks if you want to load the .fasl file?
andreyorst has joined #commonlisp
happy-dude has quit [Quit: Bridge terminating on SIGTERM]
Mrtn[m] has quit [Quit: Bridge terminating on SIGTERM]
loke[m] has quit [Quit: Bridge terminating on SIGTERM]
Gnuxie has quit [Quit: Bridge terminating on SIGTERM]
luis` has quit [Quit: Bridge terminating on SIGTERM]
etimmons has quit [Quit: Bridge terminating on SIGTERM]
katco has quit [Quit: Bridge terminating on SIGTERM]
DiscontentNecess has quit [Quit: Bridge terminating on SIGTERM]
dieggsy has quit [Quit: Bridge terminating on SIGTERM]
alphapapa[m] has quit [Quit: Bridge terminating on SIGTERM]
rudi has quit [Quit: Bridge terminating on SIGTERM]
akater[m] has quit [Quit: Bridge terminating on SIGTERM]
icepic1984[m] has quit [Quit: Bridge terminating on SIGTERM]
santiagopim[m] has quit [Quit: Bridge terminating on SIGTERM]
saltrocklamp[m] has quit [Quit: Bridge terminating on SIGTERM]
VincentVega has quit [Read error: Connection reset by peer]
loke[m] has joined #commonlisp
katco has joined #commonlisp
santiagopim[m] has joined #commonlisp
luis` has joined #commonlisp
IlluminatedPileo has joined #commonlisp
etimmons has joined #commonlisp
dieggsy has joined #commonlisp
Mrtn[m] has joined #commonlisp
saltrocklamp[m] has joined #commonlisp
Gnuxie has joined #commonlisp
happy-dude has joined #commonlisp
alphapapa[m] has joined #commonlisp
akater[m] has joined #commonlisp
icepic1984[m] has joined #commonlisp
rudi has joined #commonlisp
<pjb> lisp123: are you sure that it's SBCL who's asking that?
<lisp123> pjb: Good point, let me go through the Slime documentation and see if I can hardwire the behaviour
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
robin_ has quit [Ping timeout: 252 seconds]
yitzi has joined #commonlisp
selwyn_ has joined #commonlisp
selwyn has quit [Ping timeout: 244 seconds]
Bike has joined #commonlisp
lisp123_ has joined #commonlisp
lisp123 has quit [Ping timeout: 244 seconds]
waleee has joined #commonlisp
cosimone has joined #commonlisp
yitzi has quit [Quit: Leaving]
Inline has joined #commonlisp
lisp123 has joined #commonlisp
lisp123_ has quit [Ping timeout: 244 seconds]
elf_fortrez has joined #commonlisp
attila_lendvai has quit [Ping timeout: 252 seconds]
VincentVega has joined #commonlisp
Alfr has joined #commonlisp
igemnace has joined #commonlisp
asarch has quit [Quit: Leaving]
robin has joined #commonlisp
elf_fortrez has quit [Ping timeout: 256 seconds]
Cymew has quit [Ping timeout: 252 seconds]
silasfox has quit [Quit: WeeChat 3.2]
<jcowan> mfiano: The correlative term to frequency is obviously wavelength.
fiddlerwoaroof has quit [Ping timeout: 240 seconds]
okflo has quit [Ping timeout: 240 seconds]
fiddlerwoaroof has joined #commonlisp
okflo has joined #commonlisp
cosimone has quit [Ping timeout: 244 seconds]
srji has quit [Ping timeout: 252 seconds]
srji has joined #commonlisp
Colleen has quit [Ping timeout: 240 seconds]
Colleen has joined #commonlisp
VincentV` has joined #commonlisp
VincentVega has quit [Ping timeout: 244 seconds]
cage has joined #commonlisp
Oladon has joined #commonlisp
elf_fortrez has joined #commonlisp
tyson2 has joined #commonlisp
aeth has quit [Ping timeout: 244 seconds]
aeth has joined #commonlisp
khrbt has quit [Ping timeout: 244 seconds]
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
khrbt has joined #commonlisp
elf_fortrez has quit [Ping timeout: 256 seconds]
Alfr is now known as Guest8308
Guest8308 has quit [Killed (calcium.libera.chat (Nickname regained by services))]
tyson2 has joined #commonlisp
Alfr has joined #commonlisp
khrbt has quit [Ping timeout: 244 seconds]
khrbt has joined #commonlisp
elf_fortrez has joined #commonlisp
aadcg has joined #commonlisp
<aadcg> I'm wondering if smth can give me a hand with SBCL's function run-program
<aadcg> I would like to run a program and to set some env variables
<aadcg> (run-program "ls" '("-la") :environment '("TIME_STYLE=full-iso") :search "/usr/bin/" :output *standard-output*)
<aadcg> the above doesn't work... but when I remove the :environment tag it does work! how do you set env vars when using run-program?
<lotuseater> hm or look into the UIOP manual, maybe there is more information about it (and not just SBCL specific first)
<aadcg> thank you lotuseater
<lotuseater> but also sorry as i didn't use that much yet, just can give potential hints
<aadcg> you've helped already
<aadcg> but there's smth I'm also confused about
<aadcg> uiop is an external library correct?
<aadcg> that comes with asdf, correct?
<Bike> yes. people use the portable run-program it has a lot.
<aadcg> so there's a run-program in sbcl, and another in uiop. am I correct?
<Bike> yes.
<Bike> sbcl's is documented here: http://sbcl.org/manual/#Running-external-programs
<lotuseater> aadcg: so one of the goals of a lib like UIOP is portability between impls, like with CFFI
<lotuseater> but correct me if I'm wrong, always possible
<aadcg> lotuseater: makes sense
<lotuseater> so it calls the specific routines/functions whatever that SBCL or so provide for the same thing
<aadcg> thanks Bike. I read that from the comfort of emacs :)
lisp123_ has joined #commonlisp
<aadcg> it seems I'm doing everything right...
<lotuseater> nice
<aadcg> just found out that SBCL has (sb-ext:posix-environ) btw
aeth has quit [Ping timeout: 252 seconds]
<Bike> it works as i'd expect on my system. i.e., with the :environment '("TIME_STYLE=full-iso"), i get the full-iso output, and without it i don't.
<lotuseater> yes it has many additional modules
<aadcg> Bike: with SBCL or UIOP?
aeth has joined #commonlisp
<Bike> sbcl
<aadcg> that's really weird...
<aadcg> (run-program "ls" '("-la") :environment '("TIME_STYLE=full-iso") :search "/usr/bin/" :output *standard-output*) <- correct?
<Bike> yep.
<aadcg> it might be because I'm on Guix
<Bike> just copy pasted it from my irc client to be sure. still works.
lisp123 has quit [Ping timeout: 244 seconds]
<Bike> does your ls actually respect the environment option?
<Bike> i don't know, guix seems to do a lot of weird things
<aadcg> this is absolutely mind boggling :)
<lotuseater> ah cool guix :)
<aadcg> Bike: I tried on Xterm and it did work properly
<Bike> like, does `TIME_STYLE=full-iso /usr/bin/ls -la` in a terminal get you what you expect? just to sanity check
<Bike> well alright then
<aadcg> wait...
<aadcg> that might explain it
<aadcg> that doesn't work indeed
<aadcg> what I did before was: export TIME_STYLE=full-iso RET ls -la
<aadcg> basically guix creates a /usr/bin with a symlink as far as I understand...
<aadcg> since everything is under /gnu/store
yitzi has joined #commonlisp
rain3 has quit [Remote host closed the connection]
rain3 has joined #commonlisp
<aadcg> the amazing thing is that after passing the correct dir to :search, it doesn't work anyway
lisp123_ has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
lisp123_ has joined #commonlisp
lisp123 has quit [Ping timeout: 244 seconds]
elf_fortrez has quit [Ping timeout: 256 seconds]
mjoerg has joined #commonlisp
lisp123_ has quit [Ping timeout: 252 seconds]
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
mjoerg has quit [Remote host closed the connection]
mjoerg has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 244 seconds]
aeth has quit [Ping timeout: 244 seconds]
aeth has joined #commonlisp
khoa has joined #commonlisp
aeth has quit [Ping timeout: 252 seconds]
aeth has joined #commonlisp
peterhil has quit [Ping timeout: 244 seconds]
mjoerg has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
srhm has joined #commonlisp
srhm has quit [Read error: Connection reset by peer]
srhm has joined #commonlisp
Fade has joined #commonlisp
<Fade> o/
lisp123 has quit [Ping timeout: 240 seconds]
tyson2 has joined #commonlisp
<lotuseater> hello Fade
<Fade> hello
<Fade> how is the lisp tribe today?
<lotuseater> i recently found a very creepy version of the lisp alien: https://www.deviantart.com/rametarin/art/Lisp-alien-387791633
<Fade> :(
<lotuseater> would totally fit into the show i'm currently watching, "Grimm"
<lotuseater> and how are you?
<yitzi> lotuseater: I kinda like it.
<Fade> I'm good.
<lotuseater> okay good
<Fade> I think this vision of the lisp alien will not do good things for the recruitment stats. :)
<Fade> I watched that show a few years ago.
<lotuseater> haha yes, the cute version is indeed the best
<lotuseater> yes me too a bundle of episodes with my ex, and now i wanted to see the whole story, very cool and as much is bound to German stuff and tales and such for me as a German it's even cooler and another point of view sometimes
hubvu has quit [Ping timeout: 240 seconds]
hubvu has joined #commonlisp
<lotuseater> Fade: how long are you into CL now? :)
<Fade> uhm.. well I learned lisp shallowly in the 1990's, but I converted to common lisp for all my own work when it became clear that Python was not going to be backward compatible in the 2->3 shift.
<lotuseater> wow a veteran then :)
<Fade> I had a lot of python code that needed rewriting, and I thought if I'm going to rewrite it anyhow, why not do it in a fast language with a good object system.
<lotuseater> so much software still relies on python 2 ∘_○
<Fade> that python2/3 thing has been an utter disaster.
<Fade> python was my main language for a long time.
elf_fortrez has joined #commonlisp
<lotuseater> in one sheet of mine i wrote just enthusiatically "the most powerful OOP system in our galaxy"
<Fade> certainly the best one I know about.
<lotuseater> okay also cool
<lotuseater> in 2018 I worked some time at a company that does data science with it, so numpy, pandas, scipy etc
heisig has quit [Quit: Leaving]
<lotuseater> Fade: and a meta one, so can evolve in the one you need too for your problem
<Fade> I like pandas
<lotuseater> and not fitting your problem with just the things others think are good
<Fade> I'm playing around with vellum on a personal project I'm working on
<lotuseater> yes me too, back then
<lotuseater> i thought about if a port subset port would be something, then also using April (APL compiler) for it to shorten code even more
<lotuseater> ah someone showed me vellum some days ago, for data frames
<Fade> I haven't gone far enough yet to know how it compares to pandas.
<lotuseater> okay
<Fade> but I expect it will be simple to add missing features as I encounter them.
<lotuseater> pandas is big
<Fade> if I do.
<Fade> the data loader ecosystem for pandas is impressive.
<lotuseater> or this networkx python lib for doing things with graphs is also interesting
<lotuseater> yes, so that would also be important to bring foreign people to use a potential port
<lotuseater> "hey, surely you can your Excel 'Databases' with it"
<Fade> I think we write libraries for the users we have, and worry about the users we don't... well, not so much.
<lotuseater> and providing them a DSL helps too :)
<lotuseater> "Oh this alternative pandas installation is way faster, how did Python evolve so well?" "No, it's in CL." :D
<lotuseater> or if you're interested have a look at that too: https://github.com/phantomics/april
lisp123 has joined #commonlisp
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
lisp123 has quit [Ping timeout: 240 seconds]
lisp123 has joined #commonlisp
splittist has quit [Ping timeout: 240 seconds]
hubvu has quit [Ping timeout: 252 seconds]
splittist has joined #commonlisp
hubvu has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
rain3 has quit [Ping timeout: 245 seconds]
rgherdt has joined #commonlisp
elf_fortrez has quit [Ping timeout: 256 seconds]
<Fade> yeah, I've looked at april
<Fade> but, there's about 9000% too much syntax for me.
<Fade> maybe if I had one of those APL keyboards.
<lotuseater> haha ^^
<lotuseater> hm i just use my elsewise unused windows key for it
<Fade> I use stumpwm to manage my windows. I use emacs for almost everything else. I use nyxt for web browsing. I don't have any spare bucky bits.
<lotuseater> cool
<Fade> I would kind of dearly love a spacecadet keyboard
<lotuseater> oh yes those are nice
attila_lendvai has joined #commonlisp
gaqwas has joined #commonlisp
<lotuseater> and the syntax is not the problem, right to left evaluation ^^ so "2×3+4" gets 14 and not 10
<lotuseater> and for applying a function "backwards" from left the ⍨ operator is quite useful :D
<waleee> lotuseater: then you have stuff like 1 % 3 which evaluates it's argument in left->right
<waleee> % = j-equivalent of the APL divide op
<waleee> ÷
<lotuseater> oho
<lotuseater> but things like "1 2 3○2" to map functions on a value and not just values on a function is funny, so the one principle of functional programming
<lotuseater> J is indeed also very interesting
<waleee> There is someone who tried to write an editor in J
<waleee> * someone insane
<lotuseater> phew
<lotuseater> hm but doing it in APL is not soo insane
<lotuseater> but you want to be able to work with data structures like ropes in text editors
<jcowan> Arrays of strings are perfectly fine
<lotuseater> they are but not for everything
<lotuseater> thx, and haha a 5h stream :D
<lotuseater> Stallman coded a text editor in APL back in ancient pre-Emacs times
<lotuseater> or using enclosed arrays
<lotuseater> oh the video is very fresh
attila_lendvai has quit [Ping timeout: 245 seconds]
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
markthom_ has joined #commonlisp
lisp123 has quit [Ping timeout: 252 seconds]
<moon-child> lotuseater: re ropes, the question is what do you want to do? Apl favours small code, for which a single array will be perfectly suitable
<moon-child> you _can_ do tree structures, though. I expect a rope is doable
<lotuseater> right of course, i meant for bigger editors, sorry
<moon-child> you'd have to do your own memory allocator, though, which would be a pain
<moon-child> to get everything contiguous
<moon-child> i guess probably a freelist is appropriate? I think ropes usually use fixed-size leaves
<lotuseater> ah hm. you know :)
<moon-child> maybe sort the freelist in idle time, to improve locality
peterhil has joined #commonlisp
lisp123 has joined #commonlisp
Oladon has quit [Quit: Leaving.]
Alfr has quit [Killed (platinum.libera.chat (Nickname regained by services))]
Alfr has joined #commonlisp
<khoa> back
<lotuseater> wb khoa
Alfr is now known as Guest6979
Guest6979 has quit [Killed (calcium.libera.chat (Nickname regained by services))]
Alfr has joined #commonlisp
<lotuseater> i like it when enclosing a vector multiple times and it returns #0A#0A...#(1 2 3) :D
akoana has joined #commonlisp
Alfr has quit [Remote host closed the connection]
Alfr has joined #commonlisp
<pjb> (make-array '() :initial-element (make-array '() :initial-element (make-array '() :initial-element #(1 2 3)))) #| --> #0A#0A#0A#(1 2 3) |#
<lotuseater> yeah but that's a bit annoying to write
<pjb> (defun wrap (x) (make-array '() :initial-element x)) (wrap (wrap (wrap #(1 2 3)))) #| --> #0A#0A#0A#(1 2 3) |#
<lotuseater> better :)
Alfr is now known as Guest1924
Alfr has joined #commonlisp
<pjb> (defun repeat (n fun) (if (zerop n) (function identity) (lambda (x) (funcall (repeat (- n 1) fun) (funcall fun x)) )))
<pjb> (funcall (repeat 3 (function wrap)) #(1 2 3)) #| --> #0A#0A#0A#(1 2 3) |#
<lotuseater> or just "⊂⊂⊂1 2 3"
<pjb> With a reader macro, yes.
<lotuseater> no readmacro
pve has quit [Quit: leaving]
Guest1924 has quit [Ping timeout: 252 seconds]
<lotuseater> but could also be implemented as such for using on its own
<lotuseater> but the repeat was also what i had in mind as the "next" step
Alfr has quit [Killed (zinc.libera.chat (Nickname regained by services))]
Alfr has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 250 seconds]
<moon-child> ⊂⍣3⊢1 2 3
<lotuseater> or something like iterate from Haskell, with a drop 2 $ take 3
Lord_of_Life has joined #commonlisp
Alfr is now known as Guest4364
Guest4364 has quit [Killed (sodium.libera.chat (Nickname regained by services))]
yitzi has quit [Quit: Leaving]
<lotuseater> moon-child: thx, the second I didn't know yet and would have bet there's something to even fight this noisy "⊂⊂⊂" for more clarity
<moon-child> ⍣ is pjb's repeat
<lotuseater> there is also one op with a big circle and eyes, right?
<moon-child> ⍥ or ⍤?
<lotuseater> ooohh
Alfr has joined #commonlisp
<lotuseater> sry my font size is small atm so i mistaken the star as little circle first
<lotuseater> then both
<moon-child> np
<lotuseater> :)
<moon-child> ⍣ is the higher-order version of *. ⍤ is rank and atop
<moon-child> ⍥ I don't remember
<moon-child> oh, over
<lotuseater> okay I think I can learn that too and how to use, so don't give me up please yet
<lotuseater> or it's över :P
<moon-child> hehe
<moon-child> over and atop are just tacit niceties. Rank is the really important one
<lotuseater> okay Umlauts are not so much used in English than German, the spelling out is funnier ^^
<moon-child> ärë ẗḧëÿ ëvër üsëd?
<lotuseater> hihi
shka has quit [Ping timeout: 252 seconds]
<lotuseater> this is one of the first exercises in Knuth's TeXbook
<lotuseater> möön-child
<moon-child> thé óńĺý áććéńtś Í'vé évéŕ śééń áré áćúté àǹd gràvè
<lotuseater> mostly for names i think
<moon-child> ah, yea, fair enough
<lotuseater> or this hook for eg the small c in french
<moon-child> cedilla
<lotuseater> right that was it, thx
<moon-child> en français: 'cédille'
<lotuseater> TeX and even Unicode has you covered for all cases
<moon-child> yeah
<lotuseater> and more for the ones nearly never gonna happen if you don't construct them :)
<lotuseater> hmm too offtopic? but it wasn't much going on right now else. but I don't want get kicked out for being more annoying than I am apparently
<jcowan> moon-child: consider ancêtre, hôpital, août.
<moon-child> jcowan: i should have been clearer, I meant acute and grave are the only accents I've seen used in english
<jcowan> Oh.
Alfr is now known as Guest9575
Guest9575 has quit [Killed (sodium.libera.chat (Nickname regained by services))]
<lotuseater> I'm honest I can never remember which is which of the two.
Alfr has joined #commonlisp
<lotuseater> by naming I mean
<moon-child> 'grave' is mellow, not excitable, kind of low, and ` is pointing downward
aeth has quit [Ping timeout: 252 seconds]
<lotuseater> ironic when one (not me) does very heavy intellectual stuff and pulls out in instant "difficult" things without problem from memory but such simple things not :D
<moon-child> that's how I remember it, at any rate
<lotuseater> ah okay
<jcowan> yes, not too many of those, but some people still write entrepôt rather than entrepot or transshipment port
aadcg has left #commonlisp [ERC (IRC client for Emacs 27.2)]
aeth has joined #commonlisp
<lotuseater> jcowan: I don't like when people write Pál (or Paul) Erdős with the normal ö in TeXed (history) math books or articles. that's with the \H instruction for the long hungarian double strokes
<jcowan> Agreed
<lotuseater> but apart from it, one of my favorite mathematicians and reading about him inspired me much or in "The BOOK" by Aigner and Ziegler
<lotuseater> "Another roof another proof."
<lotuseater> for me in the same category of those even much more very rare maverick minds like Ramanujan or Mandelbrot
pillton has joined #commonlisp
hineios has quit [Quit: Ping timeout (120 seconds)]
hineios has joined #commonlisp
khrbt has quit [Ping timeout: 252 seconds]
khrbt has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
rgherdt has quit [Ping timeout: 252 seconds]
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 252 seconds]
gaqwas has quit [Ping timeout: 252 seconds]
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
Yehowshua has joined #commonlisp
<Yehowshua> The last line on the following let statement doesn't work because I refer to a variable define in the let statement itself.
<Yehowshua> (let (
<Yehowshua> (pattern "attribute")
<Yehowshua> (pat-len (length pattern))
<Yehowshua> (end-cursor (+ start-cursor pat-len))))
<Yehowshua> Is there any way around this?
<Bike> clhs let*
<Bike> "The expression for the init-form of a var can refer to vars previously bound in the let*."
<Yehowshua> thx
<Bike> no problem.
<Yehowshua> what is specbot?
<Yehowshua> clhs let*
<Yehowshua> ah
<Yehowshua> very cool
montxero has quit [Read error: Connection reset by peer]
montxero has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
luna-is-here has quit [Ping timeout: 240 seconds]
selwyn_ has quit [Read error: Connection reset by peer]
lisp123 has joined #commonlisp
selwyn has joined #commonlisp
<lotuseater> Yehowshua: and when you define lexical functions you would use LABELS for that
Yehowshua has quit [Quit: Client closed]
lisp123 has quit [Ping timeout: 244 seconds]
Krystof has quit [Ping timeout: 250 seconds]
sm2n_ is now known as sm2n
selwyn has quit [Read error: Connection reset by peer]
andreyorst has quit [Quit: WeeChat 3.2]
andreyorst has joined #commonlisp
rinwa has quit [Remote host closed the connection]
peterhil has quit [Ping timeout: 252 seconds]
Inline_ has joined #commonlisp
makomo has quit [Ping timeout: 244 seconds]
Inline has quit [Ping timeout: 245 seconds]
scymtym has quit [Ping timeout: 252 seconds]
amk has quit [Read error: Connection reset by peer]
SystemFFan has joined #commonlisp
scymtym has joined #commonlisp
edgar-rft has quit [Ping timeout: 248 seconds]
edgar-rft has joined #commonlisp
lotuseater has quit [Quit: ERC (IRC client for Emacs 27.2)]
<kagevf> (defmacro flet* ....
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 245 seconds]
VincentV` has quit [Ping timeout: 245 seconds]
selwyn has joined #commonlisp
amk has joined #commonlisp
kakuhen has joined #commonlisp
akoana has quit [Quit: leaving]
selwyn has quit [Read error: Connection reset by peer]