Implement List.joinMap

Closes #1887
This commit is contained in:
ayazhafiz 2021-11-07 11:08:20 -05:00
parent 44a2cd9468
commit 0d2ed76334
4 changed files with 125 additions and 0 deletions

View file

@ -877,6 +877,19 @@ pub fn types() -> MutMap<Symbol, (SolvedType, Region)> {
Box::new(list_type(int_type(flex(TVAR1)))),
);
// joinMap : List before, (before -> List after) -> List after
{
let_tvars! { cvar, before, after }
add_top_level_function_type!(
Symbol::LIST_JOIN_MAP,
vec![
list_type(flex(before)),
closure(vec![flex(before)], cvar, Box::new(list_type(flex(after)))),
],
Box::new(list_type(flex(after))),
);
}
// map : List before, (before -> after) -> List after
add_top_level_function_type!(
Symbol::LIST_MAP,