packages feed

harpy 0.6.0.0 → 0.6.0.1

raw patch · 4 files changed

+77/−68 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

NEWS view
@@ -1,6 +1,10 @@ 							-*-outline-*- * Harpy NEWS +** Updated for move to Github.++*** Re-licensed under BSD3+ ** New in version 0.6.0.0  *** Re-licensed under BSD3
− README
@@ -1,65 +0,0 @@-                                                              -*-outline-*--* README file for the Harpy Haskell Run-time Code Generator--Codename: Harpy - Haskell Assembler at Run-time produces Y...-  Harpy [myth.]	f: die Harpyie-  http://en.wikipedia.org/wiki/Harpy--** Introduction--Harpy is a library for run-time 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).--** Features--The following modules are included in this package:--Harpy.CodeGenMonad: This module defines the code generator monad,-  which is a combined state/reader/exception monad.  It contains-  all the necessary details for allocating and managing code buffers.--Harpy.X86CodeGen: This module contains all the functions for generating-  native x86 machine code.  The functions are very simple, and it is-  necessary to specify all addressing modes etc. when emitting an-  instruction.--Harpy.X86Assembler: A type class based layer on top of X86CodeGen-  which determines the addressing modes from the types of the-  operands.--Harpy.X86CGCombinators: Code generation combinators for conditionals,-  loops, function entry/exit code etc.--Harpy.X86Disassembler: A disassembler for x86 machine code.--Harpy.Call: Exports functions for invoking the generated code.--** Notes about the implementation--*** X86CodeGen.lhs--The file X86CodeGen.lhs is based on a header file called x86-codegen.h-from the Mono distribution, which defines macros for emitting x86-machine code directly into a memory buffer.  The Haskell module is a-nearly one-to-one mapping from the original macros to Haskell-functions.  The main differences are:--- Instead of emitting the data directly into a buffer, it uses the-  CodeGen monad from file CodeGenMonad.lhs.--- The functions are strongly typed.--Several things should be kept in mind when using this file:--- Buffer overflow checks have to be done manually with checkBufferSize or-  ensureBufferSize--- MMX, SSE, SSE2 and SSE3 instructions and registers are not supported.--- 64-bit mode is not supported.--- The disassembler supports (in principle) 64-bit mode and SSE-  instructions, but this has not been tested.
+ README.md view
@@ -0,0 +1,64 @@+# harpy - Runtime code generation for x86 machine code++    Codename: Harpy - Haskell Assembler at Run-time produces Y...+      Harpy [myth.]	f: die Harpyie+      http://en.wikipedia.org/wiki/Harpy++## Introduction++Harpy is a library for run-time 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).++## Features++The following modules are included in this package:++Harpy.CodeGenMonad: This module defines the code generator monad,+  which is a combined state/reader/exception monad.  It contains+  all the necessary details for allocating and managing code buffers.++Harpy.X86CodeGen: This module contains all the functions for generating+  native x86 machine code.  The functions are very simple, and it is+  necessary to specify all addressing modes etc. when emitting an+  instruction.++Harpy.X86Assembler: A type class based layer on top of X86CodeGen+  which determines the addressing modes from the types of the+  operands.++Harpy.X86CGCombinators: Code generation combinators for conditionals,+  loops, function entry/exit code etc.++Harpy.X86Disassembler: A disassembler for x86 machine code.++Harpy.Call: Exports functions for invoking the generated code.++## Notes about the implementation++### X86CodeGen.lhs++The file X86CodeGen.lhs is based on a header file called x86-codegen.h+from the Mono distribution, which defines macros for emitting x86+machine code directly into a memory buffer.  The Haskell module is a+nearly one-to-one mapping from the original macros to Haskell+functions.  The main differences are:++- Instead of emitting the data directly into a buffer, it uses the+  CodeGen monad from file CodeGenMonad.lhs.++- The functions are strongly typed.++Several things should be kept in mind when using this file:++- Buffer overflow checks have to be done manually with checkBufferSize or+  ensureBufferSize++- MMX, SSE, SSE2 and SSE3 instructions and registers are not supported.++- 64-bit mode is not supported.++- The disassembler supports (in principle) 64-bit mode and SSE+  instructions, but this has not been tested.
harpy.cabal view
@@ -1,7 +1,7 @@-Cabal-version:  >=1.2+Cabal-version:  >=1.6 Build-type: Simple Name:           harpy-Version:        0.6.0.0+Version:        0.6.0.1 License:        BSD3 License-file:   LICENSE Author:         Dirk Kleeblatt <dirk.kleeblatt@gmx.de>@@ -30,13 +30,19 @@ 	. 	* All the above modules use the code generation monad defined in module 	  "Harpy.CodeGenMonad".+homepage:            https://github.com/mgrabmueller/harpy+bug-reports:         https://github.com/mgrabmueller/harpy/issues Stability:      Experimental  Extra-source-files:-    NEWS README Makefile ChangeLog.md+    NEWS README.md Makefile ChangeLog.md     doc/Makefile doc/tutorial.lhs doc/larger-tutorial.lhs     examples/evaluator/ArithTypes.hs examples/evaluator/ArithParser.hs     examples/evaluator/Evaluator.hs++source-repository head+  type:     git+  location: https://github.com/mgrabmueller/harpy  Library   Build-depends: