#lisp - Thu 19 Apr 2007 between 03:08 and 03:21

Zhivagowhale: hmm, I think that you might be confused about what polymorphism means.
whale: it is exactly like optional arguments.
whaleofconfusionis there any way to have (values (values 1 2) (values 3 4)) be different from (values 1 2)?
Zhivagowhales: values doesn't work like that
faxayrnieu: btw I am stuck with my J interpreter
ayrnieufax - stuck where?
Zhivagowhales: values, like arguments, aren't first class
faxayrnieu: Im finding function application based on rank really complex..
I think I just have to write more J and learn it better
ive been reading about APL as well, I think its helped a little
hefner(multiple-value-call #'values (values 1 2) (values 3 4)) ; don't do that.
Zhivagowhales: think of values like arguments, not like tuples
whaleofconfusionI meant earlier, (values 1 3) not (values 1 2)
actionhefner boggles
whaleofconfusion(values (values 1 2) (values 3 4)) is (values 1 3) not (values 1 2) as I said before
it might be nice and would not break anything if (values (values 1 2) (values 3 4)) returned a 2 x 2 values matrix
rahuloh my god
whaleofconfusion: stop it. please.
how the hell would you make USE of that "matrix"?
whaleofconfusionyou're right there is no syntax to access anything except the first 2 values of the matrix
rahulwhere is the "matrix" in parameters to functions?
rudino, please continue - what should (values (values 1 2) (values 3 4 'a)) do?
whaleofconfusionyou would have to define that syntax
hefnerheh, (multiple-value-bind ((a b) (c d)) ...)
whaleofconfusionthat would work
Zhivagowhale: values aren't tuples
whale: just like arguments aren't tuples.
whale: so, you might argue that calls should be done with tuples -- but that's a different conversation
whaleofconfusion(values (values 1 2) (values 3 4 'a)) would return 2 values, each of which is itself 2 values, the first of which being the values 1 2 and the second of which being the values 1 2 'a
Zhivagowhales: values aren't objects -- you are wrong.
whale: (+ 1 2 3) what is 1 2 3?
whaleofconfusionthree arguments
Zhivagowhale: what kind of object is three arguments?
whaleofconfusionah // the second of which being the values 3 4 'a
Zhivagowhale: well?
rahuloh, up there
whaleofconfusionwell it's not an object
Zhivagowhale: good.

Page: 2 9 16 23 30 37