freenode/#sbcl - IRC Chatlog
Search
2:22:39
pfdietz
It sort of means "at the end of this scope, no one else refers to this object". So would a free definition say something like "whenever X occurs, it's the only thing refering to its object"?
2:24:23
Bike
i think it says that something inaccessible except through the dx variable will still be inaccessible except through the dx variable.
2:24:31
pfdietz
This would mean you could move the object around and not care about other things pointing to it.
2:26:41
stassats
it could mean that if you have (defun foo (x) (let ((z (list x))) (declare (dynamic-extent z)) ...)) (foo (list 1)) could become stack allocated as well
2:28:03
Bike
i remember clhs says that but also that you'd have to watch out for foo being redefined (not that it matters for standard functions)
3:00:48
stassats
if upgraded-complex-part-type returns the type it's passed, will that dissolve any silliness implied by the standard?
3:04:07
loke`
stassats: Out of curiousity, as this is the first time I've ever come across UPGRADED-COMPLEX-PART-TYPE; what is the purpose of this function? I can't think of any actual use for it.
3:06:32
loke`
I'm reading the clhs on it... I'm still confused... “returns the part type of the most specialized complex number representation that can hold parts of type typespec”. That does that even mean? “parts of”? Does that mean that always returning BIT is valid?
3:07:41
stassats
"The purpose of upgraded-complex-part-type is to reveal how an implementation does its upgrading."
3:11:30
loke`
stassats: Fair enough... I thought I started to understand what it does, but then I realised that when passed 'FLOAT, it returns REAL. Why is that?
3:12:51
stassats
it could conceivably return FLOAT, since there isn't actually a REAL specialization either
3:13:45
stassats
sbcl has three representations for complexes, double-float, single-float and everything else
3:16:00
loke`
So if I care about space, I should explicitly specify complex numbers with integer parts as #c(1.0 2.0) instead of just #c(1 2)?
3:17:40
stassats
ok, single floats use less space, double floats will have the same amount as fixnums
3:21:38
stassats
so you would chose the types according to what operations you perform, not really how sbcl packs it
3:33:07
loke`
stassats: True... I I've been studying quantum mechanics recently, and I guess that's why I have come across it recently.
5:17:13
slyrus
Is it possible to get rid of (with appropriate declarations) the unable to optimize away %sap-alien notes when using sb-alien::alien-callback?
13:41:31
stassats`
i really want tests for optimizations, but no idea how, you can't really benchmark reliably microptimizations
13:45:37
flip214
well, _really_ small microbenchmarks should be reliably compiled to one assembler sequence, I guess.. and these should be stable enough