futhask-base: Base library for libraries generated by futhask

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

This package contains various class definitions and utility functions used in libraries generated by futhask. Futhask is an FFI tool that creates haskell libraries from futhark libraries through the futhark C-API, aiming to create a safe, haskell friendly, interface for high performance computation.


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.1.1.0, 0.2.0.0
Change log ChangeLog.md
Dependencies array (>=0.5 && <1), base (>=4.7 && <5), bytestring (>=0.12 && <1), half (>=0.3 && <1), monad-control (>=1.0 && <2), mtl (>=2.3 && <3), text (>=2.1 && <3), transformers-base (>=0.4 && <1) [details]
License BSD-3-Clause
Copyright 2026 Gusten Isfeldt
Author Gusten Isfeldt
Maintainer isfeldt@kth.se
Category FFI
Home page https://gitlab.com/Gusten_Isfeldt/futhask#readme
Bug tracker https://gitlab.com/Gusten_Isfeldt/futhask/issues
Source repo head: git clone https://gitlab.com/Gusten_Isfeldt/futhask
Uploaded by GustenIsfeldt at 2026-10-01T12:32:22Z

Modules

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for futhask-base-0.1.1.0

[back to package description]

futhask-base

Base library for Haskell libraries generated from Futhark libraries with Futhask

Purpose

futhask-base provides classes and functions that can be used by FFI-code generated by futhask. futhask generates bindings to the functions in the C-library, and with those instances of the classes defined here. Some of the functions defined here are highly polymorphic, with long type signatures as they take the library context type as an argument. This is to keep objects locked to their context and to allow the base library to function with multiple generated libraries safely. The generated libraries use type synonyms with the context type preapplied to reduce clutter.