0 | module Prelude.Basics
23 | public export %inline
24 | the : (0 a : Type) -> (1 x : a) -> a
28 | public export %inline
38 | public export %inline
40 | const x = \value => x
43 | public export %inline %tcinline
44 | (.) : (b -> c) -> (a -> b) -> a -> c
45 | (.) f g = \x => f (g x)
50 | public export %inline %tcinline
51 | (.:) : (c -> d) -> (a -> b -> c) -> a -> b -> d
67 | public export %tcinline
68 | on : (b -> b -> c) -> (a -> b) -> a -> a -> c
69 | on f g = \x, y => g x `f` g y
71 | export infixl 0 `on`
75 | public export %tcinline
76 | flip : (f : a -> b -> c) -> b -> a -> c
77 | flip f = \x, y => f y x
80 | public export %tcinline
81 | apply : (a -> b) -> a -> b
92 | curry : (f : (a, b) -> c) -> a -> b -> c
93 | curry f a b = f (a, b)
102 | uncurry : (f : a -> b -> c) -> (a, b) -> c
103 | uncurry f (a, b) = f a b
109 | ($) : forall a, b . ((x : a) -> b x) -> (x : a) -> b x
120 | (|>) : a -> (a -> b) -> b
129 | (<|) : (a -> b) -> a -> b
138 | cong : (0 f : t -> u) -> (0 p : a = b) -> f a = f b
144 | cong2 : (0 f : t1 -> t2 -> u) -> (0 p1 : a = b) -> (0 p2 : c = d) -> f a c = f b d
145 | cong2 f Refl Refl = Refl
149 | depCong : {0 p : a -> Type} ->
150 | (0 f : (x : a) -> p x) ->
154 | depCong f Refl = Refl
158 | depCong2 : {0 p : a -> Type} ->
159 | {0 q : (x : a) -> (y : p x) -> Type} ->
160 | (0 f : (x : a) -> (y : p x) -> q x y) ->
161 | {0 x1, x2 : a} -> (prfX : x1 = x2) ->
162 | {0 y1 : p x1} -> {y2 : p x2} ->
163 | (prfY : y1 = y2) -> f x1 y1 = f x2 y2
164 | depCong2 f Refl Refl = Refl
168 | irrelevantEq : (0 _ : a ~=~ b) -> a ~=~ b
169 | irrelevantEq Refl = Refl
177 | data Bool = False | True
182 | not : (b : Bool) -> Bool
189 | (&&) : (b : Bool) -> Lazy Bool -> Bool
191 | (&&) False x = False
196 | (||) : (b : Bool) -> Lazy Bool -> Bool
203 | ifThenElse : (b : Bool) -> Lazy a -> Lazy a -> a
204 | ifThenElse True l r = l
205 | ifThenElse False l r = r
209 | intToBool : Int -> Bool
210 | intToBool 0 = False
226 | %name List
xs, ys, zs
235 | (:<) (SnocList a) a
237 | %name SnocList
sx, sy, sz