x86-64bit: Runtime code generation for x86 64 bit machine code

[ bsd3, code-generation, library ] [ Propose Tags ]

The primary goal of x86-64bit is to provide a lightweight assembler for machine generated 64 bit x86 assembly instructions. See README.md for further details.

[Skip to Readme]
Versions [faq] 0.1, 0.1.1,, 0.1.2, 0.1.3, 0.1.4, 0.2, 0.3, 0.3.1, 0.4, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.6,
Change log CHANGELOG.md
Dependencies base (>=4.8 && <4.10), monads-tf (==0.1.*), QuickCheck (>=2.8 && <2.10), vector (==0.11.*), Win32 [details]
License BSD-3-Clause
Author Péter Diviánszky
Maintainer divipp@gmail.com
Category Code Generation
Home page https://github.com/divipp/x86-64
Source repo head: git clone https://github.com/divipp/x86-64
Uploaded by PeterDivianszky at 2016-08-09T18:43:54Z
Distributions NixOS:
Downloads 7786 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-11-21 [all 3 reports]


  • CodeGen
    • CodeGen.X86
      • CodeGen.X86.Examples


Maintainer's Corner

For package maintainers and hackage trustees

Readme for x86-64bit-0.1.2

[back to package description]


The primary goal of x86-64 is to provide a lightweight assembler for machine generated 64 bit x86 assembly instructions.


  • The size of operands are statically checked. For example, exchanging rax with eax raises a compile time error rather than a code-generation time error. As a consequence, code generation is faster because the sizes are statically known.
  • Immediate values are automatically converted to smaller size if possible.
  • De Bruijn indices are used instead of named labels
  • Quickcheck tests: You can quickcheck your x86 processor! Please report failures, there is a higher chance that the error is in this library rather than in your processor.

The package is available on HackageDB: http://hackage.haskell.org/package/x86-64bit