Extending arithmetic

Håkan Stenholm <>
Sat Feb 8 05:45:43 CET 2003


On fredag, feb 7, 2003, at 17:59 Europe/Stockholm, James Hague wrote:

> In graphics work vector math comes up a lot, and it occurred to me 
> that much
> of this can be done in Erlang without changing the syntax at all.  
> Rather
> than simply allowing "number + number -> number," allow the following:
>
> tuple + number -> tuple
> ex: {1,2,3} + 4 -> {4,6,7}
>
> tuple + tuple -> tuple
> ex: {1,2,3} + {4,5,6} -> {5,7,9}
>
> -tuple -> tuple
> -{1,2,3} - {-1,-2,-3}
>
....
> I don't expect this to be taken seriously, but I think it's an 
> interesting
> idea.

Why not also add support for matrixes (when we are already overloading 
+, -, / and *), so that we can do things like this:

X = ... % current x coordinate
Y = ... % current x coordinate
Dy = ... % move along y axis
Dx = ... % move along x axis

% Translated_along_X_and_Y
{X2, Y2, 1} =
{{1,0,Dx},
{0,1,Dy},
{0,0,1}} * {X,Y,1}

I would assume that applications like Wings could benefit from this.




More information about the erlang-questions mailing list