mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-15 22:32:19 +03:00
244 lines
5.6 KiB
Plaintext
244 lines
5.6 KiB
Plaintext
Main> Prelude.plus : Nat -> Nat -> Nat
|
|
Add two natural numbers.
|
|
@ x the number to case-split on
|
|
@ y the other numberpublic export
|
|
Totality: total
|
|
Main> data Prelude.Nat : Type
|
|
Natural numbers: unbounded, unsigned integers which can be pattern matched.
|
|
Totality: total
|
|
Constructors:
|
|
Z : Nat
|
|
Zero.
|
|
S : Nat -> Nat
|
|
Successor.
|
|
Hints:
|
|
Cast Nat String
|
|
Cast Nat Integer
|
|
Cast Nat Int
|
|
Cast Nat Char
|
|
Cast Nat Double
|
|
Cast Nat Bits8
|
|
Cast Nat Bits16
|
|
Cast Nat Bits32
|
|
Cast Nat Bits64
|
|
Cast Nat Int8
|
|
Cast Nat Int16
|
|
Cast Nat Int32
|
|
Cast Nat Int64
|
|
Cast String Nat
|
|
Cast Double Nat
|
|
Cast Char Nat
|
|
Cast Int Nat
|
|
Cast Integer Nat
|
|
Cast Bits8 Nat
|
|
Cast Bits16 Nat
|
|
Cast Bits32 Nat
|
|
Cast Bits64 Nat
|
|
Cast Int8 Nat
|
|
Cast Int16 Nat
|
|
Cast Int32 Nat
|
|
Cast Int64 Nat
|
|
Eq Nat
|
|
Num Nat
|
|
Ord Nat
|
|
Range Nat
|
|
Show Nat
|
|
Main> data Prelude.List : Type -> Type
|
|
Generic lists.
|
|
Totality: total
|
|
Constructors:
|
|
Nil : List a
|
|
Empty list
|
|
(::) : a -> List a -> List a
|
|
A non-empty list, consisting of a head element and the rest of the list.
|
|
Hints:
|
|
Alternative List
|
|
Applicative List
|
|
Eq a => Eq (List a)
|
|
Foldable List
|
|
Functor List
|
|
Monad List
|
|
Monoid (List a)
|
|
Ord a => Ord (List a)
|
|
Semigroup (List a)
|
|
Show a => Show (List a)
|
|
Traversable List
|
|
Main> interface Prelude.Show : Type -> Type
|
|
Things that have a canonical `String` representation.
|
|
A minimal implementation includes either `show` or `showPrec`.
|
|
Parameters: ty
|
|
Constructor: MkShow
|
|
Methods:
|
|
show : ty -> String
|
|
Convert a value to its `String` representation.
|
|
@ x the value to convert
|
|
showPrec : Prec -> ty -> String
|
|
Convert a value to its `String` representation in a certain precedence
|
|
context.
|
|
|
|
A value should produce parentheses around itself if and only if the given
|
|
precedence context is greater than or equal to the precedence of the
|
|
outermost operation represented in the produced `String`. *This is
|
|
different from Haskell*, which requires it to be strictly greater. `Open`
|
|
should thus always produce *no* outermost parens, `App` should always
|
|
produce outermost parens except on atomic values and those that provide
|
|
their own bracketing, like `Pair` and `List`.
|
|
@ d the precedence context.
|
|
@ x the value to convert
|
|
Implementations:
|
|
Show Int
|
|
Show Integer
|
|
Show Bits8
|
|
Show Bits16
|
|
Show Bits32
|
|
Show Bits64
|
|
Show Int8
|
|
Show Int16
|
|
Show Int32
|
|
Show Int64
|
|
Show Double
|
|
Show Char
|
|
Show String
|
|
Show Nat
|
|
Show Bool
|
|
Show Void
|
|
Show ()
|
|
(Show a, Show b) => Show (a, b)
|
|
(Show a, Show (p y)) => Show (DPair a p)
|
|
Show a => Show (List a)
|
|
Show a => Show (Maybe a)
|
|
(Show a, Show b) => Show (Either a b)
|
|
Main> Prelude.show : Show ty => ty -> String
|
|
Convert a value to its `String` representation.
|
|
@ x the value to convert
|
|
Totality: total
|
|
Main> interface Prelude.Monad : (Type -> Type) -> Type
|
|
Monad
|
|
@m The underlying functor
|
|
A minimal definition includes either `(>>=)` or `join`.
|
|
Parameters: m
|
|
Constraints: Applicative m
|
|
Constructor: MkMonad
|
|
Methods:
|
|
(>>=) : m a -> (a -> m b) -> m b
|
|
Also called `bind`.
|
|
Fixity Declaration: infixl operator, level 1
|
|
join : m (m a) -> m a
|
|
Also called `flatten` or mu.
|
|
Implementations:
|
|
Monad IO
|
|
Monoid a => Monad (Pair a)
|
|
Monad Maybe
|
|
Monad (Either e)
|
|
Monad List
|
|
Main> 1 : Integer
|
|
Primitive unsigned int value (backend-dependent precision)
|
|
Main> String : Type
|
|
Primitive type of strings
|
|
Hints:
|
|
Cast Int String
|
|
Cast Integer String
|
|
Cast Char String
|
|
Cast Double String
|
|
Cast Nat String
|
|
Cast Int8 String
|
|
Cast Int16 String
|
|
Cast Int32 String
|
|
Cast Int64 String
|
|
Cast Bits8 String
|
|
Cast Bits16 String
|
|
Cast Bits32 String
|
|
Cast Bits64 String
|
|
Cast String Integer
|
|
Cast String Int
|
|
Cast String Double
|
|
Cast String Bits8
|
|
Cast String Bits16
|
|
Cast String Bits32
|
|
Cast String Bits64
|
|
Cast String Int8
|
|
Cast String Int16
|
|
Cast String Int32
|
|
Cast String Int64
|
|
Cast String Nat
|
|
Eq String
|
|
FromString String
|
|
Interpolation String
|
|
Monoid String
|
|
Ord String
|
|
Semigroup String
|
|
Show String
|
|
Main> Integer : Type
|
|
Primitive type of unbounded signed integers
|
|
Hints:
|
|
Abs Integer
|
|
Cast Integer String
|
|
Cast Int Integer
|
|
Cast Char Integer
|
|
Cast Double Integer
|
|
Cast String Integer
|
|
Cast Nat Integer
|
|
Cast Bits8 Integer
|
|
Cast Bits16 Integer
|
|
Cast Bits32 Integer
|
|
Cast Bits64 Integer
|
|
Cast Int8 Integer
|
|
Cast Int16 Integer
|
|
Cast Int32 Integer
|
|
Cast Int64 Integer
|
|
Cast Integer Int
|
|
Cast Integer Char
|
|
Cast Integer Double
|
|
Cast Integer Bits8
|
|
Cast Integer Bits16
|
|
Cast Integer Bits32
|
|
Cast Integer Bits64
|
|
Cast Integer Int8
|
|
Cast Integer Int16
|
|
Cast Integer Int32
|
|
Cast Integer Int64
|
|
Cast Integer Nat
|
|
Eq Integer
|
|
Integral Integer
|
|
Neg Integer
|
|
Num Integer
|
|
Ord Integer
|
|
Show Integer
|
|
Main> Bits16 : Type
|
|
Primitive type of 16 bits unsigned integers
|
|
Hints:
|
|
Abs Bits16
|
|
Cast Bits16 String
|
|
Cast Bits16 Integer
|
|
Cast Bits16 Int
|
|
Cast Bits16 Char
|
|
Cast Bits16 Double
|
|
Cast Bits16 Bits8
|
|
Cast Int Bits16
|
|
Cast Integer Bits16
|
|
Cast Bits8 Bits16
|
|
Cast Bits32 Bits16
|
|
Cast Bits64 Bits16
|
|
Cast String Bits16
|
|
Cast Double Bits16
|
|
Cast Char Bits16
|
|
Cast Nat Bits16
|
|
Cast Int8 Bits16
|
|
Cast Int16 Bits16
|
|
Cast Int32 Bits16
|
|
Cast Int64 Bits16
|
|
Cast Bits16 Bits32
|
|
Cast Bits16 Bits64
|
|
Cast Bits16 Int8
|
|
Cast Bits16 Int16
|
|
Cast Bits16 Int32
|
|
Cast Bits16 Int64
|
|
Cast Bits16 Nat
|
|
Eq Bits16
|
|
Integral Bits16
|
|
Neg Bits16
|
|
Num Bits16
|
|
Ord Bits16
|
|
Show Bits16
|
|
Main> Bye for now!
|