[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## [Axiom-developer] Re: [Aldor-l] Fortress

**From**: |
root |

**Subject**: |
[Axiom-developer] Re: [Aldor-l] Fortress |

**Date**: |
Fri, 15 Aug 2008 23:53:25 -0400 |

>*I think now I understand what allowing Unicode in a programming language *
>*might bring.*
>
>*Watch the talk of Guy Steel*
>* http://www.infoq.com/presentations/fortress-steele*
>*in particular around the following times:*
>
>*16:00 min -- 19:35 min*
>*34:00 min -- 42:00 min*
>*52:00 min*
>
>*and maybe the whole talk might be interesting for some of you.*
>
>*Happy streaming...*
>
>*Ralf*
His description of generators/reducers is very close to the
Google map/reduce algorithm. See
<http://labs.google.com/papers/mapreduce.html>
I do like his regions/distributions idea but he only seems to
take this to the core level of a processor. A pentium or gpu
has parallelism in the instruction set (e.g. psubb) which does
a SIMD parallel subtract within a single object. And the Sage
group spent a lot of time working on the slicing of matrices
to optimize the algorithm for cache lines. I suppose one could
rewrite the library implementation.
I do like the unicode extension idea for operators. I would like
to pick up the standard lisp ideas of
(drop 2 (1 2 3 4 5)) -> (3 4 5)
(take 9 (cycle (1 2 3 4))) -> (1 2 3 4 1 2 3 4 1)
(interleave (:a :b :c :d) (1 2 3 4)) -> (:a 1 :b 2 :c 3 :d 4)
(partition (1 2 3 4 5 6 7 8 9)) -> ((1 2 3) (4 5 6) (7 8 9))
(map vector (:a :b :c :d) (1 2 3 4)) -> (<:a 1> <:b 2> <:c 3> <:d 4>)
(apply str (interpose \, "abcd")) -> "a,b,c,d"
(reduce + (range 100)) -> 4950
with a larger set of symbols I can easily make these look like
standard mathematical notations.
And, of course, the latex-like output as an input form would
interact very well with a literate description of the algorithms.
Tim

[Prev in Thread] |
**Current Thread** |
[Next in Thread] |

**[Axiom-developer] Re: [Aldor-l] Fortress**,
*root* **<=**