LLVM
From HaskellWiki
(Difference between revisions)
(mailing list, darcs repository) |
(llvm-extra, synthesizer-llvm) |
||
| (One intermediate revision not shown.) | |||
| Line 9: | Line 9: | ||
You can use this from a Haskell program using the Haskell package <tt>llvm</tt>. | You can use this from a Haskell program using the Haskell package <tt>llvm</tt>. | ||
There is | There is | ||
| - | * a cabal package at [http://hackage.haskell.org | + | * a cabal package at [http://hackage.haskell.org/package/llvm Hackage], |
* a [http://code.haskell.org/llvm darcs repository], | * a [http://code.haskell.org/llvm darcs repository], | ||
* a [http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-llvm mailing list], | * a [http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-llvm mailing list], | ||
* a [http://augustss.blogspot.com/2009/01/llvm-llvm-low-level-virtual-machine-is.html blog article] with examples, | * a [http://augustss.blogspot.com/2009/01/llvm-llvm-low-level-virtual-machine-is.html blog article] with examples, | ||
* the article "[http://augustss.blogspot.com/2009/01/performance-update-ive-continued.html A performance update]" that describes, how LLVM can improve performance | * the article "[http://augustss.blogspot.com/2009/01/performance-update-ive-continued.html A performance update]" that describes, how LLVM can improve performance | ||
| + | |||
| + | Additional stuff | ||
| + | * [http://hackage.haskell.org/package/llvm-extra llvm-extra] provides high-level control structures (<hask>ifThenElse</hask>, <hask>whileLoop</hask>, <hask>Maybe</hask>), vector instructions, automatic adaption to target specific extensions | ||
| + | |||
| + | Applications | ||
| + | * [http://hackage.haskell.org/package/synthesizer-llvm synthesizer-llvm] provides efficient signal processing using vector instructions, including a realtime [[Synthesizer|software synthesizer]] | ||
[[Category:Packages]] | [[Category:Packages]] | ||
[[Category:Performance]] | [[Category:Performance]] | ||
[[Category:Compiler tools]] | [[Category:Compiler tools]] | ||
Current revision
LLVM is an abbreviation of "Low Level Virtual Machine"; LLVM is:
- A compilation strategy
- A virtual instruction set
- A compiler infrastructure
It is developed by the University of Illinois. It is implemented on many platforms, amongst others the iPhone.
You can use this from a Haskell program using the Haskell package llvm. There is
- a cabal package at Hackage,
- a darcs repository,
- a mailing list,
- a blog article with examples,
- the article "A performance update" that describes, how LLVM can improve performance
Additional stuff
- llvm-extra provides high-level control structures (,ifThenElse,whileLoop), vector instructions, automatic adaption to target specific extensionsMaybe
Applications
- synthesizer-llvm provides efficient signal processing using vector instructions, including a realtime software synthesizer
