Fwd: [Haskell-cafe] Haskell for Physicists
Don Stewart
dons at galois.com
Sat Oct 3 16:55:26 EDT 2009
And note we are pushing precisely on the use of DSLs in or on Haskell
for *portability* of the domain-scientists code in a number of areas
right now:
* data parallel algorithms (targetting cpu , gpu)
Accelerate:
http://hackage.haskell.org/package/accelerate-0.6.0.0
Obsidian
http://www.cse.chalmers.se/~joels/writing/dccpaper_obsidian.pdf
* control systems code:
Atom:
http://hackage.haskell.org/package/atom
* cryptography
Cryptol:
http://www.galois.com/technology/communications_security/cryptol
* avionics verification:
http://www.galois.com/blog/2009/05/15/edsls-for-unmanned-autonomous-verification-and-validation/
* financial modelling
Paradise:
http://www.londonhug.net/2008/08/11/video-paradise-a-dsel-for-derivatives-pricing/
FPF:
http://lambda-the-ultimate.org/node/3331
* operating systems:
http://www.barrelfish.org/fof_plos09.pdf
In all cases we're looking at high level code, the possibility of
multiple backends, and constrained semantics enabling extensive
optimization and analysis. And -- we're generating code, so there's no
benefit to having the language hosted on the JVM or .NET -- Haskell
should *own* this space.
This may be Haskell's killer app now that DSLs are going mainstream.
We have mature technology for good DSLs. Far more resources than Scala.
Why isn't Haskell completely dominating this space? I believe it is lack
of training and outreach. We need a "Write you a DSL for great good!"
-- Don
dpiponi:
> Yesterday I was at a talk by Pat Hanrahan on embedded DSLs and GPUs at
> the nvidia GPU conference:
> http://www.nvidia.com/object/gpu_technology_conference.html
>
> Pat argued that the only way forward to achieve usable computing power
> for physics on heterogeneous computers (eg. multicore+GPU) is through
> the use of embedded DSLs to allow physicists to express algorithms
> without reference to underlying architecture, or even details like
> data structures.
More information about the Haskell-Cafe
mailing list