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
karlosz has joined #commonlisp
random-nick has quit [Ping timeout: 240 seconds]
aeth has quit [Ping timeout: 256 seconds]
aeth has joined #commonlisp
<pfd> Has anyone here tried SICL?
<rotateq> pfd: Just its LOOP module upto now.
lisper29 has quit [Quit: Leaving]
<pfd> I have the April 3rd 2022 clone booting up, without any hassles on SBCL 2.2.1 and SBCL 2.2.2 on two machines.  On this, my main machine I upgraded to SBCL 2.2.3, and the current SICL clonings, since the 3rd of APR, have a hard time with Cleavir after the level 5 stage 'satiating all...' point.  I'm about to grab that APR 3rd download and copy it
<pfd> this machine with SBCL 2.2.3, for diagnosis.
<pfd> I just thought someone else might've been playing with it as much as myself.
pjb has quit [Ping timeout: 252 seconds]
<rotateq> I should try that too in the next days.
jcowan has joined #commonlisp
<jcowan> Can it be proved that there are no standardized (by the CL spec) objects that are direct instances of T?
<pfd> jcowan: I assume this a CLOS related 'spec' query,  right?
<jcowan> I don't *think* so, I'm just using CLOS terminology. Equivalently: are there any objects that are not instances of any class except T?
<jcowan> For example, suppose the class RANDOM-STATE did hot exist. Then random-states would still exist, since they can be created by MAKE-RANDOM-STATE, but they wouldn't belong to any class except T.
<mfiano> Nope. There are a handful of disjoint system classes, like readtable and restart, but everything touches T
<jcowan> Everything has to touch T, as pillton pointed out on #lisp.
<mfiano> Everything touching T is an instance of a system class afaik
<jcowan> Okay, good.
<mfiano> readtable, restart, random-state, hash-table, package...maybe more
<jcowan> Note that an implementation could violate this by having a WEIRD:MAKE-WEIRD-OBJECT that returns objects whose CLASS-OF is T.
<pfd> 'Classes that are defined by defclass (without the :metaclass option) inherit from the superclasses standard-object and t.' from pg. 58 of _Understanding CLOS_ by Lawless/Miller
karlosz has quit [Ping timeout: 248 seconds]
occ has joined #commonlisp
<Guest74> anybody know of any turtle graphics implemented with vector graphics?
karlosz has joined #commonlisp
<pfd> jcowan: Any 'weird' object is some sort of metaclass, which then exists parallel to Standard-Class, synonymous to/with Standard-Object, and as you rightly point out, that weird metaclass can only be  a sub-class of T / t.
<jcowan> Well, that's one kind. But they could also be a kind of built-in object that doesn't happen to have BUILT-IN-CLASS as a class.
<jcowan> There is no way to *construct* such a thing in CL, but that isn't to say a particular CL implementation can't provide them.
<jcowan> Although I do have problems with CL metaclasses, perhaps because I know too much about Smalltalk metaclasses.
<pfd> Agreed. You can't redefine any instances of built-in-class.  You also can't use built-in-class or structure-class as a metaclass when defining a class / object.
Inline__ has joined #commonlisp
karlosz has quit [Ping timeout: 250 seconds]
<pfd> I haven't fully grokked Robert Strandh's CLOSTRUM within SICL.  Also, I'm not knowledgable regarding Costanza's closer-mop.
<pfd> I'm just starting to learn more about closer-mop.
Inline has quit [Ping timeout: 240 seconds]
taiju_ has quit [Ping timeout: 260 seconds]
piethesailor has quit [Remote host closed the connection]
<pillton> jcowan: Why are you interested in this? What happens if the answer is yes? or no?
<jcowan> I'm just curious, and not much, respectively
<jcowan> If there were such direct instances of T, the CLOS structure would be somewhat leaky.
<pillton> jcowan pfd: I recommend the book, The Art of the Metaobject Protocol. It covers the design of CLOS and offers a number other nuggets which are useful for designing/structuring APIs.
<jcowan> I've read it, yes.
<jcowan> Though not for some years.
<pillton> I don't know what "leaky" means, but CLOS doesn't permeate through the language. For example, you cannot inherit from a system class.
<pfd> Same here. I need to re-read that seminal book. I've been leaning too heavily on the basics _Understanding CLOS_ Lawless/Miller book, mentioned above, which I was fortunate to scoop for not too dear a few years ago.
<pillton> Even conditions aren't defined to be compatible with CLOS.
zeroc00l0 has joined #commonlisp
<jcowan> pillton: Sure, that's just a restriction on what the user can do.
<Guest74> I don't even know how to begin to debug this. https://imgur.com/a/YSSKrPk  I think I'll just start selling them.
robin has joined #commonlisp
<jcowan> However, CONDITION is a class in the class hierarchy: a condition object is of class CONDITION.
livoreno has quit [Quit: Quit]
<pillton> jcowan: Sure, but it isn't required to be an instance of STANDARD-OBJECT nor any of the standard meta objects.
jeosol has quit [Quit: Client closed]
<pillton> clhs class
<pillton> clhs 7.4.1
<pillton> Actually, I might have to check my definition of the CLOS. I might be using it incorrectly. My definition of the CLOS is as defined in Chapter 7 of the standard. I am not sure if that is correct.
<jcowan> In what sense can a statement in the standard be said to be "incorrect" (outside errata)?
karlosz has joined #commonlisp
karlosz has quit [Ping timeout: 248 seconds]
karlosz has joined #commonlisp
karlosz has quit [Quit: karlosz]
yauhsien has joined #commonlisp
jeffrey has quit [Quit: Client quit]
taiju_ has joined #commonlisp
yauhsien has quit [Ping timeout: 250 seconds]
yauhsien has joined #commonlisp
waleee has quit [Ping timeout: 248 seconds]
waleee has joined #commonlisp
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #commonlisp
Guest74 has quit [Quit: Connection closed]
taiju has joined #commonlisp
Bike has quit [Quit: Lost terminal]
<beach> Good morning everyone!
Guest74 has joined #commonlisp
taiju has quit [Quit: Client closed]
<beach> pfd: If you have trouble bootstrapping SICL, you can ask questions in #sicl. There shouldn't be any particular problems, but I forgot to push a change to Trucler for a few days and that broke things.
<pfd> Thanks :beach!
<beach> Sure.
<pfd> Oh, OK. :beach, are you Sir Robert Strandh?  Or, may you be another main contributor?
Bike has joined #commonlisp
<beach> pfd: "beach" is the literal translation of "strand" into English, so yes.
<pfd> :beach Right. Understood Sir!
<beach> I give you permission to be less formal. :)
<pfd> Right-o. Thanks :beach.
<beach> Sure.
zeroc00l0 has quit [Ping timeout: 250 seconds]
pfd has quit [Quit: Client closed]
pfd has joined #commonlisp
yauhsien has quit [Remote host closed the connection]
Guest22 has joined #commonlisp
<contrapunctus> pfd: might you be another Indian Lisper? (Hello from Delhi 🙂)
semz_ has joined #commonlisp
zeroc00l0 has joined #commonlisp
yauhsien has joined #commonlisp
<pfd> No. I love Indian culture, and I agree with the Russia-India cooperation around energy and ruble-rupee workaround!
<pfd> I'm Greek/Hellenic born in Germany, and brought up in Toronto, Canada, where I still am.
semz has quit [Ping timeout: 260 seconds]
<pfd> :contrapunctus sorry I forgot to tag u.
waleee has quit [Ping timeout: 256 seconds]
yauhsien has quit [Ping timeout: 256 seconds]
pfd has quit [Quit: Client closed]
pfd has joined #commonlisp
occ has quit [Ping timeout: 256 seconds]
rawley has joined #commonlisp
taiju` has joined #commonlisp
taiju` is now known as taiju
taiju_ has quit [Quit: Quit]
rawley has quit [Remote host closed the connection]
zeroc00l0 has quit [Quit: Client closed]
occ has joined #commonlisp
Guest22 has quit [Ping timeout: 250 seconds]
Bike has quit [Quit: Connection closed]
zeroc00l0 has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 240 seconds]
aartaka has joined #commonlisp
<char[m]> Is there some library that facilitates immutable clos? I'm looking for something that will allow me to make a copy of an object while modifying some of the slots of the copy.
occ has quit [Ping timeout: 256 seconds]
admich1 has joined #commonlisp
occ has joined #commonlisp
akoana has quit [Quit: leaving]
Josh_2 has joined #commonlisp
zeroc00l0 has quit [Ping timeout: 250 seconds]
taiju has quit [Ping timeout: 248 seconds]
<Josh_2> Good morning
rotateq has quit [Quit: ERC (IRC client for Emacs 27.2)]
<Josh_2> Can anyone help me out with my macro defining macro, I am trying to pass a class name into the body of the second macro but if I use ,,<class var> I end up with ,<class>
aeth has quit [Ping timeout: 248 seconds]
<Josh_2> I edited that paste to include an example and an expansion
aeth has joined #commonlisp
occ has quit [Ping timeout: 248 seconds]
occ has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
<mfiano> Lots of very strange misconceptions evident
<Josh_2> Cool thats not helpful
<mfiano> I'm trying to think of where to even begin.
<char[m]> For anyone else, generic-cl's copy fist the bill pretty well. It would be better if it was automatic though.
<mfiano> LOCALLY is not serving any purpose here. Why are you generating FUNCALL in a quasiquoted form where the operator is known?
<mfiano> Why is it that you are calling these slot values. Slots are implementation details that shouldn't be exposed, and you shouldn't be associating an accessor with the concept of a slot value. For example, an AROUND method could easily break that association.
<Josh_2> Okay listen
<Josh_2> How about you help me with my problem, and then perhaps say "hmm maybe you should give your methods a different name"
<mfiano> With that said, you shouldn't ever need to ",,". Break it up into functions that generate the code for you.
<Josh_2> Alright
<pillton> I'd probably take a step back and ask more fundamental questions. This looks like the wrong way to implement this.
<mfiano> Yes, this.
occ has quit [Ping timeout: 248 seconds]
zeroc00l0 has joined #commonlisp
<pillton> It looks like you're are trying to make it easier to implement a method for VALIDATE-PAYMENT-INTENT-SLOT.
<Josh_2> Yes but in this case I would have been better off just copy and pasting :joy:
yauhsien has joined #commonlisp
<pillton> I am certainly not advocating copying and pasting. I can't see what you're copying and pasting nor do I have a mental model of the abstraction you're trying to create.
<mfiano> "How about you help me with my problem...": The problem is usually more fundamental than what is asked, and we are all volunteers here. I am not obligated to help any way other than how I know to break down a problem, when I have the time.
<mfiano> I understand the frustration coming here after trying something that failed, but that is no way to ask for help.
Cymew has joined #commonlisp
<Josh_2> What is the point of bringing up secondary issues first?
<pillton> I don't have an issue with how you asked your question. Your question and code just highlights bigger issues that you need to pause and think about.
<Josh_2> I was just trying to save myself having to write two lines of code :joy:
zeroc00l0 has quit [Quit: Client closed]
<pillton> Well you can approach your problem as a complication I can live with today, or you could use your problem to learn something from others about how to create abstractions.
<pillton> My apologies: a complication you can live with*
occ has joined #commonlisp
yauhsien has quit [Remote host closed the connection]
yauhsien has joined #commonlisp
Alfr has quit [Remote host closed the connection]
Alfr has joined #commonlisp
<Josh_2> :facepalm:
lispy has joined #commonlisp
edgar-rft has quit [Ping timeout: 246 seconds]
edgar-rft has joined #commonlisp
admich1 has quit [Ping timeout: 248 seconds]
notzmv has quit [Ping timeout: 248 seconds]
admich1 has joined #commonlisp
taiju` has joined #commonlisp
taiju` is now known as taiju
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 248 seconds]
zeroc00l0 has joined #commonlisp
m5zs7k has quit [Ping timeout: 248 seconds]
m5zs7k has joined #commonlisp
rotateq has joined #commonlisp
unyu has quit [Quit: WeeChat 3.5]
pillton has quit [*.net *.split]
lispy has quit [Quit: Client closed]
karlosz has joined #commonlisp
admich1 has quit [Remote host closed the connection]
pranavats has left #commonlisp [Error from remote client]
rotateq has quit [Remote host closed the connection]
rotateq has joined #commonlisp
borodust has quit [Quit: Leavin']
borodust has joined #commonlisp
shka has joined #commonlisp
karlosz has quit [Ping timeout: 240 seconds]
Dynom has joined #commonlisp
karlosz has joined #commonlisp
attila_lendvai has joined #commonlisp
igemnace has joined #commonlisp
karlosz has quit [Quit: karlosz]
lisp123mobile has joined #commonlisp
<lisp123mobile> is there a built in / easy way to get how many digits in a positive integer?
<lisp123mobile> i guess i could convert to string and count the length but that seems expensive
<rotateq> ohai lisp123mobile
<rotateq> ah for the digits ...
<lisp123mobile> rotates: hey o/
<jackdaniel> how about (ceiling (log number 10))
<rotateq> an easy way would be via (ceiling (log n 10))
<rotateq> jackdaniel: hmm you were faster :)
<lisp123mobile> thanks!!
<rotateq> so this is nice too if you need it for different integer bases
rgherdt has joined #commonlisp
<lisp123mobile> so my unique id function is complete - start with universal time and add a global counter to it (adjusting for its number of digits)
<rotateq> cool
<jackdaniel> why isn't it just global counter?
<jackdaniel> (or gensym in a matter of fact)
<lisp123mobile> persistence across sessions
<zeroc00l0> Where does it gather the time data from?
<lisp123mobile> get-universal-time
<lisp123mobile> although my idea is slightly flawed
<zeroc00l0> What happens if the system clock is set back N seconds?
<jackdaniel> if you have sessions to be persistent with then you may also store the global counter value
<lisp123mobile> jack daniel - i wanted to avoid that
<jackdaniel> or use random uuid (v4? I don't remember)
<jackdaniel> the chance of collision is close to 0
<lisp123mobile> uuid.lisp requires ironclad
<rotateq> you *could* write as another possibility a WITH-FOO macro that starts with (let ((*gensym-counter* 0)) ...). maybe, or I don't understand the problem
<rotateq> or maybe a bad idea of mine again :)
<lisp123mobile> want to minimise dependencies in general
<lisp123mobile> zero - fair point but running on my own computer so not worried about that
<rotateq> ah yes, ironclad is not so small
<beach> clhs integer-length
<zeroc00l0> What happens if the program starts, creates an id, crashes, restarts, creates an id, all within the same unit of the system clock?
<beach> It is probably faster than LOG.
<jackdaniel> beach: but its with assumed base 2?
<beach> But you can scale it.
<lisp123mobile> beach: thanks!
<beach> ... and it works for arbitrary integers too. LOG may not.
<rotateq> beach: Yes I thought on that too and wrote them in query, but it was not directly what he asked for. So your advises to me sink in. :)
<jackdaniel> will using integer-length /and/ scaling be faster than log?
<rotateq> jackdaniel: Maybe depends how the impl deals with calculating LOG.
igemnace has quit [Remote host closed the connection]
<jackdaniel> lisp123mobile: if you just need make-v4-uuid then you may
<lisp123mobile> jack daniel: specifically the problem is i can’t store global id in a bknr data store and then use it in another store object. and i don’t want to write to file or another persistent storage for this
<jackdaniel> just comment out the ironclad part
<beach> LOG has to be scaled as well.
<lisp123mobile> jack daniel: ok will have another look, i wonder how it compares speed wise vs using a combo of time / counter
<jackdaniel> lisp123mobile: can't you just class-allocate the counter?
<lisp123mobile> i will google that tonight
<jackdaniel> for class-allocated slots you need an instance too, but the slot is shared across all instances
<jackdaniel> so it might not be applicable to your use case
<lisp123mobile> that’s what i was thinking too when you mentioned it
<jackdaniel> another option is to define a persistent singleton object
<jackdaniel> called /global-session/ ,)
<lisp123mobile> that’s what i did
<jackdaniel> then do you need anything besides an ordinary counter?
<lisp123mobile> but it’s annoying with bknr because i need to update it outside of the object creations
<lisp123mobile> the easiest thing is just to write to file a counter of course
<jackdaniel> hmm
lisp123 has joined #commonlisp
<lisp123mobile> uuid is probably the cleanest way, as you say it avoids ironclad for the basic functionality
<jackdaniel> create a fork uuid<=4 :)
<lisp123mobile> i should :) unique ids are very important as I realise more and more!
lisp123 has quit [Ping timeout: 246 seconds]
lisp123mobile has quit [Remote host closed the connection]
<mfiano> Shamelesss plug: Fast, MIT-licensed UUIDv4 encoder/decoder: https://github.com/mfiano/common-lisp/tree/master/misc/uuid
<jackdaniel> good to know, thanks for sharing
<jackdaniel> (and it is 100% relevant, so not really shameless ,p)
<mfiano> I should probably remove the dependency on seedable-rng. That isn't very attractive :/
<mfiano> My personal usage always required deterministic random identifiers.
AndrewYu has joined #commonlisp
hefner_ has joined #commonlisp
Andrew has quit [Remote host closed the connection]
hefner has quit [Ping timeout: 256 seconds]
markasoftware has quit [Quit: No Ping reply in 180 seconds.]
gabc has quit [Ping timeout: 256 seconds]
gabc_ has joined #commonlisp
ssafar has quit [Ping timeout: 256 seconds]
ssafar has joined #commonlisp
markasoftware has joined #commonlisp
<mfiano> jackdaniel: I enjoyed your tixel article that popped up in my inbox.
notzmv has joined #commonlisp
<mfiano> Looking forward to more graphics algorithm writeups :)
<jackdaniel> this serie will be about time and motion
<jackdaniel> (and time travel(!)) ;)
<jackdaniel> thanks, I'm glad that you've enjoyed it
<jackdaniel> (feedback was very minute compared to amount of fun I had with it)
igemnace has joined #commonlisp
<rotateq> I bet this could help me sometime too seeing how to write such.
zacque has joined #commonlisp
<zacque> Is there a libc cffi library for all the macro defined constants, typedefs and such?
<jackdaniel> maybe autowrap?
<jackdaniel> it can at least grok structures and enums
<jackdaniel> cl-autowrap*
semz_ is now known as semz
Cymew has quit [Ping timeout: 256 seconds]
<jackdaniel> apparently c2ffi has a (limited) support for defines too
<jackdaniel> (and that's what cl-autowrap uses)
<zacque> Hmmm... I prefer a libc wrapper library where a client can simply load and use
<jackdaniel> macro defined constants and typedefs are gone by that time
<zacque> Very much like: https://docs.rs/libc/latest/libc/
<zacque> Ya, that's why the library needs to keep track of it
taiju has quit [Ping timeout: 260 seconds]
<jackdaniel> so that's what cl-autowrap does, it groks the .h file to keep track of it
lisp123 has joined #commonlisp
<zacque> Does the library user need to depend on cl-autowrap?
<zacque> I'm looking into it right now
<zacque> Maybe I can use it to autowrap all C headers
<lisp123> mfiano: thanks for sharing
<jackdaniel> that is my impression - it generates the spec file that may be distributed with the project
<Nilby> libc is big and wrapping all of libc in lisp is mostly pointless, since the native CL are usually preferable. usually people pick the few function they need and wrap those.
<_death> beach: re. LOG I noticed the other day that its implementation in sbcl is weird.. (log n 2) basically translates to (/ (log n) (log 2)) i.e. it evaluates (log 2) each time.. so I resorted to doing (defun lg (x) (* (log x) #.(/ (log 2))))
<Nilby> there's some things in libc that are hard to duplicate in CL, e.g. setlocale
aartaka has quit [Ping timeout: 248 seconds]
<jackdaniel> Nilby: that's when you want to deal with writing bindings, automatic wrappers are a nobrainer solution for trivial-foolib-bindings
yauhsien has quit [Remote host closed the connection]
<jackdaniel> (and less errorprone at that)
yauhsien has joined #commonlisp
aartaka has joined #commonlisp
yauhsien has quit [Ping timeout: 240 seconds]
<rotateq> maybe I should rename my newer repo for emulating Racket loop types to "trivial-racket-loops" :)
yauhsien has joined #commonlisp
<lisp123> rotateq: good branding :)
<jackdaniel> imo libs and features ported from scheme/racket to cl should be called unhygienic-<something>
<jackdaniel> a bit mocking, but oh well, the term itself is a mockery
<rotateq> lisp123: the idea came up here and maybe it can give some writers a better time
<lisp123> I wonder who came up with that term
occ has quit [Ping timeout: 240 seconds]
<rotateq> jackdaniel: oh :)
<jackdaniel> lisp123: clearly someone who did not like common lisp. to turn the coin, it could be called 'sterilze' as an opposite to 'organic'
<rotateq> this "How to mock a mockingbird" is rather trivial
<rotateq> *book
<rotateq> jackdaniel: and we want to build organisms, not pyramids
<lisp123> although 'little schemer' probably made their language less 'industrial'
igemnace has quit [Remote host closed the connection]
<rotateq> oh sry
<rotateq> wrong channel :( should have gone to #lispcafe
<lisp123> jackdaniel: p.s. thanks for your help on bknr nested objects on reddit
<lisp123> makes it much smoother now that I can nest objects...such a great datastore it is
<zacque> Nilby: But if that function is being used again and again across many libraries, won't that cause a lot of code duplication?
<zacque> I know nothing about `setlocale`, thanks for pointing it out
rodentrabies[m] has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
lisp123 has quit [Read error: Connection reset by peer]
lisp123 has joined #commonlisp
lisp123 has quit [Read error: Connection reset by peer]
aartaka has quit [Ping timeout: 248 seconds]
aartaka has joined #commonlisp
yauhsien has quit [Remote host closed the connection]
<beach> _death: Interesting!
taiju has joined #commonlisp
pjb has joined #commonlisp
AndrewYu is now known as Andrew
Andrew is now known as werdnA
werdnA is now known as Andrew
occ has joined #commonlisp
taiju has quit [Ping timeout: 250 seconds]
zeroc00l0 has quit [Quit: Client closed]
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
Andrew has quit [Quit: Leaving]
s-liao has joined #commonlisp
Andrew has joined #commonlisp
EsoAlgo has quit [Ping timeout: 272 seconds]
zacts has joined #commonlisp
mange has joined #commonlisp
Oddity has quit [Ping timeout: 246 seconds]
<mange> Hi! Does anyone feel like helping me work out a MOP issue I'm having? I'd like to choose a different effective slot definition class depending on the values of fields in my direct slot definition. Is there a better way to do it than communicating down the stack with a special variable bound in an around method on COMPUTE-EFFECTIVE-SLOT-DEFINITION?
<mange> I've tried redefining COMPUTE-EFFECTIVE-SLOT-DEFINITION's primary method, which can work but doesn't seem portable. I've also tried using CHANGE-CLASS to change the slot into the type that I want after it's made but SBCL explicitly checks for and rejects that.
yauhsien has joined #commonlisp
yauhsien has quit [Ping timeout: 246 seconds]
random-nick has joined #commonlisp
pranavats has joined #commonlisp
zacts has quit [Quit: Client closed]
Bike has joined #commonlisp
<Bike> yeah, i think amop says you can't change the class of slot definitions
<Bike> let me see...
<Bike> mop effective-slot-definition-class
<Bike> yeah, tricky
zeroc00l0 has joined #commonlisp
<zacque> Wow, first timing seeing the CLOS-MOP site, comes in very handy
<beach> It does.
<zacque> beach: Thank you! =D
<jackdaniel> zacque: check out l1sp.org , it is a metasearch for clhs, mop and a few other specifications
<beach> Sure. When I was implementing CLOS, I was going crazy trying to use the AMOP book. So I created the site to keep my sanity.
<jackdaniel> beach: did you type things by hand, copy from pdf or you've converted some existing source code to make clos-mop?
<beach> Good question. I can't remember. I guess I must have typed it.
<jackdaniel> I see, thanks
<beach> The existing web-based version was protected, so I couldn't use it.
<rotateq> And I'm not sure, it was mentioned in the Keene book, when I make a subclass and give additional `:type` option to a slot that comes from the superclass, they are forged together with AND.
s-liao has quit [Quit: Client closed]
<zacque> jackdaniel: Thanks! The search query is simply enough, i.e. format = "http://l1sp.org/search?q=%s"
<zacque> Got to come up with a way to browse it from within Emacs ha!
<jackdaniel> zacque: thank Xach (he created and maintains it)
<zacque> Thanks Xach!
<zacque> Maybe I can write a bot for l1sp site? How does specbot work?
<zacque> I guess it needs to scan through every reply for keyword, when there is a match, it then replies with the matching item
<zacque> I meant, the matching lookup value
epolanski has joined #commonlisp
<Xach> You're welcome
s-liao has joined #commonlisp
mange has quit [Ping timeout: 256 seconds]
gabc_ is now known as gabc
tyson2 has joined #commonlisp
rotateq has quit [Remote host closed the connection]
azimut has quit [Ping timeout: 240 seconds]
azimut has joined #commonlisp
yauhsien has joined #commonlisp
yauhsien has quit [Ping timeout: 240 seconds]
Xach has quit [Ping timeout: 256 seconds]
igemnace has joined #commonlisp
cage has joined #commonlisp
dec0d3r has joined #commonlisp
taiju has joined #commonlisp
Bike has quit [Quit: Connection closed]
Bike has joined #commonlisp
attila_lendvai has quit [Remote host closed the connection]
attila_lendvai has joined #commonlisp
zacque has quit [Quit: Goodbye :D]
taiju has quit [Remote host closed the connection]
attila_lendvai has quit [Ping timeout: 240 seconds]
waleee has joined #commonlisp
treflip has joined #commonlisp
taiju_ has joined #commonlisp
pranshukhandal has quit [Quit: the lounge - https://webirc.envs.net]
pranshukhandal has joined #commonlisp
rotateq has joined #commonlisp
ec has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
aartaka has joined #commonlisp
notzmv has quit [Remote host closed the connection]
rawley has joined #commonlisp
taiju_ has quit [Quit: Quit]
Xach has joined #commonlisp
s-liao has quit [Quit: Client closed]
yauhsien has joined #commonlisp
notzmv has joined #commonlisp
attila_lendvai has joined #commonlisp
zeroc00l0 has quit [Quit: Client closed]
dec0d3r has quit [Ping timeout: 240 seconds]
yauhsien has quit [Ping timeout: 272 seconds]
marcoxa has joined #commonlisp
aeth has quit [Ping timeout: 250 seconds]
aeth has joined #commonlisp
pranshukhandal is now known as ghost1999
Oladon has joined #commonlisp
Inline has joined #commonlisp
Inline__ has quit [Quit: Leaving]
aeth has quit [Ping timeout: 246 seconds]
aeth has joined #commonlisp
marcoxa has quit [Quit: Dinner time]
pfd has quit [Quit: Client closed]
Inline has quit [Remote host closed the connection]
Inline has joined #commonlisp
Inline has quit [Remote host closed the connection]
treflip has quit [Remote host closed the connection]
ghost1999 has quit [Quit: the lounge - https://webirc.envs.net]
Inline has joined #commonlisp
treflip has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
rawley has quit [Ping timeout: 246 seconds]
tyson2 has joined #commonlisp
orestarod has joined #commonlisp
kpoeck has joined #commonlisp
igemnace has quit [Remote host closed the connection]
igemnace has joined #commonlisp
Oladon has quit [Quit: Leaving.]
fitzsim` has joined #commonlisp
jfb4_ has joined #commonlisp
zachel_ has joined #commonlisp
pok_ has joined #commonlisp
jaimelm_ has joined #commonlisp
Mandus_ has joined #commonlisp
skempf has joined #commonlisp
treflip has quit [Changing host]
treflip has joined #commonlisp
Xach has quit [*.net *.split]
aartaka has quit [*.net *.split]
hefner_ has quit [*.net *.split]
Spawns_Carpeting has quit [*.net *.split]
saturn2 has quit [*.net *.split]
Kabriel has quit [*.net *.split]
jfb4 has quit [*.net *.split]
kg7ski has quit [*.net *.split]
Mandus has quit [*.net *.split]
jaimelm has quit [*.net *.split]
nature has quit [*.net *.split]
minion has quit [*.net *.split]
fitzsim has quit [*.net *.split]
pok has quit [*.net *.split]
ryanbw has quit [*.net *.split]
zachel has quit [*.net *.split]
d4ryus has quit [*.net *.split]
dim has quit [*.net *.split]
jfb4_ is now known as jfb4
pok_ is now known as pok
pok has quit [Changing host]
pok has joined #commonlisp
aartaka has joined #commonlisp
fitzsim` is now known as fitzsim
minion has joined #commonlisp
Xach has joined #commonlisp
Spawns_Carpeting has joined #commonlisp
hefner_ has joined #commonlisp
saturn2 has joined #commonlisp
nature has joined #commonlisp
dim has joined #commonlisp
ryanbw has joined #commonlisp
Volt_ has joined #commonlisp
d4ryus has joined #commonlisp
karlosz has joined #commonlisp
MajorBiscuit has joined #commonlisp
Guest25 has joined #commonlisp
Guest25 has quit [Client Quit]
<rotateq> It seems a nice quicklisp project vanished, and I can't find it on github anymore. It's "varnishq" and in depth talked about in a newer German CL book. Maybe I have the source on another computer or contact the author.
parjanya has quit [Remote host closed the connection]
pranavats has left #commonlisp [Error from remote client]
karlosz has quit [Quit: karlosz]
<rotateq> Bike: Strange that I didn't find it, but very thanks.
<rotateq> It's a meta parsing tool that was applied for "Deutsche Welle" to parse varnish caches with a special DSL.
kpoeck has quit [Ping timeout: 250 seconds]
tyson2 has quit [Remote host closed the connection]
ec has quit [Ping timeout: 240 seconds]
rgherdt has quit [Remote host closed the connection]
rgherdt has joined #commonlisp
MajorBiscuit has quit [Ping timeout: 272 seconds]
pranavats has joined #commonlisp
Volt_ has quit [Quit: ]
morganw has joined #commonlisp
occ has quit [Ping timeout: 240 seconds]
occ has joined #commonlisp
MajorBiscuit has joined #commonlisp
treflip has quit [Quit: good night]
epolanski has quit [Quit: Connection closed for inactivity]
didi has joined #commonlisp
Oddity has joined #commonlisp
<didi> A stream designator can be t, nil or a stream. How do I write a typespec for it? For example, to use inside a `check-type'. (check-type s (or t nil stream)) isn't it.
<Bike> (or (member t nil) stream)
<didi> Thank you, Bike.
<Bike> no problem
<didi> Unrelated, the different interpretations of STREAM for FORMAT and various PRINT functions are a little annoying.
kpoeck has joined #commonlisp
Oladon has joined #commonlisp
IAmRasputin has joined #commonlisp
rawley has joined #commonlisp
Inline has quit [Ping timeout: 250 seconds]
tyson2 has joined #commonlisp
Inline has joined #commonlisp
jeosol has joined #commonlisp
<aeth> wouldn't boolean work, too?
<aeth> i.e. (or boolean stream)
<Bike> sure, but i think member is clearer, since it's in fact not being used as a boolean
Inline__ has joined #commonlisp
Inline__ has quit [Client Quit]
Dynom has quit [Quit: WeeChat 3.5]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life_ is now known as Lord_of_Life
cage has quit [Quit: rcirc on GNU Emacs 27.1]
aartaka has quit [Ping timeout: 272 seconds]
poselyqualityles has joined #commonlisp
pfd has joined #commonlisp
Oladon has quit [Quit: Leaving.]
aeth has quit [Quit: Reconnecting]
aeth has joined #commonlisp
<pjb> didi: or (or (eql t) (eql nil) stream)
<didi> pjb: Thank you.
Guest52 has joined #commonlisp
<jcowan> Josh_2: Often secondary issues are easier to solve and build momentum..
jcowan has left #commonlisp [#commonlisp]
Inline has quit [Ping timeout: 240 seconds]
Inline has joined #commonlisp
didi has quit [Remote host closed the connection]
Inline has quit [Quit: Leaving]
attila_lendvai has quit [Ping timeout: 248 seconds]
hashfuncb3b has joined #commonlisp
Inline has joined #commonlisp
rawley has quit [Remote host closed the connection]
MajorBiscuit has quit [Ping timeout: 248 seconds]
azimut has quit [Remote host closed the connection]
MajorBiscuit has joined #commonlisp
azimut has joined #commonlisp
akoana has joined #commonlisp
kpoeck has quit [Quit: Client closed]
karlosz has joined #commonlisp
karlosz has quit [Ping timeout: 260 seconds]
<Guest74> I don't suppose anybody here is familiar with the mathematics of spirographs?
Bike has quit [Quit: Connection closed]
MajorBiscuit has quit [Ping timeout: 256 seconds]
euandreh has quit [Ping timeout: 240 seconds]
aeth has quit [Ping timeout: 260 seconds]
euandreh has joined #commonlisp
aeth has joined #commonlisp
<Guest74> welp, I can't center or scale them properly yet, but at least the lines are drawn properly. https://imgur.com/a/m031tkp
<rotateq> continued fractions apply :)
Inline has quit [Quit: Leaving]
notzmv has quit [Ping timeout: 248 seconds]
sander has quit [Ping timeout: 272 seconds]
Inline has joined #commonlisp
Inline has quit [Remote host closed the connection]
sander has joined #commonlisp
Inline has joined #commonlisp
orestarod has quit [Ping timeout: 248 seconds]
Inline has quit [Quit: Leaving]
pillton has joined #commonlisp
poselyqualityles has quit [Ping timeout: 240 seconds]
Inline has joined #commonlisp
occ has quit [Ping timeout: 240 seconds]
hashfuncb3b has quit [Ping timeout: 248 seconds]
agrosant has quit [Ping timeout: 272 seconds]
Spawns_Carpet[m] has left #commonlisp [#commonlisp]
shka has quit [Ping timeout: 248 seconds]
Inline has quit [Quit: Leaving]