From a5f4eb305ddd6aad446bf147b9afadb1c2018a2a Mon Sep 17 00:00:00 2001 From: "Benjamin Kovach]" Date: Tue, 5 Aug 2014 13:33:31 -0400 Subject: [PATCH 0001/1990] Main -> --- psci/Commands.hs | 8 ++++---- psci/Main.hs | 33 +++++++++++++++++---------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/psci/Commands.hs b/psci/Commands.hs index 88a67aca8c..001f3f516f 100644 --- a/psci/Commands.hs +++ b/psci/Commands.hs @@ -24,7 +24,7 @@ data Command -- | -- A purescript expression -- - = Expression Expr + = Expression Value -- | -- Show the help command -- @@ -48,14 +48,14 @@ data Command -- | -- Binds a value to a name -- - | Let (Expr -> Expr) + | Let (Value -> Value) -- | -- Find the type of an expression -- - | TypeOf Expr + | TypeOf Value -- | -- Find the kind of an expression - -- + -- | KindOf Type -- | diff --git a/psci/Main.hs b/psci/Main.hs index d815642eba..148dc0e804 100644 --- a/psci/Main.hs +++ b/psci/Main.hs @@ -66,7 +66,7 @@ data PSCiState = PSCiState { psciImportedFilenames :: [FilePath] , psciImportedModuleNames :: [P.ModuleName] , psciLoadedModules :: [(FilePath, P.Module)] - , psciLetBindings :: [P.Expr -> P.Expr] + , psciLetBindings :: [P.Value -> P.Value] } -- State helpers @@ -92,7 +92,7 @@ updateModules modules st = st { psciLoadedModules = psciLoadedModules st ++ modu -- | -- Updates the state to have more let bindings. -- -updateLets :: (P.Expr -> P.Expr) -> PSCiState -> PSCiState +updateLets :: (P.Value -> P.Value) -> PSCiState -> PSCiState updateLets name st = st { psciLetBindings = name : psciLetBindings st } -- File helpers @@ -242,11 +242,11 @@ mkdirp = createDirectoryIfMissing True . takeDirectory -- | -- Makes a volatile module to execute the current expression. -- -createTemporaryModule :: Bool -> PSCiState -> P.Expr -> P.Module +createTemporaryModule :: Bool -> PSCiState -> P.Value -> P.Module createTemporaryModule exec PSCiState{psciImportedModuleNames = imports, psciLetBindings = lets} value = let - moduleName = P.ModuleName [P.ProperName "Main"] - importDecl m = P.ImportDeclaration m P.Unqualified Nothing + moduleName = P.ModuleName [P.ProperName "$PSCI"] + importDecl m = P.ImportDeclaration m Nothing Nothing traceModule = P.ModuleName [P.ProperName "Debug", P.ProperName "Trace"] trace = P.Var (P.Qualified (Just traceModule) (P.Ident "print")) itValue = foldl (\x f -> f x) value lets @@ -263,8 +263,8 @@ createTemporaryModule exec PSCiState{psciImportedModuleNames = imports, psciLetB createTemporaryModuleForKind :: PSCiState -> P.Type -> P.Module createTemporaryModuleForKind PSCiState{psciImportedModuleNames = imports} typ = let - moduleName = P.ModuleName [P.ProperName "Main"] - importDecl m = P.ImportDeclaration m P.Unqualified Nothing + moduleName = P.ModuleName [P.ProperName "$PSCI"] + importDecl m = P.ImportDeclaration m Nothing Nothing itDecl = P.TypeSynonymDeclaration (P.ProperName "IT") [] typ in P.Module moduleName ((importDecl `map` imports) ++ [itDecl]) Nothing @@ -278,15 +278,15 @@ indexFile = ".psci_modules" ++ pathSeparator : "index.js" -- | -- Takes a value declaration and evaluates it with the current state. -- -handleDeclaration :: P.Expr -> PSCI () +handleDeclaration :: P.Value -> PSCI () handleDeclaration value = do st <- PSCI $ lift get let m = createTemporaryModule True st value - e <- psciIO . runMake $ P.make modulesDir options (psciLoadedModules st ++ [("Main.purs", m)]) + e <- psciIO . runMake $ P.make modulesDir options (psciLoadedModules st ++ [("$PSCI.purs", m)]) case e of Left err -> PSCI $ outputStrLn err Right _ -> do - psciIO $ writeFile indexFile $ "require('Main').main();" + psciIO $ writeFile indexFile $ "require('$PSCI').main();" process <- psciIO findNodeProcess result <- psciIO $ traverse (\node -> readProcessWithExitCode node [indexFile] "") process case result of @@ -297,15 +297,15 @@ handleDeclaration value = do -- | -- Takes a value and prints its type -- -handleTypeOf :: P.Expr -> PSCI () +handleTypeOf :: P.Value -> PSCI () handleTypeOf value = do st <- PSCI $ lift get let m = createTemporaryModule False st value - e <- psciIO . runMake $ P.make modulesDir options (psciLoadedModules st ++ [("Main.purs", m)]) + e <- psciIO . runMake $ P.make modulesDir options (psciLoadedModules st ++ [("$PSCI.purs", m)]) case e of Left err -> PSCI $ outputStrLn err Right env' -> - case M.lookup (P.ModuleName [P.ProperName "Main"], P.Ident "it") (P.names env') of + case M.lookup (P.ModuleName [P.ProperName "$PSCI"], P.Ident "it") (P.names env') of Just (ty, _, _) -> PSCI . outputStrLn . P.prettyPrintType $ ty Nothing -> PSCI $ outputStrLn "Could not find type" @@ -316,8 +316,8 @@ handleKindOf :: P.Type -> PSCI () handleKindOf typ = do st <- PSCI $ lift get let m = createTemporaryModuleForKind st typ - mName = P.ModuleName [P.ProperName "Main"] - e <- psciIO . runMake $ P.make modulesDir options (psciLoadedModules st ++ [("Main.purs", m)]) + mName = P.ModuleName [P.ProperName "$PSCI"] + e <- psciIO . runMake $ P.make modulesDir options (psciLoadedModules st ++ [("$PSCI.purs", m)]) case e of Left err -> PSCI $ outputStrLn err Right env' -> @@ -325,7 +325,7 @@ handleKindOf typ = do Just (_, typ') -> do let chk = P.CheckState env' 0 0 (Just mName) k = L.runStateT (P.unCheck (P.kindOf mName typ')) chk - case k of + case k of Left errStack -> PSCI . outputStrLn . P.prettyPrintErrorStack False $ errStack Right (kind, _) -> PSCI . outputStrLn . P.prettyPrintKind $ kind Nothing -> PSCI $ outputStrLn "Could not find kind" @@ -340,6 +340,7 @@ getCommand = do firstLine <- getInputLine "> " case firstLine of Nothing -> return (Right Nothing) + Just "" -> return (Right Nothing) Just s@ (':' : _) -> return . either Left (Right . Just) $ parseCommand s -- The start of a command Just s -> either Left (Right . Just) . parseCommand <$> go [s] where From 1371017eeb2ce399ac89dc3a6b9852f458768b82 Mon Sep 17 00:00:00 2001 From: Phil Freeman Date: Mon, 2 Mar 2015 12:24:51 -0800 Subject: [PATCH 0002/1990] Prelude documentation --- prelude/README.md | 170 ++++++++++++++++++++++++++++++++----- prelude/images/Prelude.png | Bin 67310 -> 70386 bytes prelude/prelude.purs | 168 +++++++++++++++++++++++++++++++----- 3 files changed, 297 insertions(+), 41 deletions(-) diff --git a/prelude/README.md b/prelude/README.md index 2890dd6094..7cf2a8e67e 100644 --- a/prelude/README.md +++ b/prelude/README.md @@ -72,6 +72,8 @@ element `id`, just composable morphisms. - Associativity: `p <<< (q <<< r) = (p <<< q) <<< r` +One example of a `Semigroupoid` is the function type constructor `(->)`, with `(<<<)` defined +as function composition. #### `semigroupoidArr` @@ -86,6 +88,7 @@ instance semigroupoidArr :: Semigroupoid Prim.Function (>>>) :: forall a b c d. (Semigroupoid a) => a b c -> a c d -> a b d ``` +Forwards composition, or `(<<<)` with its arguments reversed. #### `Category` @@ -160,13 +163,12 @@ length (groupBy productCategory (filter isInStock (products))) (:) :: forall a. a -> [a] -> [a] ``` -Attaches an element to the front of a list. +Attaches an element to the front of an array, creating a new array. ```purescript 1 : [2, 3, 4] = [1, 2, 3, 4] ``` - #### `cons` ``` purescript @@ -181,6 +183,10 @@ class Show a where show :: a -> String ``` +The `Show` type class represents those types which can be converted into a human-readable `String` representation. + +While not required, it is recommended that for any expression `x`, the string `show x` be executable PureScript code +which evaluates to the same value as the expression `x`. #### `showUnit` @@ -224,10 +230,12 @@ class Functor f where (<$>) :: forall a b. (a -> b) -> f a -> f b ``` -A `Functor` is intuitively a type which can be mapped over, and more formally a mapping -between [`Category`](#category)s that preserves structure. +A `Functor` is a type constructor which supports a mapping operation `(<$>)`. -`Functor`s should obey the following rules. +`(<$>)` can be used to turn functions `a -> b` into functions `f a -> f b` whose argument and return +types use the type constructor `f` to represent some computational context. + +`Functor` instances should satisfy the following laws: - Identity: `(<$>) id = id` - Composition: `(<$>) (f <<< g) = (<$> f) <<< (<$> g)` @@ -239,6 +247,11 @@ between [`Category`](#category)s that preserves structure. (<#>) :: forall f a b. (Functor f) => f a -> (a -> b) -> f b ``` +`(<#>)` is `(<$>)` with its arguments flipped. For example: + +```purescript +[1, 2, 3] <#> \n -> n * n +``` #### `void` @@ -246,6 +259,16 @@ between [`Category`](#category)s that preserves structure. void :: forall f a. (Functor f) => f a -> f Unit ``` +The `void` function is used to ignore the type wrapped by a [`Functor`](#functor), replacing it with `Unit` and +keeping only the type information provided by the type constructor itself. + +`void` is often useful when using `do` notation to change the return type of a monadic computation: + +```purescript +main = forE 1 10 \n -> void do + print n + print (n * n) +``` #### `Apply` @@ -254,13 +277,24 @@ class (Functor f) <= Apply f where (<*>) :: forall a b. f (a -> b) -> f a -> f b ``` -`Apply`s are intuitively [`Applicative`](#applicative)s less `pure`, and more formally a -strong lax semi-monoidal endofunctor. +The `Apply` class provides the `(<*>)` which is used to apply a function to an argument under a type constructor. -`Apply`s should obey the following rule. +`Apply` can be used to lift functions of two or more arguments to work on values wrapped with the type constructor `f`. +It might also be understood in terms of the `lift2` function: + +```purescript +lift2 :: forall f a b c. (Apply f) => (a -> b -> c) -> f a -> f b -> f c +lift2 f a b = f <$> a <*> b +``` + +`(<*>)` is recovered from `lift2` as `lift2 ($)`. That is, `(<*>)` lifts the function application operator `($)` to arguments +wrapped with the type constructor `f`. + +`Apply` instances should satisfy the following law: - Associative Composition: `(<<<) <$> f <*> g <*> h = f <*> (g <*> h)` +Formally, `Apply` represents a strong lax semi-monoidal endofunctor. #### `Applicative` @@ -269,10 +303,14 @@ class (Apply f) <= Applicative f where pure :: forall a. a -> f a ``` -`Applicative`s are [`Functor`](#functor)s which can be "applied" by sequencing composition -(`<*>`) or embedding pure expressions (`pure`). +The `Applicative` type class extends the [`Apply`](#apply) type class with a `pure` function, which can be used to +create values of type `f a` from values of type `a`. + +Where [`Apply`](#apply) provides the ability to lift functions of two or more arguments to functions whose arguments are wrapped using `f`, +and [`Functor`](#functor) provides the ability to lift functions of one argument, `pure` can be seen as the function which lifts functions of +_zero_ arguments. That is, `Applicative` functors support a lifting operation for any number of function arguments. -`Applicative`s should obey the following rules. +`Applicative` instances should satisfy the following laws: - Identity: `(pure id) <*> v = v` - Composition: `(pure <<<) <*> f <*> g <*> h = f <*> (g <*> h)` @@ -286,6 +324,15 @@ class (Apply f) <= Applicative f where liftA1 :: forall f a b. (Applicative f) => (a -> b) -> f a -> f b ``` +`liftA1` provides a default implementation of `(<$>)` for any [`Applicative`](#applicative) functor, +without using `(<$>)` as provided by the [`Functor`](#functor)-[`Applicative`](#applicative) superclass relationship. + +`liftA1` can therefore be used to write [`Functor`](#functor) instances as follows: + +```purescript +instance functorF :: Functor F where + (<$>) = liftA1 +``` #### `Bind` @@ -294,12 +341,33 @@ class (Apply m) <= Bind m where (>>=) :: forall a b. m a -> (a -> m b) -> m b ``` -A `Bind` is an [`Apply`](#apply) with a bind operation which sequentially composes actions. +The `Bind` type class extends the [`Apply`](#apply) type class with a "bind" operation `(>>=)` which composes computations +in sequence, using the return value of one computation to determine the next computation. + +The `>>=` operator can also be expressed using `do` notation, as follows: + +```purescript +x >>= f = do y <- x + f y +``` + +where the function argument of `f` is given the name `y`. -`Bind`s should obey the following rule. +`Bind` instances should satisfy the following law: - Associativity: `forall f g x. (x >>= f) >>= g = x >>= (\k => f k >>= g)` +Or, expressed using `do` notation: + +- Associativity: `do { z <- do { y <- x ; f y } ; g z } = do { k <- x ; do { y <- f k ; g y } }` + +Associativity tells us that we can regroup operations which use do-notation, so that we can unambiguously write, for example: + +```purescript +do x <- m1 + y <- m2 x + m3 x y +``` #### `Monad` @@ -307,14 +375,19 @@ A `Bind` is an [`Apply`](#apply) with a bind operation which sequentially compos class (Applicative m, Bind m) <= Monad m where ``` -`Monad` is a class which can be intuitively thought of as an abstract datatype of actions or -more formally though of as a monoid in the category of endofunctors. +The `Monad` type class combines the operations of the `Bind` and `Applicative` type classes. Therefore, `Monad` instances +represent type constructors which support sequential composition, and also lifting of functions of arbitrary arity. -`Monad`s should obey the following rules. +`Monad` instances should satisfy the following laws: - Left Identity: `pure x >>= f = f x` - Right Identity: `x >>= pure = x` +Or, expressed using `do` notation: + +- Left Identity: `do { y <- pure x ; f y } = f x` +- Right Identity: `do { y <- x ; pure y } = x` + #### `return` @@ -322,6 +395,7 @@ more formally though of as a monoid in the category of endofunctors. return :: forall m a. (Monad m) => a -> m a ``` +`return` is an alias for `pure`. #### `liftM1` @@ -329,6 +403,15 @@ return :: forall m a. (Monad m) => a -> m a liftM1 :: forall m a b. (Monad m) => (a -> b) -> m a -> m b ``` +`liftM1` provides a default implementation of `(<$>)` for any [`Monad`](#monad), +without using `(<$>)` as provided by the [`Functor`](#functor)-[`Monad`](#monad) superclass relationship. + +`liftM1` can therefore be used to write [`Functor`](#functor) instances as follows: + +```purescript +instance functorF :: Functor F where + (<$>) = liftM1 +``` #### `ap` @@ -336,6 +419,15 @@ liftM1 :: forall m a b. (Monad m) => (a -> b) -> m a -> m b ap :: forall m a b. (Monad m) => m (a -> b) -> m a -> m b ``` +`ap` provides a default implementation of `(<*>)` for any [`Monad`](#monad), +without using `(<*>)` as provided by the [`Apply`](#apply)-[`Monad`](#monad) superclass relationship. + +`ap` can therefore be used to write [`Apply`](#apply) instances as follows: + +```purescript +instance applyF :: Apply F where + (<*>) = ap +``` #### `functorArr` @@ -384,8 +476,8 @@ class Semiring a where Addition and multiplication, satisfying the following laws: -- `a` is a commutative monoid under addition with identity element zero -- `a` is a monoid under multiplication with identity element one +- `a` is a commutative monoid under addition +- `a` is a monoid under multiplication - multiplication distributes over addition - multiplication by `zero` annihilates `a` @@ -485,6 +577,10 @@ newtype Unit = Unit { } ``` +The `Unit` type has a single inhabitant, called `unit`. It represents values with no computational content. + +`Unit` is often used, wrapped in a monadic type constructor, as the return type of a computation where only +the _effects_ are important. #### `unit` @@ -492,6 +588,7 @@ newtype Unit unit :: Unit ``` +`unit` is the sole inhabitant of the `Unit` type. #### `Eq` @@ -501,7 +598,16 @@ class Eq a where (/=) :: a -> a -> Boolean ``` -Class for types that have an equality comparison. +The `Eq` type class represents types which support decidable equality. + +`Eq` instances should satisfy the following laws: + +- Reflexivity: `forall x. x == x = true` +- Symmetry: `forall x y. x == y = y == x` +- Transitivity: if `x == y` and `y == z` then `x == z` +- Negation: `forall x y. x /= y = not (x == y)` + +`(/=)` may be implemented in terms of `(==)`, but it might give a performance improvement to implement it separately. #### `refEq` @@ -561,6 +667,11 @@ data Ordering | EQ ``` +The `Ordering` data type represents the three possible outcomes of comparing two values: + +`LT` - The first value is _less than_ the second. +`GT` - The first value is _greater than_ the second. +`EQ` - The first value is _equal to_ or _incomparable to_ the second. #### `eqOrdering` @@ -590,9 +701,9 @@ class (Eq a) <= Ord a where compare :: a -> a -> Ordering ``` -Class for types that have ordered comparisons. +The `Ord` type class represents types which support comparisons. -Represents a partially ordered set satisfying the following laws: +`Ord` instances should satisfy the laws of _partially orderings_: - Reflexivity: `a <= a` - Antisymmetry: if `a <= b` and `b <= a` then `a = b` @@ -605,6 +716,7 @@ Represents a partially ordered set satisfying the following laws: (<) :: forall a. (Ord a) => a -> a -> Boolean ``` +Test whether one value is _strictly less than_ another. #### `(>)` @@ -612,6 +724,7 @@ Represents a partially ordered set satisfying the following laws: (>) :: forall a. (Ord a) => a -> a -> Boolean ``` +Test whether one value is _strictly greater than_ another. #### `(<=)` @@ -619,6 +732,7 @@ Represents a partially ordered set satisfying the following laws: (<=) :: forall a. (Ord a) => a -> a -> Boolean ``` +Test whether one value is _non-strictly less than_ another. #### `(>=)` @@ -626,6 +740,7 @@ Represents a partially ordered set satisfying the following laws: (>=) :: forall a. (Ord a) => a -> a -> Boolean ``` +Test whether one value is _non-strictly greater than_ another. #### `ordUnit` @@ -675,6 +790,7 @@ class Bits b where complement :: b -> b ``` +The `Bits` type class identifies types which support bitwise operations. #### `bitsNumber` @@ -692,6 +808,10 @@ class BoolLike b where not :: b -> b ``` +The `BoolLike` type class identifies types which support Boolean operations. + +`BoolLike` instances are required to satisfy the laws of a _Boolean algebra_. + #### `boolLikeBoolean` @@ -707,6 +827,13 @@ class Semigroup a where (<>) :: a -> a -> a ``` +The `Semigroup` type class identifies an associative operation on a type. + +`Semigroup` instances are required to satisfy the following law: + +- Associativity: `forall x y z. (x <> y) <> z = x <> (y <> z)` + +For example, the `String` type is an instance of `Semigroup`, where `(<>)` is defined to be string concatenation. #### `semigroupUnit` @@ -735,6 +862,7 @@ instance semigroupArr :: (Semigroup s') => Semigroup (s -> s') (++) :: forall s. (Semigroup s) => s -> s -> s ``` +`(++)` is an alias for `(<>)`. ## Module Data.Function diff --git a/prelude/images/Prelude.png b/prelude/images/Prelude.png index 835a56a39b11dea1e621c5420b917c944a3d7d9a..1eb1110d3c73a6bfd423a885f0f68dc4e1603283 100644 GIT binary patch literal 70386 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

U>?m7Pzgc4CY4x;^`ABs93zT7p5O#~e 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≀NgV_UJY3DQK4ma*?= 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