Merge branch 'trunk' of github.com:rtfeldman/roc into crates-folder

This commit is contained in:
Anton-4 2022-07-02 12:35:19 +02:00
commit b74fc3554b
No known key found for this signature in database
GPG key ID: C954D6E0F9C0ABFD
35 changed files with 359 additions and 1204 deletions

View file

@ -1,6 +1,6 @@
procedure List.6 (#Attr.2):
let List.164 : U64 = lowlevel ListLen #Attr.2;
ret List.164;
let List.239 : U64 = lowlevel ListLen #Attr.2;
ret List.239;
procedure Test.1 (Test.5):
let Test.2 : I64 = 41i64;

View file

@ -1,22 +1,22 @@
procedure List.2 (List.67, List.68):
let List.170 : U64 = CallByName List.6 List.67;
let List.166 : Int1 = CallByName Num.22 List.68 List.170;
if List.166 then
let List.168 : {} = CallByName List.60 List.67 List.68;
let List.167 : [C {}, C {}] = Ok List.168;
ret List.167;
procedure List.2 (List.72, List.73):
let List.245 : U64 = CallByName List.6 List.72;
let List.241 : Int1 = CallByName Num.22 List.73 List.245;
if List.241 then
let List.243 : {} = CallByName List.60 List.72 List.73;
let List.242 : [C {}, C {}] = Ok List.243;
ret List.242;
else
let List.165 : {} = Struct {};
let List.164 : [C {}, C {}] = Err List.165;
ret List.164;
let List.240 : {} = Struct {};
let List.239 : [C {}, C {}] = Err List.240;
ret List.239;
procedure List.6 (#Attr.2):
let List.173 : U64 = lowlevel ListLen #Attr.2;
ret List.173;
let List.248 : U64 = lowlevel ListLen #Attr.2;
ret List.248;
procedure List.60 (#Attr.2, #Attr.3):
let List.172 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.172;
let List.247 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.247;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.273 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,6 +1,6 @@
procedure List.4 (#Attr.2, #Attr.3):
let List.164 : List U8 = lowlevel ListAppend #Attr.2 #Attr.3;
ret List.164;
let List.239 : List U8 = lowlevel ListAppend #Attr.2 #Attr.3;
ret List.239;
procedure Test.20 (Test.22):
let Test.34 : {U8} = Struct {Test.22};

View file

@ -1,6 +1,6 @@
procedure List.6 (#Attr.2):
let List.164 : U64 = lowlevel ListLen #Attr.2;
ret List.164;
let List.239 : U64 = lowlevel ListLen #Attr.2;
ret List.239;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.275 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -1,16 +1,41 @@
procedure List.9 (#Attr.2):
let List.170 : U64 = 0i64;
let List.171 : U64 = lowlevel ListLen #Attr.2;
let List.166 : Int1 = lowlevel NotEq List.170 List.171;
if List.166 then
let List.169 : U64 = 0i64;
let List.168 : I64 = lowlevel ListGetUnsafe #Attr.2 List.169;
let List.167 : [C Int1, C I64] = Ok List.168;
ret List.167;
procedure List.2 (List.72, List.73):
let List.254 : U64 = CallByName List.6 List.72;
let List.250 : Int1 = CallByName Num.22 List.73 List.254;
if List.250 then
let List.252 : I64 = CallByName List.60 List.72 List.73;
let List.251 : [C {}, C I64] = Ok List.252;
ret List.251;
else
let List.165 : Int1 = true;
let List.164 : [C Int1, C I64] = Err List.165;
ret List.164;
let List.249 : {} = Struct {};
let List.248 : [C {}, C I64] = Err List.249;
ret List.248;
procedure List.6 (#Attr.2):
let List.255 : U64 = lowlevel ListLen #Attr.2;
ret List.255;
procedure List.60 (#Attr.2, #Attr.3):
let List.253 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.253;
procedure List.9 (List.166):
let List.246 : U64 = 0i64;
let List.239 : [C {}, C I64] = CallByName List.2 List.166 List.246;
let List.243 : U8 = 1i64;
let List.244 : U8 = GetTagId List.239;
let List.245 : Int1 = lowlevel Eq List.243 List.244;
if List.245 then
let List.167 : I64 = UnionAtIndex (Id 1) (Index 0) List.239;
let List.240 : [C Int1, C I64] = Ok List.167;
ret List.240;
else
let List.242 : Int1 = true;
let List.241 : [C Int1, C I64] = Err List.242;
ret List.241;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.273 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.273;
procedure Str.27 (#Attr.2):
let #Attr.3 : {I64, U8} = lowlevel StrToNum #Attr.2;

View file

@ -1,6 +1,6 @@
procedure List.4 (#Attr.2, #Attr.3):
let List.164 : List I64 = lowlevel ListAppend #Attr.2 #Attr.3;
ret List.164;
let List.239 : List I64 = lowlevel ListAppend #Attr.2 #Attr.3;
ret List.239;
procedure Test.0 ():
let Test.2 : List I64 = Array [1i64];

View file

@ -1,6 +1,6 @@
procedure List.4 (#Attr.2, #Attr.3):
let List.164 : List I64 = lowlevel ListAppend #Attr.2 #Attr.3;
ret List.164;
let List.239 : List I64 = lowlevel ListAppend #Attr.2 #Attr.3;
ret List.239;
procedure Test.1 (Test.2):
let Test.6 : I64 = 42i64;

View file

@ -1,10 +1,10 @@
procedure List.6 (#Attr.2):
let List.164 : U64 = lowlevel ListLen #Attr.2;
ret List.164;
let List.239 : U64 = lowlevel ListLen #Attr.2;
ret List.239;
procedure List.6 (#Attr.2):
let List.165 : U64 = lowlevel ListLen #Attr.2;
ret List.165;
let List.240 : U64 = lowlevel ListLen #Attr.2;
ret List.240;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.273 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -1,26 +1,26 @@
procedure List.2 (List.67, List.68):
let List.170 : U64 = CallByName List.6 List.67;
let List.166 : Int1 = CallByName Num.22 List.68 List.170;
if List.166 then
let List.168 : Str = CallByName List.60 List.67 List.68;
let List.167 : [C {}, C Str] = Ok List.168;
ret List.167;
procedure List.2 (List.72, List.73):
let List.245 : U64 = CallByName List.6 List.72;
let List.241 : Int1 = CallByName Num.22 List.73 List.245;
if List.241 then
let List.243 : Str = CallByName List.60 List.72 List.73;
let List.242 : [C {}, C Str] = Ok List.243;
ret List.242;
else
let List.165 : {} = Struct {};
let List.164 : [C {}, C Str] = Err List.165;
ret List.164;
let List.240 : {} = Struct {};
let List.239 : [C {}, C Str] = Err List.240;
ret List.239;
procedure List.5 (#Attr.2, #Attr.3):
let List.172 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
ret List.172;
let List.247 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
ret List.247;
procedure List.6 (#Attr.2):
let List.174 : U64 = lowlevel ListLen #Attr.2;
ret List.174;
let List.249 : U64 = lowlevel ListLen #Attr.2;
ret List.249;
procedure List.60 (#Attr.2, #Attr.3):
let List.173 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.173;
let List.248 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.248;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.273 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,28 +1,28 @@
procedure List.2 (List.67, List.68):
let List.170 : U64 = CallByName List.6 List.67;
let List.166 : Int1 = CallByName Num.22 List.68 List.170;
if List.166 then
let List.168 : Str = CallByName List.60 List.67 List.68;
let List.167 : [C {}, C Str] = Ok List.168;
ret List.167;
procedure List.2 (List.72, List.73):
let List.245 : U64 = CallByName List.6 List.72;
let List.241 : Int1 = CallByName Num.22 List.73 List.245;
if List.241 then
let List.243 : Str = CallByName List.60 List.72 List.73;
let List.242 : [C {}, C Str] = Ok List.243;
ret List.242;
else
let List.165 : {} = Struct {};
let List.164 : [C {}, C Str] = Err List.165;
ret List.164;
let List.240 : {} = Struct {};
let List.239 : [C {}, C Str] = Err List.240;
ret List.239;
procedure List.5 (#Attr.2, #Attr.3):
inc #Attr.2;
let List.172 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
let List.247 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
decref #Attr.2;
ret List.172;
ret List.247;
procedure List.6 (#Attr.2):
let List.174 : U64 = lowlevel ListLen #Attr.2;
ret List.174;
let List.249 : U64 = lowlevel ListLen #Attr.2;
ret List.249;
procedure List.60 (#Attr.2, #Attr.3):
let List.173 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.173;
let List.248 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.248;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.273 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,16 +1,16 @@
procedure List.28 (#Attr.2, #Attr.3):
let List.167 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
let List.242 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
let Bool.14 : Int1 = lowlevel ListIsUnique #Attr.2;
if Bool.14 then
ret List.167;
ret List.242;
else
decref #Attr.2;
ret List.167;
ret List.242;
procedure List.54 (List.111):
let List.165 : {} = Struct {};
let List.164 : List I64 = CallByName List.28 List.111 List.165;
ret List.164;
procedure List.54 (List.160):
let List.240 : {} = Struct {};
let List.239 : List I64 = CallByName List.28 List.160 List.240;
ret List.239;
procedure Num.46 (#Attr.2, #Attr.3):
let Num.273 : U8 = lowlevel NumCompare #Attr.2 #Attr.3;

View file

@ -1,43 +1,43 @@
procedure List.2 (List.67, List.68):
let List.184 : U64 = CallByName List.6 List.67;
let List.180 : Int1 = CallByName Num.22 List.68 List.184;
if List.180 then
let List.182 : I64 = CallByName List.60 List.67 List.68;
let List.181 : [C {}, C I64] = Ok List.182;
ret List.181;
procedure List.2 (List.72, List.73):
let List.259 : U64 = CallByName List.6 List.72;
let List.255 : Int1 = CallByName Num.22 List.73 List.259;
if List.255 then
let List.257 : I64 = CallByName List.60 List.72 List.73;
let List.256 : [C {}, C I64] = Ok List.257;
ret List.256;
else
let List.179 : {} = Struct {};
let List.178 : [C {}, C I64] = Err List.179;
ret List.178;
let List.254 : {} = Struct {};
let List.253 : [C {}, C I64] = Err List.254;
ret List.253;
procedure List.3 (List.76, List.77, List.78):
let List.168 : {List I64, I64} = CallByName List.57 List.76 List.77 List.78;
let List.167 : List I64 = StructAtIndex 0 List.168;
inc List.167;
dec List.168;
ret List.167;
procedure List.3 (List.81, List.82, List.83):
let List.243 : {List I64, I64} = CallByName List.57 List.81 List.82 List.83;
let List.242 : List I64 = StructAtIndex 0 List.243;
inc List.242;
dec List.243;
ret List.242;
procedure List.57 (List.73, List.74, List.75):
let List.190 : U64 = CallByName List.6 List.73;
let List.187 : Int1 = CallByName Num.22 List.74 List.190;
if List.187 then
let List.188 : {List I64, I64} = CallByName List.61 List.73 List.74 List.75;
ret List.188;
procedure List.57 (List.78, List.79, List.80):
let List.265 : U64 = CallByName List.6 List.78;
let List.262 : Int1 = CallByName Num.22 List.79 List.265;
if List.262 then
let List.263 : {List I64, I64} = CallByName List.61 List.78 List.79 List.80;
ret List.263;
else
let List.186 : {List I64, I64} = Struct {List.73, List.75};
ret List.186;
let List.261 : {List I64, I64} = Struct {List.78, List.80};
ret List.261;
procedure List.6 (#Attr.2):
let List.191 : U64 = lowlevel ListLen #Attr.2;
ret List.191;
let List.266 : U64 = lowlevel ListLen #Attr.2;
ret List.266;
procedure List.60 (#Attr.2, #Attr.3):
let List.192 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.192;
let List.267 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.267;
procedure List.61 (#Attr.2, #Attr.3, #Attr.4):
let List.189 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.189;
let List.264 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.264;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.275 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,43 +1,43 @@
procedure List.2 (List.67, List.68):
let List.184 : U64 = CallByName List.6 List.67;
let List.180 : Int1 = CallByName Num.22 List.68 List.184;
if List.180 then
let List.182 : I64 = CallByName List.60 List.67 List.68;
let List.181 : [C {}, C I64] = Ok List.182;
ret List.181;
procedure List.2 (List.72, List.73):
let List.259 : U64 = CallByName List.6 List.72;
let List.255 : Int1 = CallByName Num.22 List.73 List.259;
if List.255 then
let List.257 : I64 = CallByName List.60 List.72 List.73;
let List.256 : [C {}, C I64] = Ok List.257;
ret List.256;
else
let List.179 : {} = Struct {};
let List.178 : [C {}, C I64] = Err List.179;
ret List.178;
let List.254 : {} = Struct {};
let List.253 : [C {}, C I64] = Err List.254;
ret List.253;
procedure List.3 (List.76, List.77, List.78):
let List.168 : {List I64, I64} = CallByName List.57 List.76 List.77 List.78;
let List.167 : List I64 = StructAtIndex 0 List.168;
inc List.167;
dec List.168;
ret List.167;
procedure List.3 (List.81, List.82, List.83):
let List.243 : {List I64, I64} = CallByName List.57 List.81 List.82 List.83;
let List.242 : List I64 = StructAtIndex 0 List.243;
inc List.242;
dec List.243;
ret List.242;
procedure List.57 (List.73, List.74, List.75):
let List.190 : U64 = CallByName List.6 List.73;
let List.187 : Int1 = CallByName Num.22 List.74 List.190;
if List.187 then
let List.188 : {List I64, I64} = CallByName List.61 List.73 List.74 List.75;
ret List.188;
procedure List.57 (List.78, List.79, List.80):
let List.265 : U64 = CallByName List.6 List.78;
let List.262 : Int1 = CallByName Num.22 List.79 List.265;
if List.262 then
let List.263 : {List I64, I64} = CallByName List.61 List.78 List.79 List.80;
ret List.263;
else
let List.186 : {List I64, I64} = Struct {List.73, List.75};
ret List.186;
let List.261 : {List I64, I64} = Struct {List.78, List.80};
ret List.261;
procedure List.6 (#Attr.2):
let List.191 : U64 = lowlevel ListLen #Attr.2;
ret List.191;
let List.266 : U64 = lowlevel ListLen #Attr.2;
ret List.266;
procedure List.60 (#Attr.2, #Attr.3):
let List.192 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.192;
let List.267 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.267;
procedure List.61 (#Attr.2, #Attr.3, #Attr.4):
let List.189 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.189;
let List.264 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.264;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.275 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;