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>
dra_ has joined #commonlisp
dra has quit [Ping timeout: 240 seconds]
pranavats has left #commonlisp [Error from remote client]
perrierjouet has quit [Remote host closed the connection]
thomaslewis has joined #commonlisp
dra_ has quit [Quit: Leaving]
karlosz has joined #commonlisp
sjl has quit [Quit: WeeChat 2.2-dev]
sjl has joined #commonlisp
sjl has quit [Client Quit]
thomaslewis has left #commonlisp [#commonlisp]
ec has quit [Ping timeout: 276 seconds]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
gaqwas has quit [Remote host closed the connection]
perrierjouet has joined #commonlisp
jstoddard has quit [Quit: ERC (IRC client for Emacs 27.2)]
gioyik has quit [Remote host closed the connection]
gioyik has joined #commonlisp
karlosz has quit [Quit: karlosz]
random-nick has quit [Ping timeout: 256 seconds]
nij- has left #commonlisp [#commonlisp]
notzmv has quit [Ping timeout: 240 seconds]
djuber has quit [Remote host closed the connection]
epolanski has quit [Quit: Connection closed for inactivity]
Everything has joined #commonlisp
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
<moon-child> Alfr: 'every partition of the set corresponds to one such relation' I think the existence of sets kinda implies that you already have at least one equivalence relation :P
<moon-child> math provides such a relation, but it only works on sets (not conses, symbols, strings, ...)
Catie has quit [Quit: Going home]
thomaslewis has joined #commonlisp
aeth has quit [Ping timeout: 240 seconds]
aeth has joined #commonlisp
Jing has joined #commonlisp
nij- has joined #commonlisp
Lord_Nightmare has quit [Ping timeout: 245 seconds]
Oladon has quit [Quit: Leaving.]
s-liao has quit [Ping timeout: 256 seconds]
s-liao has joined #commonlisp
Josh_2 has quit [Ping timeout: 252 seconds]
Bike has quit [Quit: Lost terminal]
s-liao has quit [Ping timeout: 256 seconds]
kingofcsu has joined #commonlisp
s-liao has joined #commonlisp
notzmv has joined #commonlisp
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #commonlisp
Devon has quit [Ping timeout: 256 seconds]
s-liao has quit [Ping timeout: 256 seconds]
<ns12> nij-: HTML->STRING is somewhat similar to SXML https://gist.github.com/markasoftware/ab357f1b967b3f656d026e33fec3bc0e
<beach> Good morning everyone!
<ns12> Good morning beach.
semz has quit [Ping timeout: 240 seconds]
kingofcsu has quit [Quit: kingofcsu]
semz has joined #commonlisp
s-liao has joined #commonlisp
waleee has quit [Ping timeout: 240 seconds]
tyson2 has quit [Remote host closed the connection]
gioyik has quit [Remote host closed the connection]
gioyik has joined #commonlisp
Oladon has joined #commonlisp
s-liao has quit [Quit: Client closed]
ldb has joined #commonlisp
akoana has joined #commonlisp
karlosz has joined #commonlisp
ldb has quit [Ping timeout: 240 seconds]
ldb has joined #commonlisp
aartaka has joined #commonlisp
kingofcsu has joined #commonlisp
s-liao has joined #commonlisp
perro_ has quit [Ping timeout: 256 seconds]
s-liao23 has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
s-liao23 has quit [Ping timeout: 256 seconds]
karlosz has quit [Quit: karlosz]
karlosz has joined #commonlisp
perro_ has joined #commonlisp
Jing has quit [Remote host closed the connection]
Jing has joined #commonlisp
kingofcsu has quit [Quit: kingofcsu]
ldb has quit [Quit: ERC (IRC client for Emacs 27.2)]
jealousmonk has quit [Quit: sleep]
kingofcsu has joined #commonlisp
Jing_ has joined #commonlisp
Jing has quit [Ping timeout: 240 seconds]
attila_lendvai has joined #commonlisp
Algernon69 has joined #commonlisp
sunset_NOVA has joined #commonlisp
Oladon has quit [Quit: Leaving.]
s-liao has joined #commonlisp
kingofcsu has quit [Quit: kingofcsu]
Jing_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rain3 has joined #commonlisp
shka has joined #commonlisp
asen has joined #commonlisp
asen has quit [Client Quit]
rogersm has quit [Ping timeout: 256 seconds]
s-liao97 has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
OlCe has quit [Remote host closed the connection]
gioyik has quit [Quit: WeeChat 3.3]
s-liao97 has quit [Ping timeout: 256 seconds]
rogersm has joined #commonlisp
varjag has joined #commonlisp
srji has quit [Quit: leaving]
srji has joined #commonlisp
OlCe has joined #commonlisp
Kyuvi has joined #commonlisp
s-liao has joined #commonlisp
epolanski has joined #commonlisp
xsperry has joined #commonlisp
beach has quit [Ping timeout: 268 seconds]
pve has joined #commonlisp
beach has joined #commonlisp
<madnificent> nij-: I wrote sexml ages ago. It takes in a DTD and spits out forms.
<madnificent> nij-: It's been used in the wild since it was written but its use will likely be discontinued.
<madnificent> I strongly suspect it could also spit out helpers to allow writing the SXML syntax.
<luis> fe
<madnificent> It uses context oriented programming at compiletime IIRC, so I guess you could advise it to create different things.
<phoe> luis: how about cu?
<madnificent> o7 phoe
<luis> fe[nl]ix: let me update the docs first
<luis> phoe: typing Stelian's nickname on a phone is hard enough without a toddler moving about :D
<phoe> :D
beach` has joined #commonlisp
jeffrey has joined #commonlisp
beach has quit [Ping timeout: 250 seconds]
amb007 has quit [Ping timeout: 256 seconds]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
s-liao53 has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
amb007 has quit [Ping timeout: 240 seconds]
amb007 has joined #commonlisp
rotateq has joined #commonlisp
<nij-> madnificent: Thanks for sharing. Does it format the output automatically? Or just plain s-expressions?
<madnificent> nij-: It's basically a thing to generate functions from a DTD so that it's easier to write HTML. It should generate documentation if slime is available (iirc). So you should get hints on what input is allowed.
<madnificent> But then HTML5 came along and they decided that the lessons we learned shifting away from SGML were for losers and that web devs wouldn't understand simple structure anyways so it's not XML-based anymore.
<moon-child> html5 is the most bizarre shit I have ever heard of
<moon-child> 'let's make a standard except it's not actually a standard'
<madnificent> <continued-rant>So we claim that editors should complete any symbol and it's okay to have a myriad of APIs that change whenever with bots that keep our dependencies up to date because it's such a mess, but it's absolutely impossible for an editor to insert a closing term or create a well-formed attribute, that would be far too complex</continued-rant>
igemnace has quit [Remote host closed the connection]
<madnificent> moon-child: Welcome to the undermining of the W3C. For the shit it gets, it has done an amazing job at pushing our world forward. I'm hoping we can support a bunch of their later efforts to get data back in the hands of people.
<moon-child> ehhhhh??~
<madnificent> The WHATWG was created to create HTML5 because the W3C didn't accept changes fast enough. They didn't see a future in xhtml but rather wanted a more free-forming structure where it would be easier to get things accepted.
<moon-child> I'm not allowed to hate whatwg and w3c both?
<madnificent> moon-child: You are! But I think the hate for the W3C is largely steered by other interests.
<madnificent> The W3C has a structure in place where you can participate as an entity. You know the cost. It gives you single vote. If you're big, you'll pay more, but you don't get more voting rights. That's been a huge thorn in the eyes of some. I think it's a sensible structure.
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<madnificent> Everyone interprets what they see based on what they want to see, myself included.
gaqwas has joined #commonlisp
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
s-liao has joined #commonlisp
s-liao53 has quit [Ping timeout: 256 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
biog has joined #commonlisp
amb007 has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
amb007 has quit [Ping timeout: 256 seconds]
amb007 has joined #commonlisp
s-liao has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
amb007 has joined #commonlisp
Algernon69 has quit [Ping timeout: 240 seconds]
Alfr has quit [Ping timeout: 240 seconds]
akoana has quit [Quit: leaving]
dmgk has joined #commonlisp
igemnace has joined #commonlisp
Jing has joined #commonlisp
amb007 has quit [Ping timeout: 240 seconds]
amb007 has joined #commonlisp
Kyuvi has quit [Quit: Client closed]
unyu has quit [Quit: WeeChat 3.3]
tyson2 has joined #commonlisp
igemnace has quit [Ping timeout: 240 seconds]
Algernon69 has joined #commonlisp
mgl has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
igemnace has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
OlCe has quit [Read error: Connection reset by peer]
random-nick has joined #commonlisp
thomaslewis has joined #commonlisp
nij- has joined #commonlisp
perrierjouet has quit [Quit: -now]
pranavats has joined #commonlisp
Alfr has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
igemnace_ has joined #commonlisp
igemnace has quit [Read error: Connection reset by peer]
icepic1984[m] has quit [Ping timeout: 240 seconds]
beach`` has joined #commonlisp
perrierjouet has joined #commonlisp
igemnace has joined #commonlisp
beach` has quit [Ping timeout: 256 seconds]
igemnace_ has quit [Ping timeout: 256 seconds]
beach`` is now known as beach
s-liao has quit [Quit: Client closed]
waleee has joined #commonlisp
Bike has joined #commonlisp
nij- has quit [Ping timeout: 240 seconds]
nij- has joined #commonlisp
s-liao has joined #commonlisp
icepic1984[m] has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
kevingal has joined #commonlisp
amb007 has joined #commonlisp
s-liao has quit [Quit: Client closed]
tyson2 has quit [Remote host closed the connection]
cognemo has quit [Quit: ZNC 1.8.2 - https://znc.in]
cognemo has joined #commonlisp
unyu has joined #commonlisp
raeda_ is now known as raeda
ec has joined #commonlisp
sunset_NOVA has quit [Quit: Leaving]
cosimone has quit [Read error: Connection reset by peer]
igemnace has quit [Remote host closed the connection]
cosimone has joined #commonlisp
iamFIREcracker has quit [Read error: Connection reset by peer]
igemnace has joined #commonlisp
shka has quit [Read error: Connection reset by peer]
cranium has joined #commonlisp
frodef has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
shka has joined #commonlisp
Everything has quit [Quit: leaving]
tyson2 has joined #commonlisp
Algernon69 has quit [Read error: Connection reset by peer]
iamFIREcracker has joined #commonlisp
cognemo has quit [Quit: ZNC 1.8.2 - https://znc.in]
mister_m has joined #commonlisp
cognemo has joined #commonlisp
kevingal has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
Lord_Nightmare has joined #commonlisp
Algernon91 has joined #commonlisp
nij- has quit [Ping timeout: 263 seconds]
citizenajb has joined #commonlisp
eddof13 has joined #commonlisp
Lord_Nightmare has quit [Ping timeout: 256 seconds]
<citizenajb> Anyone interested in working on a non-FFI Common Lisp QUIC + HTTP/3 implementation? It's a nice big task, but I feel like it helps keep Common Lisp relevant. An FFI version would be OK too, but if all we do is FFI I think we miss opportunities to improve our standard components, like usocket, etc.
<madnificent> The discussion on equality has shaped my thinking a littly bit. Thank you. It has also slightly changed my reading of provided methods. The argument to concatenate has received a different place in my head.
<phoe> citizenajb: practical question - what issue is there with having a non-CL proxy running between CL and HTTP clients, converting HTTP2 to QUIC?
<beach> citizenajb: Great initiative. This is not my domain of expertise, and I am busy with other stuff, but i hope you will get lots of help.
<madnificent> citizenajb: I'm not up for the task. I've enjoyed writing an http1.1 implementation at some point but I doubt time will permit from my end. So far we're running Hunchentoot behind a few other services, one being nginx.
<phoe> like, client → quic → proxy → http2 → CL
Mandus has quit [Quit: WeeChat 3.3]
<madnificent> phoe: Connection handshake is substantially longer. Though with a proxy we keep the TCP connections open longer to mitigate that.
<citizenajb> phoe: If the proxy is very local (so that the improvements that QUIC aims at are not relevant) I think that would work OK --- can you point me at an HTTP/3 to HTTP/2 proxy? There is a Common Lisp HTTP/2 server (I think I saw one on github while wandering around)?
<madnificent> phoe: given a different transport layer in http/3, I would expect widely different performance characteristics though. Especially on crowded networks.
<madnificent> citizenajb: nginx will accept HTTP/3. If it forwards to a backend it negotiates with the server what protocol it should use there.
<citizenajb> beach: it is not my domain of expertise either --- but because it would be a hobby project the learning of new things is an acceptable part of the project.
<madnificent> I'm not sure how that works together with the push updates in http/2 and http/3. I suspect subtle incompatibilities but I don't know.
Mandus has joined #commonlisp
<beach> citizenajb: Sounds good to me.
<phoe> citizenajb: haproxy and nginx have some early support for quic
amb007 has quit [Read error: Connection reset by peer]
<citizenajb> madnificent: OK, so there is an extant solution to support Common Lisp as a web server and accept HTTP/3 through proxying, but how about as a client? Eventually HTTP/1.1 will become stone age technology and will help sink Common Lisp with its weight. People choose programming languages for all sorts of reasons, and one major one is "supports 'modern' stuff"
<phoe> citizenajb: the general idea is that libraries only happen when somebody makes them, and people usually make them if they need them - a quic client and/or server won't be an exception
amb007 has joined #commonlisp
<madnificent> citizenajb: ah, I only assumed server library. True. I wouldn't expect it to stick with HTTP/3 in the coming years though. We let backwards compatibility loose in HTTP/2 and 6 years later there's already a new very disruptive kit around the block. Given how easy it is to implement, perhaps HTTP1.1 will stick around longer than HTTP/3! XD I generally agree and would love an HTTP/3 implementation though.
nij- has joined #commonlisp
alvaro121 has quit [Ping timeout: 240 seconds]
<madnificent> citizenajb: I think it could be a fun project to pursue!
<citizenajb> madnificent: I think so too, obviously! I just remember how much fun it was when I was younger to work with other people on open source stuff. Now that I'm old and use Common Lisp all day at work I kind of dropped out of the "programming for fun" camp.
nij- has left #commonlisp [#commonlisp]
<semz> "Eventually HTTP/1.1 will become stone age technology and will help sink Common Lisp with its weight." I don't see this at all, honestly.
<semz> Not that I'm discouraging anyone from writing support for HTTP/[23].
scymtym has quit [Remote host closed the connection]
pranavats has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
cranium has quit [Quit: Leaving]
pranavats has left #commonlisp [Error from remote client]
pranavats has joined #commonlisp
alvaro121 has joined #commonlisp
sloanr has joined #commonlisp
sloanr has quit [Remote host closed the connection]
sloanr has joined #commonlisp
cage has joined #commonlisp
jealousmonk has joined #commonlisp
jstoddard has joined #commonlisp
citizenajb has left #commonlisp [#commonlisp]
Jing has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
attila_lendvai has quit [Ping timeout: 256 seconds]
<random-nick> wouldn't implementing http/3 just be a matter of implementing quic (which is called a transport layer protocol but actually just uses UDP) and then implementing http/3 on top of it?
azimut has quit [Ping timeout: 276 seconds]
<random-nick> I don't see why would you have to change things like usocket
attila_lendvai has joined #commonlisp
marcoxa has joined #commonlisp
hhdave has quit [Ping timeout: 252 seconds]
tfb has joined #commonlisp
Catie has joined #commonlisp
hhdave has joined #commonlisp
Algernon666 has joined #commonlisp
biog has quit [Quit: ZZZzzz…]
Algernon91 has quit [Ping timeout: 245 seconds]
marcoxa` has joined #commonlisp
citizenajb has joined #commonlisp
marcoxa has quit [Ping timeout: 240 seconds]
notzmv has quit [Ping timeout: 240 seconds]
<citizenajb> random-nick: usocket isn't perfect. It misses a few features, like auto-close on stream finalization, etc. I'm pretty sure there is some excess copying compared with some of the direct interfaces, but I haven't looked at it in a long time. Nothing specific to UDP or QUIC. Just the more varied users of a library, generally the better something is...
citizenajb has quit [Remote host closed the connection]
mgl has quit [Ping timeout: 256 seconds]
<jeosol> Good morning all!
lisp123 has joined #commonlisp
<rotateq> heyy jeosol :)
<jeosol> rotateq: I am ok
<rotateq> good
lisp123 has quit [Ping timeout: 256 seconds]
Mandus has quit [Ping timeout: 256 seconds]
Mandus has joined #commonlisp
scymtym has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
karlosz has quit [Quit: karlosz]
lisp123 has joined #commonlisp
eddof13 has joined #commonlisp
<sm2n> does anyone know why there is #+ecl stuff in the sbcl backend file for usocket?
<rotateq> maybe for bootstrapping reasons?
amb007 has quit [Ping timeout: 256 seconds]
karlosz has joined #commonlisp
<sm2n> it appears that the ecl backend file depends on the sbcl one
<sm2n> But, I don't understand why there is ecl exclusive stuff in the sbcl file
<rotateq> so metabootstrapping :D
<rotateq> well, maybe ask in #sbcl or #ecl
<Xach> sm2n: ecl's socket system is called "sb-bsd-sockets"
<Xach> oops. i don't know if that is applicable.
<jackdaniel> right, ecl copied api from sbcl for reasons one would call pragmatic
<jackdaniel> sbcl added some stuff later, so they are no 100% compatible
<jackdaniel> sb-bsd-sockets is a nickname for the package sockets (or the other way around :)
<sm2n> oh, I see, I guess it would have to be in the same file because called functions need to be in the same compilation unit or prior
<sm2n> or not? I guess it's just a style thing
karlosz has quit [Quit: karlosz]
amb007 has joined #commonlisp
Algernon666 has quit [Read error: Connection reset by peer]
tyson2 has quit [Remote host closed the connection]
<jackdaniel> I guess that api is still similar enough that it is not worth to duplicate code
<madnificent> sm2n: You use a package in multiple files, extending its content.
<madnificent> sm2n: IIUC, a package is a symbol space. It's not a container of functions and variables, but rather a set of labels to which functions and variables can be attached.
<sm2n> Yes, I understand how packages work
Oladon has joined #commonlisp
<sm2n> My initial confusion was why there was a #+(or mkcl (and ecl (not ecl-bytecmp))) in sbcl.lisp
<jackdaniel> (what was exactly the point of mimicing the api)
<sm2n> i.e code that does not apply to sbcl at all
<sm2n> ?
<jackdaniel> I was referring to my previosu statement
<madnificent> sm2n: yes, I understood that question. it seemed you were not 100% sure on packages above. redundant info from my end :)
<sm2n> oh
<jackdaniel> to rephrase: "the point of mimicing the api was to make it easy enough to reuse code written for sbcl" - at least that's how I imagine the rationale of the implementer
<sm2n> Yes, that makes sense.
tfeb has joined #commonlisp
<lisp123> Is there a way to get the last character of a string without traversing it to get its LENGTH?
<sm2n> Yes
aartaka has quit [Ping timeout: 256 seconds]
<sm2n> strings are vectors, and hence have O(1) random access
<sm2n> (and also length)
<sm2n> so (length s) on a string does not traverse it
<lisp123> Gotcha. Is there any way to do it without LENGTH?
<Bike> not really. why do you want to do it without length?
<Bike> you could use array-dimension, but that's the same thing
<lisp123> Just curious (well before it was because of the traversal non-issue, but now just curious :-)
<semz> You probably need some length-related special case anyway; after all, what is the last character of a length zero string?
<lisp123> ehhh thanks for reminding me, I need to fix that
notzmv has joined #commonlisp
aartaka has joined #commonlisp
<jackdaniel> the last character of "string" is g ;)
<lisp123> jackdaniel: :D
amb007 has quit [Ping timeout: 256 seconds]
amb007 has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
<etimmons> jeosol: cl-tar can now create a tar file directly from the file system (preserving links and most metadata), and transparently compress it.
cage has quit [Quit: rcirc on GNU Emacs 27.1]
aartaka has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
rain3 has quit [Ping timeout: 245 seconds]
ec has quit [Ping timeout: 276 seconds]
tfeb has quit [Quit: died]
marcoxa` has quit [Quit: Time for bed...]
Lord_Nightmare has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
eddof13 has joined #commonlisp
<semz> If I define (setf foo), does it have to return the value it stores?
<semz> or is that guaranteed to happen on the setf side
<etimmons> clhs 5.1.2.9
<specbot> Other Compound Forms as Places: http://www.lispworks.com/reference/HyperSpec/Body/05_abi.htm
<etimmons> seems to say that you should return it
amb007 has quit [Read error: Connection reset by peer]
Noisytoot_ has joined #commonlisp
amb007 has joined #commonlisp
nij- has joined #commonlisp
hhdave has quit [Ping timeout: 256 seconds]
<semz> thanks, I didn't really know where to look in the spec
hhdave has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
<pjb> semz: no, (setf foo) has to return it, itself.
jeffrey has quit [Quit: Client quit]
biog has joined #commonlisp
nij- has left #commonlisp [#commonlisp]
<jeosol> etimmons: Thanks for that feedback. I will give it a try and report back
Noisytoot_ is now known as Noisytoot
theothornhill has quit [Remote host closed the connection]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tyson2 has joined #commonlisp
attila_lendvai has quit [Ping timeout: 240 seconds]
bollu has joined #commonlisp
<bollu> beach I'm a common lisp newb. I'm staring at https://github.com/robert-strandh/SICL/blob/3dbe0a238857d13eb56b89f21ee74de22d2ce194/Code/Cleavir/Intermediate-representation/instruction-mixin-classes.lisp#L22 and I'm very puzzled :) It's a mixin for a binary operation. So.. where are the two operands?
Algernon69 has joined #commonlisp
<rotateq> bollu: it's just for additional inheritance I might say
<bollu> rotateq where is the data of an instruction stored? I presume the instruction needs to store the two operands somewhere. Where does it do that?
<rotateq> bollu: it's for when define certain methods, there has nothing like you mean to be stored in the beginning
<rotateq> like with commutative-mixin below
<lisp123> rotateq: Nice answer, that explains it well :)
<rotateq> lisp123: really? or sarcasm? ^^
<lisp123> rotateq: It is :) I was trying to explain in #lisp but failing
<bollu> rotateq in which case, can you point me to where the actual instruction set is.. defined? Like, I understand that you're declaring that add is commutative. But you must have a representation of an add instruction?
<bollu> somewhere in the compiler?
<rotateq> no I'm not deep into the SICL project at all and would say it's nothing for starting out
<bollu> hmm
<bollu> what is good code to read while starting out
<rotateq> first you should learn some things and then many others come by
Krystof has quit [Ping timeout: 256 seconds]
<bollu> what do you mean
<rotateq> but right, SICL has a really good style and thought in it
<rotateq> bollu: you said yourself you're a newbie
shka has quit [Ping timeout: 240 seconds]
<bollu> rotateq I am indeed. I like to learn things by reading good code and finding out what I don't know
<bollu> lisp123 neat, thanks for the textbook link!
<rotateq> yes lisp123, a good book, but may also be a bit too advanced for now
<rotateq> bollu: you won't come far by just guessing
<rotateq> there's the Practical Common Lisp book for example
Lord_Nightmare has quit [Read error: Connection reset by peer]
<bollu> rotateq I know scheme and haskell, if that helps
Lord_Nightmare has joined #commonlisp
<bollu> rotateq I'm trying to figure out the delta, which is the object system, as far as I can tell
<rotateq> yes Haskell was also most of my background before and some other stuff
hineios5 has joined #commonlisp
karlosz has joined #commonlisp
hineios has quit [Ping timeout: 260 seconds]
hineios5 is now known as hineios
lisp123 has quit [Remote host closed the connection]
<bollu> `(assert (equal (expr->eval 1 nil) 1))` I'm sprinkling my toplevel with asserts like these, while I REPL-based develop. How does one actually translate their repl based tests into "real" tests
<rotateq> with a function that runs at a certain time I would say
varjag has quit [Ping timeout: 240 seconds]
eddof13 has joined #commonlisp
pve has quit [Quit: leaving]
eddof13 has quit [Client Quit]
igemnace has quit [Remote host closed the connection]
<yottabyte> has anyone here done any advent of code 2021?
karlosz has quit [Quit: karlosz]
azimut has joined #commonlisp
ahlk has joined #commonlisp
perrierjouet has quit [Remote host closed the connection]
Algernon69 has quit [Ping timeout: 240 seconds]
White_Flame has quit [Remote host closed the connection]
White_Flame has joined #commonlisp
<raeda> yottabyte: I did the first couple of days
<jstoddard> bollu: I don't know if this is what you're looking for with regards to tests, but: https://gigamonkeys.com/book/practical-building-a-unit-test-framework.html
<jstoddard> The whole book is pretty good, if you haven't seen it yet and are new to Common Lisp.
<yottabyte> raeda: did you do day 3?
<raeda> Yep. Need help?
<yottabyte> I do. I got the correct answer for the test input, but I'm getting the wrong answer for the input they want
<yottabyte> my idea was to make a list of plists: 1 list for each "column" of bits
<raeda> I used a length 12 array to count the bits
<yottabyte> what was in each slot?
<bollu> jstoddard thanks! that seems useful
igemnace has joined #commonlisp
<raeda> The ith element would count the number of 1s in the ith digit
miique has joined #commonlisp
tfb has quit [Quit: died]
<raeda> I think your code is getting the right answer for part 1
<yottabyte> it is
<yottabyte> wait
<yottabyte> it's not for me
<yottabyte> every time I enter it in
<yottabyte> for my input
<yottabyte> yeah, I'm still getting it wrong
perrierjouet has joined #commonlisp
<raeda> The answer I get from running your code ends with 724
<yottabyte> for your own input?
lisp123 has joined #commonlisp
X-Scale has joined #commonlisp
<raeda> I checked the input file in your github repo, and they're different
<yottabyte> I think this input is different for everyone though
<yottabyte> it's based on your login
rgherdt_ is now known as rgherdt
<yottabyte> running my code against your input, do you get the right answer for yourself?
karlosz has joined #commonlisp
<raeda> Whelp, I'm confused since your code works fine on my input
<yottabyte> so for my input, my code gives me: 3029094. can you tell me if this is the number you get running my input (from my GitHub) on your solution?
lisp123 has quit [Ping timeout: 256 seconds]
Inline has quit [Ping timeout: 256 seconds]
<raeda> No, but your code's output matches mine. I'll try restarting my CL image and recompiling
varjag has joined #commonlisp
<raeda> yottabyte: Your *read-base* isn't set to anything weird, is it?
Catie has quit [Remote host closed the connection]
<raeda> On line 8, I would write (loop for index from 0 below (length line) ... )
<yottabyte> *read-base* is 10
varjag has quit [Client Quit]
<raeda> `for index from 0 to (1- ...)` is the same as `for index from 0 below ...`, and you can get the line length directly without parsing then printing
<_death> yottabyte: if you have a line like "0123", note that (write-to-string (parse-integer line)) => "123"
<yottabyte> that's gotta be the problem. I did loop for index from 0 below (1- (length line)) and then I got the right answer
<yottabyte> I had to subtract 1 from the length. idk if there's a better way
karlosz has quit [Quit: karlosz]
<yottabyte> maybe a regex split on the length
<_death> with BELOW you don't need to subtract.. in your code you're using TO.. but that doesn't have to do with what I said
ec has joined #commonlisp
<yottabyte> I have to subtract because it's including non 0 or 1 characters (the new-line character at the end of the line, I imagine)
<yottabyte> maybe I can do something with "for line = (read-line stream nil)" to only read what I want to read
<_death> instead of guessing, you can debug
jpl01 has joined #commonlisp
<raeda> yottabyte: Yay! Congrats!
<raeda> yottabyte: Another piece of advice: your binary-to-decimal function is the same as (parse-integer binary-string :radix 2)
<yottabyte> Thanks everyone