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/>
holycow has quit [Quit: Lost terminal]
<Bubblegumdrop> beach have you tried lem? I hear its very popular.
random-jellyfish has quit [Ping timeout: 256 seconds]
lucasta has quit [Quit: Leaving]
tok has quit [Remote host closed the connection]
szkl has joined #commonlisp
alcor has quit [Remote host closed the connection]
Odin-LAP has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
bubblegum has quit [Ping timeout: 264 seconds]
tok has joined #commonlisp
bubblegum has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
SunClonus has joined #commonlisp
tok has quit [Remote host closed the connection]
SunClonus has quit [Remote host closed the connection]
bubblegum has quit [Read error: Connection reset by peer]
dodoyada has quit [Quit: Client closed]
bubblegum has joined #commonlisp
bubblegum has quit [Ping timeout: 260 seconds]
dodoyada has joined #commonlisp
elderK has joined #commonlisp
dra has quit [Ping timeout: 260 seconds]
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life_ is now known as Lord_of_Life
waleee has joined #commonlisp
Oladon has quit [Read error: Connection reset by peer]
Oladon has joined #commonlisp
lurkur has joined #commonlisp
dodoyada has quit [Quit: Client closed]
eddof13 has joined #commonlisp
eddof13 has quit [Client Quit]
tyson2 has quit [Remote host closed the connection]
amb007 has joined #commonlisp
szkl has quit [Quit: Connection closed for inactivity]
amb007 has quit [Ping timeout: 260 seconds]
random-nick has quit [Ping timeout: 256 seconds]
bubblegum has joined #commonlisp
Lord_Nightmare has quit [Quit: ZNC - http://znc.in]
Lord_Nightmare has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
NicknameJohn has quit [Ping timeout: 264 seconds]
anticomputer has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
<paulapatience> How are you supposed to pronounce subseq? 'Subseek' and 'subseck' come to mind as options.
lurkur has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.2)]
<Bubblegumdrop> sub sikh is how I pronounce it
<Bubblegumdrop> sub sequence
waleee has quit [Ping timeout: 255 seconds]
<paulapatience> Well subsequence would be pronounced sub seek wince
<paulapatience> Subsequent would be pronounced sub sick wint
<bike> subseek is what i've settled on
szkl has joined #commonlisp
bilegeek has joined #commonlisp
decweb has quit [Ping timeout: 268 seconds]
josrr has quit [Remote host closed the connection]
<beach> Bubblegumdrop: No, I haven't. We are working on something that will be much better for editing Common Lisp code, so I haven't bothered. Then, perhaps I should use Lem rather than Emacs for stuff other than Common Lisp code.
Pixel_Outlaw has quit [Remote host closed the connection]
Fare has joined #commonlisp
holycow has joined #commonlisp
manwithluck has quit [Read error: Connection reset by peer]
manwithluck has joined #commonlisp
Fare has quit [Ping timeout: 252 seconds]
ym has quit [Ping timeout: 264 seconds]
<aeth> I've always called it subsek, not subseek
gxt has quit [Ping timeout: 255 seconds]
a51 has quit [Quit: WeeChat 4.2.1]
dodoyada has joined #commonlisp
mgl has joined #commonlisp
dodoyada has quit [Quit: Ping timeout (120 seconds)]
bilegeek has quit [Quit: Leaving]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
bilegeek has joined #commonlisp
mgl has quit [Ping timeout: 264 seconds]
ronald has joined #commonlisp
ronald_ has quit [Ping timeout: 256 seconds]
elderK has quit [Quit: WeeChat 4.1.1]
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
ym has joined #commonlisp
amb007 has joined #commonlisp
msavoritias has joined #commonlisp
ronald_ has joined #commonlisp
ronald has quit [Read error: Connection reset by peer]
alcor has joined #commonlisp
gxt has joined #commonlisp
mgl has joined #commonlisp
gxt_ has joined #commonlisp
gxt has quit [Remote host closed the connection]
notzmv has quit [Ping timeout: 255 seconds]
zetef has joined #commonlisp
_cymew_ has joined #commonlisp
wacki has joined #commonlisp
Lycurgus has joined #commonlisp
synchromesh has quit [Read error: Connection reset by peer]
synchromesh has joined #commonlisp
mmk2410_ has quit [Quit: ZNC - https://znc.in]
shka has joined #commonlisp
szkl is now known as sz
sz has quit []
szkl has joined #commonlisp
mmk2410 has joined #commonlisp
szkl is now known as sz
sz is now known as szkl
szkl is now known as sz
sz is now known as szkl
szkl is now known as sz
sz has quit []
szkl has joined #commonlisp
gxt_ has quit [Remote host closed the connection]
gxt_ has joined #commonlisp
szkl has quit []
azimut has joined #commonlisp
traidare has joined #commonlisp
hayley has joined #commonlisp
random-jellyfish has joined #commonlisp
rgherdt has joined #commonlisp
unl0ckd has joined #commonlisp
jon_atack has quit [Ping timeout: 264 seconds]
unl0ckd has quit [Ping timeout: 268 seconds]
bilegeek has quit [Quit: Leaving]
dcb has quit [Quit: Connection closed for inactivity]
ym has quit [Ping timeout: 268 seconds]
notzmv has joined #commonlisp
dino_tutter has joined #commonlisp
zetef has quit [Remote host closed the connection]
cage has joined #commonlisp
notzmv has quit [Ping timeout: 256 seconds]
X-Scale has joined #commonlisp
green_ has joined #commonlisp
Odin- has joined #commonlisp
mm007emko has quit [Ping timeout: 268 seconds]
pve has joined #commonlisp
mm007emko has joined #commonlisp
occ has joined #commonlisp
random-nick has joined #commonlisp
awlygj has joined #commonlisp
dino_tutter has quit [Ping timeout: 255 seconds]
tane has joined #commonlisp
decweb has joined #commonlisp
McParen has joined #commonlisp
igemnace has joined #commonlisp
tyson2 has joined #commonlisp
semz has quit [Ping timeout: 252 seconds]
semz has joined #commonlisp
aurelius_nero has joined #commonlisp
yitzi has joined #commonlisp
Odin-LAP has joined #commonlisp
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
mmk2410 has quit [Quit: ZNC - https://znc.in]
mmk2410 has joined #commonlisp
mmk2410 has quit [Client Quit]
mmk2410 has joined #commonlisp
markb1 has quit [Ping timeout: 272 seconds]
amb007 has quit [Ping timeout: 272 seconds]
amb007 has joined #commonlisp
tok has joined #commonlisp
markb1 has joined #commonlisp
josrr has joined #commonlisp
green_ has quit [Quit: Leaving]
X-Scale has quit [Quit: Client closed]
X-Scale has joined #commonlisp
mmk2410 has quit [Quit: ZNC - https://znc.in]
mmk2410 has joined #commonlisp
McParen has left #commonlisp [#commonlisp]
mgl has quit [Ping timeout: 256 seconds]
jonatack has joined #commonlisp
rendar has quit [Ping timeout: 256 seconds]
wacki has quit [Read error: Connection reset by peer]
wacki has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
mm007emko has joined #commonlisp
NicknameJohn has joined #commonlisp
cmack has quit [Remote host closed the connection]
puke has quit [Ping timeout: 272 seconds]
X-Scale has quit [Quit: Client closed]
decweb has quit [Remote host closed the connection]
ym has joined #commonlisp
dcb has joined #commonlisp
mgl has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
cmack has joined #commonlisp
dodoyada has joined #commonlisp
robin has joined #commonlisp
Guest99 has joined #commonlisp
Guest99 has quit [Client Quit]
mgl has quit [Ping timeout: 264 seconds]
yitzi has quit [Remote host closed the connection]
King_julian has joined #commonlisp
SunClonus has joined #commonlisp
King_julian has quit [Read error: Connection reset by peer]
amb007 has quit [Ping timeout: 260 seconds]
son0p has quit [Quit: Bye]
King_julian has joined #commonlisp
King_julian has quit [Read error: Connection reset by peer]
waleee has joined #commonlisp
random-jellyfish has quit [Ping timeout: 256 seconds]
jrx has joined #commonlisp
son0p has joined #commonlisp
King_julian has joined #commonlisp
mgl has joined #commonlisp
ajoberstar has joined #commonlisp
ajoberstar has quit [Client Quit]
SunClonus has quit [Quit: Leaving]
mgl has quit [Ping timeout: 255 seconds]
ajoberstar has joined #commonlisp
<skin> I have a question regarding unicode support. I know SBCL has it; e.g. `(code-char some-character)` will return that character's unicode code point.
<skin> (I know about how some graphemes comprise multiple code points, just bear with me)
<skin> What other implementations are known to support unicode in this way?
tyson2 has joined #commonlisp
ajoberstar has quit [Client Quit]
<beach> Did you mean CHAR-CODE?
<skin> yeah, that one
<skin> sorry I mix them up
<skin> How does modern CL deal with unicode?
<beach> My guess is "not very well". But there is a cl-unicode library by Edi Weitz that some might use.
anthk_ has joined #commonlisp
Fare has joined #commonlisp
gxt_ has quit [Remote host closed the connection]
dra has joined #commonlisp
dra has quit [Changing host]
dra has joined #commonlisp
jrx has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1.90)]
gxt_ has joined #commonlisp
King_julian has quit [Remote host closed the connection]
luis has quit [Quit: The Lounge - https://thelounge.chat]
Fare has quit [Ping timeout: 256 seconds]
<Shinmera> most every implementation uses unicode and utf32 for strings
<Shinmera> some exceptions exist like abcl (utf16 due to java)
rogersm has joined #commonlisp
<skin> How would you convert to utf-8 and back again? Say if you wanted to write to a file
dodoyada has quit [Quit: Client closed]
<Shinmera> most implementations use utf-8 for the external format when writing characters to file.
<skin> Good to hear. I wondered if that were true, after reading https://github.com/sabracrolleton/uax-15/blob/master/src/trivial-utf-16.lisp
<skin> OK. So I can basically count on this, more or less.
<skin> Helpful thanks
<Shinmera> doing anything else would be very foolhardy
SunClonus has joined #commonlisp
ajoberstar has joined #commonlisp
gxt_ has quit [Remote host closed the connection]
gxt_ has joined #commonlisp
attila_lendvai_ has joined #commonlisp
SunClonus has quit [Remote host closed the connection]
DeadCodeEliminat has joined #commonlisp
luis has joined #commonlisp
amb007 has joined #commonlisp
mgl has joined #commonlisp
gooba has joined #commonlisp
gooba has quit [Remote host closed the connection]
gooba has joined #commonlisp
gooba has quit [Remote host closed the connection]
gko has quit [Read error: Connection reset by peer]
rbcarleton has joined #commonlisp
gko` has joined #commonlisp
gooba has joined #commonlisp
tyson2 has quit [Read error: Connection reset by peer]
anticomputer_ has joined #commonlisp
anticomputer has quit [Ping timeout: 255 seconds]
eddof13 has joined #commonlisp
puke has joined #commonlisp
eddof13 has quit [Client Quit]
mgl has quit [Ping timeout: 272 seconds]
rendar has joined #commonlisp
msavoritias has quit [Remote host closed the connection]
ymir_ has quit [Ping timeout: 256 seconds]
tyson2 has joined #commonlisp
eddof13 has joined #commonlisp
fitzsim has quit [Remote host closed the connection]
gxt_ has quit [Remote host closed the connection]
gxt_ has joined #commonlisp
anticomputer_ has quit [Remote host closed the connection]
rogersm has quit [Quit: Leaving...]
King_julian has joined #commonlisp
anticomputer has joined #commonlisp
<aeth> unfortunately, last I checked, most unicode-specific functionality seems to be available in SBCL as sb-unicode and not available portably, while most "unicode" libraries are more about various encodings rather than things like sb-unicode:casefold... perhaps other implementations have similar functionality, in which case a portability library is needed
random-jellyfish has joined #commonlisp
<aeth> I notice the lack of any "unicode" on https://portability.cl/ still
<ixelp> Common Lisp Portability Library Status
tyson2 has quit [Remote host closed the connection]
eddof13 has quit [Quit: eddof13]
tyson2 has joined #commonlisp
eddof13 has joined #commonlisp
King_julian has quit [Read error: Connection reset by peer]
King_julian has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
gxt_ has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
gxt_ has joined #commonlisp
King_julian has quit [Client Quit]
King_julian has joined #commonlisp
_cymew_ has quit [Ping timeout: 252 seconds]
igemnace has quit [Read error: Connection reset by peer]
<Bubblegumdrop> Oh man, I always mix up char-code and code-char. Is there a better way to remember which is which?
<Bubblegumdrop> char->code and code->char ?
Fare has joined #commonlisp
bubblegum has quit [Ping timeout: 264 seconds]
<ajoberstar> Bubblegumdrop: I guess in a OO sense it's kinda like char-code = char.code()
ronald has joined #commonlisp
<Bubblegumdrop> that's kinda helpful
eddof13 has quit [Quit: eddof13]
ronald has quit [Read error: Connection reset by peer]
ronald_ has quit [Ping timeout: 240 seconds]
eddof13 has joined #commonlisp
<aeth> it is basically char->code and code->char yes
<aeth> in fact, those names would be better so I could imagine an alternate universe where those were the names
Fare has quit [Ping timeout: 268 seconds]
<aeth> though I don't think those -> names exist in CL, while iirc they do in Scheme
ronald has joined #commonlisp
<Bubblegumdrop> I usually carry around my own toolkit.lisp from project to project. That's going in there for sure.
bubblegum has joined #commonlisp
<Bubblegumdrop> Maybe It's time I made my own toolkit package?
<Bubblegumdrop> etw.cl the extensible toolkit framework
bubblegum has quit [Read error: Connection reset by peer]
bubblegum has joined #commonlisp
<aeth> if you're just going to rename something, don't forget to inline it... there are also other ways to rename something, such as e.g. (setf (fdefinition 'add) #'+) but that seems hackier than having a one-line inline function, where the main disadvantage is that e.g. SBCL by default has an *inline-expansion-limit* of 50 and you can definitely hit that because it's 50 for an entire function
bubblegum has quit [Read error: Connection reset by peer]
bubblegum has joined #commonlisp
igemnace has joined #commonlisp
<Bubblegumdrop> cries in only-once
occ has quit [Read error: Connection reset by peer]
<ixelp> Macros: Defining Your Own
bubblegum has quit [Ping timeout: 264 seconds]
<Bubblegumdrop> There was a discussion about macros yesterday, let's see
<ixelp> Macros: Defining Your Own
bubblegum has joined #commonlisp
<Bubblegumdrop> my copy of PCL should be in my mailbox, let me go check :)
King_julian has quit [Ping timeout: 256 seconds]
<_death> using your own names for CL operators is digging an esoteric hole for yourself, and perhaps later on asking everyone who reads your code to come along.. similar to having your own similar-but-different operators.. basically inventing a private language. it's a rite of passage, every lisper goes through it, but abstractions have a cost, so maybe it's better to limit the language invention to your actual application's domain
<mfiano> I was bored today, so I decided to really study the simple and classic Norvig cons-based queue algorithm. I've been using it for a while in various codes, but haven't sat down to study how it works in detail in some years. I figured out the symmetric analog of storing the tail in the car of the cons, and discovered that it costs an extra traversal for deletion and obtaining the queued elements,
<mfiano> and removes a traversal from insertion. I'm not too sure if I care. It was just a fun 10 minute experiment. Though interesting that insertion becomes less expensive.
bubblegum has quit [Read error: Connection reset by peer]
bubblegum has joined #commonlisp
occ has joined #commonlisp
<Bubblegumdrop> I ordered a paperback but they sent me a hardcover! happy day.
<Bubblegumdrop> Thanks SFPL!
random-jellyfish has quit [Ping timeout: 256 seconds]
bubblegum has quit [Ping timeout: 246 seconds]
bubblegum has joined #commonlisp
<mfiano> I suppose I should read the subject matter more fully instead of going by my notes and comments.
<mfiano> He explored this as well, in his last example of removing the boundary test, and noticed the extra traversal. If the cons queue is reversed, that extra traversal is removed and put in another place, deletion.
<Bubblegumdrop> oh the reverse reverse
<Bubblegumdrop> having to explain that to people who don't understand cons...
<Bubblegumdrop> "why is it backwards?" - "it isn't..."
rgherdt has quit [Read error: Connection reset by peer]
rgherdt has joined #commonlisp
ymir_ has joined #commonlisp
prokhor_ has quit [Remote host closed the connection]
zxcvz has joined #commonlisp
<mfiano> it should be noted that insertion and deletion have to be measured for your domain. That is, if you can't afford a vector implementation. It should also be noted that his queue-elements and dequeue functions both increased in traversal with the reverse, but insertion decreases.
zxcvz has quit [Client Quit]
<mfiano> Let's see if I can get the bot to play
lagash has quit [Ping timeout: 256 seconds]
<Bubblegumdrop> I think I did try using vectors but had some esoteric use case that they didn't support, I don't remember why I chose to use plain cons instead
prokhor_ has joined #commonlisp
<Bubblegumdrop> I think I tried arrays too? I actually think I just literally did not understand them at the time.
<Bubblegumdrop> Actually, ...
<ixelp> Multidimensional arrays
<Bubblegumdrop> > A good place to start is Chapter 11 of PCL
<Bubblegumdrop> :awesome:
<Bubblegumdrop> I love my lisp books. I think I'm up to 4-5
<mfiano> ,(let* ((l (list nil)) (q (cons l l))) (setf (cdr q) (setf (cddr q) (list 1))) (setf (cdr q) (setf (cddr q) (list 2))) (setf (car q) (cdar q)) (setf (cdr q) (setf (cddr q) (list 3))) (cdar q))
<ixelp> (let* ((l (list nil)) (q (cons l l))) (setf (cdr q) (setf (cddr q) (list 1))) (setf (cdr q) (setf (cddr q) (list 2))) (setf (car q) (cdar q)) (setf (cdr q) (setf (cddr q) (list 3))) (cdar q)) => (2 3)
<mfiano> ,(let* ((l (list nil)) (q (cons l l))) (setf (car q) (setf (cdar q) (list 1))) (setf (car q) (setf (cdar q) (list 2))) (setf (cdr q) (cddr q)) (setf (car q) (setf (cdar q) (list 3))) (cddr q))
<ixelp> (let* ((l (list nil)) (q (cons l l))) (setf (car q) (setf (cdar q) (list 1))) (setf (car q) (setf (cdar q) (list 2))) (setf (cdr q) (cddr q)) (setf (car q) (setf (cdar q) (list 3))) (cddr q)) => (2 3)
<mfiano> The latter would just be the inverse of his "removing the boundaries" implementation, with the noted advantage/disadvantages
<mfiano> Bubblegumdrop: a vector is an array
<Bubblegumdrop> indeed
<Bubblegumdrop> that was part of the struggle
<Bubblegumdrop> I'm kinda new to lisp.
<mfiano> Yes, it's just that not all arrays are vectors, and not all vectors are simple-arrays, and not all non-simple-array vectors are not simple-vectors....
<mfiano> I can see the confusion
<Bubblegumdrop> That was the confusion indeed.
<Bubblegumdrop> I should make an effort spending some time with arrays.
<Bubblegumdrop> This page on the cookbook is good and I'm looking forward to reading PCL.
lurkur has joined #commonlisp
<Bubblegumdrop> https://github.com/Lisp-Stat/ oh this is cool. So many incredible resources for lisp.
<ixelp> Common Lisp Statistics · GitHub
mgl has joined #commonlisp
lurkur is now known as deltaboy
ixelp has quit [Ping timeout: 255 seconds]
bubblegum has quit [Ping timeout: 272 seconds]
ym has quit [Ping timeout: 256 seconds]
bubblegum has joined #commonlisp
ixelp has joined #commonlisp
rendar has quit [Ping timeout: 240 seconds]
molson has joined #commonlisp
rogersm has joined #commonlisp
King_julian has joined #commonlisp
molson has quit [Remote host closed the connection]
molson has joined #commonlisp
traidare has quit [Quit: WeeChat 4.2.1]
ymir_ has quit [Ping timeout: 252 seconds]
<Kingsy> Is anyone around that can give me tips on how to handle errors properly in hunchentoot?
anthk_ has left #commonlisp [#commonlisp]
cage has quit [Remote host closed the connection]
cage has joined #commonlisp
cage has quit [Client Quit]
thonkpod_ has quit [Ping timeout: 260 seconds]
attila_lendvai_ has quit [Ping timeout: 268 seconds]
thonkpod_ has joined #commonlisp
eddof13 has quit [Quit: eddof13]
<ixelp> Hunchentoot - The Common Lisp web server formerly known as TBNL
King_julian has quit [Read error: Connection reset by peer]
<Kingsy> skin: I have looked over this a few times, but it still doesnt really answer my question. for example. I want to return JSON objects not templates. I also want to be able to specify the object that is returned based on the condition that is raised. I don't see how that is done with the items listed here.
tane has quit [Quit: Leaving]
<Kingsy> the docs are vague. I can see there is a hunchentoot-error class but there is absoutely no information on how it works. What can be overriden and how? etc etc.
gxt_ has quit [Remote host closed the connection]
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
gxt_ has joined #commonlisp
mgl has quit [Ping timeout: 256 seconds]
eddof13 has joined #commonlisp
rogersm has quit [Remote host closed the connection]
rogersm has joined #commonlisp
mgl has joined #commonlisp
eddof13 has quit [Quit: eddof13]
rogersm has quit [Ping timeout: 260 seconds]
random-jellyfish has joined #commonlisp
<Bubblegumdrop> Kingsy if you want to return json you may need to set the content type or something, caveman has this
<Bubblegumdrop> hunchentoot-error is the base class and you can make your own conditions like so"
<Bubblegumdrop> (define-condition my-condition (hunchentoot-condition) ...)
<Bubblegumdrop> I believe.
<Bubblegumdrop> (hunchentoot:define-easy-handler (say-yo :uri "/yo") (name) (setf (hunchentoot:content-type*) "text/plain") (format nil "Hey~@[ ~A~]!" name))
<Bubblegumdrop> This is in the docs.
<Bubblegumdrop> (setf (hunchentoot:content-type*) "application/json")
<Bubblegumdrop> Should get you what you want.
<Bubblegumdrop> Kingsy I struggled with the condition system at first too, it's not specific to hunchentoot although hunchentoot may hook into it specifically
<Kingsy> no I understand that. but its more core than that.
<ixelp> Error and exception handling
<Bubblegumdrop> Yeah you were trying to do something like "catch the error and return json if so"
<Kingsy> if something goes wrong, in general, it returns an error template for the 500.. I want to change that. so it never returns HTML. ever
<Bubblegumdrop> If you're able to explain what you want/are trying to acheive in english it's helpful as well
<Bubblegumdrop> Yes that can be done
mgl has quit [Ping timeout: 260 seconds]
<Bubblegumdrop> I will get back to you if I figure out.
<Bubblegumdrop> (I did this using caveman
<Bubblegumdrop> )
<Kingsy> so lets start with the simple example. I want to. catch ANY error that is thrown during the execution of a route, and return a custom json object, set the content type as you showed. but also log the stack trace to the repl
<Bubblegumdrop> well, caveman just uses hunchentoot underneath
<Bubblegumdrop> or woo
<Bubblegumdrop> or whatever honestly
<Kingsy> yeah this is just a learning exercise. I know there are things out there that would make this a lot easier
<Bubblegumdrop> mm yeah so you'll have to wrap all that in a progn if you're using your lambda thingy with ,@body
<Bubblegumdrop> if you want to evaluate more than one form you should use progn
<Bubblegumdrop> clhs progn
<ixelp> CLHS: Special Operator PROGN
<Bubblegumdrop> You should be able to just add (log-whatever ..) in the progn and it should just work
<Bubblegumdrop> However there may be things like the default stream isn't *standard-output*
<Bubblegumdrop> I will have to look and see.
<Bubblegumdrop> give me a moment, I'm preparing dinner. chicken and eggplant parm :)
<Kingsy> Bubblegumdrop: no I got that working. but it meant it stopped logging to REPL, which didnt help. it meant I didnt know what was going on
<Kingsy> it also got me thinking about what happens when it is deployed. we probably want different error handling based on production and not. so I was just looking for general advice.
<Kingsy> oh of course, take your time
<Bubblegumdrop> Kingsy I actually ended up using Shinmera's VERBOSE library because it's so amazing and versatile. This is what I followed to integrate it into my multithreaded web app: https://www.darkchestnut.com/2021/set-up-verbose-multi-threaded-standalone-applications/
<ixelp> Set up Verbose for multi-threaded standalone applications. | Dark Chestnut
<ixelp> Bubblegumdrop/cl-deck-builder2: Yu-Gi-Oh! Deck Building and Card Inventory Management web interface written in Common Li [...]
<Kingsy> no this is fune, but it doesnt answer the hunchentoot question. I don't know how to properly catch and return different custom objects based on conditions whilst controlling the REPL. the way I am doing it right now feels wrong
<Bubblegumdrop> there is a section on logging http://edicl.github.io/hunchentoot/#logging
<ixelp> Hunchentoot - The Common Lisp web server formerly known as TBNL
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
<Bubblegumdrop> it looks like by default things go to *standard-error*
<Bubblegumdrop> I've never used *standard-error* lol
<Kingsy> I'll just try and play with it. thanks for the info!
<Bubblegumdrop> Derived acceptor classes can implement methods for the ACCEPTOR-LOG-MESSAGE and ACCEPTOR-LOG-ACCESS generic functions
<Bubblegumdrop> So I think what you'll want to do is have your own acceptor class that subclasses ACCEPETOR: (defclass my-acceptor (hunchentoot:acceptor) ...)
<Bubblegumdrop> Then pass that to the thingy instead of the default acceptor or whatever you're using now.
<Bubblegumdrop> You'll want to specialize on ACCEPTOR-LOG-MESSAGE and etc for that class like so: (defmethod acceptor-log-message :after ((obj my-acceptor) ..) ..)
<Bubblegumdrop> I think.
ronald has quit [Read error: Connection reset by peer]
ronald_ has joined #commonlisp
<Bubblegumdrop> You can do things like open a log file and save it with defparameter or defvar, (defparameter *my-log-file* (open ...))
<Bubblegumdrop> I think you should be able to output to the repl like this as well
<Bubblegumdrop> I'm not sure if hunchentoot uses threads, but threads make this a whole lot more fun.
<Bubblegumdrop> and by that I mean, *standard-output* of your REPL is *not* *standard-output* of the thread hunchentoot is executing on
eddof13 has joined #commonlisp
lagash has joined #commonlisp
<Bubblegumdrop> verbose handles all of that transparently
King_julian has joined #commonlisp
King_julian has quit [Remote host closed the connection]
mgl has joined #commonlisp
rbcarleton has quit [Remote host closed the connection]
rbcarleton has joined #commonlisp
<Kingsy> well I wrote a simple logger and just outputs with format. so I am going to try and use that. will see how it goes.
<Kingsy> interesting thoughts around threads. I don't know if thats needed yet
<Bubblegumdrop> GL!
<Bubblegumdrop> perhaps look for other applications making use of hunchentoot
<Bubblegumdrop> I don't know any off the top of my head,
<Bubblegumdrop> https://gitlab.com/myopenbookstore/openbookstore/ I learned a lot from this repository
tyson2 has quit [Remote host closed the connection]
<Kingsy> oh ool
<Kingsy> cool
<Bubblegumdrop> If you find any other programs using hunchentoot I'm interested in knowing more as well. I primarily use woo.
<Bubblegumdrop> I'm actually not sure what the differences between clack/lack/hunchentoot/woo/etc are
<Bubblegumdrop> like superficially I understand they're different projects with different goals
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
King_julian has joined #commonlisp
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
King_julian has quit [Client Quit]
bilegeek has joined #commonlisp
szkl has joined #commonlisp
deltaboy has quit [Remote host closed the connection]
lispyone has joined #commonlisp
tasty has quit [Quit: bye bye!]
dino_tutter has joined #commonlisp
tasty has joined #commonlisp
tasty has joined #commonlisp
tasty has quit [Changing host]
rogersm has joined #commonlisp
eddof13 has quit [Quit: eddof13]
rogersm has quit [Ping timeout: 255 seconds]
mgl has quit [Ping timeout: 252 seconds]
eddof13 has joined #commonlisp
lucasta has joined #commonlisp
tok has quit [Remote host closed the connection]
SAL9000 has quit [Ping timeout: 264 seconds]
amb007 has quit [Remote host closed the connection]
amb007 has joined #commonlisp
shka has quit [Ping timeout: 264 seconds]
eddof13 has quit [Quit: eddof13]
Fare has joined #commonlisp
tyson2 has joined #commonlisp
holycow has quit [Quit: Lost terminal]
NicknameJohn has quit [Ping timeout: 272 seconds]
dino_tutter has quit [Ping timeout: 255 seconds]