aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Dénès2020-01-08 14:42:33 +0100
committerMaxime Dénès2020-01-08 15:07:29 +0100
commit3e89f884ef60eb54b250632bb55131e7258ae813 (patch)
treee5d4b6485ce872e6ddcfe37460e633f3dc95b26b
parentef938a4ce2c03b1c4f23222a4542ad144a1f209b (diff)
Add test case for string extraction in OCaml and Haskell
-rw-r--r--test-suite/output/ExtractionString.out52
-rw-r--r--test-suite/output/ExtractionString.v25
2 files changed, 77 insertions, 0 deletions
diff --git a/test-suite/output/ExtractionString.out b/test-suite/output/ExtractionString.out
new file mode 100644
index 0000000000..2a101d9cea
--- /dev/null
+++ b/test-suite/output/ExtractionString.out
@@ -0,0 +1,52 @@
+(** val str : string **)
+
+let str =
+ String ((Ascii (False, False, True, False, True, False, True, False)),
+ (String ((Ascii (False, False, False, True, False, True, True, False)),
+ (String ((Ascii (True, False, False, True, False, True, True, False)),
+ (String ((Ascii (True, True, False, False, True, True, True, False)),
+ (String ((Ascii (False, False, False, False, False, True, False, False)),
+ (String ((Ascii (True, False, False, True, False, True, True, False)),
+ (String ((Ascii (True, True, False, False, True, True, True, False)),
+ (String ((Ascii (False, False, False, False, False, True, False, False)),
+ (String ((Ascii (True, False, False, False, False, True, True, False)),
+ (String ((Ascii (False, False, False, False, False, True, False, False)),
+ (String ((Ascii (True, True, False, False, True, True, True, False)),
+ (String ((Ascii (False, False, True, False, True, True, True, False)),
+ (String ((Ascii (False, True, False, False, True, True, True, False)),
+ (String ((Ascii (True, False, False, True, False, True, True, False)),
+ (String ((Ascii (False, True, True, True, False, True, True, False)),
+ (String ((Ascii (True, True, True, False, False, True, True, False)),
+ EmptyString)))))))))))))))))))))))))))))))
+str :: String
+str =
+ String0 (Ascii False False True False True False True False) (String0
+ (Ascii False False False True False True True False) (String0 (Ascii True
+ False False True False True True False) (String0 (Ascii True True False
+ False True True True False) (String0 (Ascii False False False False False
+ True False False) (String0 (Ascii True False False True False True True
+ False) (String0 (Ascii True True False False True True True False)
+ (String0 (Ascii False False False False False True False False) (String0
+ (Ascii True False False False False True True False) (String0 (Ascii
+ False False False False False True False False) (String0 (Ascii True True
+ False False True True True False) (String0 (Ascii False False True False
+ True True True False) (String0 (Ascii False True False False True True
+ True False) (String0 (Ascii True False False True False True True False)
+ (String0 (Ascii False True True True False True True False) (String0
+ (Ascii True True True False False True True False)
+ EmptyString)))))))))))))))
+
+
+(** val str : char list **)
+
+let str =
+ 'T'::('h'::('i'::('s'::(' '::('i'::('s'::(' '::('a'::(' '::('s'::('t'::('r'::('i'::('n'::('g'::[])))))))))))))))
+(** val str : string **)
+
+let str =
+ "This is a string"
+str :: Prelude.String
+str =
+ "This is a string"
+
+
diff --git a/test-suite/output/ExtractionString.v b/test-suite/output/ExtractionString.v
new file mode 100644
index 0000000000..e4b9d22b38
--- /dev/null
+++ b/test-suite/output/ExtractionString.v
@@ -0,0 +1,25 @@
+Require Import String Extraction.
+
+Definition str := "This is a string"%string.
+
+(* Raw extraction of strings, in OCaml *)
+Extraction Language OCaml.
+Extraction str.
+
+(* Raw extraction of strings, in Haskell *)
+Extraction Language Haskell.
+Extraction str.
+
+(* Extraction to char list, in OCaml *)
+Require Import ExtrOcamlString.
+Extraction Language OCaml.
+Extraction str.
+
+(* Extraction to native strings, in OCaml *)
+Require Import ExtrOcamlNativeString.
+Extraction str.
+
+(* Extraction to native strings, in Haskell *)
+Require Import ExtrHaskellString.
+Extraction Language Haskell.
+Extraction str.