Popularity
3.8
Growing
Activity
0.0
-
6
1
3

Monthly Downloads: 5
Programming language: Haskell
License: MIT License
Tags: JavaScript    
Latest version: v0.1.2

quickjs-hs alternatives and similar packages

Based on the "JavaScript" category.
Alternatively, view quickjs-hs alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of quickjs-hs or a related project?

Add another 'JavaScript' Package

README

quickjs-hs

Tests Cabal

This package provides a Haskell wrapper for the QuickJS Javascript Engine. It has been inspired by the quickjs-rs and ocaml-quickjs libraries.

Features

The functionality is quite basic and is currently limited to:

  • evaluating JS code
  • calling a JS function in the global scope
  • marshalling Aeson Values to and from JSValues.

Examples

Evaluate an expression:

import Quickjs

one_plus_two = quickjs $ do
  res <- eval "1+2"
  liftIO $ print res

Declare a function and call it on an argument:

call_f = quickjs $ do
  _ <- eval_ "f = (x) => x+1"
  res <- eval "f(2)"
  liftIO $ print res

Pass a Haskell value (which has a ToJSON instance) to the JS runtime:

aeson_marshall = quickjs $ do
  _ <- eval_ "f = (x) => x+1"
  res <- withJSValue (3::Int) $ \x -> call "f" [x]
  liftIO $ print res

Contributing

Please feel free to report bugs/submit feature requests via the github issue tracker and submit any pull requests to the git repository