JavaScript does its error-checking at runtime, but PureScript has a compiler, which makes sure that your program has no errors before it converts it all into JavaScript.
PureScript's compiler uses a type system to catch errors so that you aren’t accidentally mismatching your types. We will learn the very basics of type declarations, how they work in a statically typed language like PureScript, and see simple examples of them in action.
Join in by going to PureScripts online editor
Define a variable type:
myTypes :: Int myTypes = 1
Define a function:
add :: Int -> Int -> Int // Take a Int, another Int, return value is also Int add a b = a + b
We can also define the function like that:
add = a -> -> a + b
We can also define curry function:
-- inc (a -> (add 1 a)) inc :: Int -> Int inc = add 1 main = render =<< withConsole do log $ show $ inc 5
Full code:
module Main where import Prelude import Control.Monad.Eff.Console (log) import TryPureScript myTypes :: Int myTypes = 1 -- add (a -> (b -> (a + b))) add :: Int -> Int -> Int add a b = a + b addMe = a -> -> a + b -- inc (a -> (add 1 a)) inc :: Int -> Int inc = add 1 main = render =<< withConsole do log $ show $ inc 5 // 6