Correctly introduce new recursion variables at the correct rank

This commit is contained in:
Ayaz Hafiz 2023-04-20 17:30:04 -05:00
parent 7beee4e1f3
commit 5ec2715820
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
4 changed files with 56 additions and 12 deletions

View file

@ -0,0 +1,10 @@
app "test" provides [main] to "./platform"
main = isCorrectOrder (IsList [IsStr ""])
# ^^^^^^^^^^^^^^ [IsList (List [IsList (List a), IsStr Str]), IsStr Str] -[[isCorrectOrder(1)]]-> Bool
isCorrectOrder = \pair ->
#^^^^^^^^^^^^^^{-1} [IsList (List [IsList (List a), IsStr *]), IsStr *] -[[isCorrectOrder(1)]]-> Bool
when pair is
IsList l -> List.all l isCorrectOrder
IsStr _ -> isCorrectOrder (IsList [pair])