Friday, December 12, 2008
Doug Engelbart’s “The Demo” 40th Anniversary Celebration Timeline Mural
Monday, December 8, 2008
Working on my art project
I posted this comment at http://blog.matthewdoig.com/?p=152
Thanks Matthew et al.
RE:
" ... I have to admit that just finding a good example was somewhat of a chore, which suggests either functors aren’t used a whole lot by OCaml programmers or nobody understands them. ... " Matthew Doig
" ... but compositionality is the core feature of functional programming. Ocaml style functors and Haskell style monads just aren’t possible in F#. Sure, we can simulate composibility, but the above example shows that it’s still too difficult. ..." Anonymous
" ... I’m just saying: it’s natural to be frustrated when translating a concept in one language to another that doesn’t have direct support for it. ... " Kurt
Is a good example of functors in OCAML, "Tilings as a programming exercise" by Guy Cousineau, (Theoretical Computer Science 281 (2002) 207 – 217) [also with Mauny "The Functional Approach to Programming"]?
Trying to translate it to F# led to "The Haskell School of Expression, Learning Functional Programming Through Multimedia", by Paul Hudak.
Here's the conclusion:
" Now we can summarize the construction of tilings in one functor that takes all the necessary ingredients as parameters:
module Construct_tiling
(Group: CANONICAL_GROUP)
(Geom: GEOMETRY)
(GenMap: MAPPING with type source = Group.element
and type dest = Geom.transformation)
(GenColorMap: MAPPING with type source = Group.element
and type dest = Permutation.permutation)
(Tile: TILE with type transformation =
Geom.transformation * Permutation.permutation)
=
Make_tiling
(Make_generator_from_canonical
(Make_canonical_generator(Group))
(MakePair (Make_morphism (Group) (GenMap) (Geom.Tgroup))
(Make_color_morphism (Group) (GenColormap)))
(Tile)
This leads to a simplified graphical representation which appears in Fig. 3.
7. Conclusion
What we have obtained is a very generic program that can produce any tiling with a computable symmetry group that operate transitively on the tiles. ..."
Friday, November 21, 2008
Wednesday, August 6, 2008
Monday, May 5, 2008
HEXATRON
H E X A T R O N Hexatron is a source of original computer art and ...
H E X A T R O N, Hexatron is a source of original computer art and original computer games. You can look at the art and play the games. ...
www.hexatron.com/ - 16k - Cached - Similar pages - Note this
Friday, May 2, 2008
Multicore Manycore Reality.
By Art Scott, Semasiographologist.
Copyright © 2008, by Art Scott. All rights reserved.
Executive Summary
It was soo hot on flat-land-world silicon . The inhabitants, called circuits, were using too much energy per unit of bit pushing work; there was a lot of friction. The circuits’ transistor minds were melting from heat stroke. They were going metastable, losing their minds! They didn’t know what state they were in, on or off.
Their clock was too fast, they had no time to decide anything, what was the Object?, their Function? They’d lost their Framework. They couldn’t live that way any longer, on a single core super fast hot silicon world. So wisely the circuit inhabitants put their transistor minds together and decided to go Green, use less energy per bit pushing unit, divide and chill out.
Thus single core sequential world ended (see them in a museum), and multi-/many-core world came to be, and it was good: cooler, greener, more capable; but there were new challenges: The Threads of their lives were incomprehensibly waaay complicated. Now that there were more cores, 2, 4, 8, 42, 80 ... 1024, how were they to work and play together? They need a new language, the bearded and unbearded are hard at work on a Coordination language.
Stay tuned for the next exciting episode: Sequential Programmers meet Multi-, Many- core world --- go wild, then enter 12 steps to parallel concurrent zen.