axiom-developer
[Top][All Lists]
Advanced

[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
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]