tyson2` has quit [Remote host closed the connection]
trumae has joined #commonlisp
comatory has quit [Ping timeout: 248 seconds]
comatory has joined #commonlisp
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
comatory has quit [Ping timeout: 256 seconds]
comatory has joined #commonlisp
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
comatory has quit [Ping timeout: 248 seconds]
comatory has joined #commonlisp
thuna` has quit [Remote host closed the connection]
comatory has quit [Ping timeout: 256 seconds]
nij- has quit [Ping timeout: 255 seconds]
comatory has joined #commonlisp
comatory has quit [Ping timeout: 248 seconds]
comatory has joined #commonlisp
comatory has quit [Ping timeout: 256 seconds]
ebrasca has quit [Remote host closed the connection]
comatory has joined #commonlisp
prokhor_ has joined #commonlisp
tyson2 has joined #commonlisp
prokhor has quit [Ping timeout: 256 seconds]
comatory has quit [Ping timeout: 256 seconds]
comatory has joined #commonlisp
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
trumae has quit [Ping timeout: 268 seconds]
trumae has joined #commonlisp
Nilby has joined #commonlisp
jealousmonk has quit [Remote host closed the connection]
livoreno has joined #commonlisp
comatory has quit [Ping timeout: 256 seconds]
comatory has joined #commonlisp
AmateurLisper has quit [Quit: Leaving]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
comatory has quit [Ping timeout: 256 seconds]
comatory has joined #commonlisp
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
comatory has quit [Ping timeout: 256 seconds]
comatory has joined #commonlisp
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
comatory has quit [Ping timeout: 252 seconds]
nij- has joined #commonlisp
trumae has quit [Read error: Connection reset by peer]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
comatory has joined #commonlisp
trumae has joined #commonlisp
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
comatory has quit [Ping timeout: 256 seconds]
comatory has joined #commonlisp
comatory has quit [Ping timeout: 248 seconds]
comatory has joined #commonlisp
comatory has quit [Ping timeout: 248 seconds]
<beach>
Kingsy: Did you set your OPTIMIZE qualities?
comatory has joined #commonlisp
<beach>
Kingsy: It might help to set the DEBUG quality to 3.
comatory has quit [Ping timeout: 256 seconds]
comatory has joined #commonlisp
dim has quit [Ping timeout: 244 seconds]
comatory has quit [Ping timeout: 248 seconds]
comatory has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
comatory has quit [Ping timeout: 252 seconds]
comatory has joined #commonlisp
triffid has joined #commonlisp
comatory has quit [Ping timeout: 256 seconds]
comatory has joined #commonlisp
trumae has quit [Ping timeout: 248 seconds]
ttree has quit [Ping timeout: 256 seconds]
comatory has quit [Ping timeout: 256 seconds]
comatory has joined #commonlisp
comatory has quit [Ping timeout: 248 seconds]
comatory has joined #commonlisp
pmwals09 has quit [Ping timeout: 248 seconds]
comatory has quit [Ping timeout: 256 seconds]
comatory has joined #commonlisp
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
azimut has quit [Ping timeout: 268 seconds]
comatory has quit [Ping timeout: 256 seconds]
comatory has joined #commonlisp
ttree has joined #commonlisp
comatory has quit [Ping timeout: 252 seconds]
triffid has quit [Remote host closed the connection]
comatory has joined #commonlisp
comatory has quit [Ping timeout: 248 seconds]
grawlinson has quit [Quit: SIGTERM]
<kakuhen>
From SBCL documentation: "If debug is greater than all of speed, space and compilation-speed the code will be steppable"
<kakuhen>
Kingsy: what are your current optimization quantities?
nocyno has joined #commonlisp
nocyno has left #commonlisp [ERC (IRC client for Emacs 26.3)]
<kakuhen>
ok, with some basic testing in a scratch buffer, I'm noticing that SBCL allows stepping into functions when the mentioned condition holds true, in addition to code containing a function with a non-empty lambda list
robin has quit [Ping timeout: 268 seconds]
grawlinson has joined #commonlisp
zachel has joined #commonlisp
contrapunctus has quit [Ping timeout: 244 seconds]
pranavats has quit [Ping timeout: 268 seconds]
contrapunctus has joined #commonlisp
igemnace has joined #commonlisp
shka has joined #commonlisp
attila_lendvai has joined #commonlisp
ttree has quit [Ping timeout: 252 seconds]
karlosz has joined #commonlisp
<contrapunctus>
Is there a function to determine whether a class A is either the same as or a descendent of class B?
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
<kakuhen>
according to the SBCL manual, you need the debug level to be greater than speed, space, and compilation-speed
jmd_ has joined #commonlisp
jmdaemon has quit [Ping timeout: 256 seconds]
<Kingsy>
kakuhen: so should I decrease the compilation speed? does it matter what I set it to?
jmdaemon has joined #commonlisp
MajorBiscuit has joined #commonlisp
<kakuhen>
Well, the SBCL manual suggests it should be lower than the debug level so functions become steppable
<Kingsy>
will try your suggestion
jmd_ has quit [Ping timeout: 256 seconds]
<kakuhen>
I don't know what exact policy SBCL uses for compilation-speed. All of these quantities are implementation-dependent. I do know that SBCL's backend tends to have different VOPs targetting policies like "safe", "fast", and "fast-safe" (these will correspond to different quantities of safety and speed)
<kakuhen>
But I just don't know how SBCL (or any other Common Lisp implementation) handles compilation-speed
<kakuhen>
This would be a good question for #sbcl, or for anyone lurking here that knows more about SBCL internals than I do
<Bike>
sbcl's policies are in src/compiler/policies.lisp. the only one there that compilation-speed affects is insert-step-conditions, which is done when (> debug (max speed space compilation-speed))
<Bike>
there might be a smattering of stuff elsewhere that compilation speed affects
<Kingsy>
ahhhthat did it. or at least I was able to step more than once. this is great.
<Bike>
yeah, looks like it can affect a bunch of other things, like what kind of register allocation is done
<Bike>
tha latter will affect things at compile time, if it's at top level
<Bike>
well, and you changed the compilation speed
<kagevf>
oops ... I just copied from the screen ... I meant all the sub-components to be the same
<kagevf>
is there any difference if entered at a repl?
<Bike>
No
<kagevf>
ok ... and follow-up: I would need to re-compile any functions I want to step through after running either of those, right?
<kagevf>
hmmm after typing that it seems pretty obvious that that would be the case ...
<kakuhen>
Yes. You should recompile any forms you want to be affected by the new optimize policy
<kagevf>
ok, thank you Bike and kakuhen :)
rgherdt has quit [Remote host closed the connection]
shka has quit [Ping timeout: 256 seconds]
rgherdt has joined #commonlisp
<Kingsy>
can someone help me understand execution order here. I have stepped into this function --> https://hastebin.com/okeyugiyug.rust <- but according to the stepper the first thingthat is evaluated is (db:ensure-id paste-ish) .. why?! doesnt it need to eval the typecase to see which form is T ?
<kakuhen>
I assume the stepper steps into functions. TYPECASE is a macro
<kakuhen>
anyway, STEP is probably one of the most useless macros I've ever seen in the Common Lisp specification
<kakuhen>
For instance, CLHS says "It is technically permissible for a conforming implementation to take no action at all other than normal execution of the form."
<kakuhen>
I would personally use SLY stickers to record the history of values in a function (and how they change) rather than a stepper
<Kingsy>
I just wanted something that allowed me to interactively follow exeution flow so I could see how th language works
ttree has joined #commonlisp
<Kingsy>
let me ask this, am I correct in thinking that a (typecase ..) is a conditional set of forms depending on an argument?
<Kingsy>
perhaps this is better asked in clschool tbh
<Bike>
yes on both counts, probably
<Bike>
Kingsy: as to the stepping question, your implementation probably compiled the form down, so there's not much to be stepped as to the typecase
<Kingsy>
Bike: quickly on this topic before I swap channels, how is (dm:data-model paste-ish) <- that a condition that a typecase can evaluate? its just a function call right? i don't get it.
<Bike>
what? no
<Bike>
i'm just saying the stepper blew through the typecase so that the first thing you see actually stepped is the function call. that doesn't mean it didn't DO the type test, just that it wasn't steppable
<Kingsy>
oh yeah I kinda assumed that was happening. but I don't understand what the typecase evaluated on the two forms it skipped.
<Bike>
nothing
<Bike>
wait
thomaslewis has joined #commonlisp
<Bike>
ok, sorry, i misunderstood your question
<Bike>
in (typecase (dm:data-model paste-ish) ...), (dm:data-model paste-ish) is not a function call
<Bike>
dm:data-model is a type and paste-ish is a form
ober has quit [Ping timeout: 252 seconds]
<Bike>
in (typecase paste-ish (dm:data-model paste-ish) ...) i mean
<Bike>
what the type case does is test whether paste-ish is of type dm:data-model, and if it is, it evaluates and returns the form (here, paste-ish)
thomaslewis has left #commonlisp [#commonlisp]
<Kingsy>
hmm sorry I don't understand that.. haha man I am slow. its evaluatingif paste-ish is a dm:data-model? if it is it returns paste-ish?
thomaslewis has joined #commonlisp
<Bike>
Yep
<Kingsy>
I find that syntax confusing.
<Kingsy>
how do you know that dm:data-model is a type and not a function call?
<Bike>
because it's in typecase.
thomaslewis has left #commonlisp [#commonlisp]
<Kingsy>
oohhh lol. haha
<Bike>
similarly to how in (let ((x y) (z w)) ...), (z w) is not a function call
<Kingsy>
Bike: last question on this function, the second eval, db:id, how is that (or ..) every going to return the error? an (error) isnt ever going to be of type db:id right?
<Kingsy>
ever **
<Bike>
typecase isn't checking the type of those forms, it's checking the type of paste-ish
<Bike>
(typecase paste-ish ...) means it checks paste-ish against all the given types
<Kingsy>
ohhhhhhhhhhhh
<Kingsy>
and as long as paste-ish isnt nil it will always eval to T right?
<Bike>
What?
<Kingsy>
I am looking at the last eval (T ...)
<Bike>
yes, anything is of a type T
<Bike>
however that clause won't be evaluated if any of the previous clauses are
<Bike>
(nil is also of type T)
<Kingsy>
makes sense.
<Kingsy>
oh really?? ah right ok
<Kingsy>
thanks this has helped alot. I appreciate your time Bike
gxt has quit [Ping timeout: 268 seconds]
thomaslewis has joined #commonlisp
<Bike>
You are welcome
<pjb>
everything is of type T, and nothing is of type NIL. NIL is of type NULL.
thomaslewis has left #commonlisp [#commonlisp]
gxt has joined #commonlisp
<aeth>
nil is poorly named
<aeth>
(t is also poorly named, since t is used a lot in equations)
<Kingsy>
nothing is of type NIL, NIL is of type NULL, isnt that a contradiction?
jmd_ has joined #commonlisp
<Bike>
No, because you're using the same name to mean two different things
jmdaemon has quit [Ping timeout: 256 seconds]
<Bike>
in "nothing is of type NIL" you are referring to the type NIL, while in "NIL is of type NULL" you are referring to the value NIL
<Bike>
"the type NIL is of type NULL" would not be a coherent statement, because types do not have types
<Kingsy>
wow.. I think I'll just focus on reading and understanding the syntax first. that hurts my brain
<aeth>
it makes sense if you think of them as meaningless jumbles of letters
<aeth>
it doesn't make sense if you try to assign some kind of underlying meaning to "nil" and "null" imo
thomaslewis has joined #commonlisp
<aeth>
makes sense, the names just aren't good for it
thomaslewis has left #commonlisp [#commonlisp]
zachel has quit [Ping timeout: 248 seconds]
<aeth>
It's made worse when you realize that NIL isn't even a null, it's false, so it can't be null in the sense of nulls that you think about in e.g. SQL.
<aeth>
But it's a NULL
orestarod has quit [Ping timeout: 248 seconds]
<Bike>
why would i be thinking about sql
<aeth>
My point is, it's not null in the sense of a truth table consisting of true, false, and null because it's... false, the only false in the language in fact.
<aeth>
But it is NULL
<aeth>
the CL type
<aeth>
So if you have any experience with logic, mathematics, or programming outside of Common Lisp, this sort of thing is very counterintuitive.
<Kingsy>
yeah its not making alot of sense to me rightnow. so I might just ignore it..... for now
<aeth>
you just have to accept that the name's bad and don't try to bring outside experience into understanding it
<aeth>
imo
<aeth>
If you don't want to Python 3 your programming language, you just have to live with bad names from time to time
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
zephyr has quit [Read error: Connection reset by peer]
zephyr9 has joined #commonlisp
dilated_dinosaur has quit [Ping timeout: 252 seconds]
dilated_dinosaur has joined #commonlisp
dra_ has joined #commonlisp
dra has quit [Ping timeout: 255 seconds]
Demosthenex has quit [Ping timeout: 244 seconds]
Demosthenex has joined #commonlisp
karlosz has quit [Quit: karlosz]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
morganw has quit [Remote host closed the connection]