[Haskell-cafe] Announce type-level-natural-number-1.0: Simple, Haskell 2010-compatible type level natural numbers

Henning Thielemann lemming at henning-thielemann.de
Sat Jul 31 02:56:31 EDT 2010


On Fri, 30 Jul 2010, John Meacham wrote:

> Heh. I was just thinking I needed type level naturals last night at the
> pub.

I thought about type level naturals yesterday when working with HList and 
found that HList's dependency on TemplateHaskell is quite heavy.

> I wanted to support gcc's vector type extension in jhc
>
> http://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html
>
> which allow diretly expressing vector operations that use the SIMD
> features of modern CPUS, I didn't want to pre-create every possible
> choice so encoding the size as a type level number makes sense.

The llvm wrapper supports CPU vector data types by decimal type level 
numbers from the type-level package as phantom type parameters, which I 
found nice to use. However the whole type level arithmetic is quite slow.

Btw. I got to know that there is a difference between Vector computing and 
SIMD computing, most notably that Vector units (like Altivec and SSE) 
support vector element shuffling and SIMD machines (like GPUs) do not.
   http://perilsofparallel.blogspot.com/2008/09/larrabee-vs-nvidia-mimd-vs-simd.html


More information about the Haskell-Cafe mailing list