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/>
pranavats has joined #commonlisp
mesuutt has joined #commonlisp
mesuutt has quit [Ping timeout: 268 seconds]
X-Scale has joined #commonlisp
Imightbeaturtle has joined #commonlisp
amb007 has quit [Ping timeout: 268 seconds]
random-nick has quit [Ping timeout: 252 seconds]
reb has joined #commonlisp
ym has joined #commonlisp
lucasta has quit [Quit: Leaving]
pranavats has left #commonlisp [#commonlisp]
chomwitt has quit [Ping timeout: 272 seconds]
Imightbeaturtle has quit [Remote host closed the connection]
admich1 has quit [Ping timeout: 255 seconds]
X-Scale has quit [Quit: Client closed]
admich1 has joined #commonlisp
awlygj has joined #commonlisp
waleee has quit [Quit: WeeChat 4.1.2]
ldb has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 255 seconds]
meritamen has joined #commonlisp
meritamen has quit [Quit: Client closed]
scymtym has quit [Remote host closed the connection]
scymtym has joined #commonlisp
meritamen has joined #commonlisp
PuercoPop has joined #commonlisp
X-Scale has joined #commonlisp
dim has quit [Ping timeout: 245 seconds]
dim has joined #commonlisp
brokkoli_origin has quit [Ping timeout: 268 seconds]
brokkoli_origin has joined #commonlisp
pranavats has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
decweb has quit [Ping timeout: 252 seconds]
akoana has quit [Quit: leaving]
mesuutt has joined #commonlisp
meritamen has quit [Quit: Client closed]
mesuutt has quit [Ping timeout: 246 seconds]
ec has quit [Ping timeout: 260 seconds]
ec has joined #commonlisp
josrr has quit [Remote host closed the connection]
meritamen has joined #commonlisp
<beach> dbotton: You can't use the pointer information to get to the object, as bike explained. The address of the object may have changed after it was printed, and the object might even have been reclaimed if no longer referenced. You need to store the object with the presentation as SLIME does.
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
X-Scale has quit [Quit: Client closed]
maxwell_ has quit [Ping timeout: 245 seconds]
meritamen has quit [Quit: Client closed]
grawlinson has quit [Ping timeout: 268 seconds]
bilegeek has quit [Quit: Leaving]
wacki has joined #commonlisp
pillton has joined #commonlisp
shka has joined #commonlisp
istewart has quit [Quit: Konversation terminated!]
gilberth has quit [Ping timeout: 256 seconds]
ixelp has quit [Ping timeout: 272 seconds]
Bubblegumdrop has quit [Ping timeout: 260 seconds]
admich1 has quit [Ping timeout: 245 seconds]
admich1 has joined #commonlisp
ixelp has joined #commonlisp
Bubblegumdrop has joined #commonlisp
mm007emko has quit [Ping timeout: 264 seconds]
meritamen has joined #commonlisp
mm007emko has joined #commonlisp
pve has joined #commonlisp
admich1 has quit [Read error: Connection reset by peer]
pranavats has joined #commonlisp
admich1 has joined #commonlisp
Pixel_Outlaw has quit [Remote host closed the connection]
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
alcor has joined #commonlisp
ec has quit [Ping timeout: 260 seconds]
triffid has quit [Ping timeout: 260 seconds]
admich1 has quit [Ping timeout: 272 seconds]
triffid has joined #commonlisp
admich1 has joined #commonlisp
mesuutt has joined #commonlisp
wacki has joined #commonlisp
admich1 has quit [Ping timeout: 245 seconds]
mesuutt has quit [Ping timeout: 264 seconds]
admich1 has joined #commonlisp
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
mm007emko has joined #commonlisp
mesuutt has joined #commonlisp
rgherdt has joined #commonlisp
mgl_ has joined #commonlisp
attila_lendvai has joined #commonlisp
mesuutt has quit [Ping timeout: 255 seconds]
mesuutt has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
mm007emko has joined #commonlisp
tok has joined #commonlisp
dino_tutter has joined #commonlisp
rtypo has joined #commonlisp
pillton has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
_cymew_ has joined #commonlisp
Noisytoot has quit [Excess Flood]
Noisytoot has joined #commonlisp
alcor has quit [Remote host closed the connection]
danza has joined #commonlisp
danza has quit [Ping timeout: 246 seconds]
jrx has joined #commonlisp
pranavats has left #commonlisp [#commonlisp]
rogersm has quit [Quit: Leaving...]
<Kingsy> Hi all, so I have a strange issue and I was hoping for some advice. I have a hunchentoot server and upon each connection I am creating a postgres connection then at the end of the connection terminating it. the code looks like this https://bpa.st/3DSA <- all works great when testing it. BUT when I released it into the wild I am getting intermittent errors saying that its trying to open a connection to
<ixelp> View paste 3DSA
<Kingsy> postgres but the connection is already established... why might this be? I just cant see the issue.
pranavats has joined #commonlisp
brokkoli_origin has quit [Remote host closed the connection]
mesuutt has quit [Ping timeout: 268 seconds]
<younder> What is nimbus-core ?
brokkoli_origin has joined #commonlisp
alcor has joined #commonlisp
brokkoli_origin has quit [Remote host closed the connection]
brokkoli_origin has joined #commonlisp
donleo has joined #commonlisp
danza has joined #commonlisp
tibfulv has quit [Remote host closed the connection]
pranavats has left #commonlisp [#commonlisp]
chiselfuse has quit [Remote host closed the connection]
pranavats has joined #commonlisp
chiselfuse has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
random-nick has joined #commonlisp
danza has quit [Read error: Connection reset by peer]
danza has joined #commonlisp
pranavats has joined #commonlisp
pranavats has left #commonlisp [#commonlisp]
decweb has joined #commonlisp
mm007emko has quit [Ping timeout: 264 seconds]
mm007emko has joined #commonlisp
pranavats has joined #commonlisp
<Kingsy> oh its just my program that I wrote.
<Kingsy> I can paste more code if you are curious what is happening. but this ist he base idea of what is going wrong
<Kingsy> younder: ^
pranavats has left #commonlisp [Error from remote client]
Noisytoot has quit [Excess Flood]
mesuutt has joined #commonlisp
admich1 has quit [Ping timeout: 255 seconds]
chomwitt has joined #commonlisp
admich1 has joined #commonlisp
Noisytoot has joined #commonlisp
mesuutt has quit [Ping timeout: 256 seconds]
mesuutt has joined #commonlisp
pranavats has joined #commonlisp
chomwitt has quit [Ping timeout: 256 seconds]
Lord_of_Life has quit [Ping timeout: 252 seconds]
Lord_of_Life has joined #commonlisp
fiddlerw- has quit [Quit: Gone.]
<Kingsy> younder: here is another paste that shows the connect and disconnect functions. they are very simple -> https://bpa.st/U2KA
<ixelp> View paste U2KA
kmroz has quit [Ping timeout: 256 seconds]
kmroz has joined #commonlisp
viaken has quit [Ping timeout: 256 seconds]
fiddlerwoaroof has joined #commonlisp
meritamen has quit [Quit: Client closed]
viaken has joined #commonlisp
thonkpod_ has quit [Ping timeout: 240 seconds]
thonkpod_ has joined #commonlisp
<ixelp> SabraOnTheHill - postmodern-connections
<younder> I seem to think you should use pooled connections in a production setting.
danza has quit [Ping timeout: 245 seconds]
yitzi has joined #commonlisp
<_death> why do you use connect-toplevel and not connect
<_death> also postmodern provides a with-connection operator.. it also has pool functionality and you may also want to check that you compiled the code with postmodern-thread-safe feature..
X-Scale has joined #commonlisp
<flip214_> younder: pooled connections, as many as you have threads listening -- else you'll block threads just after accepting, which is worse from a load-balancer POV (yeah, I know, the kernel will happily keep a few accepted connections without anyone accept()ing them, but that's configurable)
nij- has joined #commonlisp
<nij-> Will add to WSCL: The definition of "array total size" should be included or at least referenced in the glossary entry and the page for array-total-size. However, it's given in make-array. https://novaspec.org/cl/26_1_Glossary#array_total_size https://novaspec.org/cl/f_array-total-size https://novaspec.org/cl/f_make-array
<ixelp> 26.1 Glossary | Common Lisp Nova Spec
<nij-> Woops. I think I misread its meaning. Then the current state is fine.
<flip214_> Am I the only one who things that IRONCLAD:DIGEST-SEQUENCE should accept #() and "" and ()? They're all sequences, right?
<_death> the name seems too general, because the operation depends on the types of sequence elements
<yitzi> Doesn't it operate on an octet sequence? It would have to know what encoding you wanted for strings.
<nij-> Question.. In (defconstant pi 2.718), is the binding considered a dynamic binding? I can't find "constant binding" in the spec.
<beach> It doesn't matter since you are not allowed to bind it later on.
<_death> both scope and extent are indefinite
Inline has quit [Quit: Leaving]
Inline has joined #commonlisp
attila_lendvai has quit [Ping timeout: 255 seconds]
thuna` has quit [Ping timeout: 268 seconds]
attila_lendvai has joined #commonlisp
Odin- has quit [Quit: Aieee!]
<nij-> Ah. I see. So what I'm asking is a implementation detail.
<beach> nij-: Since the programmer is not allowed to create a program to tell the difference, the implementation can do what it wants.
<bike> might be worth noting that symbol-value does work on constants
chiselfuse has quit [Remote host closed the connection]
chomwitt has joined #commonlisp
josrr has joined #commonlisp
chiselfuse has joined #commonlisp
<nij-> Indeed! https://novaspec.org/cl/f_symbol-value But it's written in the more informal NOTE section..
<ixelp> symbol-value | Common Lisp Nova Spec
admich1 has quit [Ping timeout: 256 seconds]
admich1 has joined #commonlisp
yottabyte has quit [Quit: Connection closed for inactivity]
awlygj has quit [Quit: leaving]
jrx has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
mesuutt has quit [Remote host closed the connection]
mesuutt has joined #commonlisp
<bike> defconstant is defined on its page to do somethig equivalent to setf symbol-value, so
<nij-> I see.
<nij-> When defstruct without :read-only on a slot, can I expect all conforming CL to provide a setf-able accessor?
<nij-> Relevant part in the spec "When this option is false or unsupplied, it is implementation-dependent whether the ability to write the slot is implemented by a setf function or a setf expander." https://novaspec.org/cl/f_defstruct
<ixelp> defstruct | Common Lisp Nova Spec
<beach> nij-: You can't expect it to be a function named (setf <foo>) is what it is saying.
<nij-> Also, on the same page, "defstruct defines readers for the slots and arranges for setf to work properly on such reader functions."
<nij-> I don't know if this guarantees an accessor or not..
<nij-> beach Right.
<beach> nij-: It depends on what you mean by "an accessor". You can use SETF to set the value of the slot.
thuna` has joined #commonlisp
<nij-> Can I always? I don't find it clearly guaranteed in the doc.
<beach> nij-: That's a pretty general rule in the standard. There is no guarantee that when it says "accessor" there is a function. It could be a SETF expander.
<nij-> Yes, it provides examples. And it mentions it should work "properly" with setf.
<nij-> I see. But does it guarantees that setf would work?
attila_lendvai has quit [Ping timeout: 256 seconds]
<nij-> It only says if read-only is nil, then setf won't accept.
<nij-> But it seems that when non-nil or unprovided, the behavior is under-specified?
<beach> You could read it that way if you want. But it is clear that it means that it then supplies either a setf function or a setf expander.
<beach> Feel free to write a WSCL issue to clarify.
<beach> Well, actually, it seems that the glossary entry for "accessor" refers to "writer" which says it is a function. So then, each entry for an accessor should explicitly mention if the writer could be implemented as a SETF expander.
edgar-rfx has joined #commonlisp
edgar-rft has quit [Ping timeout: 268 seconds]
* nij- is lost here.
<nij-> I can write to clarify. But you seem to have found something?
<beach> nij-: Usually, the standard leaves the option to the implementation of implementing SETF for a particular place to decide whether it is provided as a SETF function, i.e., you can do #'(setf <foo>) and get a function, or whether it is provided as a SETF expander, in which case you can't.
<beach> nij-: But, what I discovered is that if the dictionary entry says (say) "CAR accessor", and then I look up "accessor" in the glossary, it says that the "writer" is a function.
<beach> nij-: So then, it seems the glossary doesn't give the implementation an option.
<nij-> However, when you read defstruct page, it only mentions "accessor" twice. It uses "reader" more often.
<nij-> It isn't clear to me that the page guarantees an accessor.
<beach> OK.
mesuutt has quit [Ping timeout: 268 seconds]
ym has quit [Ping timeout: 256 seconds]
chiselfuse has quit [Ping timeout: 260 seconds]
edgar-rfx is now known as edgar-rft
chiselfuse has joined #commonlisp
<_death> clhs 5.1.1.2
prokhor_ has joined #commonlisp
<beach> ::clhs 5.1.1.2
<ixelp> CLHS: Section 5.1.1.2
prokhor has quit [Ping timeout: 245 seconds]
<beach> Ah, yes, I thought I had seen it somewhere.
<beach> But then the glossary should be fixed.
luca_ has joined #commonlisp
mesuutt has joined #commonlisp
<beach> Can a name be associated both with a SETF function and with a SETF expander?
<beach> I personally think that the SETF functions should always be provided.
<beach> I can't see that there is a downside to that.
<_death> the terminology is of course confusing.. here clhs uses "accessor function F", "F form", in the glossary it says that an "accessor" is an operator, a "writer" is a function that "write"s, where "write" means to change a slot or a binding.. a lot of weird
luca_ is now known as OwlWizard
<beach> Indeed.
X-Scale has quit [Ping timeout: 250 seconds]
<_death> the name associated with a setf expander is a symbol, so can't be a setf function (a function named by a (setf <x>))
<beach> Why is that important?
<_death> *associated with a setf function
<_death> maybe I'm misunderstanding your question then..
<beach> My question was whether the ability to do (SETF (FOO ...) ...) can mean that there is both a function named (SETF FOO) and a SETF expander for FOO.
<_death> if you have a setf expander for FOO that doesn't prevent having a function (SETF FOO).. SETF would just use the expander
<beach> Thanks. Then there is no particular reason for an implementation to avoid supplying the SETF function as well.
<_death> except maybe the potential for confusion
<beach> Well, what I really think is that if a "writer" can be implemented either way, then it is preferable to have the SETF function. But I suppose some implementations are able to optimize the SETF expander in ways that it can't with the SETF function.
X-Scale has joined #commonlisp
<nij-> How do I surpress style-warning from compiler?
<nij-> (handler-case (function (setf lol))
<nij-> (undefined-function (e) (declare (ignore e)) nil))
<nij-> I try to handle it, but this only works for runtime. At compile time the compiler complains.
<beach> nij-: It is generally a bad idea to suppress warnings, including style warnings.
<bike> you can suppress it in sbcl with the sb-ext:muffle-conditions declaration, but you should probably just fix the problem instead, indeed
admich1 has quit [Ping timeout: 245 seconds]
<nij-> I'm trying to abbreviate my function name lol-so-long to a shorter name lol.
<nij-> While the definition of lol-so-long can be passed to lol easily,
<nij-> I'm struggling with passing the definition of (setf lol-so-long)..
admich1 has joined #commonlisp
<nij-> Actually, there are multiple names to be abbreviated.
<bike> that definitely sounds like something you shouldn't suppress the warning for
<nij-> Just let the compiler complains?
<bike> no, you should fix the problem
<_death> btw https://www.lispworks.com/documentation/lw50/CLHS/Issues/iss308_w.htm says +ADD-ACCESSOR was not voted upon.. wonder why.. also it has "GET-SETF-EXPANDER => GET-SETF-EXPANSION" but that's likely a typo and should be "GET-SETF-METHOD-MULTIPLE-VALUE => GET-SETF-EXPANSION"
<ixelp> CLHS: Issue SETF-METHOD-VS-SETF-METHOD Writeup
<beach> nij-: I don't understand what you mean by "abbreviate".
<bike> since it probably indicates a later error
<nij-> beach - making alias names for functions, and the new names are usually shorter.
<bike> just suppressing the condition is like you're walking into a mine with a canary, and the canary dies from fume inhalation, and to "solve" it you drape a towel over the dead bird's cage so you can't see it
<beach> nij-: And how do you make those aliases?
<beach> nij-: And why do you want shorter names in the first place?
<beach> nij-: What you are doing sounds like a terrible idea.
<nij-> Hmm.. I see. Probably I shouldn't do that in the first place.
chomwitt has quit [Ping timeout: 245 seconds]
Noisytoot has quit [Excess Flood]
Noisytoot has joined #commonlisp
ocra8 has quit [Quit: WeeChat 4.2.2]
OwlWizard has quit [Quit: OwlWizard]
Noisytoot has quit [Ping timeout: 245 seconds]
thuna` has quit [Ping timeout: 246 seconds]
Krystof has joined #commonlisp
Noisytoot has joined #commonlisp
tibfulv has joined #commonlisp
Inline has quit [Quit: Leaving]
mm007emko has quit [Ping timeout: 252 seconds]
mm007emko has joined #commonlisp
gilberth has joined #commonlisp
admich1 has quit [Read error: Connection reset by peer]
admich1 has joined #commonlisp
Inline has joined #commonlisp
<nij-> Is it true that this INLINE declaimabion has no effect?
<nij-> (defmacro apple ()) (declaim (inline apple))
<nij-> because of https://novaspec.org/cl/m_inline "inline and notinline declarations otherwise have no effect when the lexically visible definition of function-name is a macro definition." ?
<ixelp> inline, notinline | Common Lisp Nova Spec
<bike> that's what it says, yep.
yitzi has quit [Remote host closed the connection]
<nij-> Interesting.. and no warning or sort is generated..
<nij-> What should I do if I really want to inline that macro expander function?
<bike> you should reconsider what you want, because that doesn't even make sense
<Inline> macros are already kinda "inline" since they expand to some code in place after the macro-expansion phase....
<bike> there is no warning because declaring a macro inline does have the semantic effect of telling the compiler it can use a compiler macro for it.
pyooque has joined #commonlisp
puke has quit [Killed (lithium.libera.chat (Nickname regained by services))]
pyooque is now known as puke
<Inline> ah
<Inline> when are compiler macros expanded ?
<Inline> in the compilation phase ?
<bike> yeah.
<Inline> but without having a compiler macro in the first place, telling it to use a compiler macro won't have any effect
<nij-> I see.
<bike> no, really, what does that mean? inline the macro expander function?
<nij-> Yeah, I wasn't thinking about it clearly.
<bike> it is kind of rude to ask a question you haven't even bothered to make coherent, okay? if you're going to ask a lot of questions that take a lot of effort to answer please put in the minimal effort.
admich1 has quit [Ping timeout: 240 seconds]
mesuutt has quit [Ping timeout: 245 seconds]
mesuutt has joined #commonlisp
Inline has quit [Ping timeout: 272 seconds]
Inline has joined #commonlisp
hayley has joined #commonlisp
mesuutt has quit [Ping timeout: 272 seconds]
<nij-> I don't agree nor disagree with you, bike. I can understand where you come from. But I do believe it is more about a matter of level and ability. If my behavior is rude to you, I apologize. But I can't commit to what you suggest (for the above reason). So if this continues and it unsettles you, please ignore my questions. If my behavior is considered awful by a few more people here, please feel free to ban me. In that case, I would be
<nij-> sad, but I'd rather that to be the case. I don't want to task people here much more than what they want either anyway.
<nij-> (And sorry I need to go. I will read the log. Need to get lunch.)
<bike> geez, i'm not going to ban you, i just want you to take a few seconds to think about what you're asking. if you don't know whether it makes sense that's one thing
nij- has quit [Ping timeout: 245 seconds]
<bike> but you've been reading the CLHS front to back, apparently, i think by now you know how macro functions work
chiselfuse has quit [Read error: Connection reset by peer]
mm007emko has quit [Read error: Connection reset by peer]
yitzi has joined #commonlisp
chiselfuse has joined #commonlisp
mm007emko has joined #commonlisp
nij- has joined #commonlisp
<nij-> I did take a few seconds (in this case, minutes). I'm dumber so it may take longer for a true answer to emerge.
<nij-> I just found that there is not a well-defined procedure for me to apply to decide whether I'm ready enough to ask or not.
<nij-> I still find the description of INLINE a bit confusing.
<nij-> Especially the use of "that is" in the quote "inline specifies that it is desirable for the compiler to produce inline calls to the functions named by function-names; that is, the code for a specified function-name should be integrated into the calling routine" https://novaspec.org/cl/m_inline
<ixelp> inline, notinline | Common Lisp Nova Spec
brokkoli_origin has quit [Ping timeout: 245 seconds]
<nij-> So a function object has two names, and I declaim one to be inlined.. would it be possibly effective when the other name is used?
_cymew_ has quit [Ping timeout: 240 seconds]
amb007 has quit [Read error: Connection reset by peer]
<Shinmera> an inlinable function can only be produced by defun or flet/labels, and can therefore only have one name.
<Shinmera> a function produced by lambda is anonymous and by definition does not have a name to be inlined by
X-Scale has quit [Quit: Client closed]
X-Scale has joined #commonlisp
pranavats has quit [Excess Flood]
amb007 has joined #commonlisp
<nij-> Thanks! Is this understanding given in the spec? (I tried searching in novaspec and also the CLHS glossary/I.)
<bike> it's what you already quoted
<nij-> Wut......?? Which part?
<bike> if you have, like, (defun foo ...) (declaim (inline foo)) (setf (fdefinition 'bar) #'foo)
<bike> oops
<bike> the part "for a specified function-name"
<bike> which tells you inlining is by name
<bike> what i was going to say before i hit enter accidentally is that if you then have (bar ...) somewhere, it won't be inlined
<nij-> Why won't (bar ..) be inlined?
<bike> or won't necessarily be inlined, anyway
<bike> because you only told it to inline FOO
<nij-> No, but in that quoted sentence,
<bike> and even if the compiler wanted to inline anyway, it wouldn't know that BAR is defined to have FOO's definition
<nij-> you see, the main object is "functions".
<bike> functions named by function names.
<nij-> That's why I brought up by saying that "that is" is confusing to me.
<nij-> Yes, so it's about the functions, not their names.
<nij-> It's about the function objects.
<Shinmera> "that is [to say,]"
<bike> i understand how you would think that, but it's not the case. inlining works by names.
<nij-> So "that is" is weird, because both clauses mean different things.
<bike> the function object doesn't even exist at compile time, necessarily, for one thing.
<nij-> It can't..? (I need to think.)
<bike> sure, if you just write (defun foo ...) in a file somewhere the compiler isn't going to actually make the function
<bike> it just prep it to exist later when you load the file, but that's after compilation is already finished
<bike> it preps it*
<nij-> There's eval-when and read time evaluation to complicate the issue. But I need to think.
<bike> yes, it might be made to exist at compile time through eval-when, but not necessarily. and you can proclaim inline even without any of that. you can try it, put (declaim (inline foo)) (defun foo (x) x) in a file somewhere, do compile-file, and see if foo is fbound before actually loading
<nij-> That wouldn't prove anything, as the spec allows the implementation to ignore the inline declaimer.
<bike> i'm not proving anything, just giving an example of how it works
<nij-> I think we can only discuss at the level of the description in the spec. And I find it confusing.. I understand that emperically what you said should be the case, but that doesn't align to my understanding about the spec.
<nij-> Right.
ocra8 has joined #commonlisp
<bike> you seem to be reading the spec very closely and then are confused when it is unclear or not reflected by reality
<bike> there are definitely places the spec is unclear and/or badly written and/or empirically wrong
<nij-> Yeah.. perhaps too closely. Funnily, this goes back to my very first question.
<nij-> macro function can be called as usual functions as well
<nij-> so if an implementation chooses to follow what's described before that "that is",
<nij-> then there should be a way to inline macro functions; though in most cases no one would do that.
manwithluck has quit [Ping timeout: 268 seconds]
<bike> what would that mean, though
<bike> inlining a macro function
<nij-> Right. And a point of wscl is to find those out, and create issues. I was thinking at least my stupid questions could at least lead to some of these discoveries.
<bike> inlining a regular function is pretty straightforward. you put the body of the function where the call to the function is, like you quoted. but that doesn't make sense for macro functions.
manwithluck has joined #commonlisp
<nij-> Aren't macro functions just normal functions that work on ASTs?
<nij-> And a macro is a name X that associates to a macro function, and lisp knows X when evaluated as the 0th argument in an AST should call that macrofunction to start with.
<nij-> THough I agree, in reality (I can't imagine that) anyone would call macro functions in that kind of way.
<nij-> Anyway, lets put that question aside. For now I still think this is not specified well..
<Inline> are macro names package bound ?
<bike> if you want to write up the spec in a formal mathematical kind of way that could be pretty useful
<bike> macro names are just symbols, so they're generally in packages
<nij-> Inline Yeah
<Inline> okk
<nij-> bike It doesn't have to be formal as mathematics.. and I doubt that's not possible due to Rice theorem (I guess, I don't claim).
<nij-> But yeah, thanks for sharing, and I understand (and believe you) how it should be understood. I will try to write an issue, but if no one thinks that's necessary that's fine too.
admich1 has joined #commonlisp
<Shinmera> a name is a symbol
<Shinmera> so
<bike> it is certainly possible to formally specify programming languages
<nij-> That formality can only captures part of the programming language, assuming the programming language is turing complete.
<nij-> ("parts of" - e.g. - syntax)
<nij-> But a Turing complete language's complete semantics cannot be fully captured.
<bike> this is off topic, so i'm just going to say that that's not correct, and if you're interested you can look at https://en.wikipedia.org/wiki/Semantics_(computer_science)
ec has joined #commonlisp
<bike> obviously this doesn't let you prove that programs halt or what ever, so turing looks on without disapproval
<bike> and feel free to write up issues for wscl. again, don't get me wrong, lots of the spec is unclear or incorrect. that's why wscl exists in the first place
<nij-> Will do :-)
<bike> but usually the practical answer is going to diverge from particular spec questions of what "that is" means
<bike> here is how inlining actually works in reality. you proclaim a function name inline. when the compiler later runs into a defun for that name, it saves the definition in some way distinct from making it actually exist as a function object at compile time. then when it sees a call to that function, by that name, it may dump in the body instead of compiling a call
admich1 has quit [Ping timeout: 268 seconds]
jon_atack has quit [Ping timeout: 264 seconds]
mgl_ has quit [Ping timeout: 246 seconds]
admich1 has joined #commonlisp
<nij-> A sketched proof for why no such formal spec exists https://bpa.st/RPXA But yeah this is off-topic. If interested can query me or lets go to lispcafe.
<ixelp> View paste RPXA
<nij-> Right.
<bike> sure why not
<yitzi> That appears to be proof about testing whether a program conforms to a formal spec, not whether formal specifications can exist.
<nij-> yitzi come here to #lispcafe :)
<yitzi> I'll pass on that. Thanks anyways
brokkoli_origin has joined #commonlisp
jonatack has joined #commonlisp
mgl_ has joined #commonlisp
pranav has quit [Remote host closed the connection]
pranavats has joined #commonlisp
X-Scale has quit [Quit: Client closed]
pranavats has left #commonlisp [Error from remote client]
jonatack has quit [Ping timeout: 256 seconds]
wacki has quit [Read error: Connection reset by peer]
jonatack has joined #commonlisp
wacki has joined #commonlisp
_whitelogger has joined #commonlisp
pranavats has joined #commonlisp
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 268 seconds]
ym has joined #commonlisp
chrcav has quit [Ping timeout: 256 seconds]
mgl_ has quit [Ping timeout: 256 seconds]
pranavats has left #commonlisp [#commonlisp]
admich1 has quit [Ping timeout: 255 seconds]
admich1 has joined #commonlisp
green_ has quit [Remote host closed the connection]
green_ has joined #commonlisp
chrcav has joined #commonlisp
nij- has quit [Ping timeout: 260 seconds]
Noisytoot has quit [Remote host closed the connection]
Noisytoot has joined #commonlisp
X-Scale has joined #commonlisp
rakka has quit [Remote host closed the connection]
rakka has joined #commonlisp
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
dlowe has joined #commonlisp
zetef has joined #commonlisp
yitzi has quit [Remote host closed the connection]
mesuutt has joined #commonlisp
Inline has quit [Quit: Leaving]
waleee has joined #commonlisp
cage has joined #commonlisp
Inline has joined #commonlisp
foomar has joined #commonlisp
foomar` has joined #commonlisp
foomar has quit [Ping timeout: 252 seconds]
foomar` has quit [Remote host closed the connection]
X-Scale has quit [Quit: Client closed]
cage has quit [Quit: rcirc on GNU Emacs 29.2]
nij- has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
alcor has quit [Ping timeout: 260 seconds]
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
attila_lendvai has joined #commonlisp
chomwitt has joined #commonlisp
mgl_ has joined #commonlisp
dlowe has quit [Ping timeout: 256 seconds]
jon_atack has quit [Ping timeout: 256 seconds]
tok has quit [Remote host closed the connection]
Inline has quit [Ping timeout: 268 seconds]
decweb has quit [Ping timeout: 252 seconds]
decweb has joined #commonlisp
jonatack has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
mgl_ has quit [Ping timeout: 256 seconds]
grawlinson has joined #commonlisp
ocra8 has quit [Quit: WeeChat 4.2.2]
amb007 has joined #commonlisp
ocra8 has joined #commonlisp
amb007 has quit [Ping timeout: 240 seconds]
decweb has quit [Ping timeout: 272 seconds]
amb007 has joined #commonlisp
mgl_ has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
mesuutt has quit [Ping timeout: 245 seconds]
attila_lendvai has quit [Ping timeout: 240 seconds]
pranavats has joined #commonlisp
jmercouris1 has joined #commonlisp
shka has quit [Ping timeout: 245 seconds]
zetef has quit [Remote host closed the connection]
jmercouris1 has quit [Quit: jmercouris1]
akoana has joined #commonlisp
mgl_ has quit [Ping timeout: 252 seconds]
dino_tutter has quit [Ping timeout: 256 seconds]
amb007 has quit [Remote host closed the connection]
amb007 has joined #commonlisp
chomwitt has quit [Ping timeout: 256 seconds]
pve has quit [Quit: leaving]
decweb has joined #commonlisp
rtypo has quit [Ping timeout: 272 seconds]
rgherdt has quit [Quit: Leaving]
mesuutt has joined #commonlisp
mesuutt has quit [Ping timeout: 260 seconds]
decweb has quit [Ping timeout: 260 seconds]
chiselfuse has quit [Ping timeout: 260 seconds]
chiselfuse has joined #commonlisp
X-Scale has joined #commonlisp
nij- has quit [Ping timeout: 268 seconds]
<skin> I have a question. How does one create a custom correctable error.
<skin> I know I can define a "normal" error as with `(define-condition my-error (error)...)`
<skin> Would one then `(define-condition my-error (cerror) ...)`
<bike> nah, you just inherit from error. correctability isn't about the condition type, it's about how you signal it
<bike> you wanna use restarts, or for simple cases, cerror (the function)
<bike> ::clhs cerror
<ixelp> CLHS: Function CERROR
<skin> ok
donleo has quit [Ping timeout: 252 seconds]
nij- has joined #commonlisp
<skin> Can I reuse the `use-value` restart, as in `(restart-case (/ 1 0) (use-value (&optional (v 1000)) v))` in my own code?
<skin> I don't see any reason why not, as it's all just symbol slinging. Just thinking it through. It feels more idiomatic to make my own restart names, though.
<bike> you can, yes.
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
admich1 has quit [Ping timeout: 260 seconds]
admich1 has joined #commonlisp
mesuutt has joined #commonlisp
mesuutt has quit [Ping timeout: 268 seconds]