# PureScript

PureScript is an actively used programming language created in 2013.

6Years Old | 6,452Users | 0Jobs |

- PureScript ranks in the top 50% of languages
- the PureScript website
- PureScript on github
- PureScript first appeared in 2013
- file extensions for PureScript include purs
- the PureScript team is on twitter
- tryitonline has an online PureScript repl
- I have 56 facts about PureScript. what would you like to know? email me and let me know how I can help.

### Example code from the web:

import Prelude import Effect.Console (log) greet :: String -> String greet name = "Hello, " <> name <> "!" main = log (greet "World")

### Example code from Linguist:

module Control.Arrow where import Data.Tuple class Arrow a where arr :: forall b c. (b -> c) -> a b c first :: forall b c d. a b c -> a (Tuple b d) (Tuple c d) instance arrowFunction :: Arrow (->) where arr f = f first f (Tuple b d) = Tuple (f b) d second :: forall a b c d. (Category a, Arrow a) => a b c -> a (Tuple d b) (Tuple d c) second f = arr swap >>> first f >>> arr swap swap :: forall a b. Tuple a b -> Tuple b a swap (Tuple x y) = Tuple y x infixr 3 *** infixr 3 &&& (***) :: forall a b b' c c'. (Category a, Arrow a) => a b c -> a b' c' -> a (Tuple b b') (Tuple c c') (***) f g = first f >>> second g (&&&) :: forall a b b' c c'. (Category a, Arrow a) => a b c -> a b c' -> a b (Tuple c c') (&&&) f g = arr (\b -> Tuple b b) >>> (f *** g) class ArrowZero a where zeroArrow :: forall b c. a b c infixr 5 <+> class ArrowPlus a where (<+>) :: forall b c. a b c -> a b c -> a b c

Last updated August 25th, 2019