Change prelude Map to AList

This commit is contained in:
microproofs 2024-05-02 15:44:33 -04:00 committed by Kasey
parent b1f0dfdacd
commit a44ed4c1a8
34 changed files with 57 additions and 57 deletions

View File

@ -23,7 +23,7 @@ pub const BOOL: &str = "Bool";
pub const INT: &str = "Int";
pub const DATA: &str = "Data";
pub const LIST: &str = "List";
pub const MAP: &str = "Map";
pub const ALIST: &str = "AList";
pub const PAIR: &str = "Pair";
pub const VOID: &str = "Void";
pub const G1_ELEMENT: &str = "G1Element";
@ -524,14 +524,14 @@ pub fn prelude(id_gen: &IdGenerator) -> TypeInfo {
// Map
//
// pub type Map<k, v> = List<Pair<k, v>>
let map_key = generic_var(id_gen.next());
let map_value = generic_var(id_gen.next());
let alist_key = generic_var(id_gen.next());
let alist_value = generic_var(id_gen.next());
prelude.types.insert(
MAP.to_string(),
ALIST.to_string(),
TypeConstructor {
location: Span::empty(),
parameters: vec![map_key.clone(), map_value.clone()],
tipo: map(map_key, map_value),
parameters: vec![alist_key.clone(), alist_value.clone()],
tipo: map(alist_key, alist_value),
module: "".to_string(),
public: true,
},
@ -1451,7 +1451,7 @@ pub fn map(k: Rc<Type>, v: Rc<Type>) -> Rc<Type> {
args: vec![pair(k, v)],
alias: Some(
TypeAliasAnnotation {
alias: MAP.to_string(),
alias: ALIST.to_string(),
parameters: vec!["k".to_string(), "v".to_string()],
annotation: Annotation::Constructor {
location: Span::empty(),

View File

@ -885,9 +885,9 @@ fn acceptance_test_7_unzip_tuple() {
#[test]
fn acceptance_test_7_unzip_pair() {
let src = r#"
type Map<a,b> = List<Pair<a,b>>
type AList<a,b> = List<Pair<a,b>>
pub fn unzip(xs: Map<a, b>) -> Pair<List<a>, List<b>> {
pub fn unzip(xs: AList<a, b>) -> Pair<List<a>, List<b>> {
when xs is {
[] -> Pair([], [])
[Pair(a, b), ..rest] -> {
@ -1573,16 +1573,16 @@ fn acceptance_test_14_list_creation() {
#[test]
fn acceptance_test_15_zero_arg() {
let src = r#"
pub opaque type Map<key, value> {
pub opaque type AList<key, value> {
inner: List<Pair<key, value>>,
}
pub fn new() {
Map { inner: [] }
AList { inner: [] }
}
test new_1() {
new() == Map { inner: [] }
new() == AList { inner: [] }
}
"#;
@ -2116,18 +2116,18 @@ fn acceptance_test_22_filter_map() {
#[test]
fn acceptance_test_23_to_list() {
let src = r#"
pub type Map<key, value> =
pub type AList<key, value> =
List<Pair<key, value>>
pub opaque type AssocList<key, value> {
inner: Map<key, value>,
inner: AList<key, value>,
}
pub fn new() -> AssocList<key, value> {
AssocList { inner: [] }
}
pub fn to_list(m: AssocList<key, value>) -> Map<key, value> {
pub fn to_list(m: AssocList<key, value>) -> AList<key, value> {
m.inner
}
@ -2139,7 +2139,7 @@ fn acceptance_test_23_to_list() {
AssocList { inner: do_insert(m.inner, k, v) }
}
fn do_insert(elems: Map<key, value>, k: key, v: value) -> Map<key, value> {
fn do_insert(elems: AList<key, value>, k: key, v: value) -> AList<key, value> {
when elems is {
[] ->
[Pair(k, v)]
@ -2997,18 +2997,18 @@ fn acceptance_test_28_unique_list() {
fn acceptance_test_29_union_pair() {
let src = r#"
pub opaque type AssocList<key, value> {
inner: Map<key, value>,
inner: AList<key, value>,
}
pub fn new() -> AssocList<key, value> {
AssocList { inner: [] }
}
pub fn from_list(xs: Map<key, value>) -> AssocList<key, value> {
pub fn from_list(xs: AList<key, value>) -> AssocList<key, value> {
AssocList { inner: do_from_list(xs) }
}
fn do_from_list(xs: Map<key, value>) -> Map<key, value> {
fn do_from_list(xs: AList<key, value>) -> AList<key, value> {
when xs is {
[] ->
[]
@ -3025,7 +3025,7 @@ fn acceptance_test_29_union_pair() {
AssocList { inner: do_insert(m.inner, k, v) }
}
fn do_insert(elems: Map<key, value>, k: key, v: value) -> Map<key, value> {
fn do_insert(elems: AList<key, value>, k: key, v: value) -> AList<key, value> {
when elems is {
[] ->
[Pair(k, v)]
@ -3046,9 +3046,9 @@ fn acceptance_test_29_union_pair() {
}
fn do_union(
left: Map<key, value>,
right: Map<key, value>,
) -> Map<key, value> {
left: AList<key, value>,
right: AList<key, value>,
) -> AList<key, value> {
when left is {
[] ->
right

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055767, nanos_since_epoch = 971886000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678414, nanos_since_epoch = 692370000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.26-alpha+821d869"
"version": "v1.0.26-alpha+cdd7f67"
}
},
"validators": [

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.26-alpha+821d869"
"version": "v1.0.26-alpha+cdd7f67"
}
},
"validators": [

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055769, nanos_since_epoch = 606310000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678415, nanos_since_epoch = 416054000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055769, nanos_since_epoch = 886756000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678412, nanos_since_epoch = 997736000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055768, nanos_since_epoch = 494960000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678416, nanos_since_epoch = 243739000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055765, nanos_since_epoch = 138956000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678414, nanos_since_epoch = 603259000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055779, nanos_since_epoch = 84463000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678422, nanos_since_epoch = 502741000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055769, nanos_since_epoch = 870599000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678420, nanos_since_epoch = 593386000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055768, nanos_since_epoch = 584957000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678414, nanos_since_epoch = 78614000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055766, nanos_since_epoch = 525538000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678414, nanos_since_epoch = 845310000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055773, nanos_since_epoch = 519699000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678417, nanos_since_epoch = 106832000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.26-alpha+821d869"
"version": "v1.0.26-alpha+cdd7f67"
}
},
"validators": [

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055769, nanos_since_epoch = 196556000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678413, nanos_since_epoch = 797509000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055775, nanos_since_epoch = 337191000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678419, nanos_since_epoch = 593445000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055766, nanos_since_epoch = 404145000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678419, nanos_since_epoch = 106684000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055769, nanos_since_epoch = 438366000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678411, nanos_since_epoch = 533080000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.26-alpha+821d869"
"version": "v1.0.26-alpha+cdd7f67"
}
},
"validators": [

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.26-alpha+821d869"
"version": "v1.0.26-alpha+cdd7f67"
}
},
"validators": [

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055779, nanos_since_epoch = 824042000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678414, nanos_since_epoch = 850404000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055774, nanos_since_epoch = 480306000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678411, nanos_since_epoch = 536024000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@specialize-dict-key" = [{ secs_since_epoch = 1714055775, nanos_since_epoch = 582445000 }, "4a03ebbbc134cedfe1bf03b59d5ed476f4dd97a769dc259552a9086e786bb108"]
"aiken-lang/stdlib@specialize-dict-key" = [{ secs_since_epoch = 1714678422, nanos_since_epoch = 633452000 }, "4a471c3bad39d9bd642bb8ae80c5e90585cc4d79315de7d5b4277a2f00994714"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055768, nanos_since_epoch = 799533000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678426, nanos_since_epoch = 730465000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.26-alpha+821d869"
"version": "v1.0.26-alpha+cdd7f67"
}
},
"validators": [

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@specialize-dict-key" = [{ secs_since_epoch = 1714055770, nanos_since_epoch = 469989000 }, "4a03ebbbc134cedfe1bf03b59d5ed476f4dd97a769dc259552a9086e786bb108"]
"aiken-lang/stdlib@specialize-dict-key" = [{ secs_since_epoch = 1714678415, nanos_since_epoch = 599042000 }, "4a471c3bad39d9bd642bb8ae80c5e90585cc4d79315de7d5b4277a2f00994714"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714055766, nanos_since_epoch = 449700000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714678427, nanos_since_epoch = 715353000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@specialize-dict-key" = [{ secs_since_epoch = 1714055778, nanos_since_epoch = 453151000 }, "4a03ebbbc134cedfe1bf03b59d5ed476f4dd97a769dc259552a9086e786bb108"]
"aiken-lang/stdlib@specialize-dict-key" = [{ secs_since_epoch = 1714678897, nanos_since_epoch = 548816000 }, "2d7b2d2c079b953fd7e68406ed5e91ff64cb7e7fec2529882443649710fdc4ba"]

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.26-alpha+821d869"
"version": "v1.0.26-alpha+cdd7f67"
}
},
"validators": [

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.26-alpha+821d869"
"version": "v1.0.26-alpha+cdd7f67"
}
},
"validators": [

View File

@ -6,7 +6,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.26-alpha+821d869"
"version": "v1.0.26-alpha+cdd7f67"
},
"license": "Apache-2.0"
},

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@specialize-dict-key" = [{ secs_since_epoch = 1714055683, nanos_since_epoch = 673729000 }, "4a03ebbbc134cedfe1bf03b59d5ed476f4dd97a769dc259552a9086e786bb108"]
"aiken-lang/stdlib@specialize-dict-key" = [{ secs_since_epoch = 1714679026, nanos_since_epoch = 100733000 }, "2d7b2d2c079b953fd7e68406ed5e91ff64cb7e7fec2529882443649710fdc4ba"]

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.26-alpha+821d869"
"version": "v1.0.26-alpha+cdd7f67"
}
},
"validators": [
@ -51,8 +51,8 @@
"$ref": "#/definitions/Data"
}
},
"compiledCode": "590303010000323232323232322253330033232323232533233009323232533300f3012002132533300d3005300e3754002266e3c008dd7180918079baa001163008300e37540142c6eb8c040004cc004004cc010c00cdd5980298061baa3007300c37540109110022533300e00114bd70099807980618080009980100118088008a999191980599912999806980298071baa002132533300e3005300f37540022c266e1cdd6980998081baa001483c850c8cc004004cc88c94ccc044c020c048dd50008a5eb7bdb1804dd5980b18099baa001323300100100322533301500114c0103d87a800013232323253330163372200e0042a66602c66e3c01c0084c030cc068dd3000a5eb80530103d87a80001330060060033756602e0066eb8c054008c064008c05c004c01cdd5980498081baa002375c602660206ea800c894ccc0480045300103d87a800013232323253330133372291103666f6f00002153330133371e910103666f6f000021300933017375000297ae014c0103d87a8000133006006003375a60280066eb8c048008c058008c05000458c01cc034dd5004980418069baa009132323232533300f3007301037540022a66601e66ebc038c044c8cdd8180a800980a980b0009bac3014301137540022600c60046eacc010c044dd5180618089baa00d14a02c64660020026eacc010c044dd5180618089baa00d22533301300114c103d87a80001323253330123375e6026004601c60286ea80404c020cc058dd39980b18098011980b180a00125eb812f5c0266008008002602e004602a002600200244a66602200229000099b8048008cc008008c0500048c044c048c048c048c048c048c048c048c048c048004dd2a40006e1d200214a06e1d200014a046600400291010022323300100100322533300d00114bd6f7b630099191919299980719b910070021533300e3371e00e0042006200a26602466ec0dd48011ba6001330060060033756601e0066eb8c034008c044008c03c0048c02cc030c030c030c0300048c028c02c0048c024004526136565734aae7555cf2ab9f5740ae855d101",
"hash": "44f78e74dc636752b67e08bd512dccb429539645707ad3a898e94113"
"compiledCode": "590300010000323232323232322253330033232323232533233009323232533300f3012002132533300d3005300e3754002266e3c008dd7180918079baa001163008300e37540142c6eb8c040004cc004004cc010c00cdd5980298061baa3007300c37540109110022533300e00114bd70099807980618080009980100118088008a999191980599912999806980298071baa002132533300e3005300f37540022c266e1cdd6980998081baa001483c850c8cc004004c94ccc03cc018c040dd50008a5eb7bdb1804dd5980a18089baa00132323300100130093756601660246ea8010894ccc0500045300103d87a800013232323253330153372200e0042a66602a66e3c01c0084c02ccc064dd3000a5eb80530103d87a80001330060060033756602c0066eb8c050008c060008c058004dd7180998081baa00322533301200114c103d87a800013232323253330133372291103666f6f00002153330133371e910103666f6f000021300933017375000297ae014c0103d87a8000133006006003375a60280066eb8c048008c058008c05000458c01cc034dd5004980418069baa009132323232533300f3007301037540022a66601e66ebc038c044c8cdd8180a800980a980b0009bac3014301137540022600c60046eacc010c044dd5180618089baa00d14a02c64660020026eacc010c044dd5180618089baa00d22533301300114c103d87a80001323253330123375e6026004601c60286ea80404c020cc058dd39980b18098011980b180a00125eb812f5c0266008008002602e004602a002600200244a66602200229000099b8048008cc008008c0500048c044c048c048c048c048c048c048c048c048c048004dd2a40006e1d200214a06e1d200014a046600400291010022323300100100322533300d00114bd6f7b630099191919299980719b910070021533300e3371e00e0042006200a26602466ec0dd48011ba6001330060060033756601e0066eb8c034008c044008c03c0048c02cc030c030c030c0300048c028c02c0048c024004526136565734aae7555cf2ab9f5740ae855d101",
"hash": "f557530d177449d0609a60cbe4f48b221c04a6ca7f9f235fcdc8c741"
},
{
"title": "withdrawals.spend",