Something went wrong. Try again.
The Monad language. Dependent types, functional programming compiled with LLVM. Hobby project. monad-lang.org
dependent-types language compiler programming-language functional-programming
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344use std::list {List.filter, List.length}// Append tests (continued)#[test]def test_list_append_empty_right : Bool := let xs : List I64 := [1, 2] in BEq.beq (xs ++ ([] : List I64)) xs#[test]def test_list_append_empty_both : Bool := let xs : List I64 := [] in let ys : List I64 := [] in BEq.beq (xs ++ ys) xs// Length tests#[test]def test_list_length_empty : Bool := List.length ([] : List I64) == 0#[test]def test_list_length_one : Bool := List.length [42] == 1#[test]def test_list_length_three : Bool := List.length [1, 2, 3] == 3// Filter tests#[test]def test_list_filter_all_pass : Bool := let xs : List I64 := [1, 2, 3] in let filtered := List.filter (fn x => true) xs in BEq.beq filtered xs#[test]def test_list_filter_none_pass : Bool := let xs : List I64 := [1, 2, 3] in let filtered := List.filter (fn x => false) xs in BEq.beq filtered ([] : List I64)