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/>
SenFache has quit [Remote host closed the connection]
SenFache has joined #commonlisp
scymtym has joined #commonlisp
SAL9000 has joined #commonlisp
pve has quit [Quit: leaving]
uics has quit [Remote host closed the connection]
Oladon has quit [Quit: Leaving.]
occ has joined #commonlisp
genpaku has quit [Remote host closed the connection]
<nytpu> is it possible to define a method dispatching on an object that is a child of multiple classes; for example with made-up syntax: `(defmethod method ((obj (and parent1 parent2))) ...)`
thonkpod has quit [Quit: thonkpod]
thonkpod has joined #commonlisp
<nytpu> to avoid x-y, i'm abusing classes and multiple inheritance to define traits: https://en.wikipedia.org/wiki/Trait_(computer_programming) and i want to define a method that'd dispatch on any class that inherits from two of the traits
thonkpod has quit [Client Quit]
thonkpod has joined #commonlisp
genpaku has joined #commonlisp
<Josh_2> You could use non standard method combinations that walk through the class hierarchy
<_death> there's no built-in way.. you can introduce an intermediate class and inherit from that, or perform the dispatch yourself, even introduce a new kind of specializer (see project called "specializable")
<nytpu> i don't want to define an intermediatry class and dispatch off of that, because then a subclass would have to use that intermediary specifically instead of being able to inherit those two traits separately, maybe at different points in the hierarchy
<nytpu> i'm thinking for the level of complexity it's currently at it'd be best to just use duck typing instead of proper method dispatch; maybe i'd look into a MOP solution if it got a lot more complex
Josh_2 has quit [Quit: Gotta go fast!]
molson has joined #commonlisp
<_death> there are also some ambiguities.. for example what if there are two methods, (and p1 p2) and (and p1 p3) and the class is a subclass of (p1 p2 p3)
dlowe has quit [Ping timeout: 255 seconds]
<_death> you would have to decide how to resolve them in a way that easy to understand.. CLOS has a precedence rule, but it probably needs to be extended to handle these cases
<nytpu> _death: yeah, that's true. a lot of ambiguities there
<_death> ooh, earthquake
Noisytoot has quit [Quit: ZNC 1.8.2 - https://znc.in]
Noisytoot has joined #commonlisp
occ has quit [Ping timeout: 246 seconds]
genpaku has quit [Quit: leaving]
occ has joined #commonlisp
genpaku has joined #commonlisp
Fare has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 248 seconds]
Lord_of_Life has joined #commonlisp
tyson2 has joined #commonlisp
istewart has joined #commonlisp
SenFache has quit [Ping timeout: 260 seconds]
EsoAlgo8 has quit [Remote host closed the connection]
EsoAlgo8 has joined #commonlisp
santiagopim has quit [Ping timeout: 260 seconds]
prokhor__ has joined #commonlisp
prokhor has quit [Ping timeout: 252 seconds]
Sauvin has joined #commonlisp
Oddity has quit [Remote host closed the connection]
waleee has quit [Ping timeout: 252 seconds]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
eddof13 has joined #commonlisp
eddof13 has quit [Client Quit]
istewart has quit [Quit: Konversation terminated!]
occ has quit [Ping timeout: 248 seconds]
tyson2 has quit [Remote host closed the connection]
Noisytoot has quit [Read error: Connection reset by peer]
Noisytoot has joined #commonlisp
occ has joined #commonlisp
<patrix> damn
triffid has joined #commonlisp
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
avocadoist has quit [Client Quit]
Nilby has quit [Ping timeout: 248 seconds]
avocadoist has joined #commonlisp
avocadoist has quit [Client Quit]
avocadoist has joined #commonlisp
avocadoist has quit [Client Quit]
avocadoist has joined #commonlisp
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
bilegeek has quit [Quit: Leaving]
avocadoist has quit [Client Quit]
avocadoist has joined #commonlisp
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
igemnace has joined #commonlisp
masinter has quit [Ping timeout: 256 seconds]
masinter has joined #commonlisp
mingus has joined #commonlisp
Cymew has joined #commonlisp
aartaka has joined #commonlisp
kenran has joined #commonlisp
prokhor has joined #commonlisp
contrapunctus has quit [Ping timeout: 252 seconds]
contrapunctus has joined #commonlisp
prokhor__ has quit [Ping timeout: 260 seconds]
rgherdt has joined #commonlisp
kenran has quit [Remote host closed the connection]
<mfiano> nytpu: take a look at the project called dynamic-mixins
<mfiano> The code is pretty simple if this doesn't work for your needs. Just a couple MOP methods to define really.
* mfiano has too many variations of similar approaches for different projects
beach` has joined #commonlisp
beach has quit [Ping timeout: 246 seconds]
aartaka has quit [Ping timeout: 260 seconds]
aartaka has joined #commonlisp
prokhor has quit [Remote host closed the connection]
prokhor has joined #commonlisp
beach` is now known as beach
pve has joined #commonlisp
<jackdaniel> nytpu: you can use presentation generic functions and dispatch on the presentation type
attila_lendvai has joined #commonlisp
Inline has quit [Read error: Connection reset by peer]
Inline has joined #commonlisp
prokhor has quit [Remote host closed the connection]
prokhor has joined #commonlisp
<jackdaniel> perhaps I should write a blog post to flesh out how these could be used
occ has quit [Ping timeout: 260 seconds]
pranavats has left #commonlisp [Disconnected: Hibernating too long]
prokhor has quit [Remote host closed the connection]
prokhor has joined #commonlisp
prokhor has quit [Remote host closed the connection]
prokhor has joined #commonlisp
Gleefre has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
ec has quit [Ping timeout: 255 seconds]
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
ec has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
ttree has quit [Ping timeout: 252 seconds]
kg7ski has quit [Ping timeout: 248 seconds]
aartaka has quit [Ping timeout: 260 seconds]
aartaka has joined #commonlisp
Fare has quit [Ping timeout: 260 seconds]
_cymew_ has joined #commonlisp
santiagopim has joined #commonlisp
<beach> I booked my travel to Amsterdam. I'll arrive on the 21st, and leave on the 28th.
prokhor__ has joined #commonlisp
prokhor has quit [Ping timeout: 264 seconds]
aartaka has quit [Ping timeout: 252 seconds]
kg7ski has joined #commonlisp
aartaka has joined #commonlisp
uics has joined #commonlisp
kaskal has quit [Ping timeout: 248 seconds]
karlosz has joined #commonlisp
<uics> Are languages like rust zig nim or haxe good only for young and inexperienced programmers
<uics> :3
kaskal has joined #commonlisp
morganw has joined #commonlisp
<uics> (and haskell ofc)
pranavats has joined #commonlisp
random-nick has joined #commonlisp
pjb has quit [Ping timeout: 248 seconds]
<mfiano> I would say young and _impressionable_
<scymtym> nytpu: i am (at a snail's pace) working on a trait-like system. an old version is at https://github.com/scymtym/traits
<ixelp> GitHub - scymtym/traits: PROTOTYPE
<mfiano> They will find their way here eventualy.
<hayley> There are ways to dig at languages that don't involve calling people young or inexperienced.
<uics> :3 :3
Krystof has quit [Ping timeout: 248 seconds]
<uics> Yes but it wouldnt be trolling
<jackdaniel> you! you! you young person you! top notch insult ;)
MajorBiscuit has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
kg7ski has quit [Ping timeout: 252 seconds]
aartaka has quit [Ping timeout: 260 seconds]
aartaka has joined #commonlisp
occ has joined #commonlisp
kg7ski has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
aartaka has joined #commonlisp
pjb has joined #commonlisp
<beach> uics: As I often say, people are willing to spend a huge amount of effort to avoid learning Common Lisp. Getting excited about the latest new language is a manifestation of this phenomenon.
karlosz has quit [Quit: karlosz]
<uics> Maybe they are afraid that after learning common lisp there will be nothing left, only death.
<uics> (i dont know cl)
<beach> I have tried to figure out what they are afraid of, by interviewing students I had in the past, but their answers are always puzzling.
<jackdaniel> could it be that you were slightly biased (in favor of your favorite language) when you were interpreting the answers?
karlosz has joined #commonlisp
ec has quit [Ping timeout: 255 seconds]
ec has joined #commonlisp
<uics> :)
Guest2993 has joined #commonlisp
<hayley> When in line at university I tie a paren to a rope, rope to a stick, and use it to scare off the people in front of me in the line.
<yitzi> Try attaching three parens to the rope. Mass panic will ensue.
<hayley> Good idea!
uics has quit [Remote host closed the connection]
Fare has joined #commonlisp
tyson2 has joined #commonlisp
<mfiano> Only probably is all the neighborhood cats you have to avoid stepping on
<mfiano> problem, rather
Guest2993 has quit [Quit: Client closed]
waleee has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
aartaka has joined #commonlisp
mingus1 has joined #commonlisp
mingus has quit [Ping timeout: 252 seconds]
mingus1 is now known as mingus
aartaka has quit [Ping timeout: 260 seconds]
aartaka has joined #commonlisp
jmdaemon has quit [Ping timeout: 246 seconds]
Fare has quit [Ping timeout: 260 seconds]
n0den1te has joined #commonlisp
karlosz has quit [Quit: karlosz]
karlosz has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
uics has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
glaucon has joined #commonlisp
dlowe has joined #commonlisp
uics has quit [Remote host closed the connection]
Fare has joined #commonlisp
<jcowan> hayley: You can always just say "Hey you! I insult you!"
<jcowan> mfiano: I have not noticed that my cat is specially drawn to me when I am doing Lisp as opposed to Python, so I think this "neighborhood cats" theory is probably wrong
<mfiano> jcowan: grab some dangly things attached to string and be amazed sometime
<mfiano> newbie lurkers: please don't dangle parens in code
<jcowan> mfiano: OIC
<n0den1te> mfiano: ))))
<n0den1te> ;((((
<phoe> mfiano: I'm sure it's forbidden by some decency act
<mfiano> :)
<pjb> or, we could invent a programming language syntax where any balanced parenthesis would be a syntax error.
uics has joined #commonlisp
<phoe> already been done, it's called J
<mfiano> I dunno, haskell goes a little out of its way here to avoid looking like a lisp with the $ precedence operator
<mfiano> ok, i think i am asking for it now.
<mfiano> afk
<phoe> haskell has balanced parens though, doesn't it
<mfiano> I'm sure it does. I was just joking at the seemingly only existence for this infix precedence operator is to avoid parens and make it confusing to even mathematicians to look at.
karlosz has quit [Quit: karlosz]
speskk has joined #commonlisp
speskk has quit [Changing host]
speskk has joined #commonlisp
<mfiano> Does anyone know if there was a lot of tension between the haskell and CL parties during the standardization period, when haskell showed up on the map? I remember about 20 years ago I was banned from some haskell channel for asking the question about this operator trying not to look like that other research language being standardized?
<mfiano> That is the reason why I started learning Lisp. haskellers were meanies :(
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
marsia` has quit [Ping timeout: 252 seconds]
jimmy2shoots has joined #commonlisp
glaucon has quit [Quit: Leaving.]
Josh_2 has joined #commonlisp
<jcowan> mfiano: I'd say banning is over the top, but I am careful about what I say on #haskell on the rare occasions I join it, as I don't especially want to attract the attention of a meany. That said, the person to ask is probably a standardizer and it would help if you are having a drink/coffee with them rather than ask an embarrassing question in a public place.
<jcowan> (This does not mean that I am opposed to OT or that I refuse to answer embarrassing questions about R7RS standardization.)
<mfiano> Umm, I think I got ya.
<mfiano> Actually, I take that back.
<mfiano> But, we can take this to private if you prefer.
jeosol has quit [Quit: Client closed]
<jcowan> I kept myself off freenode#lisp for a long time because of the attacks of a similar meany who I do not choose to name (but an important person in the CL community).
<White_Flame> yep, things changed for the better around then
<White_Flame> and clnoobs/clschool started
<White_Flame> (around then = when they left)
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
waleee has quit [Ping timeout: 264 seconds]
jimmy2shoots has quit [Ping timeout: 248 seconds]
jimmy2shoots has joined #commonlisp
<mfiano> I honestly have no idea what we are talking about, unless we no longer have a surplus of six streams.
sloanr has joined #commonlisp
MajorBiscuit has quit [Ping timeout: 252 seconds]
Cymew has quit [Ping timeout: 260 seconds]
<jcowan> White_Flame: What do you mean by "around then"?
eddof13 has joined #commonlisp
marsia has joined #commonlisp
pfd has quit [Quit: Client closed]
pfd has joined #commonlisp
uics has quit [Remote host closed the connection]
uics has joined #commonlisp
<mfiano> Too many fill-in-the-blank's in this convo for my foggy late brain. night!
n0den1te has quit [Quit: leaving]
cage has joined #commonlisp
sloanr has quit [Remote host closed the connection]
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
jeosol has joined #commonlisp
zxcvz has joined #commonlisp
aartaka has quit [Ping timeout: 248 seconds]
aartaka has joined #commonlisp
pfd has quit [Ping timeout: 260 seconds]
triffid has quit [Ping timeout: 255 seconds]
triffid has joined #commonlisp
uics has quit [Remote host closed the connection]
witcher has left #commonlisp [WeeChat 3.7.1]
waleee has joined #commonlisp
zxcvz has quit [Quit: zxcvz]
jimmy2shoots has quit [Quit: WeeChat 3.5]
aartaka has quit [Ping timeout: 252 seconds]
mariari has quit [Read error: Connection reset by peer]
tane has joined #commonlisp
tane has quit [Changing host]
tane has joined #commonlisp
uics has joined #commonlisp
<gendl__> Hi, is there a way from inside a CL to detect whether swank is running and if so, on what port it's listening
<semarie> gendl__: swank::*servers* might be a way. => "A list ((server-socket port thread) ...) describing the listening sockets. Used to close sockets on server shutdown or restart."
<gendl__> semarie: looks promising, thanks!
mariari has joined #commonlisp
_cymew_ has quit [Ping timeout: 265 seconds]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ym has joined #commonlisp
eddof13 has joined #commonlisp
uics has quit [Remote host closed the connection]
mariari has quit [Ping timeout: 248 seconds]
Krystof has joined #commonlisp
mariari has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
triffid has quit [Ping timeout: 255 seconds]
pfd has joined #commonlisp
triffid has joined #commonlisp
igemnace has quit [Quit: WeeChat 3.8]
<Josh_2> yitzi: with shasht how can I dynamically append keys to a json object? I have a hash table and I want to serialize that as part of an object, not as separate object
eddof13 has joined #commonlisp
<yitzi> You'd probably have to write your own write-json method...
<Josh_2> I have (shasht:with-json-object stream (shasht:print-json-key-value ...) ;;my hash (maphash (lambda (key val) (shasht:print-json-key-value ..))) .. next hash ..) but I get no output from the hash tables
<Josh_2> alright
<Josh_2> rip
<yitzi> Sorry, I mean print-json-value
uics has joined #commonlisp
Krystof has quit [Ping timeout: 248 seconds]
<yitzi> Is this a one-off or a specific class with a slot that contains a hash table?
ttree has joined #commonlisp
<Josh_2> a class
<yitzi> Do you have some code somewhere... or a paste I can look at? I think I understand what you mean...just want to be sure.
<Josh_2> Yes
<Josh_2> sure
cage has quit [Quit: rcirc on GNU Emacs 28.2]
jmdaemon has joined #commonlisp
Krystof has joined #commonlisp
<yitzi> hmmm...that seems like that should work. Let me see if I can reproduce it.
<Josh_2> Wait
<Josh_2> dont
<Josh_2> Just hold on before you take some time out
<yitzi> ok
<Josh_2> Okay it does work I'm just an idiot
<Josh_2> Sorry :facepalm:
<yitzi> No worries, buddy.
<yitzi> If you are doing this a lot you could write a general print method that automatically does this for hash table slots.
<Josh_2> hmm
<Josh_2> I am currently only doing it for this one class
<yitzi> If you look in write.lisp there is a print-json-mop function that you could tweak. Just an idea.
<Josh_2> There is a lot of variable information for that class so I decided I'd store it as JSON in postgres rather than tweak my db everytime I come up with a new key
<yitzi> Ok, then maybe not useful.
<yitzi> ahhh
<Josh_2> Each slot is a column and the hash tables are jsonb, but when the end user receives a serialized version of the class I wanted the key/vals from those 3 hash tables appended rather than as slot name -> object pairs
<yitzi> gotcha
<Josh_2> I want both the request and response to be transparent to the end user
<Josh_2> let my program sort the keys etc
<Josh_2> seems to be working, works better than my previous system anywho
<yitzi> Well that is good.
azimut has quit [Ping timeout: 255 seconds]
son0p has quit [Remote host closed the connection]
son0p has joined #commonlisp
dlowe has quit [Ping timeout: 248 seconds]
attila_lendvai has quit [Ping timeout: 265 seconds]
_cymew_ has joined #commonlisp
karlosz has joined #commonlisp
amoroso has joined #commonlisp
aartaka has joined #commonlisp
amoroso has quit [Quit: amoroso]
amoroso has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
aartaka has quit [Ping timeout: 252 seconds]
mingus1 has joined #commonlisp
mingus has quit [Ping timeout: 260 seconds]
mingus1 is now known as mingus
ym has quit [Ping timeout: 260 seconds]
karlosz has quit [Quit: karlosz]
tane has quit [Quit: Leaving]
tyson2 has joined #commonlisp
amoroso has quit [Quit: amoroso]
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Josh_2> When telling another service about the current configured timezone in my system, whats the best way? Should I just use the offset relative to UTC? Along with the location used?
<Josh_2> Ie -6:00 America/Winnipeg or something
<Josh_2> I dont see a convenient way to do this with local-time
<pjb> It's better to use a symbolic timezone, because of summer-time/winter-time offsets.
<Josh_2> Okay :sunglasses:
<Josh_2> I have set to America/Winnipeg which has a bunch of subzones but no single zone oof
<Josh_2> I need to find one even closer
jsatk_ has joined #commonlisp
jmd_ has joined #commonlisp
Mandus_ has joined #commonlisp
Krystof has quit [*.net *.split]
jmdaemon has quit [*.net *.split]
Mandus has quit [*.net *.split]
yitzi has quit [*.net *.split]
tiziodcaio has quit [*.net *.split]
jsatk has quit [*.net *.split]
MetaYan has quit [*.net *.split]
MetaYan has joined #commonlisp
Krystof has joined #commonlisp
yitzi has joined #commonlisp
tiziodcaio has joined #commonlisp
_cymew_ has quit [Ping timeout: 256 seconds]
robin has quit [Quit: Leaving]
occ has quit [Ping timeout: 260 seconds]
pfd has quit [Ping timeout: 260 seconds]
robin has joined #commonlisp
occ has joined #commonlisp
akoana has joined #commonlisp
eddof13 has joined #commonlisp
mingus1 has joined #commonlisp
mingus has quit [Ping timeout: 246 seconds]
mingus1 is now known as mingus
tyson2 has quit [Remote host closed the connection]
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
avocadoist has quit [Client Quit]
avocadoist has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
aartaka has joined #commonlisp
Alfr has quit [Ping timeout: 260 seconds]
tyson2 has joined #commonlisp
szkl has quit [Quit: Connection closed for inactivity]
random-nick has quit [Ping timeout: 248 seconds]
occ has quit [Ping timeout: 268 seconds]
Alfr has joined #commonlisp
Krystof has quit [Ping timeout: 255 seconds]
rgherdt has quit [Remote host closed the connection]
pve has quit [Quit: leaving]
morganw has quit [Remote host closed the connection]
uics has quit [Remote host closed the connection]
aartaka has quit [Ping timeout: 248 seconds]