- Manage
node
sessions which run the eval server script for Haskell/JavaScript interop - Evaluate expressions with
require()
/import()
support - Load third party libraries in user-specified
node_modules
- Garbage-collected
JSVal
references in Haskell - Support
Promise
-based async evaluation - Doesn't require
node
native addon or third party libraries - Only uses GHC boot libs
- Export Haskell functions as async/sync JavaScript functions
- Type classes for Haskell/JavaScript data marshaling, with
aeson
support - TH quasi-quoters for lifting Haskell bindings into JavaScript code
- Integrate with TypeScript compiler, generate Haskell code from TypeScript
.d.ts
code - Integrate with headless browser testing frameworks like
playwright
/puppeteer
for running JavaScript in browsers
Supported GHC versions:
ghc-8.8
, tested withghc-8.8.3
ghc-8.10
, tested withghc-8.10.1
Supported platforms:
- Windows 10 x64, starting from
ghc-8.10
, tested with Windows Server 2019 - Linux x64, tested with Ubuntu bionic and Alpine edge
- macOS x64, tested with Catalina
Supported node
versions:
node-v12
, minimumv12.17.0
node-v13
, minimumv13.14.0
node-v14
, minimumv14.0.0
See the CI config for details.
Haddock documentation for HEAD is available.
inline-js
is maintained by Tweag I/O.
Have questions? Need help? Tweet at @tweagio.