September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
45
Task/Pangram-checker/ATS/pangram-checker.ats
Normal file
45
Task/Pangram-checker/ATS/pangram-checker.ats
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
(* ****** ****** *)
|
||||
//
|
||||
#include
|
||||
"share/atspre_staload.hats"
|
||||
#include
|
||||
"share/HATS/atspre_staload_libats_ML.hats"
|
||||
//
|
||||
(* ****** ****** *)
|
||||
//
|
||||
fun
|
||||
letter_check
|
||||
(
|
||||
cs: string, c0: char
|
||||
) : bool = cs.exists()(lam(c) => c0 = c)
|
||||
//
|
||||
(* ****** ****** *)
|
||||
|
||||
fun
|
||||
Pangram_check
|
||||
(text: string): bool = let
|
||||
//
|
||||
val
|
||||
alphabet = "abcdefghijklmnopqrstuvwxyz"
|
||||
val
|
||||
((*void*)) = assertloc(length(alphabet) = 26)
|
||||
//
|
||||
in
|
||||
alphabet.forall()(lam(c) => letter_check(text, c) || letter_check(text, toupper(c)))
|
||||
end // end of [Pangram_check]
|
||||
|
||||
(* ****** ****** *)
|
||||
|
||||
implement
|
||||
main0 () =
|
||||
{
|
||||
//
|
||||
val
|
||||
text0 = "The quick brown fox jumps over the lazy dog."
|
||||
//
|
||||
val-true = Pangram_check(text0)
|
||||
val-false = Pangram_check("This is not a pangram sentence.")
|
||||
//
|
||||
} (* end of [main0] *)
|
||||
|
||||
(* ****** ****** *)
|
||||
Loading…
Add table
Add a link
Reference in a new issue