Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
20
Task/Church-numerals/Standard-ML/church-numerals-1.ml
Normal file
20
Task/Church-numerals/Standard-ML/church-numerals-1.ml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
val demo = fn () =>
|
||||
let
|
||||
open IntInf
|
||||
|
||||
val zero = fn f => fn x => x ;
|
||||
fun succ n = fn f => f o (n f) ; (* successor *)
|
||||
val rec church = fn 0 => zero
|
||||
| n => succ ( church (n-1) ) ; (* natural to church numeral *)
|
||||
val natural = fn churchn => churchn (fn x => x+1) (fromInt 0) ; (* church numeral to natural *)
|
||||
|
||||
val mult = fn cn => fn cm => cn o cm ;
|
||||
val add = fn cn => fn cm => fn f => (cn f) o (cm f) ;
|
||||
val exp = fn cn => fn em => em cn;
|
||||
|
||||
in
|
||||
|
||||
List.app (fn i=>print( (toString i)^"\n" )) ( List.map natural
|
||||
[ add (church 3) (church 4) , mult (church 3) (church 4) , exp (church 4) (church 3) , exp (church 3) (church 4) ] )
|
||||
|
||||
end;
|
||||
5
Task/Church-numerals/Standard-ML/church-numerals-2.ml
Normal file
5
Task/Church-numerals/Standard-ML/church-numerals-2.ml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
demo ();
|
||||
7
|
||||
12
|
||||
64
|
||||
81
|
||||
Loading…
Add table
Add a link
Reference in a new issue