From e1dfa82f0d6e0afb333605a8056823c432848d6a Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Fri, 15 Mar 2019 13:53:56 +0100 Subject: Split different tests features into their own files --- dhall/tests/common/mod.rs | 121 +++++++++ dhall/tests/macros.rs | 120 --------- dhall/tests/normalization.rs | 346 +++++++++++++++++++++++++ dhall/tests/parser.rs | 70 ++++++ dhall/tests/tests.rs | 582 ------------------------------------------- dhall/tests/typecheck.rs | 168 +++++++++++++ 6 files changed, 705 insertions(+), 702 deletions(-) create mode 100644 dhall/tests/common/mod.rs delete mode 100644 dhall/tests/macros.rs create mode 100644 dhall/tests/normalization.rs create mode 100644 dhall/tests/parser.rs delete mode 100644 dhall/tests/tests.rs create mode 100644 dhall/tests/typecheck.rs diff --git a/dhall/tests/common/mod.rs b/dhall/tests/common/mod.rs new file mode 100644 index 0000000..b60262b --- /dev/null +++ b/dhall/tests/common/mod.rs @@ -0,0 +1,121 @@ +use pretty_assertions::assert_eq as assert_eq_pretty; + +macro_rules! assert_eq_display { + ($left:expr, $right:expr) => {{ + match (&$left, &$right) { + (left_val, right_val) => { + if !(*left_val == *right_val) { + panic!( + r#"assertion failed: `(left == right)` + left: `{}`, +right: `{}`"#, + left_val, right_val + ) + } + } + } + }}; +} + +#[macro_export] +macro_rules! make_spec_test { + ($type:ident, $name:ident, $path:expr) => { + #[test] + #[allow(non_snake_case)] + fn $name() { + use crate::common::*; + use std::thread; + + // The parser stack overflows even on small files + // when compiled without optimizations + thread::Builder::new() + .stack_size(4 * 1024 * 1024) + .spawn(move || { + run_test($path, Feature::$type); + }) + .unwrap() + .join() + .unwrap(); + } + }; +} + +use dhall::*; +use dhall_core::*; +use std::path::PathBuf; + +#[allow(dead_code)] +pub enum Feature { + ParserSuccess, + ParserFailure, + Normalization, + TypecheckSuccess, + TypecheckFailure, +} + +pub fn read_dhall_file<'i>(file_path: &str) -> Result, DhallError> { + load_dhall_file(&PathBuf::from(file_path), true) +} + +pub fn run_test(base_path: &str, feature: Feature) { + use self::Feature::*; + let base_path_prefix = match feature { + ParserSuccess => "parser/success/", + ParserFailure => "parser/failure/", + Normalization => "normalization/success/", + TypecheckSuccess => "typecheck/success/", + TypecheckFailure => "typecheck/failure/", + }; + let base_path = + "../dhall-lang/tests/".to_owned() + base_path_prefix + base_path; + match feature { + ParserSuccess => { + let expr_file_path = base_path.clone() + "A.dhall"; + let expected_file_path = base_path + "B.dhallb"; + let expr = read_dhall_file(&expr_file_path) + .map_err(|e| println!("{}", e)) + .unwrap(); + + use std::fs::File; + use std::io::Read; + let mut file = File::open(expected_file_path).unwrap(); + let mut data = Vec::new(); + file.read_to_end(&mut data).unwrap(); + let expected = dhall::binary::decode(&data).unwrap(); + let expected = dhall::imports::panic_imports(&expected); + + assert_eq_pretty!(expr, expected); + } + ParserFailure => { + let file_path = base_path + ".dhall"; + let err = read_dhall_file(&file_path).unwrap_err(); + match err { + DhallError::ParseError(_) => {} + e => panic!("Expected parse error, got: {:?}", e), + } + } + Normalization => { + let expr_file_path = base_path.clone() + "A.dhall"; + let expected_file_path = base_path + "B.dhall"; + let expr = read_dhall_file(&expr_file_path).unwrap(); + let expected = read_dhall_file(&expected_file_path).unwrap(); + + assert_eq_display!( + normalize::<_, X, _>(&expr), + normalize::<_, X, _>(&expected) + ); + } + TypecheckFailure => { + let file_path = base_path + ".dhall"; + let expr = read_dhall_file(&file_path).unwrap(); + typecheck::type_of(&expr).unwrap_err(); + } + TypecheckSuccess => { + let expr_file_path = base_path.clone() + "A.dhall"; + let expected_file_path = base_path + "B.dhall"; + let expr = read_dhall_file(&expr_file_path).unwrap(); + let expected = read_dhall_file(&expected_file_path).unwrap(); + typecheck::type_of(&Expr::Annot(bx(expr), bx(expected))).unwrap(); + } + } +} diff --git a/dhall/tests/macros.rs b/dhall/tests/macros.rs deleted file mode 100644 index b67f720..0000000 --- a/dhall/tests/macros.rs +++ /dev/null @@ -1,120 +0,0 @@ -use pretty_assertions::assert_eq as assert_eq_pretty; - -macro_rules! assert_eq_display { - ($left:expr, $right:expr) => {{ - match (&$left, &$right) { - (left_val, right_val) => { - if !(*left_val == *right_val) { - panic!( - r#"assertion failed: `(left == right)` - left: `{}`, -right: `{}`"#, - left_val, right_val - ) - } - } - } - }}; -} - -#[macro_export] -macro_rules! make_spec_test { - ($type:ident, $name:ident, $path:expr) => { - #[test] - #[allow(non_snake_case)] - fn $name() { - use crate::macros::*; - use std::thread; - - // The parser stack overflows even on small files - // when compiled without optimizations - thread::Builder::new() - .stack_size(4 * 1024 * 1024) - .spawn(move || { - run_test($path, Feature::$type); - }) - .unwrap() - .join() - .unwrap(); - } - }; -} - -use dhall::*; -use dhall_core::*; -use std::path::PathBuf; - -pub enum Feature { - ParserSuccess, - ParserFailure, - Normalization, - TypecheckSuccess, - TypecheckFailure, -} - -pub fn read_dhall_file<'i>(file_path: &str) -> Result, DhallError> { - load_dhall_file(&PathBuf::from(file_path), true) -} - -pub fn run_test(base_path: &str, feature: Feature) { - use self::Feature::*; - let base_path_prefix = match feature { - ParserSuccess => "parser/success/", - ParserFailure => "parser/failure/", - Normalization => "normalization/success/", - TypecheckSuccess => "typecheck/success/", - TypecheckFailure => "typecheck/failure/", - }; - let base_path = - "../dhall-lang/tests/".to_owned() + base_path_prefix + base_path; - match feature { - ParserSuccess => { - let expr_file_path = base_path.clone() + "A.dhall"; - let expected_file_path = base_path + "B.dhallb"; - let expr = read_dhall_file(&expr_file_path) - .map_err(|e| println!("{}", e)) - .unwrap(); - - use std::fs::File; - use std::io::Read; - let mut file = File::open(expected_file_path).unwrap(); - let mut data = Vec::new(); - file.read_to_end(&mut data).unwrap(); - let expected = dhall::binary::decode(&data).unwrap(); - let expected = dhall::imports::panic_imports(&expected); - - assert_eq_pretty!(expr, expected); - } - ParserFailure => { - let file_path = base_path + ".dhall"; - let err = read_dhall_file(&file_path).unwrap_err(); - match err { - DhallError::ParseError(_) => {} - e => panic!("Expected parse error, got: {:?}", e), - } - } - Normalization => { - let expr_file_path = base_path.clone() + "A.dhall"; - let expected_file_path = base_path + "B.dhall"; - let expr = read_dhall_file(&expr_file_path).unwrap(); - let expected = read_dhall_file(&expected_file_path).unwrap(); - - assert_eq_display!( - normalize::<_, X, _>(&expr), - normalize::<_, X, _>(&expected) - ); - } - TypecheckFailure => { - let file_path = base_path + ".dhall"; - let expr = read_dhall_file(&file_path).unwrap(); - typecheck::type_of(&expr).unwrap_err(); - } - TypecheckSuccess => { - let expr_file_path = base_path.clone() + "A.dhall"; - let expected_file_path = base_path + "B.dhall"; - let expr = read_dhall_file(&expr_file_path).unwrap(); - let expected = read_dhall_file(&expected_file_path).unwrap(); - typecheck::type_of(&Expr::Annot(bx(expr), bx(expected))).unwrap(); - } - } -} diff --git a/dhall/tests/normalization.rs b/dhall/tests/normalization.rs new file mode 100644 index 0000000..243cf24 --- /dev/null +++ b/dhall/tests/normalization.rs @@ -0,0 +1,346 @@ +#![feature(custom_inner_attributes)] +#![rustfmt::skip] +mod common; + +macro_rules! norm { + ($name:ident, $path:expr) => { + make_spec_test!(Normalization, $name, $path); + }; +} + +norm!(spec_normalization_success_haskell_tutorial_access_0, "haskell-tutorial/access/0"); +// norm!(spec_normalization_success_haskell_tutorial_access_1, "haskell-tutorial/access/1"); +// norm!(spec_normalization_success_haskell_tutorial_combineTypes_0, "haskell-tutorial/combineTypes/0"); +// norm!(spec_normalization_success_haskell_tutorial_combineTypes_1, "haskell-tutorial/combineTypes/1"); +// norm!(spec_normalization_success_haskell_tutorial_prefer_0, "haskell-tutorial/prefer/0"); +// norm!(spec_normalization_success_haskell_tutorial_projection_0, "haskell-tutorial/projection/0"); +// norm!(spec_normalization_success_multiline_escape, "multiline/escape"); +// norm!(spec_normalization_success_multiline_hangingIndent, "multiline/hangingIndent"); +// norm!(spec_normalization_success_multiline_interesting, "multiline/interesting"); +// norm!(spec_normalization_success_multiline_interiorIndent, "multiline/interiorIndent"); +// norm!(spec_normalization_success_multiline_interpolation, "multiline/interpolation"); +// norm!(spec_normalization_success_multiline_preserveComment, "multiline/preserveComment"); +// norm!(spec_normalization_success_multiline_singleLine, "multiline/singleLine"); +// norm!(spec_normalization_success_multiline_twoLines, "multiline/twoLines"); + + +norm!(spec_normalization_success_prelude_Bool_and_0, "prelude/Bool/and/0"); +norm!(spec_normalization_success_prelude_Bool_and_1, "prelude/Bool/and/1"); +norm!(spec_normalization_success_prelude_Bool_build_0, "prelude/Bool/build/0"); +norm!(spec_normalization_success_prelude_Bool_build_1, "prelude/Bool/build/1"); +norm!(spec_normalization_success_prelude_Bool_even_0, "prelude/Bool/even/0"); +norm!(spec_normalization_success_prelude_Bool_even_1, "prelude/Bool/even/1"); +norm!(spec_normalization_success_prelude_Bool_even_2, "prelude/Bool/even/2"); +norm!(spec_normalization_success_prelude_Bool_even_3, "prelude/Bool/even/3"); +norm!(spec_normalization_success_prelude_Bool_fold_0, "prelude/Bool/fold/0"); +norm!(spec_normalization_success_prelude_Bool_fold_1, "prelude/Bool/fold/1"); +norm!(spec_normalization_success_prelude_Bool_not_0, "prelude/Bool/not/0"); +norm!(spec_normalization_success_prelude_Bool_not_1, "prelude/Bool/not/1"); +norm!(spec_normalization_success_prelude_Bool_odd_0, "prelude/Bool/odd/0"); +norm!(spec_normalization_success_prelude_Bool_odd_1, "prelude/Bool/odd/1"); +norm!(spec_normalization_success_prelude_Bool_odd_2, "prelude/Bool/odd/2"); +norm!(spec_normalization_success_prelude_Bool_odd_3, "prelude/Bool/odd/3"); +norm!(spec_normalization_success_prelude_Bool_or_0, "prelude/Bool/or/0"); +norm!(spec_normalization_success_prelude_Bool_or_1, "prelude/Bool/or/1"); +norm!(spec_normalization_success_prelude_Bool_show_0, "prelude/Bool/show/0"); +norm!(spec_normalization_success_prelude_Bool_show_1, "prelude/Bool/show/1"); +// norm!(spec_normalization_success_prelude_Double_show_0, "prelude/Double/show/0"); +// norm!(spec_normalization_success_prelude_Double_show_1, "prelude/Double/show/1"); +// norm!(spec_normalization_success_prelude_Integer_show_0, "prelude/Integer/show/0"); +// norm!(spec_normalization_success_prelude_Integer_show_1, "prelude/Integer/show/1"); +// norm!(spec_normalization_success_prelude_Integer_toDouble_0, "prelude/Integer/toDouble/0"); +// norm!(spec_normalization_success_prelude_Integer_toDouble_1, "prelude/Integer/toDouble/1"); +norm!(spec_normalization_success_prelude_List_all_0, "prelude/List/all/0"); +norm!(spec_normalization_success_prelude_List_all_1, "prelude/List/all/1"); +norm!(spec_normalization_success_prelude_List_any_0, "prelude/List/any/0"); +norm!(spec_normalization_success_prelude_List_any_1, "prelude/List/any/1"); +norm!(spec_normalization_success_prelude_List_build_0, "prelude/List/build/0"); +norm!(spec_normalization_success_prelude_List_build_1, "prelude/List/build/1"); +norm!(spec_normalization_success_prelude_List_concat_0, "prelude/List/concat/0"); +norm!(spec_normalization_success_prelude_List_concat_1, "prelude/List/concat/1"); +norm!(spec_normalization_success_prelude_List_concatMap_0, "prelude/List/concatMap/0"); +norm!(spec_normalization_success_prelude_List_concatMap_1, "prelude/List/concatMap/1"); +norm!(spec_normalization_success_prelude_List_filter_0, "prelude/List/filter/0"); +norm!(spec_normalization_success_prelude_List_filter_1, "prelude/List/filter/1"); +norm!(spec_normalization_success_prelude_List_fold_0, "prelude/List/fold/0"); +norm!(spec_normalization_success_prelude_List_fold_1, "prelude/List/fold/1"); +norm!(spec_normalization_success_prelude_List_fold_2, "prelude/List/fold/2"); +// norm!(spec_normalization_success_prelude_List_generate_0, "prelude/List/generate/0"); +// norm!(spec_normalization_success_prelude_List_generate_1, "prelude/List/generate/1"); +norm!(spec_normalization_success_prelude_List_head_0, "prelude/List/head/0"); +norm!(spec_normalization_success_prelude_List_head_1, "prelude/List/head/1"); +// norm!(spec_normalization_success_prelude_List_indexed_0, "prelude/List/indexed/0"); +// norm!(spec_normalization_success_prelude_List_indexed_1, "prelude/List/indexed/1"); +// norm!(spec_normalization_success_prelude_List_iterate_0, "prelude/List/iterate/0"); +// norm!(spec_normalization_success_prelude_List_iterate_1, "prelude/List/iterate/1"); +norm!(spec_normalization_success_prelude_List_last_0, "prelude/List/last/0"); +norm!(spec_normalization_success_prelude_List_last_1, "prelude/List/last/1"); +norm!(spec_normalization_success_prelude_List_length_0, "prelude/List/length/0"); +norm!(spec_normalization_success_prelude_List_length_1, "prelude/List/length/1"); +norm!(spec_normalization_success_prelude_List_map_0, "prelude/List/map/0"); +norm!(spec_normalization_success_prelude_List_map_1, "prelude/List/map/1"); +norm!(spec_normalization_success_prelude_List_null_0, "prelude/List/null/0"); +norm!(spec_normalization_success_prelude_List_null_1, "prelude/List/null/1"); +// norm!(spec_normalization_success_prelude_List_replicate_0, "prelude/List/replicate/0"); +// norm!(spec_normalization_success_prelude_List_replicate_1, "prelude/List/replicate/1"); +norm!(spec_normalization_success_prelude_List_reverse_0, "prelude/List/reverse/0"); +norm!(spec_normalization_success_prelude_List_reverse_1, "prelude/List/reverse/1"); +norm!(spec_normalization_success_prelude_List_shifted_0, "prelude/List/shifted/0"); +norm!(spec_normalization_success_prelude_List_shifted_1, "prelude/List/shifted/1"); +norm!(spec_normalization_success_prelude_List_unzip_0, "prelude/List/unzip/0"); +norm!(spec_normalization_success_prelude_List_unzip_1, "prelude/List/unzip/1"); +// norm!(spec_normalization_success_prelude_Natural_build_0, "prelude/Natural/build/0"); +// norm!(spec_normalization_success_prelude_Natural_build_1, "prelude/Natural/build/1"); +// norm!(spec_normalization_success_prelude_Natural_enumerate_0, "prelude/Natural/enumerate/0"); +// norm!(spec_normalization_success_prelude_Natural_enumerate_1, "prelude/Natural/enumerate/1"); +norm!(spec_normalization_success_prelude_Natural_even_0, "prelude/Natural/even/0"); +norm!(spec_normalization_success_prelude_Natural_even_1, "prelude/Natural/even/1"); +// norm!(spec_normalization_success_prelude_Natural_fold_0, "prelude/Natural/fold/0"); +// norm!(spec_normalization_success_prelude_Natural_fold_1, "prelude/Natural/fold/1"); +// norm!(spec_normalization_success_prelude_Natural_fold_2, "prelude/Natural/fold/2"); +norm!(spec_normalization_success_prelude_Natural_isZero_0, "prelude/Natural/isZero/0"); +norm!(spec_normalization_success_prelude_Natural_isZero_1, "prelude/Natural/isZero/1"); +norm!(spec_normalization_success_prelude_Natural_odd_0, "prelude/Natural/odd/0"); +norm!(spec_normalization_success_prelude_Natural_odd_1, "prelude/Natural/odd/1"); +norm!(spec_normalization_success_prelude_Natural_product_0, "prelude/Natural/product/0"); +norm!(spec_normalization_success_prelude_Natural_product_1, "prelude/Natural/product/1"); +norm!(spec_normalization_success_prelude_Natural_show_0, "prelude/Natural/show/0"); +norm!(spec_normalization_success_prelude_Natural_show_1, "prelude/Natural/show/1"); +norm!(spec_normalization_success_prelude_Natural_sum_0, "prelude/Natural/sum/0"); +norm!(spec_normalization_success_prelude_Natural_sum_1, "prelude/Natural/sum/1"); +// norm!(spec_normalization_success_prelude_Natural_toDouble_0, "prelude/Natural/toDouble/0"); +// norm!(spec_normalization_success_prelude_Natural_toDouble_1, "prelude/Natural/toDouble/1"); +norm!(spec_normalization_success_prelude_Natural_toInteger_0, "prelude/Natural/toInteger/0"); +norm!(spec_normalization_success_prelude_Natural_toInteger_1, "prelude/Natural/toInteger/1"); +norm!(spec_normalization_success_prelude_Optional_all_0, "prelude/Optional/all/0"); +norm!(spec_normalization_success_prelude_Optional_all_1, "prelude/Optional/all/1"); +norm!(spec_normalization_success_prelude_Optional_any_0, "prelude/Optional/any/0"); +norm!(spec_normalization_success_prelude_Optional_any_1, "prelude/Optional/any/1"); +norm!(spec_normalization_success_prelude_Optional_build_0, "prelude/Optional/build/0"); +norm!(spec_normalization_success_prelude_Optional_build_1, "prelude/Optional/build/1"); +norm!(spec_normalization_success_prelude_Optional_concat_0, "prelude/Optional/concat/0"); +norm!(spec_normalization_success_prelude_Optional_concat_1, "prelude/Optional/concat/1"); +norm!(spec_normalization_success_prelude_Optional_concat_2, "prelude/Optional/concat/2"); +norm!(spec_normalization_success_prelude_Optional_filter_0, "prelude/Optional/filter/0"); +norm!(spec_normalization_success_prelude_Optional_filter_1, "prelude/Optional/filter/1"); +norm!(spec_normalization_success_prelude_Optional_fold_0, "prelude/Optional/fold/0"); +norm!(spec_normalization_success_prelude_Optional_fold_1, "prelude/Optional/fold/1"); +norm!(spec_normalization_success_prelude_Optional_head_0, "prelude/Optional/head/0"); +norm!(spec_normalization_success_prelude_Optional_head_1, "prelude/Optional/head/1"); +norm!(spec_normalization_success_prelude_Optional_head_2, "prelude/Optional/head/2"); +norm!(spec_normalization_success_prelude_Optional_last_0, "prelude/Optional/last/0"); +norm!(spec_normalization_success_prelude_Optional_last_1, "prelude/Optional/last/1"); +norm!(spec_normalization_success_prelude_Optional_last_2, "prelude/Optional/last/2"); +norm!(spec_normalization_success_prelude_Optional_length_0, "prelude/Optional/length/0"); +norm!(spec_normalization_success_prelude_Optional_length_1, "prelude/Optional/length/1"); +norm!(spec_normalization_success_prelude_Optional_map_0, "prelude/Optional/map/0"); +norm!(spec_normalization_success_prelude_Optional_map_1, "prelude/Optional/map/1"); +norm!(spec_normalization_success_prelude_Optional_null_0, "prelude/Optional/null/0"); +norm!(spec_normalization_success_prelude_Optional_null_1, "prelude/Optional/null/1"); +norm!(spec_normalization_success_prelude_Optional_toList_0, "prelude/Optional/toList/0"); +norm!(spec_normalization_success_prelude_Optional_toList_1, "prelude/Optional/toList/1"); +norm!(spec_normalization_success_prelude_Optional_unzip_0, "prelude/Optional/unzip/0"); +norm!(spec_normalization_success_prelude_Optional_unzip_1, "prelude/Optional/unzip/1"); +norm!(spec_normalization_success_prelude_Text_concat_0, "prelude/Text/concat/0"); +norm!(spec_normalization_success_prelude_Text_concat_1, "prelude/Text/concat/1"); +// norm!(spec_normalization_success_prelude_Text_concatMap_0, "prelude/Text/concatMap/0"); +norm!(spec_normalization_success_prelude_Text_concatMap_1, "prelude/Text/concatMap/1"); +// norm!(spec_normalization_success_prelude_Text_concatMapSep_0, "prelude/Text/concatMapSep/0"); +// norm!(spec_normalization_success_prelude_Text_concatMapSep_1, "prelude/Text/concatMapSep/1"); +// norm!(spec_normalization_success_prelude_Text_concatSep_0, "prelude/Text/concatSep/0"); +// norm!(spec_normalization_success_prelude_Text_concatSep_1, "prelude/Text/concatSep/1"); +// norm!(spec_normalization_success_prelude_Text_show_0, "prelude/Text/show/0"); +// norm!(spec_normalization_success_prelude_Text_show_1, "prelude/Text/show/1"); + + + +// norm!(spec_normalization_success_remoteSystems, "remoteSystems"); +// norm!(spec_normalization_success_simple_doubleShow, "simple/doubleShow"); +// norm!(spec_normalization_success_simple_integerShow, "simple/integerShow"); +// norm!(spec_normalization_success_simple_integerToDouble, "simple/integerToDouble"); +// norm!(spec_normalization_success_simple_letlet, "simple/letlet"); +norm!(spec_normalization_success_simple_listBuild, "simple/listBuild"); +norm!(spec_normalization_success_simple_multiLine, "simple/multiLine"); +// norm!(spec_normalization_success_simple_naturalBuild, "simple/naturalBuild"); +norm!(spec_normalization_success_simple_naturalPlus, "simple/naturalPlus"); +norm!(spec_normalization_success_simple_naturalShow, "simple/naturalShow"); +norm!(spec_normalization_success_simple_naturalToInteger, "simple/naturalToInteger"); +norm!(spec_normalization_success_simple_optionalBuild, "simple/optionalBuild"); +norm!(spec_normalization_success_simple_optionalBuildFold, "simple/optionalBuildFold"); +norm!(spec_normalization_success_simple_optionalFold, "simple/optionalFold"); +// norm!(spec_normalization_success_simple_sortOperator, "simple/sortOperator"); +// norm!(spec_normalization_success_simplifications_and, "simplifications/and"); +// norm!(spec_normalization_success_simplifications_eq, "simplifications/eq"); +// norm!(spec_normalization_success_simplifications_ifThenElse, "simplifications/ifThenElse"); +// norm!(spec_normalization_success_simplifications_ne, "simplifications/ne"); +// norm!(spec_normalization_success_simplifications_or, "simplifications/or"); + + +norm!(spec_normalization_success_unit_Bool, "unit/Bool"); +norm!(spec_normalization_success_unit_Double, "unit/Double"); +norm!(spec_normalization_success_unit_DoubleLiteral, "unit/DoubleLiteral"); +norm!(spec_normalization_success_unit_DoubleShow, "unit/DoubleShow"); +// norm!(spec_normalization_success_unit_DoubleShowValue, "unit/DoubleShowValue"); +norm!(spec_normalization_success_unit_FunctionApplicationCapture, "unit/FunctionApplicationCapture"); +norm!(spec_normalization_success_unit_FunctionApplicationNoSubstitute, "unit/FunctionApplicationNoSubstitute"); +norm!(spec_normalization_success_unit_FunctionApplicationNormalizeArguments, "unit/FunctionApplicationNormalizeArguments"); +norm!(spec_normalization_success_unit_FunctionApplicationSubstitute, "unit/FunctionApplicationSubstitute"); +norm!(spec_normalization_success_unit_FunctionNormalizeArguments, "unit/FunctionNormalizeArguments"); +norm!(spec_normalization_success_unit_FunctionTypeNormalizeArguments, "unit/FunctionTypeNormalizeArguments"); +// norm!(spec_normalization_success_unit_IfAlternativesIdentical, "unit/IfAlternativesIdentical"); +norm!(spec_normalization_success_unit_IfFalse, "unit/IfFalse"); +norm!(spec_normalization_success_unit_IfNormalizePredicateAndBranches, "unit/IfNormalizePredicateAndBranches"); +// norm!(spec_normalization_success_unit_IfTrivial, "unit/IfTrivial"); +norm!(spec_normalization_success_unit_IfTrue, "unit/IfTrue"); +norm!(spec_normalization_success_unit_Integer, "unit/Integer"); +norm!(spec_normalization_success_unit_IntegerNegative, "unit/IntegerNegative"); +norm!(spec_normalization_success_unit_IntegerPositive, "unit/IntegerPositive"); +// norm!(spec_normalization_success_unit_IntegerShow_12, "unit/IntegerShow-12"); +// norm!(spec_normalization_success_unit_IntegerShow12, "unit/IntegerShow12"); +norm!(spec_normalization_success_unit_IntegerShow, "unit/IntegerShow"); +// norm!(spec_normalization_success_unit_IntegerToDouble_12, "unit/IntegerToDouble-12"); +// norm!(spec_normalization_success_unit_IntegerToDouble12, "unit/IntegerToDouble12"); +norm!(spec_normalization_success_unit_IntegerToDouble, "unit/IntegerToDouble"); +norm!(spec_normalization_success_unit_Kind, "unit/Kind"); +norm!(spec_normalization_success_unit_Let, "unit/Let"); +norm!(spec_normalization_success_unit_LetWithType, "unit/LetWithType"); +norm!(spec_normalization_success_unit_List, "unit/List"); +norm!(spec_normalization_success_unit_ListBuild, "unit/ListBuild"); +norm!(spec_normalization_success_unit_ListBuildFoldFusion, "unit/ListBuildFoldFusion"); +norm!(spec_normalization_success_unit_ListBuildImplementation, "unit/ListBuildImplementation"); +norm!(spec_normalization_success_unit_ListFold, "unit/ListFold"); +norm!(spec_normalization_success_unit_ListFoldEmpty, "unit/ListFoldEmpty"); +norm!(spec_normalization_success_unit_ListFoldOne, "unit/ListFoldOne"); +norm!(spec_normalization_success_unit_ListHead, "unit/ListHead"); +norm!(spec_normalization_success_unit_ListHeadEmpty, "unit/ListHeadEmpty"); +norm!(spec_normalization_success_unit_ListHeadOne, "unit/ListHeadOne"); +norm!(spec_normalization_success_unit_ListIndexed, "unit/ListIndexed"); +// norm!(spec_normalization_success_unit_ListIndexedEmpty, "unit/ListIndexedEmpty"); +// norm!(spec_normalization_success_unit_ListIndexedOne, "unit/ListIndexedOne"); +norm!(spec_normalization_success_unit_ListLast, "unit/ListLast"); +norm!(spec_normalization_success_unit_ListLastEmpty, "unit/ListLastEmpty"); +norm!(spec_normalization_success_unit_ListLastOne, "unit/ListLastOne"); +norm!(spec_normalization_success_unit_ListLength, "unit/ListLength"); +norm!(spec_normalization_success_unit_ListLengthEmpty, "unit/ListLengthEmpty"); +norm!(spec_normalization_success_unit_ListLengthOne, "unit/ListLengthOne"); +norm!(spec_normalization_success_unit_ListNormalizeElements, "unit/ListNormalizeElements"); +norm!(spec_normalization_success_unit_ListNormalizeTypeAnnotation, "unit/ListNormalizeTypeAnnotation"); +norm!(spec_normalization_success_unit_ListReverse, "unit/ListReverse"); +norm!(spec_normalization_success_unit_ListReverseEmpty, "unit/ListReverseEmpty"); +norm!(spec_normalization_success_unit_ListReverseTwo, "unit/ListReverseTwo"); +// norm!(spec_normalization_success_unit_Merge, "unit/Merge"); +norm!(spec_normalization_success_unit_MergeNormalizeArguments, "unit/MergeNormalizeArguments"); +// norm!(spec_normalization_success_unit_MergeWithType, "unit/MergeWithType"); +norm!(spec_normalization_success_unit_MergeWithTypeNormalizeArguments, "unit/MergeWithTypeNormalizeArguments"); +norm!(spec_normalization_success_unit_Natural, "unit/Natural"); +norm!(spec_normalization_success_unit_NaturalBuild, "unit/NaturalBuild"); +norm!(spec_normalization_success_unit_NaturalBuildFoldFusion, "unit/NaturalBuildFoldFusion"); +// norm!(spec_normalization_success_unit_NaturalBuildImplementation, "unit/NaturalBuildImplementation"); +norm!(spec_normalization_success_unit_NaturalEven, "unit/NaturalEven"); +norm!(spec_normalization_success_unit_NaturalEvenOne, "unit/NaturalEvenOne"); +norm!(spec_normalization_success_unit_NaturalEvenZero, "unit/NaturalEvenZero"); +norm!(spec_normalization_success_unit_NaturalFold, "unit/NaturalFold"); +// norm!(spec_normalization_success_unit_NaturalFoldOne, "unit/NaturalFoldOne"); +// norm!(spec_normalization_success_unit_NaturalFoldZero, "unit/NaturalFoldZero"); +norm!(spec_normalization_success_unit_NaturalIsZero, "unit/NaturalIsZero"); +norm!(spec_normalization_success_unit_NaturalIsZeroOne, "unit/NaturalIsZeroOne"); +norm!(spec_normalization_success_unit_NaturalIsZeroZero, "unit/NaturalIsZeroZero"); +norm!(spec_normalization_success_unit_NaturalLiteral, "unit/NaturalLiteral"); +norm!(spec_normalization_success_unit_NaturalOdd, "unit/NaturalOdd"); +norm!(spec_normalization_success_unit_NaturalOddOne, "unit/NaturalOddOne"); +norm!(spec_normalization_success_unit_NaturalOddZero, "unit/NaturalOddZero"); +norm!(spec_normalization_success_unit_NaturalShow, "unit/NaturalShow"); +norm!(spec_normalization_success_unit_NaturalShowOne, "unit/NaturalShowOne"); +norm!(spec_normalization_success_unit_NaturalToInteger, "unit/NaturalToInteger"); +norm!(spec_normalization_success_unit_NaturalToIntegerOne, "unit/NaturalToIntegerOne"); +norm!(spec_normalization_success_unit_None, "unit/None"); +norm!(spec_normalization_success_unit_NoneNatural, "unit/NoneNatural"); +// norm!(spec_normalization_success_unit_OperatorAndEquivalentArguments, "unit/OperatorAndEquivalentArguments"); +// norm!(spec_normalization_success_unit_OperatorAndLhsFalse, "unit/OperatorAndLhsFalse"); +// norm!(spec_normalization_success_unit_OperatorAndLhsTrue, "unit/OperatorAndLhsTrue"); +// norm!(spec_normalization_success_unit_OperatorAndNormalizeArguments, "unit/OperatorAndNormalizeArguments"); +// norm!(spec_normalization_success_unit_OperatorAndRhsFalse, "unit/OperatorAndRhsFalse"); +// norm!(spec_normalization_success_unit_OperatorAndRhsTrue, "unit/OperatorAndRhsTrue"); +// norm!(spec_normalization_success_unit_OperatorEqualEquivalentArguments, "unit/OperatorEqualEquivalentArguments"); +// norm!(spec_normalization_success_unit_OperatorEqualLhsTrue, "unit/OperatorEqualLhsTrue"); +// norm!(spec_normalization_success_unit_OperatorEqualNormalizeArguments, "unit/OperatorEqualNormalizeArguments"); +// norm!(spec_normalization_success_unit_OperatorEqualRhsTrue, "unit/OperatorEqualRhsTrue"); +// norm!(spec_normalization_success_unit_OperatorListConcatenateLhsEmpty, "unit/OperatorListConcatenateLhsEmpty"); +norm!(spec_normalization_success_unit_OperatorListConcatenateListList, "unit/OperatorListConcatenateListList"); +// norm!(spec_normalization_success_unit_OperatorListConcatenateNormalizeArguments, "unit/OperatorListConcatenateNormalizeArguments"); +// norm!(spec_normalization_success_unit_OperatorListConcatenateRhsEmpty, "unit/OperatorListConcatenateRhsEmpty"); +// norm!(spec_normalization_success_unit_OperatorNotEqualEquivalentArguments, "unit/OperatorNotEqualEquivalentArguments"); +// norm!(spec_normalization_success_unit_OperatorNotEqualLhsFalse, "unit/OperatorNotEqualLhsFalse"); +// norm!(spec_normalization_success_unit_OperatorNotEqualNormalizeArguments, "unit/OperatorNotEqualNormalizeArguments"); +// norm!(spec_normalization_success_unit_OperatorNotEqualRhsFalse, "unit/OperatorNotEqualRhsFalse"); +// norm!(spec_normalization_success_unit_OperatorOrEquivalentArguments, "unit/OperatorOrEquivalentArguments"); +// norm!(spec_normalization_success_unit_OperatorOrLhsFalse, "unit/OperatorOrLhsFalse"); +// norm!(spec_normalization_success_unit_OperatorOrLhsTrue, "unit/OperatorOrLhsTrue"); +// norm!(spec_normalization_success_unit_OperatorOrNormalizeArguments, "unit/OperatorOrNormalizeArguments"); +// norm!(spec_normalization_success_unit_OperatorOrRhsFalse, "unit/OperatorOrRhsFalse"); +// norm!(spec_normalization_success_unit_OperatorOrRhsTrue, "unit/OperatorOrRhsTrue"); +// norm!(spec_normalization_success_unit_OperatorPlusLhsZero, "unit/OperatorPlusLhsZero"); +// norm!(spec_normalization_success_unit_OperatorPlusNormalizeArguments, "unit/OperatorPlusNormalizeArguments"); +norm!(spec_normalization_success_unit_OperatorPlusOneAndOne, "unit/OperatorPlusOneAndOne"); +// norm!(spec_normalization_success_unit_OperatorPlusRhsZero, "unit/OperatorPlusRhsZero"); +// norm!(spec_normalization_success_unit_OperatorTextConcatenateLhsEmpty, "unit/OperatorTextConcatenateLhsEmpty"); +// norm!(spec_normalization_success_unit_OperatorTextConcatenateNormalizeArguments, "unit/OperatorTextConcatenateNormalizeArguments"); +// norm!(spec_normalization_success_unit_OperatorTextConcatenateRhsEmpty, "unit/OperatorTextConcatenateRhsEmpty"); +norm!(spec_normalization_success_unit_OperatorTextConcatenateTextText, "unit/OperatorTextConcatenateTextText"); +// norm!(spec_normalization_success_unit_OperatorTimesLhsOne, "unit/OperatorTimesLhsOne"); +// norm!(spec_normalization_success_unit_OperatorTimesLhsZero, "unit/OperatorTimesLhsZero"); +// norm!(spec_normalization_success_unit_OperatorTimesNormalizeArguments, "unit/OperatorTimesNormalizeArguments"); +// norm!(spec_normalization_success_unit_OperatorTimesRhsOne, "unit/OperatorTimesRhsOne"); +// norm!(spec_normalization_success_unit_OperatorTimesRhsZero, "unit/OperatorTimesRhsZero"); +norm!(spec_normalization_success_unit_OperatorTimesTwoAndTwo, "unit/OperatorTimesTwoAndTwo"); +norm!(spec_normalization_success_unit_Optional, "unit/Optional"); +norm!(spec_normalization_success_unit_OptionalBuild, "unit/OptionalBuild"); +norm!(spec_normalization_success_unit_OptionalBuildFoldFusion, "unit/OptionalBuildFoldFusion"); +norm!(spec_normalization_success_unit_OptionalBuildImplementation, "unit/OptionalBuildImplementation"); +norm!(spec_normalization_success_unit_OptionalFold, "unit/OptionalFold"); +norm!(spec_normalization_success_unit_OptionalFoldNone, "unit/OptionalFoldNone"); +norm!(spec_normalization_success_unit_OptionalFoldSome, "unit/OptionalFoldSome"); +norm!(spec_normalization_success_unit_Record, "unit/Record"); +norm!(spec_normalization_success_unit_RecordEmpty, "unit/RecordEmpty"); +// norm!(spec_normalization_success_unit_RecordProjection, "unit/RecordProjection"); +// norm!(spec_normalization_success_unit_RecordProjectionEmpty, "unit/RecordProjectionEmpty"); +norm!(spec_normalization_success_unit_RecordProjectionNormalizeArguments, "unit/RecordProjectionNormalizeArguments"); +norm!(spec_normalization_success_unit_RecordSelection, "unit/RecordSelection"); +norm!(spec_normalization_success_unit_RecordSelectionNormalizeArguments, "unit/RecordSelectionNormalizeArguments"); +norm!(spec_normalization_success_unit_RecordType, "unit/RecordType"); +norm!(spec_normalization_success_unit_RecordTypeEmpty, "unit/RecordTypeEmpty"); +// norm!(spec_normalization_success_unit_RecursiveRecordMergeCollision, "unit/RecursiveRecordMergeCollision"); +// norm!(spec_normalization_success_unit_RecursiveRecordMergeLhsEmpty, "unit/RecursiveRecordMergeLhsEmpty"); +// norm!(spec_normalization_success_unit_RecursiveRecordMergeNoCollision, "unit/RecursiveRecordMergeNoCollision"); +// norm!(spec_normalization_success_unit_RecursiveRecordMergeNormalizeArguments, "unit/RecursiveRecordMergeNormalizeArguments"); +// norm!(spec_normalization_success_unit_RecursiveRecordMergeRhsEmpty, "unit/RecursiveRecordMergeRhsEmpty"); +// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeCollision, "unit/RecursiveRecordTypeMergeCollision"); +// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeLhsEmpty, "unit/RecursiveRecordTypeMergeLhsEmpty"); +// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeNoCollision, "unit/RecursiveRecordTypeMergeNoCollision"); +// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeNormalizeArguments, "unit/RecursiveRecordTypeMergeNormalizeArguments"); +// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeRhsEmpty, "unit/RecursiveRecordTypeMergeRhsEmpty"); +// norm!(spec_normalization_success_unit_RightBiasedRecordMergeCollision, "unit/RightBiasedRecordMergeCollision"); +// norm!(spec_normalization_success_unit_RightBiasedRecordMergeLhsEmpty, "unit/RightBiasedRecordMergeLhsEmpty"); +// norm!(spec_normalization_success_unit_RightBiasedRecordMergeNoCollision, "unit/RightBiasedRecordMergeNoCollision"); +// norm!(spec_normalization_success_unit_RightBiasedRecordMergeNormalizeArguments, "unit/RightBiasedRecordMergeNormalizeArguments"); +// norm!(spec_normalization_success_unit_RightBiasedRecordMergeRhsEmpty, "unit/RightBiasedRecordMergeRhsEmpty"); +norm!(spec_normalization_success_unit_SomeNormalizeArguments, "unit/SomeNormalizeArguments"); +norm!(spec_normalization_success_unit_Sort, "unit/Sort"); +norm!(spec_normalization_success_unit_Text, "unit/Text"); +// norm!(spec_normalization_success_unit_TextInterpolate, "unit/TextInterpolate"); +norm!(spec_normalization_success_unit_TextLiteral, "unit/TextLiteral"); +norm!(spec_normalization_success_unit_TextNormalizeInterpolations, "unit/TextNormalizeInterpolations"); +norm!(spec_normalization_success_unit_TextShow, "unit/TextShow"); +// norm!(spec_normalization_success_unit_TextShowAllEscapes, "unit/TextShowAllEscapes"); +norm!(spec_normalization_success_unit_True, "unit/True"); +norm!(spec_normalization_success_unit_Type, "unit/Type"); +norm!(spec_normalization_success_unit_TypeAnnotation, "unit/TypeAnnotation"); +norm!(spec_normalization_success_unit_UnionNormalizeAlternatives, "unit/UnionNormalizeAlternatives"); +norm!(spec_normalization_success_unit_UnionNormalizeArguments, "unit/UnionNormalizeArguments"); +// norm!(spec_normalization_success_unit_UnionProjectConstructor, "unit/UnionProjectConstructor"); +norm!(spec_normalization_success_unit_UnionProjectConstructorNormalizeArguments, "unit/UnionProjectConstructorNormalizeArguments"); +norm!(spec_normalization_success_unit_UnionSortAlternatives, "unit/UnionSortAlternatives"); +norm!(spec_normalization_success_unit_UnionType, "unit/UnionType"); +norm!(spec_normalization_success_unit_UnionTypeEmpty, "unit/UnionTypeEmpty"); +norm!(spec_normalization_success_unit_UnionTypeNormalizeArguments, "unit/UnionTypeNormalizeArguments"); +norm!(spec_normalization_success_unit_Variable, "unit/Variable"); diff --git a/dhall/tests/parser.rs b/dhall/tests/parser.rs new file mode 100644 index 0000000..678c198 --- /dev/null +++ b/dhall/tests/parser.rs @@ -0,0 +1,70 @@ +#![feature(custom_inner_attributes)] +#![rustfmt::skip] +mod common; + +macro_rules! parser_success { + ($name:ident, $path:expr) => { + make_spec_test!(ParserSuccess, $name, $path); + }; +} +macro_rules! parser_failure { + ($name:ident, $path:expr) => { + make_spec_test!(ParserFailure, $name, $path); + }; +} + +parser_success!(spec_parser_success_annotations, "annotations"); +// parser_success!(spec_parser_success_asText, "asText"); +parser_success!(spec_parser_success_blockComment, "blockComment"); +parser_success!(spec_parser_success_builtins, "builtins"); +// parser_success!(spec_parser_success_collectionImportType, "collectionImportType"); +// parser_success!(spec_parser_success_double, "double"); +parser_success!(spec_parser_success_doubleQuotedString, "doubleQuotedString"); +// parser_success!(spec_parser_success_environmentVariables, "environmentVariables"); +// parser_success!(spec_parser_success_escapedDoubleQuotedString, "escapedDoubleQuotedString"); +parser_success!(spec_parser_success_escapedSingleQuotedString, "escapedSingleQuotedString"); +parser_success!(spec_parser_success_fields, "fields"); +parser_success!(spec_parser_success_forall, "forall"); +parser_success!(spec_parser_success_functionType, "functionType"); +parser_success!(spec_parser_success_identifier, "identifier"); +parser_success!(spec_parser_success_ifThenElse, "ifThenElse"); +// parser_success!(spec_parser_success_importAlt, "importAlt"); +parser_success!(spec_parser_success_interpolatedDoubleQuotedString, "interpolatedDoubleQuotedString"); +parser_success!(spec_parser_success_interpolatedSingleQuotedString, "interpolatedSingleQuotedString"); +parser_success!(spec_parser_success_label, "label"); +parser_success!(spec_parser_success_lambda, "lambda"); +// parser_success!(spec_parser_success_largeExpression, "largeExpression"); +parser_success!(spec_parser_success_let, "let"); +parser_success!(spec_parser_success_lineComment, "lineComment"); +parser_success!(spec_parser_success_list, "list"); +parser_success!(spec_parser_success_merge, "merge"); +parser_success!(spec_parser_success_multilet, "multilet"); +parser_success!(spec_parser_success_natural, "natural"); +parser_success!(spec_parser_success_nestedBlockComment, "nestedBlockComment"); +parser_success!(spec_parser_success_operators, "operators"); +// parser_success!(spec_parser_success_parenthesizeUsing, "parenthesizeUsing"); +// parser_success!(spec_parser_success_pathTermination, "pathTermination"); +// parser_success!(spec_parser_success_paths, "paths"); +// parser_success!(spec_parser_success_quotedLabel, "quotedLabel"); +// parser_success!(spec_parser_success_quotedPaths, "quotedPaths"); +parser_success!(spec_parser_success_record, "record"); +parser_success!(spec_parser_success_reservedPrefix, "reservedPrefix"); +parser_success!(spec_parser_success_singleQuotedString, "singleQuotedString"); +parser_success!(spec_parser_success_sort, "sort"); +parser_success!(spec_parser_success_template, "template"); +parser_success!(spec_parser_success_unicodeComment, "unicodeComment"); +parser_success!(spec_parser_success_unicodeDoubleQuotedString, "unicodeDoubleQuotedString"); +// parser_success!(spec_parser_success_unicodePaths, "unicodePaths"); +parser_success!(spec_parser_success_union, "union"); +// parser_success!(spec_parser_success_urls, "urls"); +parser_success!(spec_parser_success_whitespace, "whitespace"); +parser_success!(spec_parser_success_whitespaceBuffet, "whitespaceBuffet"); + +parser_failure!(spec_parser_failure_annotation, "annotation"); +// parser_failure!(spec_parser_failure_doubleBoundsNeg, "doubleBoundsNeg"); +// parser_failure!(spec_parser_failure_doubleBoundsPos, "doubleBoundsPos"); +parser_failure!(spec_parser_failure_importAccess, "importAccess"); +parser_failure!(spec_parser_failure_incompleteIf, "incompleteIf"); +parser_failure!(spec_parser_failure_mandatoryNewline, "mandatoryNewline"); +parser_failure!(spec_parser_failure_missingSpace, "missingSpace"); +// parser_failure!(spec_parser_failure_spaceAfterListAppend, "spaceAfterListAppend"); diff --git a/dhall/tests/tests.rs b/dhall/tests/tests.rs deleted file mode 100644 index f431341..0000000 --- a/dhall/tests/tests.rs +++ /dev/null @@ -1,582 +0,0 @@ -#![feature(custom_inner_attributes)] -#![rustfmt::skip] -mod macros; - -macro_rules! parser_success { - ($name:ident, $path:expr) => { - make_spec_test!(ParserSuccess, $name, $path); - }; -} -macro_rules! parser_failure { - ($name:ident, $path:expr) => { - make_spec_test!(ParserFailure, $name, $path); - }; -} -macro_rules! norm { - ($name:ident, $path:expr) => { - make_spec_test!(Normalization, $name, $path); - }; -} -macro_rules! tc_success { - ($name:ident, $path:expr) => { - make_spec_test!(TypecheckSuccess, $name, $path); - }; -} -macro_rules! tc_failure { - ($name:ident, $path:expr) => { - make_spec_test!(TypecheckFailure, $name, $path); - }; -} - -norm!(spec_normalization_success_haskell_tutorial_access_0, "haskell-tutorial/access/0"); -// norm!(spec_normalization_success_haskell_tutorial_access_1, "haskell-tutorial/access/1"); -// norm!(spec_normalization_success_haskell_tutorial_combineTypes_0, "haskell-tutorial/combineTypes/0"); -// norm!(spec_normalization_success_haskell_tutorial_combineTypes_1, "haskell-tutorial/combineTypes/1"); -// norm!(spec_normalization_success_haskell_tutorial_prefer_0, "haskell-tutorial/prefer/0"); -// norm!(spec_normalization_success_haskell_tutorial_projection_0, "haskell-tutorial/projection/0"); -// norm!(spec_normalization_success_multiline_escape, "multiline/escape"); -// norm!(spec_normalization_success_multiline_hangingIndent, "multiline/hangingIndent"); -// norm!(spec_normalization_success_multiline_interesting, "multiline/interesting"); -// norm!(spec_normalization_success_multiline_interiorIndent, "multiline/interiorIndent"); -// norm!(spec_normalization_success_multiline_interpolation, "multiline/interpolation"); -// norm!(spec_normalization_success_multiline_preserveComment, "multiline/preserveComment"); -// norm!(spec_normalization_success_multiline_singleLine, "multiline/singleLine"); -// norm!(spec_normalization_success_multiline_twoLines, "multiline/twoLines"); - - -norm!(spec_normalization_success_prelude_Bool_and_0, "prelude/Bool/and/0"); -norm!(spec_normalization_success_prelude_Bool_and_1, "prelude/Bool/and/1"); -norm!(spec_normalization_success_prelude_Bool_build_0, "prelude/Bool/build/0"); -norm!(spec_normalization_success_prelude_Bool_build_1, "prelude/Bool/build/1"); -norm!(spec_normalization_success_prelude_Bool_even_0, "prelude/Bool/even/0"); -norm!(spec_normalization_success_prelude_Bool_even_1, "prelude/Bool/even/1"); -norm!(spec_normalization_success_prelude_Bool_even_2, "prelude/Bool/even/2"); -norm!(spec_normalization_success_prelude_Bool_even_3, "prelude/Bool/even/3"); -norm!(spec_normalization_success_prelude_Bool_fold_0, "prelude/Bool/fold/0"); -norm!(spec_normalization_success_prelude_Bool_fold_1, "prelude/Bool/fold/1"); -norm!(spec_normalization_success_prelude_Bool_not_0, "prelude/Bool/not/0"); -norm!(spec_normalization_success_prelude_Bool_not_1, "prelude/Bool/not/1"); -norm!(spec_normalization_success_prelude_Bool_odd_0, "prelude/Bool/odd/0"); -norm!(spec_normalization_success_prelude_Bool_odd_1, "prelude/Bool/odd/1"); -norm!(spec_normalization_success_prelude_Bool_odd_2, "prelude/Bool/odd/2"); -norm!(spec_normalization_success_prelude_Bool_odd_3, "prelude/Bool/odd/3"); -norm!(spec_normalization_success_prelude_Bool_or_0, "prelude/Bool/or/0"); -norm!(spec_normalization_success_prelude_Bool_or_1, "prelude/Bool/or/1"); -norm!(spec_normalization_success_prelude_Bool_show_0, "prelude/Bool/show/0"); -norm!(spec_normalization_success_prelude_Bool_show_1, "prelude/Bool/show/1"); -// norm!(spec_normalization_success_prelude_Double_show_0, "prelude/Double/show/0"); -// norm!(spec_normalization_success_prelude_Double_show_1, "prelude/Double/show/1"); -// norm!(spec_normalization_success_prelude_Integer_show_0, "prelude/Integer/show/0"); -// norm!(spec_normalization_success_prelude_Integer_show_1, "prelude/Integer/show/1"); -// norm!(spec_normalization_success_prelude_Integer_toDouble_0, "prelude/Integer/toDouble/0"); -// norm!(spec_normalization_success_prelude_Integer_toDouble_1, "prelude/Integer/toDouble/1"); -norm!(spec_normalization_success_prelude_List_all_0, "prelude/List/all/0"); -norm!(spec_normalization_success_prelude_List_all_1, "prelude/List/all/1"); -norm!(spec_normalization_success_prelude_List_any_0, "prelude/List/any/0"); -norm!(spec_normalization_success_prelude_List_any_1, "prelude/List/any/1"); -norm!(spec_normalization_success_prelude_List_build_0, "prelude/List/build/0"); -norm!(spec_normalization_success_prelude_List_build_1, "prelude/List/build/1"); -norm!(spec_normalization_success_prelude_List_concat_0, "prelude/List/concat/0"); -norm!(spec_normalization_success_prelude_List_concat_1, "prelude/List/concat/1"); -norm!(spec_normalization_success_prelude_List_concatMap_0, "prelude/List/concatMap/0"); -norm!(spec_normalization_success_prelude_List_concatMap_1, "prelude/List/concatMap/1"); -norm!(spec_normalization_success_prelude_List_filter_0, "prelude/List/filter/0"); -norm!(spec_normalization_success_prelude_List_filter_1, "prelude/List/filter/1"); -norm!(spec_normalization_success_prelude_List_fold_0, "prelude/List/fold/0"); -norm!(spec_normalization_success_prelude_List_fold_1, "prelude/List/fold/1"); -norm!(spec_normalization_success_prelude_List_fold_2, "prelude/List/fold/2"); -// norm!(spec_normalization_success_prelude_List_generate_0, "prelude/List/generate/0"); -// norm!(spec_normalization_success_prelude_List_generate_1, "prelude/List/generate/1"); -norm!(spec_normalization_success_prelude_List_head_0, "prelude/List/head/0"); -norm!(spec_normalization_success_prelude_List_head_1, "prelude/List/head/1"); -// norm!(spec_normalization_success_prelude_List_indexed_0, "prelude/List/indexed/0"); -// norm!(spec_normalization_success_prelude_List_indexed_1, "prelude/List/indexed/1"); -// norm!(spec_normalization_success_prelude_List_iterate_0, "prelude/List/iterate/0"); -// norm!(spec_normalization_success_prelude_List_iterate_1, "prelude/List/iterate/1"); -norm!(spec_normalization_success_prelude_List_last_0, "prelude/List/last/0"); -norm!(spec_normalization_success_prelude_List_last_1, "prelude/List/last/1"); -norm!(spec_normalization_success_prelude_List_length_0, "prelude/List/length/0"); -norm!(spec_normalization_success_prelude_List_length_1, "prelude/List/length/1"); -norm!(spec_normalization_success_prelude_List_map_0, "prelude/List/map/0"); -norm!(spec_normalization_success_prelude_List_map_1, "prelude/List/map/1"); -norm!(spec_normalization_success_prelude_List_null_0, "prelude/List/null/0"); -norm!(spec_normalization_success_prelude_List_null_1, "prelude/List/null/1"); -// norm!(spec_normalization_success_prelude_List_replicate_0, "prelude/List/replicate/0"); -// norm!(spec_normalization_success_prelude_List_replicate_1, "prelude/List/replicate/1"); -norm!(spec_normalization_success_prelude_List_reverse_0, "prelude/List/reverse/0"); -norm!(spec_normalization_success_prelude_List_reverse_1, "prelude/List/reverse/1"); -norm!(spec_normalization_success_prelude_List_shifted_0, "prelude/List/shifted/0"); -norm!(spec_normalization_success_prelude_List_shifted_1, "prelude/List/shifted/1"); -norm!(spec_normalization_success_prelude_List_unzip_0, "prelude/List/unzip/0"); -norm!(spec_normalization_success_prelude_List_unzip_1, "prelude/List/unzip/1"); -// norm!(spec_normalization_success_prelude_Natural_build_0, "prelude/Natural/build/0"); -// norm!(spec_normalization_success_prelude_Natural_build_1, "prelude/Natural/build/1"); -// norm!(spec_normalization_success_prelude_Natural_enumerate_0, "prelude/Natural/enumerate/0"); -// norm!(spec_normalization_success_prelude_Natural_enumerate_1, "prelude/Natural/enumerate/1"); -norm!(spec_normalization_success_prelude_Natural_even_0, "prelude/Natural/even/0"); -norm!(spec_normalization_success_prelude_Natural_even_1, "prelude/Natural/even/1"); -// norm!(spec_normalization_success_prelude_Natural_fold_0, "prelude/Natural/fold/0"); -// norm!(spec_normalization_success_prelude_Natural_fold_1, "prelude/Natural/fold/1"); -// norm!(spec_normalization_success_prelude_Natural_fold_2, "prelude/Natural/fold/2"); -norm!(spec_normalization_success_prelude_Natural_isZero_0, "prelude/Natural/isZero/0"); -norm!(spec_normalization_success_prelude_Natural_isZero_1, "prelude/Natural/isZero/1"); -norm!(spec_normalization_success_prelude_Natural_odd_0, "prelude/Natural/odd/0"); -norm!(spec_normalization_success_prelude_Natural_odd_1, "prelude/Natural/odd/1"); -norm!(spec_normalization_success_prelude_Natural_product_0, "prelude/Natural/product/0"); -norm!(spec_normalization_success_prelude_Natural_product_1, "prelude/Natural/product/1"); -norm!(spec_normalization_success_prelude_Natural_show_0, "prelude/Natural/show/0"); -norm!(spec_normalization_success_prelude_Natural_show_1, "prelude/Natural/show/1"); -norm!(spec_normalization_success_prelude_Natural_sum_0, "prelude/Natural/sum/0"); -norm!(spec_normalization_success_prelude_Natural_sum_1, "prelude/Natural/sum/1"); -// norm!(spec_normalization_success_prelude_Natural_toDouble_0, "prelude/Natural/toDouble/0"); -// norm!(spec_normalization_success_prelude_Natural_toDouble_1, "prelude/Natural/toDouble/1"); -norm!(spec_normalization_success_prelude_Natural_toInteger_0, "prelude/Natural/toInteger/0"); -norm!(spec_normalization_success_prelude_Natural_toInteger_1, "prelude/Natural/toInteger/1"); -norm!(spec_normalization_success_prelude_Optional_all_0, "prelude/Optional/all/0"); -norm!(spec_normalization_success_prelude_Optional_all_1, "prelude/Optional/all/1"); -norm!(spec_normalization_success_prelude_Optional_any_0, "prelude/Optional/any/0"); -norm!(spec_normalization_success_prelude_Optional_any_1, "prelude/Optional/any/1"); -norm!(spec_normalization_success_prelude_Optional_build_0, "prelude/Optional/build/0"); -norm!(spec_normalization_success_prelude_Optional_build_1, "prelude/Optional/build/1"); -norm!(spec_normalization_success_prelude_Optional_concat_0, "prelude/Optional/concat/0"); -norm!(spec_normalization_success_prelude_Optional_concat_1, "prelude/Optional/concat/1"); -norm!(spec_normalization_success_prelude_Optional_concat_2, "prelude/Optional/concat/2"); -norm!(spec_normalization_success_prelude_Optional_filter_0, "prelude/Optional/filter/0"); -norm!(spec_normalization_success_prelude_Optional_filter_1, "prelude/Optional/filter/1"); -norm!(spec_normalization_success_prelude_Optional_fold_0, "prelude/Optional/fold/0"); -norm!(spec_normalization_success_prelude_Optional_fold_1, "prelude/Optional/fold/1"); -norm!(spec_normalization_success_prelude_Optional_head_0, "prelude/Optional/head/0"); -norm!(spec_normalization_success_prelude_Optional_head_1, "prelude/Optional/head/1"); -norm!(spec_normalization_success_prelude_Optional_head_2, "prelude/Optional/head/2"); -norm!(spec_normalization_success_prelude_Optional_last_0, "prelude/Optional/last/0"); -norm!(spec_normalization_success_prelude_Optional_last_1, "prelude/Optional/last/1"); -norm!(spec_normalization_success_prelude_Optional_last_2, "prelude/Optional/last/2"); -norm!(spec_normalization_success_prelude_Optional_length_0, "prelude/Optional/length/0"); -norm!(spec_normalization_success_prelude_Optional_length_1, "prelude/Optional/length/1"); -norm!(spec_normalization_success_prelude_Optional_map_0, "prelude/Optional/map/0"); -norm!(spec_normalization_success_prelude_Optional_map_1, "prelude/Optional/map/1"); -norm!(spec_normalization_success_prelude_Optional_null_0, "prelude/Optional/null/0"); -norm!(spec_normalization_success_prelude_Optional_null_1, "prelude/Optional/null/1"); -norm!(spec_normalization_success_prelude_Optional_toList_0, "prelude/Optional/toList/0"); -norm!(spec_normalization_success_prelude_Optional_toList_1, "prelude/Optional/toList/1"); -norm!(spec_normalization_success_prelude_Optional_unzip_0, "prelude/Optional/unzip/0"); -norm!(spec_normalization_success_prelude_Optional_unzip_1, "prelude/Optional/unzip/1"); -norm!(spec_normalization_success_prelude_Text_concat_0, "prelude/Text/concat/0"); -norm!(spec_normalization_success_prelude_Text_concat_1, "prelude/Text/concat/1"); -// norm!(spec_normalization_success_prelude_Text_concatMap_0, "prelude/Text/concatMap/0"); -norm!(spec_normalization_success_prelude_Text_concatMap_1, "prelude/Text/concatMap/1"); -// norm!(spec_normalization_success_prelude_Text_concatMapSep_0, "prelude/Text/concatMapSep/0"); -// norm!(spec_normalization_success_prelude_Text_concatMapSep_1, "prelude/Text/concatMapSep/1"); -// norm!(spec_normalization_success_prelude_Text_concatSep_0, "prelude/Text/concatSep/0"); -// norm!(spec_normalization_success_prelude_Text_concatSep_1, "prelude/Text/concatSep/1"); -// norm!(spec_normalization_success_prelude_Text_show_0, "prelude/Text/show/0"); -// norm!(spec_normalization_success_prelude_Text_show_1, "prelude/Text/show/1"); - - - -// norm!(spec_normalization_success_remoteSystems, "remoteSystems"); -// norm!(spec_normalization_success_simple_doubleShow, "simple/doubleShow"); -// norm!(spec_normalization_success_simple_integerShow, "simple/integerShow"); -// norm!(spec_normalization_success_simple_integerToDouble, "simple/integerToDouble"); -// norm!(spec_normalization_success_simple_letlet, "simple/letlet"); -norm!(spec_normalization_success_simple_listBuild, "simple/listBuild"); -norm!(spec_normalization_success_simple_multiLine, "simple/multiLine"); -// norm!(spec_normalization_success_simple_naturalBuild, "simple/naturalBuild"); -norm!(spec_normalization_success_simple_naturalPlus, "simple/naturalPlus"); -norm!(spec_normalization_success_simple_naturalShow, "simple/naturalShow"); -norm!(spec_normalization_success_simple_naturalToInteger, "simple/naturalToInteger"); -norm!(spec_normalization_success_simple_optionalBuild, "simple/optionalBuild"); -norm!(spec_normalization_success_simple_optionalBuildFold, "simple/optionalBuildFold"); -norm!(spec_normalization_success_simple_optionalFold, "simple/optionalFold"); -// norm!(spec_normalization_success_simple_sortOperator, "simple/sortOperator"); -// norm!(spec_normalization_success_simplifications_and, "simplifications/and"); -// norm!(spec_normalization_success_simplifications_eq, "simplifications/eq"); -// norm!(spec_normalization_success_simplifications_ifThenElse, "simplifications/ifThenElse"); -// norm!(spec_normalization_success_simplifications_ne, "simplifications/ne"); -// norm!(spec_normalization_success_simplifications_or, "simplifications/or"); - - -norm!(spec_normalization_success_unit_Bool, "unit/Bool"); -norm!(spec_normalization_success_unit_Double, "unit/Double"); -norm!(spec_normalization_success_unit_DoubleLiteral, "unit/DoubleLiteral"); -norm!(spec_normalization_success_unit_DoubleShow, "unit/DoubleShow"); -// norm!(spec_normalization_success_unit_DoubleShowValue, "unit/DoubleShowValue"); -norm!(spec_normalization_success_unit_FunctionApplicationCapture, "unit/FunctionApplicationCapture"); -norm!(spec_normalization_success_unit_FunctionApplicationNoSubstitute, "unit/FunctionApplicationNoSubstitute"); -norm!(spec_normalization_success_unit_FunctionApplicationNormalizeArguments, "unit/FunctionApplicationNormalizeArguments"); -norm!(spec_normalization_success_unit_FunctionApplicationSubstitute, "unit/FunctionApplicationSubstitute"); -norm!(spec_normalization_success_unit_FunctionNormalizeArguments, "unit/FunctionNormalizeArguments"); -norm!(spec_normalization_success_unit_FunctionTypeNormalizeArguments, "unit/FunctionTypeNormalizeArguments"); -// norm!(spec_normalization_success_unit_IfAlternativesIdentical, "unit/IfAlternativesIdentical"); -norm!(spec_normalization_success_unit_IfFalse, "unit/IfFalse"); -norm!(spec_normalization_success_unit_IfNormalizePredicateAndBranches, "unit/IfNormalizePredicateAndBranches"); -// norm!(spec_normalization_success_unit_IfTrivial, "unit/IfTrivial"); -norm!(spec_normalization_success_unit_IfTrue, "unit/IfTrue"); -norm!(spec_normalization_success_unit_Integer, "unit/Integer"); -norm!(spec_normalization_success_unit_IntegerNegative, "unit/IntegerNegative"); -norm!(spec_normalization_success_unit_IntegerPositive, "unit/IntegerPositive"); -// norm!(spec_normalization_success_unit_IntegerShow_12, "unit/IntegerShow-12"); -// norm!(spec_normalization_success_unit_IntegerShow12, "unit/IntegerShow12"); -norm!(spec_normalization_success_unit_IntegerShow, "unit/IntegerShow"); -// norm!(spec_normalization_success_unit_IntegerToDouble_12, "unit/IntegerToDouble-12"); -// norm!(spec_normalization_success_unit_IntegerToDouble12, "unit/IntegerToDouble12"); -norm!(spec_normalization_success_unit_IntegerToDouble, "unit/IntegerToDouble"); -norm!(spec_normalization_success_unit_Kind, "unit/Kind"); -norm!(spec_normalization_success_unit_Let, "unit/Let"); -norm!(spec_normalization_success_unit_LetWithType, "unit/LetWithType"); -norm!(spec_normalization_success_unit_List, "unit/List"); -norm!(spec_normalization_success_unit_ListBuild, "unit/ListBuild"); -norm!(spec_normalization_success_unit_ListBuildFoldFusion, "unit/ListBuildFoldFusion"); -norm!(spec_normalization_success_unit_ListBuildImplementation, "unit/ListBuildImplementation"); -norm!(spec_normalization_success_unit_ListFold, "unit/ListFold"); -norm!(spec_normalization_success_unit_ListFoldEmpty, "unit/ListFoldEmpty"); -norm!(spec_normalization_success_unit_ListFoldOne, "unit/ListFoldOne"); -norm!(spec_normalization_success_unit_ListHead, "unit/ListHead"); -norm!(spec_normalization_success_unit_ListHeadEmpty, "unit/ListHeadEmpty"); -norm!(spec_normalization_success_unit_ListHeadOne, "unit/ListHeadOne"); -norm!(spec_normalization_success_unit_ListIndexed, "unit/ListIndexed"); -// norm!(spec_normalization_success_unit_ListIndexedEmpty, "unit/ListIndexedEmpty"); -// norm!(spec_normalization_success_unit_ListIndexedOne, "unit/ListIndexedOne"); -norm!(spec_normalization_success_unit_ListLast, "unit/ListLast"); -norm!(spec_normalization_success_unit_ListLastEmpty, "unit/ListLastEmpty"); -norm!(spec_normalization_success_unit_ListLastOne, "unit/ListLastOne"); -norm!(spec_normalization_success_unit_ListLength, "unit/ListLength"); -norm!(spec_normalization_success_unit_ListLengthEmpty, "unit/ListLengthEmpty"); -norm!(spec_normalization_success_unit_ListLengthOne, "unit/ListLengthOne"); -norm!(spec_normalization_success_unit_ListNormalizeElements, "unit/ListNormalizeElements"); -norm!(spec_normalization_success_unit_ListNormalizeTypeAnnotation, "unit/ListNormalizeTypeAnnotation"); -norm!(spec_normalization_success_unit_ListReverse, "unit/ListReverse"); -norm!(spec_normalization_success_unit_ListReverseEmpty, "unit/ListReverseEmpty"); -norm!(spec_normalization_success_unit_ListReverseTwo, "unit/ListReverseTwo"); -// norm!(spec_normalization_success_unit_Merge, "unit/Merge"); -norm!(spec_normalization_success_unit_MergeNormalizeArguments, "unit/MergeNormalizeArguments"); -// norm!(spec_normalization_success_unit_MergeWithType, "unit/MergeWithType"); -norm!(spec_normalization_success_unit_MergeWithTypeNormalizeArguments, "unit/MergeWithTypeNormalizeArguments"); -norm!(spec_normalization_success_unit_Natural, "unit/Natural"); -norm!(spec_normalization_success_unit_NaturalBuild, "unit/NaturalBuild"); -norm!(spec_normalization_success_unit_NaturalBuildFoldFusion, "unit/NaturalBuildFoldFusion"); -// norm!(spec_normalization_success_unit_NaturalBuildImplementation, "unit/NaturalBuildImplementation"); -norm!(spec_normalization_success_unit_NaturalEven, "unit/NaturalEven"); -norm!(spec_normalization_success_unit_NaturalEvenOne, "unit/NaturalEvenOne"); -norm!(spec_normalization_success_unit_NaturalEvenZero, "unit/NaturalEvenZero"); -norm!(spec_normalization_success_unit_NaturalFold, "unit/NaturalFold"); -// norm!(spec_normalization_success_unit_NaturalFoldOne, "unit/NaturalFoldOne"); -// norm!(spec_normalization_success_unit_NaturalFoldZero, "unit/NaturalFoldZero"); -norm!(spec_normalization_success_unit_NaturalIsZero, "unit/NaturalIsZero"); -norm!(spec_normalization_success_unit_NaturalIsZeroOne, "unit/NaturalIsZeroOne"); -norm!(spec_normalization_success_unit_NaturalIsZeroZero, "unit/NaturalIsZeroZero"); -norm!(spec_normalization_success_unit_NaturalLiteral, "unit/NaturalLiteral"); -norm!(spec_normalization_success_unit_NaturalOdd, "unit/NaturalOdd"); -norm!(spec_normalization_success_unit_NaturalOddOne, "unit/NaturalOddOne"); -norm!(spec_normalization_success_unit_NaturalOddZero, "unit/NaturalOddZero"); -norm!(spec_normalization_success_unit_NaturalShow, "unit/NaturalShow"); -norm!(spec_normalization_success_unit_NaturalShowOne, "unit/NaturalShowOne"); -norm!(spec_normalization_success_unit_NaturalToInteger, "unit/NaturalToInteger"); -norm!(spec_normalization_success_unit_NaturalToIntegerOne, "unit/NaturalToIntegerOne"); -norm!(spec_normalization_success_unit_None, "unit/None"); -norm!(spec_normalization_success_unit_NoneNatural, "unit/NoneNatural"); -// norm!(spec_normalization_success_unit_OperatorAndEquivalentArguments, "unit/OperatorAndEquivalentArguments"); -// norm!(spec_normalization_success_unit_OperatorAndLhsFalse, "unit/OperatorAndLhsFalse"); -// norm!(spec_normalization_success_unit_OperatorAndLhsTrue, "unit/OperatorAndLhsTrue"); -// norm!(spec_normalization_success_unit_OperatorAndNormalizeArguments, "unit/OperatorAndNormalizeArguments"); -// norm!(spec_normalization_success_unit_OperatorAndRhsFalse, "unit/OperatorAndRhsFalse"); -// norm!(spec_normalization_success_unit_OperatorAndRhsTrue, "unit/OperatorAndRhsTrue"); -// norm!(spec_normalization_success_unit_OperatorEqualEquivalentArguments, "unit/OperatorEqualEquivalentArguments"); -// norm!(spec_normalization_success_unit_OperatorEqualLhsTrue, "unit/OperatorEqualLhsTrue"); -// norm!(spec_normalization_success_unit_OperatorEqualNormalizeArguments, "unit/OperatorEqualNormalizeArguments"); -// norm!(spec_normalization_success_unit_OperatorEqualRhsTrue, "unit/OperatorEqualRhsTrue"); -// norm!(spec_normalization_success_unit_OperatorListConcatenateLhsEmpty, "unit/OperatorListConcatenateLhsEmpty"); -norm!(spec_normalization_success_unit_OperatorListConcatenateListList, "unit/OperatorListConcatenateListList"); -// norm!(spec_normalization_success_unit_OperatorListConcatenateNormalizeArguments, "unit/OperatorListConcatenateNormalizeArguments"); -// norm!(spec_normalization_success_unit_OperatorListConcatenateRhsEmpty, "unit/OperatorListConcatenateRhsEmpty"); -// norm!(spec_normalization_success_unit_OperatorNotEqualEquivalentArguments, "unit/OperatorNotEqualEquivalentArguments"); -// norm!(spec_normalization_success_unit_OperatorNotEqualLhsFalse, "unit/OperatorNotEqualLhsFalse"); -// norm!(spec_normalization_success_unit_OperatorNotEqualNormalizeArguments, "unit/OperatorNotEqualNormalizeArguments"); -// norm!(spec_normalization_success_unit_OperatorNotEqualRhsFalse, "unit/OperatorNotEqualRhsFalse"); -// norm!(spec_normalization_success_unit_OperatorOrEquivalentArguments, "unit/OperatorOrEquivalentArguments"); -// norm!(spec_normalization_success_unit_OperatorOrLhsFalse, "unit/OperatorOrLhsFalse"); -// norm!(spec_normalization_success_unit_OperatorOrLhsTrue, "unit/OperatorOrLhsTrue"); -// norm!(spec_normalization_success_unit_OperatorOrNormalizeArguments, "unit/OperatorOrNormalizeArguments"); -// norm!(spec_normalization_success_unit_OperatorOrRhsFalse, "unit/OperatorOrRhsFalse"); -// norm!(spec_normalization_success_unit_OperatorOrRhsTrue, "unit/OperatorOrRhsTrue"); -// norm!(spec_normalization_success_unit_OperatorPlusLhsZero, "unit/OperatorPlusLhsZero"); -// norm!(spec_normalization_success_unit_OperatorPlusNormalizeArguments, "unit/OperatorPlusNormalizeArguments"); -norm!(spec_normalization_success_unit_OperatorPlusOneAndOne, "unit/OperatorPlusOneAndOne"); -// norm!(spec_normalization_success_unit_OperatorPlusRhsZero, "unit/OperatorPlusRhsZero"); -// norm!(spec_normalization_success_unit_OperatorTextConcatenateLhsEmpty, "unit/OperatorTextConcatenateLhsEmpty"); -// norm!(spec_normalization_success_unit_OperatorTextConcatenateNormalizeArguments, "unit/OperatorTextConcatenateNormalizeArguments"); -// norm!(spec_normalization_success_unit_OperatorTextConcatenateRhsEmpty, "unit/OperatorTextConcatenateRhsEmpty"); -norm!(spec_normalization_success_unit_OperatorTextConcatenateTextText, "unit/OperatorTextConcatenateTextText"); -// norm!(spec_normalization_success_unit_OperatorTimesLhsOne, "unit/OperatorTimesLhsOne"); -// norm!(spec_normalization_success_unit_OperatorTimesLhsZero, "unit/OperatorTimesLhsZero"); -// norm!(spec_normalization_success_unit_OperatorTimesNormalizeArguments, "unit/OperatorTimesNormalizeArguments"); -// norm!(spec_normalization_success_unit_OperatorTimesRhsOne, "unit/OperatorTimesRhsOne"); -// norm!(spec_normalization_success_unit_OperatorTimesRhsZero, "unit/OperatorTimesRhsZero"); -norm!(spec_normalization_success_unit_OperatorTimesTwoAndTwo, "unit/OperatorTimesTwoAndTwo"); -norm!(spec_normalization_success_unit_Optional, "unit/Optional"); -norm!(spec_normalization_success_unit_OptionalBuild, "unit/OptionalBuild"); -norm!(spec_normalization_success_unit_OptionalBuildFoldFusion, "unit/OptionalBuildFoldFusion"); -norm!(spec_normalization_success_unit_OptionalBuildImplementation, "unit/OptionalBuildImplementation"); -norm!(spec_normalization_success_unit_OptionalFold, "unit/OptionalFold"); -norm!(spec_normalization_success_unit_OptionalFoldNone, "unit/OptionalFoldNone"); -norm!(spec_normalization_success_unit_OptionalFoldSome, "unit/OptionalFoldSome"); -norm!(spec_normalization_success_unit_Record, "unit/Record"); -norm!(spec_normalization_success_unit_RecordEmpty, "unit/RecordEmpty"); -// norm!(spec_normalization_success_unit_RecordProjection, "unit/RecordProjection"); -// norm!(spec_normalization_success_unit_RecordProjectionEmpty, "unit/RecordProjectionEmpty"); -norm!(spec_normalization_success_unit_RecordProjectionNormalizeArguments, "unit/RecordProjectionNormalizeArguments"); -norm!(spec_normalization_success_unit_RecordSelection, "unit/RecordSelection"); -norm!(spec_normalization_success_unit_RecordSelectionNormalizeArguments, "unit/RecordSelectionNormalizeArguments"); -norm!(spec_normalization_success_unit_RecordType, "unit/RecordType"); -norm!(spec_normalization_success_unit_RecordTypeEmpty, "unit/RecordTypeEmpty"); -// norm!(spec_normalization_success_unit_RecursiveRecordMergeCollision, "unit/RecursiveRecordMergeCollision"); -// norm!(spec_normalization_success_unit_RecursiveRecordMergeLhsEmpty, "unit/RecursiveRecordMergeLhsEmpty"); -// norm!(spec_normalization_success_unit_RecursiveRecordMergeNoCollision, "unit/RecursiveRecordMergeNoCollision"); -// norm!(spec_normalization_success_unit_RecursiveRecordMergeNormalizeArguments, "unit/RecursiveRecordMergeNormalizeArguments"); -// norm!(spec_normalization_success_unit_RecursiveRecordMergeRhsEmpty, "unit/RecursiveRecordMergeRhsEmpty"); -// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeCollision, "unit/RecursiveRecordTypeMergeCollision"); -// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeLhsEmpty, "unit/RecursiveRecordTypeMergeLhsEmpty"); -// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeNoCollision, "unit/RecursiveRecordTypeMergeNoCollision"); -// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeNormalizeArguments, "unit/RecursiveRecordTypeMergeNormalizeArguments"); -// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeRhsEmpty, "unit/RecursiveRecordTypeMergeRhsEmpty"); -// norm!(spec_normalization_success_unit_RightBiasedRecordMergeCollision, "unit/RightBiasedRecordMergeCollision"); -// norm!(spec_normalization_success_unit_RightBiasedRecordMergeLhsEmpty, "unit/RightBiasedRecordMergeLhsEmpty"); -// norm!(spec_normalization_success_unit_RightBiasedRecordMergeNoCollision, "unit/RightBiasedRecordMergeNoCollision"); -// norm!(spec_normalization_success_unit_RightBiasedRecordMergeNormalizeArguments, "unit/RightBiasedRecordMergeNormalizeArguments"); -// norm!(spec_normalization_success_unit_RightBiasedRecordMergeRhsEmpty, "unit/RightBiasedRecordMergeRhsEmpty"); -norm!(spec_normalization_success_unit_SomeNormalizeArguments, "unit/SomeNormalizeArguments"); -norm!(spec_normalization_success_unit_Sort, "unit/Sort"); -norm!(spec_normalization_success_unit_Text, "unit/Text"); -// norm!(spec_normalization_success_unit_TextInterpolate, "unit/TextInterpolate"); -norm!(spec_normalization_success_unit_TextLiteral, "unit/TextLiteral"); -norm!(spec_normalization_success_unit_TextNormalizeInterpolations, "unit/TextNormalizeInterpolations"); -norm!(spec_normalization_success_unit_TextShow, "unit/TextShow"); -// norm!(spec_normalization_success_unit_TextShowAllEscapes, "unit/TextShowAllEscapes"); -norm!(spec_normalization_success_unit_True, "unit/True"); -norm!(spec_normalization_success_unit_Type, "unit/Type"); -norm!(spec_normalization_success_unit_TypeAnnotation, "unit/TypeAnnotation"); -norm!(spec_normalization_success_unit_UnionNormalizeAlternatives, "unit/UnionNormalizeAlternatives"); -norm!(spec_normalization_success_unit_UnionNormalizeArguments, "unit/UnionNormalizeArguments"); -// norm!(spec_normalization_success_unit_UnionProjectConstructor, "unit/UnionProjectConstructor"); -norm!(spec_normalization_success_unit_UnionProjectConstructorNormalizeArguments, "unit/UnionProjectConstructorNormalizeArguments"); -norm!(spec_normalization_success_unit_UnionSortAlternatives, "unit/UnionSortAlternatives"); -norm!(spec_normalization_success_unit_UnionType, "unit/UnionType"); -norm!(spec_normalization_success_unit_UnionTypeEmpty, "unit/UnionTypeEmpty"); -norm!(spec_normalization_success_unit_UnionTypeNormalizeArguments, "unit/UnionTypeNormalizeArguments"); -norm!(spec_normalization_success_unit_Variable, "unit/Variable"); - - - -parser_success!(spec_parser_success_annotations, "annotations"); -// parser_success!(spec_parser_success_asText, "asText"); -parser_success!(spec_parser_success_blockComment, "blockComment"); -parser_success!(spec_parser_success_builtins, "builtins"); -// parser_success!(spec_parser_success_collectionImportType, "collectionImportType"); -// parser_success!(spec_parser_success_double, "double"); -parser_success!(spec_parser_success_doubleQuotedString, "doubleQuotedString"); -// parser_success!(spec_parser_success_environmentVariables, "environmentVariables"); -// parser_success!(spec_parser_success_escapedDoubleQuotedString, "escapedDoubleQuotedString"); -parser_success!(spec_parser_success_escapedSingleQuotedString, "escapedSingleQuotedString"); -parser_success!(spec_parser_success_fields, "fields"); -parser_success!(spec_parser_success_forall, "forall"); -parser_success!(spec_parser_success_functionType, "functionType"); -parser_success!(spec_parser_success_identifier, "identifier"); -parser_success!(spec_parser_success_ifThenElse, "ifThenElse"); -// parser_success!(spec_parser_success_importAlt, "importAlt"); -parser_success!(spec_parser_success_interpolatedDoubleQuotedString, "interpolatedDoubleQuotedString"); -parser_success!(spec_parser_success_interpolatedSingleQuotedString, "interpolatedSingleQuotedString"); -parser_success!(spec_parser_success_label, "label"); -parser_success!(spec_parser_success_lambda, "lambda"); -// parser_success!(spec_parser_success_largeExpression, "largeExpression"); -parser_success!(spec_parser_success_let, "let"); -parser_success!(spec_parser_success_lineComment, "lineComment"); -parser_success!(spec_parser_success_list, "list"); -parser_success!(spec_parser_success_merge, "merge"); -parser_success!(spec_parser_success_multilet, "multilet"); -parser_success!(spec_parser_success_natural, "natural"); -parser_success!(spec_parser_success_nestedBlockComment, "nestedBlockComment"); -parser_success!(spec_parser_success_operators, "operators"); -// parser_success!(spec_parser_success_parenthesizeUsing, "parenthesizeUsing"); -// parser_success!(spec_parser_success_pathTermination, "pathTermination"); -// parser_success!(spec_parser_success_paths, "paths"); -// parser_success!(spec_parser_success_quotedLabel, "quotedLabel"); -// parser_success!(spec_parser_success_quotedPaths, "quotedPaths"); -parser_success!(spec_parser_success_record, "record"); -parser_success!(spec_parser_success_reservedPrefix, "reservedPrefix"); -parser_success!(spec_parser_success_singleQuotedString, "singleQuotedString"); -parser_success!(spec_parser_success_sort, "sort"); -parser_success!(spec_parser_success_template, "template"); -parser_success!(spec_parser_success_unicodeComment, "unicodeComment"); -parser_success!(spec_parser_success_unicodeDoubleQuotedString, "unicodeDoubleQuotedString"); -// parser_success!(spec_parser_success_unicodePaths, "unicodePaths"); -parser_success!(spec_parser_success_union, "union"); -// parser_success!(spec_parser_success_urls, "urls"); -parser_success!(spec_parser_success_whitespace, "whitespace"); -parser_success!(spec_parser_success_whitespaceBuffet, "whitespaceBuffet"); - -parser_failure!(spec_parser_failure_annotation, "annotation"); -// parser_failure!(spec_parser_failure_doubleBoundsNeg, "doubleBoundsNeg"); -// parser_failure!(spec_parser_failure_doubleBoundsPos, "doubleBoundsPos"); -parser_failure!(spec_parser_failure_importAccess, "importAccess"); -parser_failure!(spec_parser_failure_incompleteIf, "incompleteIf"); -parser_failure!(spec_parser_failure_mandatoryNewline, "mandatoryNewline"); -parser_failure!(spec_parser_failure_missingSpace, "missingSpace"); -// parser_failure!(spec_parser_failure_spaceAfterListAppend, "spaceAfterListAppend"); - - -// tc_success!(spec_typecheck_success_accessEncodedType, "accessEncodedType"); -// tc_success!(spec_typecheck_success_accessType, "accessType"); -tc_success!(spec_typecheck_success_prelude_Bool_and_0, "prelude/Bool/and/0"); -tc_success!(spec_typecheck_success_prelude_Bool_and_1, "prelude/Bool/and/1"); -tc_success!(spec_typecheck_success_prelude_Bool_build_0, "prelude/Bool/build/0"); -tc_success!(spec_typecheck_success_prelude_Bool_build_1, "prelude/Bool/build/1"); -tc_success!(spec_typecheck_success_prelude_Bool_even_0, "prelude/Bool/even/0"); -tc_success!(spec_typecheck_success_prelude_Bool_even_1, "prelude/Bool/even/1"); -tc_success!(spec_typecheck_success_prelude_Bool_even_2, "prelude/Bool/even/2"); -tc_success!(spec_typecheck_success_prelude_Bool_even_3, "prelude/Bool/even/3"); -tc_success!(spec_typecheck_success_prelude_Bool_fold_0, "prelude/Bool/fold/0"); -tc_success!(spec_typecheck_success_prelude_Bool_fold_1, "prelude/Bool/fold/1"); -tc_success!(spec_typecheck_success_prelude_Bool_not_0, "prelude/Bool/not/0"); -tc_success!(spec_typecheck_success_prelude_Bool_not_1, "prelude/Bool/not/1"); -tc_success!(spec_typecheck_success_prelude_Bool_odd_0, "prelude/Bool/odd/0"); -tc_success!(spec_typecheck_success_prelude_Bool_odd_1, "prelude/Bool/odd/1"); -tc_success!(spec_typecheck_success_prelude_Bool_odd_2, "prelude/Bool/odd/2"); -tc_success!(spec_typecheck_success_prelude_Bool_odd_3, "prelude/Bool/odd/3"); -tc_success!(spec_typecheck_success_prelude_Bool_or_0, "prelude/Bool/or/0"); -tc_success!(spec_typecheck_success_prelude_Bool_or_1, "prelude/Bool/or/1"); -tc_success!(spec_typecheck_success_prelude_Bool_show_0, "prelude/Bool/show/0"); -tc_success!(spec_typecheck_success_prelude_Bool_show_1, "prelude/Bool/show/1"); -// tc_success!(spec_typecheck_success_prelude_Double_show_0, "prelude/Double/show/0"); -// tc_success!(spec_typecheck_success_prelude_Double_show_1, "prelude/Double/show/1"); -// tc_success!(spec_typecheck_success_prelude_Integer_show_0, "prelude/Integer/show/0"); -// tc_success!(spec_typecheck_success_prelude_Integer_show_1, "prelude/Integer/show/1"); -// tc_success!(spec_typecheck_success_prelude_Integer_toDouble_0, "prelude/Integer/toDouble/0"); -// tc_success!(spec_typecheck_success_prelude_Integer_toDouble_1, "prelude/Integer/toDouble/1"); -tc_success!(spec_typecheck_success_prelude_List_all_0, "prelude/List/all/0"); -tc_success!(spec_typecheck_success_prelude_List_all_1, "prelude/List/all/1"); -tc_success!(spec_typecheck_success_prelude_List_any_0, "prelude/List/any/0"); -tc_success!(spec_typecheck_success_prelude_List_any_1, "prelude/List/any/1"); -tc_success!(spec_typecheck_success_prelude_List_build_0, "prelude/List/build/0"); -tc_success!(spec_typecheck_success_prelude_List_build_1, "prelude/List/build/1"); -tc_success!(spec_typecheck_success_prelude_List_concat_0, "prelude/List/concat/0"); -tc_success!(spec_typecheck_success_prelude_List_concat_1, "prelude/List/concat/1"); -tc_success!(spec_typecheck_success_prelude_List_concatMap_0, "prelude/List/concatMap/0"); -tc_success!(spec_typecheck_success_prelude_List_concatMap_1, "prelude/List/concatMap/1"); -tc_success!(spec_typecheck_success_prelude_List_filter_0, "prelude/List/filter/0"); -tc_success!(spec_typecheck_success_prelude_List_filter_1, "prelude/List/filter/1"); -tc_success!(spec_typecheck_success_prelude_List_fold_0, "prelude/List/fold/0"); -tc_success!(spec_typecheck_success_prelude_List_fold_1, "prelude/List/fold/1"); -tc_success!(spec_typecheck_success_prelude_List_fold_2, "prelude/List/fold/2"); -tc_success!(spec_typecheck_success_prelude_List_generate_0, "prelude/List/generate/0"); -tc_success!(spec_typecheck_success_prelude_List_generate_1, "prelude/List/generate/1"); -tc_success!(spec_typecheck_success_prelude_List_head_0, "prelude/List/head/0"); -tc_success!(spec_typecheck_success_prelude_List_head_1, "prelude/List/head/1"); -tc_success!(spec_typecheck_success_prelude_List_indexed_0, "prelude/List/indexed/0"); -tc_success!(spec_typecheck_success_prelude_List_indexed_1, "prelude/List/indexed/1"); -tc_success!(spec_typecheck_success_prelude_List_iterate_0, "prelude/List/iterate/0"); -tc_success!(spec_typecheck_success_prelude_List_iterate_1, "prelude/List/iterate/1"); -tc_success!(spec_typecheck_success_prelude_List_last_0, "prelude/List/last/0"); -tc_success!(spec_typecheck_success_prelude_List_last_1, "prelude/List/last/1"); -tc_success!(spec_typecheck_success_prelude_List_length_0, "prelude/List/length/0"); -tc_success!(spec_typecheck_success_prelude_List_length_1, "prelude/List/length/1"); -tc_success!(spec_typecheck_success_prelude_List_map_0, "prelude/List/map/0"); -tc_success!(spec_typecheck_success_prelude_List_map_1, "prelude/List/map/1"); -tc_success!(spec_typecheck_success_prelude_List_null_0, "prelude/List/null/0"); -tc_success!(spec_typecheck_success_prelude_List_null_1, "prelude/List/null/1"); -tc_success!(spec_typecheck_success_prelude_List_replicate_0, "prelude/List/replicate/0"); -tc_success!(spec_typecheck_success_prelude_List_replicate_1, "prelude/List/replicate/1"); -tc_success!(spec_typecheck_success_prelude_List_reverse_0, "prelude/List/reverse/0"); -tc_success!(spec_typecheck_success_prelude_List_reverse_1, "prelude/List/reverse/1"); -tc_success!(spec_typecheck_success_prelude_List_shifted_0, "prelude/List/shifted/0"); -tc_success!(spec_typecheck_success_prelude_List_shifted_1, "prelude/List/shifted/1"); -tc_success!(spec_typecheck_success_prelude_List_unzip_0, "prelude/List/unzip/0"); -tc_success!(spec_typecheck_success_prelude_List_unzip_1, "prelude/List/unzip/1"); -// tc_success!(spec_typecheck_success_prelude_Monoid_00, "prelude/Monoid/00"); -// tc_success!(spec_typecheck_success_prelude_Monoid_01, "prelude/Monoid/01"); -// tc_success!(spec_typecheck_success_prelude_Monoid_02, "prelude/Monoid/02"); -// tc_success!(spec_typecheck_success_prelude_Monoid_03, "prelude/Monoid/03"); -// tc_success!(spec_typecheck_success_prelude_Monoid_04, "prelude/Monoid/04"); -// tc_success!(spec_typecheck_success_prelude_Monoid_05, "prelude/Monoid/05"); -// tc_success!(spec_typecheck_success_prelude_Monoid_06, "prelude/Monoid/06"); -// tc_success!(spec_typecheck_success_prelude_Monoid_07, "prelude/Monoid/07"); -// tc_success!(spec_typecheck_success_prelude_Monoid_08, "prelude/Monoid/08"); -// tc_success!(spec_typecheck_success_prelude_Monoid_09, "prelude/Monoid/09"); -// tc_success!(spec_typecheck_success_prelude_Monoid_10, "prelude/Monoid/10"); -tc_success!(spec_typecheck_success_prelude_Natural_build_0, "prelude/Natural/build/0"); -tc_success!(spec_typecheck_success_prelude_Natural_build_1, "prelude/Natural/build/1"); -tc_success!(spec_typecheck_success_prelude_Natural_enumerate_0, "prelude/Natural/enumerate/0"); -tc_success!(spec_typecheck_success_prelude_Natural_enumerate_1, "prelude/Natural/enumerate/1"); -tc_success!(spec_typecheck_success_prelude_Natural_even_0, "prelude/Natural/even/0"); -tc_success!(spec_typecheck_success_prelude_Natural_even_1, "prelude/Natural/even/1"); -tc_success!(spec_typecheck_success_prelude_Natural_fold_0, "prelude/Natural/fold/0"); -tc_success!(spec_typecheck_success_prelude_Natural_fold_1, "prelude/Natural/fold/1"); -tc_success!(spec_typecheck_success_prelude_Natural_fold_2, "prelude/Natural/fold/2"); -tc_success!(spec_typecheck_success_prelude_Natural_isZero_0, "prelude/Natural/isZero/0"); -tc_success!(spec_typecheck_success_prelude_Natural_isZero_1, "prelude/Natural/isZero/1"); -tc_success!(spec_typecheck_success_prelude_Natural_odd_0, "prelude/Natural/odd/0"); -tc_success!(spec_typecheck_success_prelude_Natural_odd_1, "prelude/Natural/odd/1"); -tc_success!(spec_typecheck_success_prelude_Natural_product_0, "prelude/Natural/product/0"); -tc_success!(spec_typecheck_success_prelude_Natural_product_1, "prelude/Natural/product/1"); -// tc_success!(spec_typecheck_success_prelude_Natural_show_0, "prelude/Natural/show/0"); -// tc_success!(spec_typecheck_success_prelude_Natural_show_1, "prelude/Natural/show/1"); -tc_success!(spec_typecheck_success_prelude_Natural_sum_0, "prelude/Natural/sum/0"); -tc_success!(spec_typecheck_success_prelude_Natural_sum_1, "prelude/Natural/sum/1"); -// tc_success!(spec_typecheck_success_prelude_Natural_toDouble_0, "prelude/Natural/toDouble/0"); -// tc_success!(spec_typecheck_success_prelude_Natural_toDouble_1, "prelude/Natural/toDouble/1"); -// tc_success!(spec_typecheck_success_prelude_Natural_toInteger_0, "prelude/Natural/toInteger/0"); -// tc_success!(spec_typecheck_success_prelude_Natural_toInteger_1, "prelude/Natural/toInteger/1"); -// tc_success!(spec_typecheck_success_prelude_Optional_all_0, "prelude/Optional/all/0"); -// tc_success!(spec_typecheck_success_prelude_Optional_all_1, "prelude/Optional/all/1"); -// tc_success!(spec_typecheck_success_prelude_Optional_any_0, "prelude/Optional/any/0"); -// tc_success!(spec_typecheck_success_prelude_Optional_any_1, "prelude/Optional/any/1"); -// tc_success!(spec_typecheck_success_prelude_Optional_build_0, "prelude/Optional/build/0"); -// tc_success!(spec_typecheck_success_prelude_Optional_build_1, "prelude/Optional/build/1"); -// tc_success!(spec_typecheck_success_prelude_Optional_concat_0, "prelude/Optional/concat/0"); -// tc_success!(spec_typecheck_success_prelude_Optional_concat_1, "prelude/Optional/concat/1"); -// tc_success!(spec_typecheck_success_prelude_Optional_concat_2, "prelude/Optional/concat/2"); -// tc_success!(spec_typecheck_success_prelude_Optional_filter_0, "prelude/Optional/filter/0"); -// tc_success!(spec_typecheck_success_prelude_Optional_filter_1, "prelude/Optional/filter/1"); -// tc_success!(spec_typecheck_success_prelude_Optional_fold_0, "prelude/Optional/fold/0"); -// tc_success!(spec_typecheck_success_prelude_Optional_fold_1, "prelude/Optional/fold/1"); -// tc_success!(spec_typecheck_success_prelude_Optional_head_0, "prelude/Optional/head/0"); -// tc_success!(spec_typecheck_success_prelude_Optional_head_1, "prelude/Optional/head/1"); -// tc_success!(spec_typecheck_success_prelude_Optional_head_2, "prelude/Optional/head/2"); -// tc_success!(spec_typecheck_success_prelude_Optional_last_0, "prelude/Optional/last/0"); -// tc_success!(spec_typecheck_success_prelude_Optional_last_1, "prelude/Optional/last/1"); -// tc_success!(spec_typecheck_success_prelude_Optional_last_2, "prelude/Optional/last/2"); -// tc_success!(spec_typecheck_success_prelude_Optional_length_0, "prelude/Optional/length/0"); -// tc_success!(spec_typecheck_success_prelude_Optional_length_1, "prelude/Optional/length/1"); -// tc_success!(spec_typecheck_success_prelude_Optional_map_0, "prelude/Optional/map/0"); -// tc_success!(spec_typecheck_success_prelude_Optional_map_1, "prelude/Optional/map/1"); -// tc_success!(spec_typecheck_success_prelude_Optional_null_0, "prelude/Optional/null/0"); -// tc_success!(spec_typecheck_success_prelude_Optional_null_1, "prelude/Optional/null/1"); -// tc_success!(spec_typecheck_success_prelude_Optional_toList_0, "prelude/Optional/toList/0"); -// tc_success!(spec_typecheck_success_prelude_Optional_toList_1, "prelude/Optional/toList/1"); -// tc_success!(spec_typecheck_success_prelude_Optional_unzip_0, "prelude/Optional/unzip/0"); -// tc_success!(spec_typecheck_success_prelude_Optional_unzip_1, "prelude/Optional/unzip/1"); -tc_success!(spec_typecheck_success_prelude_Text_concat_0, "prelude/Text/concat/0"); -tc_success!(spec_typecheck_success_prelude_Text_concat_1, "prelude/Text/concat/1"); -tc_success!(spec_typecheck_success_prelude_Text_concatMap_0, "prelude/Text/concatMap/0"); -tc_success!(spec_typecheck_success_prelude_Text_concatMap_1, "prelude/Text/concatMap/1"); -// tc_success!(spec_typecheck_success_prelude_Text_concatMapSep_0, "prelude/Text/concatMapSep/0"); -// tc_success!(spec_typecheck_success_prelude_Text_concatMapSep_1, "prelude/Text/concatMapSep/1"); -// tc_success!(spec_typecheck_success_prelude_Text_concatSep_0, "prelude/Text/concatSep/0"); -// tc_success!(spec_typecheck_success_prelude_Text_concatSep_1, "prelude/Text/concatSep/1"); -// tc_success!(spec_typecheck_success_recordOfRecordOfTypes, "recordOfRecordOfTypes"); -// tc_success!(spec_typecheck_success_recordOfTypes, "recordOfTypes"); -// tc_success!(spec_typecheck_success_simple_access_0, "simple/access/0"); -// tc_success!(spec_typecheck_success_simple_access_1, "simple/access/1"); -// tc_success!(spec_typecheck_success_simple_alternativesAreTypes, "simple/alternativesAreTypes"); -// tc_success!(spec_typecheck_success_simple_anonymousFunctionsInTypes, "simple/anonymousFunctionsInTypes"); -// tc_success!(spec_typecheck_success_simple_fieldsAreTypes, "simple/fieldsAreTypes"); -// tc_success!(spec_typecheck_success_simple_kindParameter, "simple/kindParameter"); -// tc_success!(spec_typecheck_success_simple_mergeEquivalence, "simple/mergeEquivalence"); -// tc_success!(spec_typecheck_success_simple_mixedFieldAccess, "simple/mixedFieldAccess"); -// tc_success!(spec_typecheck_success_simple_unionsOfTypes, "simple/unionsOfTypes"); - -// tc_failure!(spec_typecheck_failure_combineMixedRecords, "combineMixedRecords"); -// tc_failure!(spec_typecheck_failure_duplicateFields, "duplicateFields"); -tc_failure!(spec_typecheck_failure_hurkensParadox, "hurkensParadox"); -// tc_failure!(spec_typecheck_failure_mixedUnions, "mixedUnions"); -// tc_failure!(spec_typecheck_failure_preferMixedRecords, "preferMixedRecords"); - diff --git a/dhall/tests/typecheck.rs b/dhall/tests/typecheck.rs new file mode 100644 index 0000000..875b14a --- /dev/null +++ b/dhall/tests/typecheck.rs @@ -0,0 +1,168 @@ +#![feature(custom_inner_attributes)] +#![rustfmt::skip] +mod common; + +macro_rules! tc_success { + ($name:ident, $path:expr) => { + make_spec_test!(TypecheckSuccess, $name, $path); + }; +} +macro_rules! tc_failure { + ($name:ident, $path:expr) => { + make_spec_test!(TypecheckFailure, $name, $path); + }; +} + +// tc_success!(spec_typecheck_success_accessEncodedType, "accessEncodedType"); +// tc_success!(spec_typecheck_success_accessType, "accessType"); +tc_success!(spec_typecheck_success_prelude_Bool_and_0, "prelude/Bool/and/0"); +tc_success!(spec_typecheck_success_prelude_Bool_and_1, "prelude/Bool/and/1"); +tc_success!(spec_typecheck_success_prelude_Bool_build_0, "prelude/Bool/build/0"); +tc_success!(spec_typecheck_success_prelude_Bool_build_1, "prelude/Bool/build/1"); +tc_success!(spec_typecheck_success_prelude_Bool_even_0, "prelude/Bool/even/0"); +tc_success!(spec_typecheck_success_prelude_Bool_even_1, "prelude/Bool/even/1"); +tc_success!(spec_typecheck_success_prelude_Bool_even_2, "prelude/Bool/even/2"); +tc_success!(spec_typecheck_success_prelude_Bool_even_3, "prelude/Bool/even/3"); +tc_success!(spec_typecheck_success_prelude_Bool_fold_0, "prelude/Bool/fold/0"); +tc_success!(spec_typecheck_success_prelude_Bool_fold_1, "prelude/Bool/fold/1"); +tc_success!(spec_typecheck_success_prelude_Bool_not_0, "prelude/Bool/not/0"); +tc_success!(spec_typecheck_success_prelude_Bool_not_1, "prelude/Bool/not/1"); +tc_success!(spec_typecheck_success_prelude_Bool_odd_0, "prelude/Bool/odd/0"); +tc_success!(spec_typecheck_success_prelude_Bool_odd_1, "prelude/Bool/odd/1"); +tc_success!(spec_typecheck_success_prelude_Bool_odd_2, "prelude/Bool/odd/2"); +tc_success!(spec_typecheck_success_prelude_Bool_odd_3, "prelude/Bool/odd/3"); +tc_success!(spec_typecheck_success_prelude_Bool_or_0, "prelude/Bool/or/0"); +tc_success!(spec_typecheck_success_prelude_Bool_or_1, "prelude/Bool/or/1"); +tc_success!(spec_typecheck_success_prelude_Bool_show_0, "prelude/Bool/show/0"); +tc_success!(spec_typecheck_success_prelude_Bool_show_1, "prelude/Bool/show/1"); +// tc_success!(spec_typecheck_success_prelude_Double_show_0, "prelude/Double/show/0"); +// tc_success!(spec_typecheck_success_prelude_Double_show_1, "prelude/Double/show/1"); +// tc_success!(spec_typecheck_success_prelude_Integer_show_0, "prelude/Integer/show/0"); +// tc_success!(spec_typecheck_success_prelude_Integer_show_1, "prelude/Integer/show/1"); +// tc_success!(spec_typecheck_success_prelude_Integer_toDouble_0, "prelude/Integer/toDouble/0"); +// tc_success!(spec_typecheck_success_prelude_Integer_toDouble_1, "prelude/Integer/toDouble/1"); +tc_success!(spec_typecheck_success_prelude_List_all_0, "prelude/List/all/0"); +tc_success!(spec_typecheck_success_prelude_List_all_1, "prelude/List/all/1"); +tc_success!(spec_typecheck_success_prelude_List_any_0, "prelude/List/any/0"); +tc_success!(spec_typecheck_success_prelude_List_any_1, "prelude/List/any/1"); +tc_success!(spec_typecheck_success_prelude_List_build_0, "prelude/List/build/0"); +tc_success!(spec_typecheck_success_prelude_List_build_1, "prelude/List/build/1"); +tc_success!(spec_typecheck_success_prelude_List_concat_0, "prelude/List/concat/0"); +tc_success!(spec_typecheck_success_prelude_List_concat_1, "prelude/List/concat/1"); +tc_success!(spec_typecheck_success_prelude_List_concatMap_0, "prelude/List/concatMap/0"); +tc_success!(spec_typecheck_success_prelude_List_concatMap_1, "prelude/List/concatMap/1"); +tc_success!(spec_typecheck_success_prelude_List_filter_0, "prelude/List/filter/0"); +tc_success!(spec_typecheck_success_prelude_List_filter_1, "prelude/List/filter/1"); +tc_success!(spec_typecheck_success_prelude_List_fold_0, "prelude/List/fold/0"); +tc_success!(spec_typecheck_success_prelude_List_fold_1, "prelude/List/fold/1"); +tc_success!(spec_typecheck_success_prelude_List_fold_2, "prelude/List/fold/2"); +tc_success!(spec_typecheck_success_prelude_List_generate_0, "prelude/List/generate/0"); +tc_success!(spec_typecheck_success_prelude_List_generate_1, "prelude/List/generate/1"); +tc_success!(spec_typecheck_success_prelude_List_head_0, "prelude/List/head/0"); +tc_success!(spec_typecheck_success_prelude_List_head_1, "prelude/List/head/1"); +tc_success!(spec_typecheck_success_prelude_List_indexed_0, "prelude/List/indexed/0"); +tc_success!(spec_typecheck_success_prelude_List_indexed_1, "prelude/List/indexed/1"); +tc_success!(spec_typecheck_success_prelude_List_iterate_0, "prelude/List/iterate/0"); +tc_success!(spec_typecheck_success_prelude_List_iterate_1, "prelude/List/iterate/1"); +tc_success!(spec_typecheck_success_prelude_List_last_0, "prelude/List/last/0"); +tc_success!(spec_typecheck_success_prelude_List_last_1, "prelude/List/last/1"); +tc_success!(spec_typecheck_success_prelude_List_length_0, "prelude/List/length/0"); +tc_success!(spec_typecheck_success_prelude_List_length_1, "prelude/List/length/1"); +tc_success!(spec_typecheck_success_prelude_List_map_0, "prelude/List/map/0"); +tc_success!(spec_typecheck_success_prelude_List_map_1, "prelude/List/map/1"); +tc_success!(spec_typecheck_success_prelude_List_null_0, "prelude/List/null/0"); +tc_success!(spec_typecheck_success_prelude_List_null_1, "prelude/List/null/1"); +tc_success!(spec_typecheck_success_prelude_List_replicate_0, "prelude/List/replicate/0"); +tc_success!(spec_typecheck_success_prelude_List_replicate_1, "prelude/List/replicate/1"); +tc_success!(spec_typecheck_success_prelude_List_reverse_0, "prelude/List/reverse/0"); +tc_success!(spec_typecheck_success_prelude_List_reverse_1, "prelude/List/reverse/1"); +tc_success!(spec_typecheck_success_prelude_List_shifted_0, "prelude/List/shifted/0"); +tc_success!(spec_typecheck_success_prelude_List_shifted_1, "prelude/List/shifted/1"); +tc_success!(spec_typecheck_success_prelude_List_unzip_0, "prelude/List/unzip/0"); +tc_success!(spec_typecheck_success_prelude_List_unzip_1, "prelude/List/unzip/1"); +// tc_success!(spec_typecheck_success_prelude_Monoid_00, "prelude/Monoid/00"); +// tc_success!(spec_typecheck_success_prelude_Monoid_01, "prelude/Monoid/01"); +// tc_success!(spec_typecheck_success_prelude_Monoid_02, "prelude/Monoid/02"); +// tc_success!(spec_typecheck_success_prelude_Monoid_03, "prelude/Monoid/03"); +// tc_success!(spec_typecheck_success_prelude_Monoid_04, "prelude/Monoid/04"); +// tc_success!(spec_typecheck_success_prelude_Monoid_05, "prelude/Monoid/05"); +// tc_success!(spec_typecheck_success_prelude_Monoid_06, "prelude/Monoid/06"); +// tc_success!(spec_typecheck_success_prelude_Monoid_07, "prelude/Monoid/07"); +// tc_success!(spec_typecheck_success_prelude_Monoid_08, "prelude/Monoid/08"); +// tc_success!(spec_typecheck_success_prelude_Monoid_09, "prelude/Monoid/09"); +// tc_success!(spec_typecheck_success_prelude_Monoid_10, "prelude/Monoid/10"); +tc_success!(spec_typecheck_success_prelude_Natural_build_0, "prelude/Natural/build/0"); +tc_success!(spec_typecheck_success_prelude_Natural_build_1, "prelude/Natural/build/1"); +tc_success!(spec_typecheck_success_prelude_Natural_enumerate_0, "prelude/Natural/enumerate/0"); +tc_success!(spec_typecheck_success_prelude_Natural_enumerate_1, "prelude/Natural/enumerate/1"); +tc_success!(spec_typecheck_success_prelude_Natural_even_0, "prelude/Natural/even/0"); +tc_success!(spec_typecheck_success_prelude_Natural_even_1, "prelude/Natural/even/1"); +tc_success!(spec_typecheck_success_prelude_Natural_fold_0, "prelude/Natural/fold/0"); +tc_success!(spec_typecheck_success_prelude_Natural_fold_1, "prelude/Natural/fold/1"); +tc_success!(spec_typecheck_success_prelude_Natural_fold_2, "prelude/Natural/fold/2"); +tc_success!(spec_typecheck_success_prelude_Natural_isZero_0, "prelude/Natural/isZero/0"); +tc_success!(spec_typecheck_success_prelude_Natural_isZero_1, "prelude/Natural/isZero/1"); +tc_success!(spec_typecheck_success_prelude_Natural_odd_0, "prelude/Natural/odd/0"); +tc_success!(spec_typecheck_success_prelude_Natural_odd_1, "prelude/Natural/odd/1"); +tc_success!(spec_typecheck_success_prelude_Natural_product_0, "prelude/Natural/product/0"); +tc_success!(spec_typecheck_success_prelude_Natural_product_1, "prelude/Natural/product/1"); +// tc_success!(spec_typecheck_success_prelude_Natural_show_0, "prelude/Natural/show/0"); +// tc_success!(spec_typecheck_success_prelude_Natural_show_1, "prelude/Natural/show/1"); +tc_success!(spec_typecheck_success_prelude_Natural_sum_0, "prelude/Natural/sum/0"); +tc_success!(spec_typecheck_success_prelude_Natural_sum_1, "prelude/Natural/sum/1"); +// tc_success!(spec_typecheck_success_prelude_Natural_toDouble_0, "prelude/Natural/toDouble/0"); +// tc_success!(spec_typecheck_success_prelude_Natural_toDouble_1, "prelude/Natural/toDouble/1"); +// tc_success!(spec_typecheck_success_prelude_Natural_toInteger_0, "prelude/Natural/toInteger/0"); +// tc_success!(spec_typecheck_success_prelude_Natural_toInteger_1, "prelude/Natural/toInteger/1"); +// tc_success!(spec_typecheck_success_prelude_Optional_all_0, "prelude/Optional/all/0"); +// tc_success!(spec_typecheck_success_prelude_Optional_all_1, "prelude/Optional/all/1"); +// tc_success!(spec_typecheck_success_prelude_Optional_any_0, "prelude/Optional/any/0"); +// tc_success!(spec_typecheck_success_prelude_Optional_any_1, "prelude/Optional/any/1"); +// tc_success!(spec_typecheck_success_prelude_Optional_build_0, "prelude/Optional/build/0"); +// tc_success!(spec_typecheck_success_prelude_Optional_build_1, "prelude/Optional/build/1"); +// tc_success!(spec_typecheck_success_prelude_Optional_concat_0, "prelude/Optional/concat/0"); +// tc_success!(spec_typecheck_success_prelude_Optional_concat_1, "prelude/Optional/concat/1"); +// tc_success!(spec_typecheck_success_prelude_Optional_concat_2, "prelude/Optional/concat/2"); +// tc_success!(spec_typecheck_success_prelude_Optional_filter_0, "prelude/Optional/filter/0"); +// tc_success!(spec_typecheck_success_prelude_Optional_filter_1, "prelude/Optional/filter/1"); +// tc_success!(spec_typecheck_success_prelude_Optional_fold_0, "prelude/Optional/fold/0"); +// tc_success!(spec_typecheck_success_prelude_Optional_fold_1, "prelude/Optional/fold/1"); +// tc_success!(spec_typecheck_success_prelude_Optional_head_0, "prelude/Optional/head/0"); +// tc_success!(spec_typecheck_success_prelude_Optional_head_1, "prelude/Optional/head/1"); +// tc_success!(spec_typecheck_success_prelude_Optional_head_2, "prelude/Optional/head/2"); +// tc_success!(spec_typecheck_success_prelude_Optional_last_0, "prelude/Optional/last/0"); +// tc_success!(spec_typecheck_success_prelude_Optional_last_1, "prelude/Optional/last/1"); +// tc_success!(spec_typecheck_success_prelude_Optional_last_2, "prelude/Optional/last/2"); +// tc_success!(spec_typecheck_success_prelude_Optional_length_0, "prelude/Optional/length/0"); +// tc_success!(spec_typecheck_success_prelude_Optional_length_1, "prelude/Optional/length/1"); +// tc_success!(spec_typecheck_success_prelude_Optional_map_0, "prelude/Optional/map/0"); +// tc_success!(spec_typecheck_success_prelude_Optional_map_1, "prelude/Optional/map/1"); +// tc_success!(spec_typecheck_success_prelude_Optional_null_0, "prelude/Optional/null/0"); +// tc_success!(spec_typecheck_success_prelude_Optional_null_1, "prelude/Optional/null/1"); +// tc_success!(spec_typecheck_success_prelude_Optional_toList_0, "prelude/Optional/toList/0"); +// tc_success!(spec_typecheck_success_prelude_Optional_toList_1, "prelude/Optional/toList/1"); +// tc_success!(spec_typecheck_success_prelude_Optional_unzip_0, "prelude/Optional/unzip/0"); +// tc_success!(spec_typecheck_success_prelude_Optional_unzip_1, "prelude/Optional/unzip/1"); +tc_success!(spec_typecheck_success_prelude_Text_concat_0, "prelude/Text/concat/0"); +tc_success!(spec_typecheck_success_prelude_Text_concat_1, "prelude/Text/concat/1"); +tc_success!(spec_typecheck_success_prelude_Text_concatMap_0, "prelude/Text/concatMap/0"); +tc_success!(spec_typecheck_success_prelude_Text_concatMap_1, "prelude/Text/concatMap/1"); +// tc_success!(spec_typecheck_success_prelude_Text_concatMapSep_0, "prelude/Text/concatMapSep/0"); +// tc_success!(spec_typecheck_success_prelude_Text_concatMapSep_1, "prelude/Text/concatMapSep/1"); +// tc_success!(spec_typecheck_success_prelude_Text_concatSep_0, "prelude/Text/concatSep/0"); +// tc_success!(spec_typecheck_success_prelude_Text_concatSep_1, "prelude/Text/concatSep/1"); +// tc_success!(spec_typecheck_success_recordOfRecordOfTypes, "recordOfRecordOfTypes"); +// tc_success!(spec_typecheck_success_recordOfTypes, "recordOfTypes"); +// tc_success!(spec_typecheck_success_simple_access_0, "simple/access/0"); +// tc_success!(spec_typecheck_success_simple_access_1, "simple/access/1"); +// tc_success!(spec_typecheck_success_simple_alternativesAreTypes, "simple/alternativesAreTypes"); +// tc_success!(spec_typecheck_success_simple_anonymousFunctionsInTypes, "simple/anonymousFunctionsInTypes"); +// tc_success!(spec_typecheck_success_simple_fieldsAreTypes, "simple/fieldsAreTypes"); +// tc_success!(spec_typecheck_success_simple_kindParameter, "simple/kindParameter"); +// tc_success!(spec_typecheck_success_simple_mergeEquivalence, "simple/mergeEquivalence"); +// tc_success!(spec_typecheck_success_simple_mixedFieldAccess, "simple/mixedFieldAccess"); +// tc_success!(spec_typecheck_success_simple_unionsOfTypes, "simple/unionsOfTypes"); + +// tc_failure!(spec_typecheck_failure_combineMixedRecords, "combineMixedRecords"); +// tc_failure!(spec_typecheck_failure_duplicateFields, "duplicateFields"); +tc_failure!(spec_typecheck_failure_hurkensParadox, "hurkensParadox"); -- cgit v1.2.3