git.iko.soy/rowtype-yoga/purescript-native
on 33db511 help sign in
40 lines 1.1 kB history raw
1Foreign Function Interface
2==========================
4Importing Values
5----------------
7The ``foreign import`` keywords declare a value which is defined in Javascript, and its type::
9 foreign import pow :: Number -> Number -> Number
11Inline Javascript
12-----------------
14A foreign import declaration may optionally contain its definition in Javascript as a string literal. If this is provided, the string will be inserted directly into the generated Javascript before the current module definition::
16 foreign import pow
17 """function pow(n) {
18 return function(p) {
19 return Math.pow(n, p);
20 };
21 }""" :: Number -> Number -> Number
23Importing Types
24---------------
26To declare a new type with no constructors, use ``foreign import data`` and provide the kind::
28 foreign import data DOM :: *
30 foreign import document :: {
31 createElement :: String -> DOM
32 }
34Importing Type Class Instances
35------------------------------
37Type class instances can be imported with ``foreign import instance``::
39 foreign import instance showString :: Prelude.Show String