On 9-6-2013 1:06, RT Happe wrote:
Erik Zuurbier wrote:
I thought there was once a Clean-library with matrix operations.

That would be Thorsten Zörner's Clean Linear Algebra Subroutines (CLAS),
maybe to be found somewhere on the web by searching for keywords
from the related paper; -->

Thorsten H.-G. Zörner and Rinus Plasmeijer:
Solving Linear Systems with Functional Programming Languages
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.1815
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.33.1815&rep=rep1&type=pdf

The CLAS library and other older versions and libraries can be found at:

ftp://ftp.cs.ru.nl/pub/Clean/

The latest CLAS library is:

ftp://ftp.cs.ru.nl/pub/Clean/supported/CLAS/clas07.zip
ftp://ftp.cs.ru.nl/pub/Clean/supported/CLAS/clas07.tar.gz

or using http:

http://clean.cs.ru.nl/download/supported/CLAS/clas07.zip
http://clean.cs.ru.nl/download/supported/CLAS/clas07.tar.gz

Since Clean 2.3 a unique array element can also be updated in the following way (instead of using replace):

  - Updates of unique array elements (since Clean 2.3):

    A unique array element of a (unique) array of unique elements
    can be selected and updated, if the selection (using ![ ]) and
    update (with the same index) occur in the same function and the
    array is not used in between (only the selected element is used).

    For example, below a unique row is selected, updated by inc_a
    and finally the row of the array is updated.

    inc_row :: !*{#*{#Int}} !Int -> *{#*{#Int}};
    inc_row a row_i
      # (row,a) = a![row_i];
        row = inc_a 0 row;
      = {a & [row_i]=row};

    inc_a :: !Int !*{#Int} -> *{#Int};
    inc_a i a
      | i<size a
        # (n,a) = a![i];
          a & [i]=n+1;
        = inc_a (i+1) a;
        = a;

An array with unique elements can only be created using a comprehension,
not with createArray.

Kind regards,

John van Groningen
_______________________________________________
clean-list mailing list
[email protected]
http://mailman.science.ru.nl/mailman/listinfo/clean-list

Reply via email to