diff --git a/presentation.md b/presentation.md index 52998bc..359ddf6 100644 --- a/presentation.md +++ b/presentation.md @@ -91,6 +91,62 @@ -> # Implementation +- Goals: + - be as compatible with zepto as possible + - do not implement features that are inherently not designed for the web + +--- + +-> # Implementation + +-> ## Toolchain + +- GHCJS (GHC compiler with JavaScript backend) +- Grunt for task automation + +--- + +-> # Implementation + +-> ## \ + +- enable development experience similar to JavaScript +- also enables loading of assets and external files +- deprecates the zepto `load` keyword + +--- + +-> # Implementation + +-> ## FFI + +- enable working with JavaScript bi-directionally +- simple string-based FFI + - abstraction libraries allow for parsing of results e.g. with JSON +- zepto side through GHCJS quasi-quoting +- JavaScript side through calls to the zepto interpreter object + +--- + +-> # Implementation + +-> ## DOM + +- Through the FFI DOM calls were possible +- available through a third-party module + +--- + +-> # Implementation + +-> ## Omissions + +- language definitions + - absence of files does not allow for `load` +- later versions of zepto + - GHC intrinsics to load C and Haskell libraries during runtime + - compiled code not (yet) executable in browser + --- -> # Evaluation of the Prototype