Idris2/tests/idris2/docs001/expected
G. Allais 15cc8243f7
[ re #2001 ] Make some prelude interfaces total (#2083)
The prelude interfaces that have default definitions for all of
their fields are declared total so that users are forced to think
about meeting the minimal requirements for an implementation to be
valid.
2021-11-02 15:34:52 +00:00

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 value
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!