Personal tools

Harpy

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(brief list of limitations)
m (Added category)
(One intermediate revision by one user not shown)
Line 21: 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

Contents

1 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).

2 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

3 Tutorials

4 Examples