File: CHANGELOG.md

package info (click to toggle)
haskell-libffi 0.2.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 92 kB
  • sloc: haskell: 316; makefile: 5
file content (28 lines) | stat: -rw-r--r-- 1,296 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
## 0.2.1 [2022.09.24]
* Add `sizeAndAlignmentOfCType` to `Foreign.LibFFI.Base`, which can be used to
  retrieve the size and alignment of a `CType`.

## 0.2 [2022.08.11]
* The `libffi` library now uses `bracket` internally and should now be
  exception-safe.
* There is a now a `ghc-bundled-libffi` `cabal` flag that makes this library
  statically link against GHC's bundled copy of `libffi` rather than attempt to
  link against the system `libffi`. On the vast majority of GHCs, this is the
  most reasonable option, as linking against the system `libffi` is inherently
  fragile. As a result, `+ghc-bundled-libffi` is now the defalut setting. See
  the [`README`](https://github.com/remiturk/libffi/blob/master/README.md#notes-on-ghcs-bundling-of-libffi)
  for more discussion on this point.
* The definition of `Arg` has changed:

  ```diff
  -newtype Arg = Arg { unArg :: IO (Ptr CType, Ptr CValue, IO ()) }
  +newtype Arg = Arg { unArg :: forall a. (Ptr CType -> Ptr CValue -> IO a) -> IO a }
  ```
* The definition of `RetType` has changed:
  ```diff
  -data RetType a = RetType (Ptr CType) ((Ptr CValue -> IO ()) -> IO a)
  +newtype RetType a = RetType { unRetType :: (Ptr CType -> Ptr CValue -> IO ()) -> IO a }
  ```

## 0.1 [2009.03.17]
* Initial release.