On Sun, 4 Sep 2011, Jonathan Wilkes wrote:
From: Mathieu Bouchard <[email protected]>
I don't recall ever seeing any language or library swap the meaning of min
and max. It seems to be very standard.
Why would any of them swap it?
Well, I figured that given that it's a very common confusion for people
learning pd, it would not be surprising if there were programming
languages (or libraries) that named them the other way around... yet I
haven't ever found any.
Pd's syntax stands out against all those examples because it is the only
one that explicitly shows only a single argument after the function
name. So while I could write the Pd syntax as "max y", it really means
something more like max(x, y) where x is visually represented by a small
black rectangle to the top left of the word "max".
There are other examples where there aren't two args after the function
name (apart those that allow variable number of args). But I haven't
listed any.
Smalltalk has infix min and max written like :
x := 10 max: 20.
where "max:" is the selector, and 10 is the receiver.
Forth (and related) takes its arguments before the name of the function.
Currying means that you can pass to a function only part of the args, and
in that case you get another function that takes the rest of the args, and
you can pass that function around or store it. It's available in several
language families. this can mean that you can do stuff like :
foo = max(10)
print foo(20)
as an alternate form of
print max(10,20)
which means you can also do it like
print max(10)(20)
but the useful uses of this feature involve storing foo or passing it
around.
_______________________________________________________________________
| Mathieu Bouchard ---- tél: +1.514.383.3801 ---- Villeray, Montréal, QC
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list