aihc-parser-1.0.0.2: test/Test/Fixtures/golden/module/javascript-ffi-imports.yaml
extensions:
- JavaScriptFFI
input: |
{-# LANGUAGE JavaScriptFFI #-}
module JavaScriptFFIImport where
foreign import javascript "((x,y) => { return x + y; })" js_add :: Int -> Int -> Int
foreign import javascript interruptible "((i,cont) => { return cont(i); })" js_cont :: Int -> IO Int
foreign import javascript unsafe "performance.now" js_now :: IO Double
ast: |-
Module {ModuleHead {"JavaScriptFFIImport"}, [JavaScriptFFI], [DeclForeign (ForeignDecl {ForeignImport, JavaScript, ForeignEntityNamed "((x,y) => { return x + y; })", UnqualifiedName {"js_add"}, TFun (TCon "Int") (TFun (TCon "Int") (TCon "Int"))}), DeclForeign (ForeignDecl {ForeignImport, JavaScript, Interruptible, ForeignEntityNamed "((i,cont) => { return cont(i); })", UnqualifiedName {"js_cont"}, TFun (TCon "Int") (TApp (TCon "IO") (TCon "Int"))}), DeclForeign (ForeignDecl {ForeignImport, JavaScript, Unsafe, ForeignEntityNamed "performance.now", UnqualifiedName {"js_now"}, TApp (TCon "IO") (TCon "Double")})]}
status: pass