Difference between revisions of "Harpy"
Jump to navigation
Jump to search
(give Harpy its own page, Intro and examples) |
m (Added category) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
* [http://uebb.cs.tu-berlin.de/harpy/ Project homepage] |
* [http://uebb.cs.tu-berlin.de/harpy/ Project homepage] |
||
* [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/harpy on hackage] |
* [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/harpy on hackage] |
||
+ | |||
+ | ==Limitations== |
||
+ | |||
+ | * 64-bit mode is not supported |
||
+ | * MMX, SSE, SSE2 and SSE3 instructions and registers are not supported. |
||
+ | * The disassembler supports (in principle) 64-bit mode and SSE instructions, but this has not been tested. |
||
+ | * Buffer overflow checks have to be done manually with checkBufferSize or ensureBufferSize |
||
== Tutorials== |
== Tutorials== |
||
Line 14: | Line 21: | ||
** [http://augustss.blogspot.com/2007/06/disassembly-harpy-package-also-contains.html Disassembling x86] |
** [http://augustss.blogspot.com/2007/06/disassembly-harpy-package-also-contains.html Disassembling x86] |
||
** [http://augustss.blogspot.com/2007/06/generating-more-code-with-harpy-after.html Generating more code with Harpy] |
** [http://augustss.blogspot.com/2007/06/generating-more-code-with-harpy-after.html Generating more code with Harpy] |
||
+ | |||
+ | == Examples == |
||
+ | * [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/calc calc: A small compiler for arithmetic expressions] |
||
+ | |||
+ | [[Category:Compiler tools]] |
Revision as of 00:35, 15 November 2008
Description
Harpy is a library for run-time x86 code generation in Haskell programs. Harpy requires several Haskell extensions and GHC-specific features (the Haskell FFI, Template Haskell, multi-parameter type classes and monad transformers).
Limitations
- 64-bit mode is not supported
- MMX, SSE, SSE2 and SSE3 instructions and registers are not supported.
- The disassembler supports (in principle) 64-bit mode and SSE instructions, but this has not been tested.
- Buffer overflow checks have to be done manually with checkBufferSize or ensureBufferSize
Tutorials
- Writing x86 code generators with Harpy: