Skip to content

The interactive example from https://dhall-lang.org hacked up to expose functionality to the JS environment

License

Notifications You must be signed in to change notification settings

rskew/dhall-browser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The interactive Dhall example from https://dhall-lang.org uses GHCJS to add dhall-haskell functionality to a webpage. Because it registers Haskell functions as callbacks directly, the functions aren't neatly exposed to the JS environment, making it difficult to build more logic and interactivity to writing Dhall in a browser.

I Frankensteined the original code with this example of calling Haskell functions from JS https://github.com/dc25/ghcjsCallback and so far:

  • js_getHello will compile a Dhall expression JSON
  • parsableDhall will return true if the input string is valid Dhall.

TODO:

Also it doesn't build unless it's re-inserted as a subdirectory of dhall-haskell :D

For installation or development instructions, see:

How to contribute

You will most likely want to edit index.html if you want to improve the site. The vast majority of the site logic is embedded within that monolithic document, including a substantial amount of inline JavaScript, inline CSS, and all of the code examples.

The src directory contains the code for interpreting the live code demo, powered by the dhall/dhall-json packages compiled to JavaScript using GHCJS. You only need to modify that Haskell source code if you would like to extend the site with new Haskell-derived functionality.

The website.nix file contains the top-level logic for building the site, including bundling of JavaScript/CSS/image assets. You will also want to refer to shared.nix for related logic to build each bundled dependency.

About

The interactive example from https://dhall-lang.org hacked up to expose functionality to the JS environment

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published