| Zhivago | whale: hmm, I think that you might be confused about what polymorphism means. whale: it is exactly like optional arguments. |
| whaleofconfusion | is there any way to have (values (values 1 2) (values 3 4)) be different from (values 1 2)? |
| Zhivago | whales: values doesn't work like that |
| fax | ayrnieu: btw I am stuck with my J interpreter |
| ayrnieu | fax - stuck where? |
| Zhivago | whales: values, like arguments, aren't first class |
| fax | ayrnieu: 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. |
| Zhivago | whales: think of values like arguments, not like tuples |
| whaleofconfusion | I meant earlier, (values 1 3) not (values 1 2) |
| action | hefner boggles |
| hefner | 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 |
| rahul | oh my god whaleofconfusion: stop it. please. how the hell would you make USE of that "matrix"? |
| whaleofconfusion | you're right there is no syntax to access anything except the first 2 values of the matrix |
| rahul | where is the "matrix" in parameters to functions? |
| rudi | no, please continue - what should (values (values 1 2) (values 3 4 'a)) do? |
| rahul | heh |
| whaleofconfusion | you would have to define that syntax |
| hefner | heh, (multiple-value-bind ((a b) (c d)) ...) |
| whaleofconfusion | that would work |
| Zhivago | whale: 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 |
| Zhivago | whales: values aren't objects -- you are wrong. whale: (+ 1 2 3) what is 1 2 3? |
| whaleofconfusion | three arguments |
| Zhivago | whale: what kind of object is three arguments? |
| whaleofconfusion | ah // the second of which being the values 3 4 'a |
| rahul | "//"? |
| Zhivago | whale: well? |
| rahul | oh, up there |
| whaleofconfusion | well it's not an object |
| Zhivago | whale: good. |