[eeps] Multi-Parameter Typechecking BIFs
    mats cronqvist 
    masse@REDACTED
       
    Wed Feb 25 12:02:53 CET 2009
    
    
  
James Hague <james.hague@REDACTED> writes:
> A very interesting discussion indeed!
  although I feel bad about hijacking the thread...
[...]
>
> Current:
>
>     cross({V10,V11,V12}, {V20,V21,V22}) when is_float(V10),
> is_float(V11), is_float(V12),
>            is_float(V20), is_float(V21), is_float(V22) ->
>         {V11*V22-V12*V21,V12*V20-V10*V22,V10*V21-V11*V20}.
>
> Multiple parameters;
>
>     cross({V10,V11,V12}, {V20,V21,V22}) when
> is_float(V10,V11,V12,V20,V21,V22) ->
>         {V11*V22-V12*V21,V12*V20-V10*V22,V10*V21-V11*V20}.
>
> Inline types:
>
>     cross({V10::float,V11::float,V12::float},
> {V20::float,V21::float,V22::float}) ->
>        {V11*V22-V12*V21,V12*V20-V10*V22,V10*V21-V11*V20}.
  Using the -type attribute:
 -type(float_point():: {float(),float(),float()}).
 cross({V10,V11,V12}::float_point, {V20,V21,V22}::float_point) ->
     {V11*V22-V12*V21,V12*V20-V10*V22,V10*V21-V11*V20}.
    
    
More information about the eeps
mailing list