From 7973b70832e9f065f59a50cca16e85b5a7569519 Mon Sep 17 00:00:00 2001 From: Yura Lazarev Date: Sat, 13 Jun 2026 23:02:52 +0200 Subject: [PATCH] test: golden for Data.String.CodePoints over UTF-8 (closes #36) Add Golden.StringCodePoints exercising the implemented CodePoints (Unisay/purescript-lua-strings v6.2.0) end to end: decode, length vs byte length, take/drop on code-point boundaries, codePointAt including an astral code point, uncons, encode round-trip and singleton. Output is all Ints/Bools so the eval golden stays ASCII. Bump test/ps to package set psc-0.15.15-20260613-2 (strings v6.2.0 and prelude v7.2.1). The prelude bump reflows the version paths embedded in every golden.ir and updates Show.lua in CharLiterals golden.lua (the Lua 5.1 fixes); no eval golden changed. luacheck on generated goldens now also passes --no-redefined: linked library fallbacks reuse a parameter name and shadow, which is harmless in generated code (same rationale as the existing --no-unused). --- .../PureScript/Backend/Lua/Golden/Spec.hs | 2 + .../golden/Golden/StringCodePoints/Test.purs | 48 + .../output/Golden.ArrayOfUnits.Test/golden.ir | 6 +- .../Golden.BugListGenericEq.Test/golden.ir | 6 +- .../output/Golden.CharLiterals.Test/golden.ir | 6 +- .../Golden.CharLiterals.Test/golden.lua | 4 +- .../Golden.DerivedFunctor.Test/golden.ir | 4 +- .../ps/output/Golden.Fibonacci.Test/golden.ir | 6 +- .../Golden.GenericEqTwoTypes.Test/golden.ir | 6 +- .../output/Golden.HelloPrelude.Test/golden.ir | 2 +- test/ps/output/Golden.Issue37.Test/golden.ir | 2 +- .../output/Golden.MaybeChain.Test/golden.ir | 2 +- .../Golden.ProfunctorDictLens.Test/golden.ir | 6 +- .../Golden.StringCodePoints.Test/corefn.json | 1 + .../eval/.gitignore | 1 + .../eval/golden.txt | 12 + .../Golden.StringCodePoints.Test/golden.ir | 3043 +++++++++++++++++ .../Golden.StringCodePoints.Test/golden.lua | 764 +++++ test/ps/packages.dhall | 4 +- test/ps/spago.dhall | 3 + 20 files changed, 3901 insertions(+), 27 deletions(-) create mode 100644 test/ps/golden/Golden/StringCodePoints/Test.purs create mode 100644 test/ps/output/Golden.StringCodePoints.Test/corefn.json create mode 100644 test/ps/output/Golden.StringCodePoints.Test/eval/.gitignore create mode 100644 test/ps/output/Golden.StringCodePoints.Test/eval/golden.txt create mode 100644 test/ps/output/Golden.StringCodePoints.Test/golden.ir create mode 100644 test/ps/output/Golden.StringCodePoints.Test/golden.lua diff --git a/test/Language/PureScript/Backend/Lua/Golden/Spec.hs b/test/Language/PureScript/Backend/Lua/Golden/Spec.hs index 50ba4a7..9e3df3f 100644 --- a/test/Language/PureScript/Backend/Lua/Golden/Spec.hs +++ b/test/Language/PureScript/Backend/Lua/Golden/Spec.hs @@ -165,6 +165,8 @@ spec = do , "--std min" , "--no-color" , "--no-unused" -- TODO: harden eventually + , "--no-redefined" -- generated code shadows freely (e.g. + -- inlined library fallbacks reusing a parameter name) , "--no-max-line-length" , "--formatter plain" , "--allow-defined" diff --git a/test/ps/golden/Golden/StringCodePoints/Test.purs b/test/ps/golden/Golden/StringCodePoints/Test.purs new file mode 100644 index 0000000..32b68ff --- /dev/null +++ b/test/ps/golden/Golden/StringCodePoints/Test.purs @@ -0,0 +1,48 @@ +-- Exercises Data.String.CodePoints end to end on the released package set +-- (Unisay/purescript-lua-strings v6.2.0). The test string mixes UTF-8 widths +-- 1..4: 'a' (1 byte), 'é' (2), 'Я' (2, Cyrillic), '𝐀' (4, astral), 'z' (1). +-- Output is all Ints/Bools via fromEnum so the golden stays ASCII and does +-- not depend on how strings are shown. +module Golden.StringCodePoints.Test where + +import Prelude + +import Data.Enum (fromEnum, toEnum) +import Data.Maybe (fromJust) +import Data.String.CodePoints (CodePoint) +import Data.String.CodePoints as SCP +import Data.String.CodeUnits as SCU +import Effect (Effect) +import Effect.Console (logShow) +import Partial.Unsafe (unsafePartial) + +str :: String +str = "aéЯ𝐀z" + +codes :: String -> Array Int +codes = map fromEnum <<< SCP.toCodePointArray + +main :: Effect Unit +main = do + -- decode every code point + logShow (codes str) + -- code-point length vs byte length + logShow (SCP.length str) + logShow (SCU.length str) + -- take/drop split on a code-point boundary (not mid-multibyte) + logShow (codes (SCP.take 2 str)) + logShow (codes (SCP.drop 2 str)) + -- indexing, including the astral code point and out of range + logShow (fromEnum <$> SCP.codePointAt 0 str) + logShow (fromEnum <$> SCP.codePointAt 3 str) + logShow (fromEnum <$> SCP.codePointAt 5 str) + -- uncons head and the decoded tail + logShow ((fromEnum <<< _.head) <$> SCP.uncons str) + logShow ((codes <<< _.tail) <$> SCP.uncons str) + -- encode round-trips back to the original bytes + logShow (SCP.fromCodePointArray (SCP.toCodePointArray str) == str) + -- singleton of an astral code point decodes back to itself + logShow (codes (SCP.singleton (cp 0x1D400))) + +cp :: Int -> CodePoint +cp = unsafePartial fromJust <<< toEnum diff --git a/test/ps/output/Golden.ArrayOfUnits.Test/golden.ir b/test/ps/output/Golden.ArrayOfUnits.Test/golden.ir index 7d484a1..6244fc6 100644 --- a/test/ps/output/Golden.ArrayOfUnits.Test/golden.ir +++ b/test/ps/output/Golden.ArrayOfUnits.Test/golden.ir @@ -4,13 +4,13 @@ UberModule ( QName { qnameModuleName = ModuleName "Data.Unit", qnameName = Name "foreign" }, ForeignImport Nothing - ( ModuleName "Data.Unit" ) ".spago/prelude/v7.2.0/src/Data/Unit.purs" + ( ModuleName "Data.Unit" ) ".spago/prelude/v7.2.1/src/Data/Unit.purs" [ ( Just Always, Name "unit" ) ] ), Standalone ( QName { qnameModuleName = ModuleName "Data.Semiring", qnameName = Name "foreign" }, ForeignImport Nothing - ( ModuleName "Data.Semiring" ) ".spago/prelude/v7.2.0/src/Data/Semiring.purs" + ( ModuleName "Data.Semiring" ) ".spago/prelude/v7.2.1/src/Data/Semiring.purs" [ ( Nothing, Name "intAdd" ), ( Nothing, Name "intMul" ) ] ), Standalone ( QName @@ -552,7 +552,7 @@ UberModule [ ( PropName "show", ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Data.Show" ) ".spago/prelude/v7.2.0/src/Data/Show.purs" + ( ModuleName "Data.Show" ) ".spago/prelude/v7.2.1/src/Data/Show.purs" [ ( Nothing, Name "showIntImpl" ) ] ) ( PropName "showIntImpl" ) diff --git a/test/ps/output/Golden.BugListGenericEq.Test/golden.ir b/test/ps/output/Golden.BugListGenericEq.Test/golden.ir index 672bd68..f1dc37f 100644 --- a/test/ps/output/Golden.BugListGenericEq.Test/golden.ir +++ b/test/ps/output/Golden.BugListGenericEq.Test/golden.ir @@ -4,7 +4,7 @@ UberModule ( QName { qnameModuleName = ModuleName "Data.HeytingAlgebra", qnameName = Name "foreign" }, ForeignImport Nothing - ( ModuleName "Data.HeytingAlgebra" ) ".spago/prelude/v7.2.0/src/Data/HeytingAlgebra.purs" + ( ModuleName "Data.HeytingAlgebra" ) ".spago/prelude/v7.2.1/src/Data/HeytingAlgebra.purs" [ ( Nothing, Name "boolConj" ), ( Nothing, Name "boolDisj" ), ( Nothing, Name "boolNot" ) ] ), Standalone ( QName @@ -120,7 +120,7 @@ UberModule ( Nothing, Name "get", App Nothing ( ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Record.Unsafe" ) ".spago/prelude/v7.2.0/src/Record/Unsafe.purs" + ( ModuleName "Record.Unsafe" ) ".spago/prelude/v7.2.1/src/Record/Unsafe.purs" [ ( Nothing, Name "unsafeGet" ) ] ) ( PropName "unsafeGet" ) @@ -883,7 +883,7 @@ UberModule [ ( PropName "eq", ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Data.Eq" ) ".spago/prelude/v7.2.0/src/Data/Eq.purs" + ( ModuleName "Data.Eq" ) ".spago/prelude/v7.2.1/src/Data/Eq.purs" [ ( Nothing, Name "eqIntImpl" ) ] ) ( PropName "eqIntImpl" ) diff --git a/test/ps/output/Golden.CharLiterals.Test/golden.ir b/test/ps/output/Golden.CharLiterals.Test/golden.ir index ac1a435..2d1b1fa 100644 --- a/test/ps/output/Golden.CharLiterals.Test/golden.ir +++ b/test/ps/output/Golden.CharLiterals.Test/golden.ir @@ -19,7 +19,7 @@ UberModule [ ( PropName "eq", ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Data.Eq" ) ".spago/prelude/v7.2.0/src/Data/Eq.purs" + ( ModuleName "Data.Eq" ) ".spago/prelude/v7.2.1/src/Data/Eq.purs" [ ( Nothing, Name "eqCharImpl" ) ] ) ( PropName "eqCharImpl" ) @@ -266,7 +266,7 @@ UberModule [ ( PropName "show", ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Data.Show" ) ".spago/prelude/v7.2.0/src/Data/Show.purs" + ( ModuleName "Data.Show" ) ".spago/prelude/v7.2.1/src/Data/Show.purs" [ ( Nothing, Name "showCharImpl" ) ] ) ( PropName "showCharImpl" ) @@ -511,7 +511,7 @@ UberModule ( App Nothing ( ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Data.Ord" ) ".spago/prelude/v7.2.0/src/Data/Ord.purs" + ( ModuleName "Data.Ord" ) ".spago/prelude/v7.2.1/src/Data/Ord.purs" [ ( Nothing, Name "ordCharImpl" ) ] ) ( PropName "ordCharImpl" ) diff --git a/test/ps/output/Golden.CharLiterals.Test/golden.lua b/test/ps/output/Golden.CharLiterals.Test/golden.lua index c5e43fb..0faefe2 100644 --- a/test/ps/output/Golden.CharLiterals.Test/golden.lua +++ b/test/ps/output/Golden.CharLiterals.Test/golden.lua @@ -90,14 +90,14 @@ M.Golden_CharLiterals_Test_show = M.Data_Show_show({ show = function(n) local code = n:byte() if code < 0x20 or code == 0x7F then - if n == "\x07" then return "'\\a'" end + if n == "\a" then return "'\\a'" end if n == "\b" then return "'\\b'" end if n == "\f" then return "'\\f'" end if n == "\n" then return "'\\n'" end if n == "\r" then return "'\\r'" end if n == "\t" then return "'\\t'" end if n == "\v" then return "'\\v'" end - return "'\\" .. code:toString(10) .. "'" + return "'\\" .. tostring(code) .. "'" end if n == "'" or n == "\\" then return "'\\" .. n .. "'" end return "'" .. n .. "'" diff --git a/test/ps/output/Golden.DerivedFunctor.Test/golden.ir b/test/ps/output/Golden.DerivedFunctor.Test/golden.ir index 021f2f6..3c06bf6 100644 --- a/test/ps/output/Golden.DerivedFunctor.Test/golden.ir +++ b/test/ps/output/Golden.DerivedFunctor.Test/golden.ir @@ -4,7 +4,7 @@ UberModule ( QName { qnameModuleName = ModuleName "Data.Semiring", qnameName = Name "foreign" }, ForeignImport Nothing - ( ModuleName "Data.Semiring" ) ".spago/prelude/v7.2.0/src/Data/Semiring.purs" + ( ModuleName "Data.Semiring" ) ".spago/prelude/v7.2.1/src/Data/Semiring.purs" [ ( Nothing, Name "intAdd" ), ( Nothing, Name "intMul" ) ] ), Standalone ( QName @@ -285,7 +285,7 @@ UberModule [ ( PropName "show", ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Data.Show" ) ".spago/prelude/v7.2.0/src/Data/Show.purs" + ( ModuleName "Data.Show" ) ".spago/prelude/v7.2.1/src/Data/Show.purs" [ ( Nothing, Name "showIntImpl" ) ] ) ( PropName "showIntImpl" ) diff --git a/test/ps/output/Golden.Fibonacci.Test/golden.ir b/test/ps/output/Golden.Fibonacci.Test/golden.ir index 8296ee6..e4d6877 100644 --- a/test/ps/output/Golden.Fibonacci.Test/golden.ir +++ b/test/ps/output/Golden.Fibonacci.Test/golden.ir @@ -4,7 +4,7 @@ UberModule ( QName { qnameModuleName = ModuleName "Data.Semiring", qnameName = Name "foreign" }, ForeignImport Nothing - ( ModuleName "Data.Semiring" ) ".spago/prelude/v7.2.0/src/Data/Semiring.purs" + ( ModuleName "Data.Semiring" ) ".spago/prelude/v7.2.1/src/Data/Semiring.purs" [ ( Nothing, Name "intAdd" ), ( Nothing, Name "intMul" ) ] ), Standalone ( QName @@ -30,7 +30,7 @@ UberModule [ ( PropName "sub", ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Data.Ring" ) ".spago/prelude/v7.2.0/src/Data/Ring.purs" + ( ModuleName "Data.Ring" ) ".spago/prelude/v7.2.1/src/Data/Ring.purs" [ ( Nothing, Name "intSub" ) ] ) ( PropName "intSub" ) @@ -114,7 +114,7 @@ UberModule [ ( PropName "show", ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Data.Show" ) ".spago/prelude/v7.2.0/src/Data/Show.purs" + ( ModuleName "Data.Show" ) ".spago/prelude/v7.2.1/src/Data/Show.purs" [ ( Nothing, Name "showIntImpl" ) ] ) ( PropName "showIntImpl" ) diff --git a/test/ps/output/Golden.GenericEqTwoTypes.Test/golden.ir b/test/ps/output/Golden.GenericEqTwoTypes.Test/golden.ir index 35a5c01..a1c6973 100644 --- a/test/ps/output/Golden.GenericEqTwoTypes.Test/golden.ir +++ b/test/ps/output/Golden.GenericEqTwoTypes.Test/golden.ir @@ -4,7 +4,7 @@ UberModule ( QName { qnameModuleName = ModuleName "Data.HeytingAlgebra", qnameName = Name "foreign" }, ForeignImport Nothing - ( ModuleName "Data.HeytingAlgebra" ) ".spago/prelude/v7.2.0/src/Data/HeytingAlgebra.purs" + ( ModuleName "Data.HeytingAlgebra" ) ".spago/prelude/v7.2.1/src/Data/HeytingAlgebra.purs" [ ( Nothing, Name "boolConj" ), ( Nothing, Name "boolDisj" ), ( Nothing, Name "boolNot" ) ] ), Standalone ( QName @@ -90,7 +90,7 @@ UberModule [ ( PropName "eq", ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Data.Eq" ) ".spago/prelude/v7.2.0/src/Data/Eq.purs" + ( ModuleName "Data.Eq" ) ".spago/prelude/v7.2.1/src/Data/Eq.purs" [ ( Nothing, Name "eqIntImpl" ) ] ) ( PropName "eqIntImpl" ) @@ -132,7 +132,7 @@ UberModule ( Nothing, Name "get", App Nothing ( ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Record.Unsafe" ) ".spago/prelude/v7.2.0/src/Record/Unsafe.purs" + ( ModuleName "Record.Unsafe" ) ".spago/prelude/v7.2.1/src/Record/Unsafe.purs" [ ( Nothing, Name "unsafeGet" ) ] ) ( PropName "unsafeGet" ) diff --git a/test/ps/output/Golden.HelloPrelude.Test/golden.ir b/test/ps/output/Golden.HelloPrelude.Test/golden.ir index b7675b7..15b9f39 100644 --- a/test/ps/output/Golden.HelloPrelude.Test/golden.ir +++ b/test/ps/output/Golden.HelloPrelude.Test/golden.ir @@ -217,7 +217,7 @@ UberModule ) ( ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Data.Unit" ) ".spago/prelude/v7.2.0/src/Data/Unit.purs" + ( ModuleName "Data.Unit" ) ".spago/prelude/v7.2.1/src/Data/Unit.purs" [ ( Just Always, Name "unit" ) ] ) ( PropName "unit" ) diff --git a/test/ps/output/Golden.Issue37.Test/golden.ir b/test/ps/output/Golden.Issue37.Test/golden.ir index 346ed34..54bed84 100644 --- a/test/ps/output/Golden.Issue37.Test/golden.ir +++ b/test/ps/output/Golden.Issue37.Test/golden.ir @@ -4,7 +4,7 @@ UberModule ( QName { qnameModuleName = ModuleName "Data.Unit", qnameName = Name "foreign" }, ForeignImport Nothing - ( ModuleName "Data.Unit" ) ".spago/prelude/v7.2.0/src/Data/Unit.purs" + ( ModuleName "Data.Unit" ) ".spago/prelude/v7.2.1/src/Data/Unit.purs" [ ( Just Always, Name "unit" ) ] ), Standalone ( QName diff --git a/test/ps/output/Golden.MaybeChain.Test/golden.ir b/test/ps/output/Golden.MaybeChain.Test/golden.ir index 1b8373c..6461efd 100644 --- a/test/ps/output/Golden.MaybeChain.Test/golden.ir +++ b/test/ps/output/Golden.MaybeChain.Test/golden.ir @@ -279,7 +279,7 @@ UberModule [ ( PropName "show", ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Data.Show" ) ".spago/prelude/v7.2.0/src/Data/Show.purs" + ( ModuleName "Data.Show" ) ".spago/prelude/v7.2.1/src/Data/Show.purs" [ ( Nothing, Name "showIntImpl" ) ] ) ( PropName "showIntImpl" ) diff --git a/test/ps/output/Golden.ProfunctorDictLens.Test/golden.ir b/test/ps/output/Golden.ProfunctorDictLens.Test/golden.ir index ca8f9e1..16df027 100644 --- a/test/ps/output/Golden.ProfunctorDictLens.Test/golden.ir +++ b/test/ps/output/Golden.ProfunctorDictLens.Test/golden.ir @@ -4,7 +4,7 @@ UberModule ( QName { qnameModuleName = ModuleName "Data.Semiring", qnameName = Name "foreign" }, ForeignImport Nothing - ( ModuleName "Data.Semiring" ) ".spago/prelude/v7.2.0/src/Data/Semiring.purs" + ( ModuleName "Data.Semiring" ) ".spago/prelude/v7.2.1/src/Data/Semiring.purs" [ ( Nothing, Name "intAdd" ), ( Nothing, Name "intMul" ) ] ), Standalone ( QName @@ -368,7 +368,7 @@ UberModule [ ( PropName "show", ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Data.Show" ) ".spago/prelude/v7.2.0/src/Data/Show.purs" + ( ModuleName "Data.Show" ) ".spago/prelude/v7.2.1/src/Data/Show.purs" [ ( Nothing, Name "showIntImpl" ) ] ) ( PropName "showIntImpl" ) @@ -556,7 +556,7 @@ UberModule [ ( PropName "sub", ObjectProp ( Just Always ) ( ForeignImport Nothing - ( ModuleName "Data.Ring" ) ".spago/prelude/v7.2.0/src/Data/Ring.purs" + ( ModuleName "Data.Ring" ) ".spago/prelude/v7.2.1/src/Data/Ring.purs" [ ( Nothing, Name "intSub" ) ] ) ( PropName "intSub" ) diff --git a/test/ps/output/Golden.StringCodePoints.Test/corefn.json b/test/ps/output/Golden.StringCodePoints.Test/corefn.json new file mode 100644 index 0000000..2de48cb --- /dev/null +++ b/test/ps/output/Golden.StringCodePoints.Test/corefn.json @@ -0,0 +1 @@ +{"builtWith":"0.15.16","comments":[{"LineComment":" Exercises Data.String.CodePoints end to end on the released package set"},{"LineComment":" (Unisay/purescript-lua-strings v6.2.0). The test string mixes UTF-8 widths"},{"LineComment":" 1..4: 'a' (1 byte), 'é' (2), 'Я' (2, Cyrillic), '𝐀' (4, astral), 'z' (1)."},{"LineComment":" Output is all Ints/Bools via fromEnum so the golden stays ASCII and does"},{"LineComment":" not depend on how strings are shown."}],"decls":[{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[48,32],"start":[48,29]}},"type":"Var","value":{"identifier":"compose","moduleName":["Control","Semigroupoid"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[48,39],"start":[48,6]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"semigroupoidFn","moduleName":["Control","Semigroupoid"]}},"type":"App"},"identifier":"compose"},{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[48,28],"start":[48,20]}},"type":"Var","value":{"identifier":"fromJust","moduleName":["Data","Maybe"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[48,28],"start":[48,6]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[48,28],"start":[48,6]}},"type":"Var","value":{"identifier":"undefined","moduleName":["Prim"]}},"type":"App"},"identifier":"fromJust"},{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[23,21],"start":[23,13]}},"type":"Var","value":{"identifier":"fromEnum","moduleName":["Data","Enum"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[23,21],"start":[23,13]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"boundedEnumCodePoint","moduleName":["Data","String","CodePoints"]}},"type":"App"},"identifier":"fromEnum"},{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[28,22],"start":[28,3]}},"type":"Var","value":{"identifier":"discard","moduleName":["Control","Bind"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[28,22],"start":[28,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"discardUnit","moduleName":["Control","Bind"]}},"type":"App"},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[28,22],"start":[28,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"bindEffect","moduleName":["Effect"]}},"type":"App"},"identifier":"discard"},{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"showArray","moduleName":["Data","Show"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[28,22],"start":[28,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"showInt","moduleName":["Data","Show"]}},"type":"App"},"identifier":"showArray"},{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[28,10],"start":[28,3]}},"type":"Var","value":{"identifier":"logShow","moduleName":["Effect","Console"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[28,22],"start":[28,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"showArray","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"identifier":"logShow"},{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[30,10],"start":[30,3]}},"type":"Var","value":{"identifier":"logShow","moduleName":["Effect","Console"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[30,27],"start":[30,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"showInt","moduleName":["Data","Show"]}},"type":"App"},"identifier":"logShow1"},{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[36,10],"start":[36,3]}},"type":"Var","value":{"identifier":"logShow","moduleName":["Effect","Console"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[36,47],"start":[36,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"showMaybe","moduleName":["Data","Maybe"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[36,47],"start":[36,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"showInt","moduleName":["Data","Show"]}},"type":"App"},"type":"App"},"identifier":"logShow2"},{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[36,24],"start":[36,21]}},"type":"Var","value":{"identifier":"map","moduleName":["Data","Functor"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[36,46],"start":[36,12]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"functorMaybe","moduleName":["Data","Maybe"]}},"type":"App"},"identifier":"map"},{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[41,10],"start":[41,3]}},"type":"Var","value":{"identifier":"logShow","moduleName":["Effect","Console"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[41,50],"start":[41,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"showMaybe","moduleName":["Data","Maybe"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[41,50],"start":[41,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"showArray","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"identifier":"logShow3"},{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[43,10],"start":[43,3]}},"type":"Var","value":{"identifier":"logShow","moduleName":["Effect","Console"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[43,69],"start":[43,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"showBoolean","moduleName":["Data","Show"]}},"type":"App"},"identifier":"logShow4"},{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[43,64],"start":[43,62]}},"type":"Var","value":{"identifier":"eq","moduleName":["Data","Eq"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[43,68],"start":[43,12]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"eqString","moduleName":["Data","Eq"]}},"type":"App"},"identifier":"eq"},{"annotation":{"meta":null,"sourceSpan":{"end":[19,14],"start":[19,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[20,14],"start":[20,7]}},"type":"Literal","value":{"literalType":"StringLiteral","value":"aéЯ𝐀z"}},"identifier":"str"},{"annotation":{"meta":null,"sourceSpan":{"end":[47,23],"start":[47,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"compose","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[48,6]}},"argument":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[48,19],"start":[48,6]}},"type":"Var","value":{"identifier":"unsafePartial","moduleName":["Partial","Unsafe"]}},"annotation":{"meta":null,"sourceSpan":{"end":[48,28],"start":[48,6]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[48,28],"start":[48,6]}},"argument":"$__unused","body":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"fromJust","moduleName":["Golden","StringCodePoints","Test"]}},"type":"Abs"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[48,6]}},"argument":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[48,39],"start":[48,33]}},"type":"Var","value":{"identifier":"toEnum","moduleName":["Data","Enum"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[48,39],"start":[48,33]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"boundedEnumCodePoint","moduleName":["Data","String","CodePoints"]}},"type":"App"},"type":"App"},"identifier":"cp"},{"annotation":{"meta":null,"sourceSpan":{"end":[22,29],"start":[22,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"compose","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[23,46],"start":[23,9]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[23,12],"start":[23,9]}},"type":"Var","value":{"identifier":"map","moduleName":["Data","Functor"]}},"annotation":{"meta":{"metaType":"IsSyntheticApp"},"sourceSpan":{"end":[23,21],"start":[23,9]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"functorArray","moduleName":["Data","Functor"]}},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[23,21],"start":[23,9]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"fromEnum","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[23,46],"start":[23,9]}},"argument":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[23,46],"start":[23,26]}},"type":"Var","value":{"identifier":"toCodePointArray","moduleName":["Data","String","CodePoints"]}},"type":"App"},"identifier":"codes"},{"annotation":{"meta":null,"sourceSpan":{"end":[25,20],"start":[25,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"discard","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[28,22],"start":[28,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"logShow","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[28,22],"start":[28,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[28,17],"start":[28,12]}},"type":"Var","value":{"identifier":"codes","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[28,21],"start":[28,12]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[28,21],"start":[28,18]}},"type":"Var","value":{"identifier":"str","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[28,22],"start":[28,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[28,22],"start":[28,3]}},"argument":"$__unused","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"discard","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"logShow1","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"argument":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[30,22],"start":[30,12]}},"type":"Var","value":{"identifier":"length","moduleName":["Data","String","CodePoints"]}},"annotation":{"meta":null,"sourceSpan":{"end":[30,26],"start":[30,12]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[30,26],"start":[30,23]}},"type":"Var","value":{"identifier":"str","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"argument":"$__unused","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"discard","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[31,27],"start":[31,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"logShow1","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[31,27],"start":[31,3]}},"argument":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[31,22],"start":[31,12]}},"type":"Var","value":{"identifier":"length","moduleName":["Data","String","CodeUnits"]}},"annotation":{"meta":null,"sourceSpan":{"end":[31,26],"start":[31,12]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[31,26],"start":[31,23]}},"type":"Var","value":{"identifier":"str","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[31,27],"start":[31,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[31,27],"start":[31,3]}},"argument":"$__unused","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"discard","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[33,35],"start":[33,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"logShow","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[33,35],"start":[33,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[33,17],"start":[33,12]}},"type":"Var","value":{"identifier":"codes","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[33,34],"start":[33,12]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[33,27],"start":[33,19]}},"type":"Var","value":{"identifier":"take","moduleName":["Data","String","CodePoints"]}},"annotation":{"meta":null,"sourceSpan":{"end":[33,29],"start":[33,19]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[33,29],"start":[33,28]}},"type":"Literal","value":{"literalType":"IntLiteral","value":2}},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[33,33],"start":[33,19]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[33,33],"start":[33,30]}},"type":"Var","value":{"identifier":"str","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[33,35],"start":[33,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[33,35],"start":[33,3]}},"argument":"$__unused","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"discard","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[34,35],"start":[34,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"logShow","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[34,35],"start":[34,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[34,17],"start":[34,12]}},"type":"Var","value":{"identifier":"codes","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[34,34],"start":[34,12]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[34,27],"start":[34,19]}},"type":"Var","value":{"identifier":"drop","moduleName":["Data","String","CodePoints"]}},"annotation":{"meta":null,"sourceSpan":{"end":[34,29],"start":[34,19]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[34,29],"start":[34,28]}},"type":"Literal","value":{"literalType":"IntLiteral","value":2}},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[34,33],"start":[34,19]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[34,33],"start":[34,30]}},"type":"Var","value":{"identifier":"str","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[34,35],"start":[34,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[34,35],"start":[34,3]}},"argument":"$__unused","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"discard","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[36,47],"start":[36,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"logShow2","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[36,47],"start":[36,3]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"map","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[36,46],"start":[36,12]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"fromEnum","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[36,46],"start":[36,12]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[36,40],"start":[36,25]}},"type":"Var","value":{"identifier":"codePointAt","moduleName":["Data","String","CodePoints"]}},"annotation":{"meta":null,"sourceSpan":{"end":[36,42],"start":[36,25]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[36,42],"start":[36,41]}},"type":"Literal","value":{"literalType":"IntLiteral","value":0}},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[36,46],"start":[36,25]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[36,46],"start":[36,43]}},"type":"Var","value":{"identifier":"str","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[36,47],"start":[36,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[36,47],"start":[36,3]}},"argument":"$__unused","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"discard","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[37,47],"start":[37,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"logShow2","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[37,47],"start":[37,3]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"map","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[37,46],"start":[37,12]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"fromEnum","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[37,46],"start":[37,12]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[37,40],"start":[37,25]}},"type":"Var","value":{"identifier":"codePointAt","moduleName":["Data","String","CodePoints"]}},"annotation":{"meta":null,"sourceSpan":{"end":[37,42],"start":[37,25]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[37,42],"start":[37,41]}},"type":"Literal","value":{"literalType":"IntLiteral","value":3}},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[37,46],"start":[37,25]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[37,46],"start":[37,43]}},"type":"Var","value":{"identifier":"str","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[37,47],"start":[37,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[37,47],"start":[37,3]}},"argument":"$__unused","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"discard","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[38,47],"start":[38,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"logShow2","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[38,47],"start":[38,3]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"map","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[38,46],"start":[38,12]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"fromEnum","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[38,46],"start":[38,12]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[38,40],"start":[38,25]}},"type":"Var","value":{"identifier":"codePointAt","moduleName":["Data","String","CodePoints"]}},"annotation":{"meta":null,"sourceSpan":{"end":[38,42],"start":[38,25]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[38,42],"start":[38,41]}},"type":"Literal","value":{"literalType":"IntLiteral","value":5}},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[38,46],"start":[38,25]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[38,46],"start":[38,43]}},"type":"Var","value":{"identifier":"str","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[38,47],"start":[38,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[38,47],"start":[38,3]}},"argument":"$__unused","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"discard","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[40,53],"start":[40,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"logShow2","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[40,53],"start":[40,3]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"map","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[40,52],"start":[40,12]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"compose","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[40,32],"start":[40,13]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"fromEnum","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[40,32],"start":[40,13]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[40,32],"start":[40,26]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[40,32],"start":[40,26]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"v","sourcePos":[0,0]}},"fieldName":"head","type":"Accessor"},"type":"Abs"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[40,52],"start":[40,12]}},"argument":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[40,48],"start":[40,38]}},"type":"Var","value":{"identifier":"uncons","moduleName":["Data","String","CodePoints"]}},"annotation":{"meta":null,"sourceSpan":{"end":[40,52],"start":[40,38]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[40,52],"start":[40,49]}},"type":"Var","value":{"identifier":"str","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[40,53],"start":[40,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[40,53],"start":[40,3]}},"argument":"$__unused","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"discard","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[41,50],"start":[41,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"logShow3","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[41,50],"start":[41,3]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"map","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[41,49],"start":[41,12]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"compose","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[41,29],"start":[41,13]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[41,18],"start":[41,13]}},"type":"Var","value":{"identifier":"codes","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[41,29],"start":[41,13]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[41,29],"start":[41,23]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[41,29],"start":[41,23]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"v","sourcePos":[0,0]}},"fieldName":"tail","type":"Accessor"},"type":"Abs"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[41,49],"start":[41,12]}},"argument":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[41,45],"start":[41,35]}},"type":"Var","value":{"identifier":"uncons","moduleName":["Data","String","CodePoints"]}},"annotation":{"meta":null,"sourceSpan":{"end":[41,49],"start":[41,35]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[41,49],"start":[41,46]}},"type":"Var","value":{"identifier":"str","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[41,50],"start":[41,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[41,50],"start":[41,3]}},"argument":"$__unused","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"discard","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[43,69],"start":[43,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"logShow4","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[43,69],"start":[43,3]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"eq","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[43,68],"start":[43,12]}},"argument":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[43,34],"start":[43,12]}},"type":"Var","value":{"identifier":"fromCodePointArray","moduleName":["Data","String","CodePoints"]}},"annotation":{"meta":null,"sourceSpan":{"end":[43,61],"start":[43,12]}},"argument":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[43,56],"start":[43,36]}},"type":"Var","value":{"identifier":"toCodePointArray","moduleName":["Data","String","CodePoints"]}},"annotation":{"meta":null,"sourceSpan":{"end":[43,60],"start":[43,36]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[43,60],"start":[43,57]}},"type":"Var","value":{"identifier":"str","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[43,68],"start":[43,12]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[43,68],"start":[43,65]}},"type":"Var","value":{"identifier":"str","moduleName":["Golden","StringCodePoints","Test"]}},"type":"App"},"type":"App"},"type":"App"},"annotation":{"meta":null,"sourceSpan":{"end":[43,69],"start":[43,3]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[43,69],"start":[43,3]}},"argument":"$__unused","body":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"type":"Var","value":{"identifier":"logShow","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[45,47],"start":[45,3]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[45,17],"start":[45,12]}},"type":"Var","value":{"identifier":"codes","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[45,46],"start":[45,12]}},"argument":{"abstraction":{"annotation":{"meta":{"metaType":"IsForeign"},"sourceSpan":{"end":[45,32],"start":[45,19]}},"type":"Var","value":{"identifier":"singleton","moduleName":["Data","String","CodePoints"]}},"annotation":{"meta":null,"sourceSpan":{"end":[45,45],"start":[45,19]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[45,36],"start":[45,34]}},"type":"Var","value":{"identifier":"cp","moduleName":["Golden","StringCodePoints","Test"]}},"annotation":{"meta":null,"sourceSpan":{"end":[45,44],"start":[45,34]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[45,44],"start":[45,37]}},"type":"Literal","value":{"literalType":"IntLiteral","value":119808}},"type":"App"},"type":"App"},"type":"App"},"type":"App"},"type":"Abs"},"type":"App"},"type":"Abs"},"type":"App"},"type":"Abs"},"type":"App"},"type":"Abs"},"type":"App"},"type":"Abs"},"type":"App"},"type":"Abs"},"type":"App"},"type":"Abs"},"type":"App"},"type":"Abs"},"type":"App"},"type":"Abs"},"type":"App"},"type":"Abs"},"type":"App"},"type":"Abs"},"type":"App"},"identifier":"main"}],"exports":["str","codes","main","cp"],"foreign":[],"imports":[{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Control","Bind"]},{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Control","Semigroupoid"]},{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Data","Enum"]},{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Data","Eq"]},{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Data","Functor"]},{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Data","Maybe"]},{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Data","Show"]},{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Data","String","CodePoints"]},{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Data","String","CodeUnits"]},{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Effect"]},{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Effect","Console"]},{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Golden","StringCodePoints","Test"]},{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Partial","Unsafe"]},{"annotation":{"meta":null,"sourceSpan":{"end":[8,15],"start":[8,1]}},"moduleName":["Prelude"]},{"annotation":{"meta":null,"sourceSpan":{"end":[48,39],"start":[6,1]}},"moduleName":["Prim"]}],"moduleName":["Golden","StringCodePoints","Test"],"modulePath":"golden/Golden/StringCodePoints/Test.purs","reExports":{},"sourceSpan":{"end":[48,39],"start":[6,1]}} \ No newline at end of file diff --git a/test/ps/output/Golden.StringCodePoints.Test/eval/.gitignore b/test/ps/output/Golden.StringCodePoints.Test/eval/.gitignore new file mode 100644 index 0000000..d2dc29b --- /dev/null +++ b/test/ps/output/Golden.StringCodePoints.Test/eval/.gitignore @@ -0,0 +1 @@ +actual.txt diff --git a/test/ps/output/Golden.StringCodePoints.Test/eval/golden.txt b/test/ps/output/Golden.StringCodePoints.Test/eval/golden.txt new file mode 100644 index 0000000..4853a97 --- /dev/null +++ b/test/ps/output/Golden.StringCodePoints.Test/eval/golden.txt @@ -0,0 +1,12 @@ +[97,233,1071,119808,122] +5 +10 +[97,233] +[1071,119808,122] +(Just 97) +(Just 119808) +Nothing +(Just 97) +(Just [233,1071,119808,122]) +true +[119808] diff --git a/test/ps/output/Golden.StringCodePoints.Test/golden.ir b/test/ps/output/Golden.StringCodePoints.Test/golden.ir new file mode 100644 index 0000000..7701eac --- /dev/null +++ b/test/ps/output/Golden.StringCodePoints.Test/golden.ir @@ -0,0 +1,3043 @@ +UberModule + { uberModuleBindings = + [ Standalone + ( QName + { qnameModuleName = ModuleName "Data.HeytingAlgebra", qnameName = Name "foreign" + }, ForeignImport Nothing + ( ModuleName "Data.HeytingAlgebra" ) ".spago/prelude/v7.2.1/src/Data/HeytingAlgebra.purs" + [ ( Nothing, Name "boolConj" ), ( Nothing, Name "boolDisj" ), ( Nothing, Name "boolNot" ) ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Eq", qnameName = Name "foreign" + }, ForeignImport Nothing + ( ModuleName "Data.Eq" ) ".spago/prelude/v7.2.1/src/Data/Eq.purs" + [ + ( Nothing, Name "eqIntImpl" ), + ( Nothing, Name "eqCharImpl" ), + ( Nothing, Name "eqStringImpl" ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Show", qnameName = Name "foreign" + }, ForeignImport Nothing + ( ModuleName "Data.Show" ) ".spago/prelude/v7.2.1/src/Data/Show.purs" + [ ( Nothing, Name "showIntImpl" ), ( Nothing, Name "showArrayImpl" ) ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Semiring", qnameName = Name "foreign" + }, ForeignImport Nothing + ( ModuleName "Data.Semiring" ) ".spago/prelude/v7.2.1/src/Data/Semiring.purs" + [ ( Nothing, Name "intAdd" ), ( Nothing, Name "intMul" ) ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Ord", qnameName = Name "foreign" + }, ForeignImport Nothing + ( ModuleName "Data.Ord" ) ".spago/prelude/v7.2.1/src/Data/Ord.purs" + [ ( Nothing, Name "ordIntImpl" ), ( Nothing, Name "ordCharImpl" ) ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Bounded", qnameName = Name "foreign" + }, ForeignImport Nothing + ( ModuleName "Data.Bounded" ) ".spago/prelude/v7.2.1/src/Data/Bounded.purs" + [ ( Nothing, Name "topChar" ), ( Nothing, Name "bottomChar" ) ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.EuclideanRing", qnameName = Name "foreign" + }, ForeignImport Nothing + ( ModuleName "Data.EuclideanRing" ) ".spago/prelude/v7.2.1/src/Data/EuclideanRing.purs" + [ ( Nothing, Name "intDegree" ), ( Nothing, Name "intDiv" ), ( Nothing, Name "intMod" ) ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Effect", qnameName = Name "foreign" + }, ForeignImport Nothing + ( ModuleName "Effect" ) ".spago/effect/v4.1.0/src/Effect.purs" + [ ( Nothing, Name "pureE" ), ( Nothing, Name "bindE" ) ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Enum", qnameName = Name "foreign" + }, ForeignImport Nothing + ( ModuleName "Data.Enum" ) ".spago/enums/v6.1.0/src/Data/Enum.purs" + [ ( Nothing, Name "toCharCode" ), ( Nothing, Name "fromCharCode" ) ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodeUnits", qnameName = Name "foreign" + }, ForeignImport Nothing + ( ModuleName "Data.String.CodeUnits" ) ".spago/strings/v6.2.0/src/Data/String/CodeUnits.purs" + [ ( Nothing, Name "singleton" ), ( Nothing, Name "length" ), ( Nothing, Name "drop" ) ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "foreign" + }, ForeignImport Nothing + ( ModuleName "Data.String.CodePoints" ) ".spago/strings/v6.2.0/src/Data/String/CodePoints.purs" + [ + ( Nothing, Name "_singleton" ), + ( Nothing, Name "_fromCodePointArray" ), + ( Nothing, Name "_toCodePointArray" ), + ( Nothing, Name "_codePointAt" ), + ( Nothing, Name "_take" ), + ( Nothing, Name "_unsafeCodePointAt0" ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Control.Semigroupoid", qnameName = Name "semigroupoidFn" + }, LiteralObject Nothing + [ + ( PropName "compose", Abs Nothing + ( ParamNamed Nothing ( Name "f" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "g" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "x" ) ) + ( App Nothing + ( Ref Nothing ( Local ( Name "f" ) ) 0 ) + ( App Nothing + ( Ref Nothing ( Local ( Name "g" ) ) 0 ) + ( Ref Nothing ( Local ( Name "x" ) ) 0 ) + ) + ) + ) + ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Control.Semigroupoid", qnameName = Name "compose" + }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "compose" ) ) + ), RecursiveGroup + ( + ( QName + { qnameModuleName = ModuleName "Data.HeytingAlgebra", qnameName = Name "heytingAlgebraBoolean" + }, LiteralObject Nothing + [ + ( PropName "ff", LiteralBool Nothing False ), + ( PropName "tt", LiteralBool Nothing True ), + ( PropName "implies", Abs Nothing + ( ParamNamed Nothing ( Name "a" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "b" ) ) + ( App Nothing + ( App Nothing + ( ObjectProp Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.HeytingAlgebra" ) + ( Name "heytingAlgebraBoolean" ) + ) 0 + ) + ( PropName "disj" ) + ) + ( App Nothing + ( ObjectProp Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.HeytingAlgebra" ) + ( Name "heytingAlgebraBoolean" ) + ) 0 + ) + ( PropName "not" ) + ) + ( Ref Nothing ( Local ( Name "a" ) ) 0 ) + ) + ) + ( Ref Nothing ( Local ( Name "b" ) ) 0 ) + ) + ) + ), + ( PropName "conj", ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported ( ModuleName "Data.HeytingAlgebra" ) ( Name "foreign" ) ) 0 + ) + ( PropName "boolConj" ) + ), + ( PropName "disj", ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported ( ModuleName "Data.HeytingAlgebra" ) ( Name "foreign" ) ) 0 + ) + ( PropName "boolDisj" ) + ), + ( PropName "not", ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported ( ModuleName "Data.HeytingAlgebra" ) ( Name "foreign" ) ) 0 + ) + ( PropName "boolNot" ) + ) + ] + ) :| [] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.HeytingAlgebra", qnameName = Name "conj" + }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "conj" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Eq", qnameName = Name "eqInt" }, LiteralObject Nothing + [ + ( PropName "eq", ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Eq" ) ( Name "foreign" ) ) 0 ) + ( PropName "eqIntImpl" ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Eq", qnameName = Name "eq" }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "eq" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Semigroup", qnameName = Name "semigroupString" + }, LiteralObject Nothing + [ + ( PropName "append", ObjectProp ( Just Always ) + ( ForeignImport Nothing + ( ModuleName "Data.Semigroup" ) ".spago/prelude/v7.2.1/src/Data/Semigroup.purs" + [ ( Nothing, Name "concatString" ) ] + ) + ( PropName "concatString" ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Semigroup", qnameName = Name "append" }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "append" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Show", qnameName = Name "showInt" + }, LiteralObject Nothing + [ + ( PropName "show", ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Show" ) ( Name "foreign" ) ) 0 ) + ( PropName "showIntImpl" ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Show", qnameName = Name "show" }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "show" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Ordering", qnameName = Name "LT" + }, Ctor Nothing SumType + ( ModuleName "Data.Ordering" ) + ( TyName "Ordering" ) + ( CtorName "LT" ) [] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Ordering", qnameName = Name "GT" + }, Ctor Nothing SumType + ( ModuleName "Data.Ordering" ) + ( TyName "Ordering" ) + ( CtorName "GT" ) [] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Ordering", qnameName = Name "EQ" + }, Ctor Nothing SumType + ( ModuleName "Data.Ordering" ) + ( TyName "Ordering" ) + ( CtorName "EQ" ) [] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Semiring", qnameName = Name "semiringInt" + }, LiteralObject Nothing + [ + ( PropName "add", ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Semiring" ) ( Name "foreign" ) ) 0 ) + ( PropName "intAdd" ) + ), + ( PropName "zero", LiteralInt Nothing 0 ), + ( PropName "mul", ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Semiring" ) ( Name "foreign" ) ) 0 ) + ( PropName "intMul" ) + ), + ( PropName "one", LiteralInt Nothing 1 ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Semiring", qnameName = Name "add" }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "add" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Ring", qnameName = Name "sub" }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "sub" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Ring", qnameName = Name "ringInt" + }, LiteralObject Nothing + [ + ( PropName "sub", ObjectProp ( Just Always ) + ( ForeignImport Nothing + ( ModuleName "Data.Ring" ) ".spago/prelude/v7.2.1/src/Data/Ring.purs" + [ ( Nothing, Name "intSub" ) ] + ) + ( PropName "intSub" ) + ), + ( PropName "Semiring0", Abs Nothing ( ParamUnused Nothing ) + ( Ref Nothing ( Imported ( ModuleName "Data.Semiring" ) ( Name "semiringInt" ) ) 0 ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Ord", qnameName = Name "ordInt" + }, LiteralObject Nothing + [ + ( PropName "compare", App Nothing + ( App Nothing + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "foreign" ) ) 0 ) + ( PropName "ordIntImpl" ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ordering" ) ( Name "LT" ) ) 0 ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ordering" ) ( Name "EQ" ) ) 0 ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ordering" ) ( Name "GT" ) ) 0 ) + ), + ( PropName "Eq0", Abs Nothing ( ParamUnused Nothing ) + ( Ref Nothing ( Imported ( ModuleName "Data.Eq" ) ( Name "eqInt" ) ) 0 ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Ord", qnameName = Name "ordChar" + }, LiteralObject Nothing + [ + ( PropName "compare", App Nothing + ( App Nothing + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "foreign" ) ) 0 ) + ( PropName "ordCharImpl" ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ordering" ) ( Name "LT" ) ) 0 ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ordering" ) ( Name "EQ" ) ) 0 ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ordering" ) ( Name "GT" ) ) 0 ) + ), + ( PropName "Eq0", Abs Nothing ( ParamUnused Nothing ) + ( LiteralObject Nothing + [ + ( PropName "eq", ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Eq" ) ( Name "foreign" ) ) 0 ) + ( PropName "eqCharImpl" ) + ) + ] + ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Ord", qnameName = Name "compare" }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "compare" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Ord", qnameName = Name "greaterThanOrEq" + }, Abs Nothing + ( ParamNamed Nothing ( Name "dictOrd" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "a1" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "a2" ) ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Ordering∷Ordering.LT" ) + ( ReflectCtor Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "compare" ) ) 0 ) + ( Ref Nothing ( Local ( Name "dictOrd" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "a1" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "a2" ) ) 0 ) + ) + ) + ) ( LiteralBool Nothing False ) ( LiteralBool Nothing True ) + ) + ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Ord", qnameName = Name "lessThan" }, Abs Nothing + ( ParamNamed Nothing ( Name "dictOrd" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "a1" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "a2" ) ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Ordering∷Ordering.LT" ) + ( ReflectCtor Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "compare" ) ) 0 ) + ( Ref Nothing ( Local ( Name "dictOrd" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "a1" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "a2" ) ) 0 ) + ) + ) + ) ( LiteralBool Nothing True ) ( LiteralBool Nothing False ) + ) + ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Ord", qnameName = Name "lessThanOrEq" }, Abs Nothing + ( ParamNamed Nothing ( Name "dictOrd" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "a1" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "a2" ) ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Ordering∷Ordering.GT" ) + ( ReflectCtor Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "compare" ) ) 0 ) + ( Ref Nothing ( Local ( Name "dictOrd" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "a1" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "a2" ) ) 0 ) + ) + ) + ) ( LiteralBool Nothing False ) ( LiteralBool Nothing True ) + ) + ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Functor", qnameName = Name "map" }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "map" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Control.Applicative", qnameName = Name "pure" + }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "pure" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Control.Bind", qnameName = Name "bind" }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "bind" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Bounded", qnameName = Name "top" }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "top" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Bounded", qnameName = Name "boundedChar" + }, LiteralObject Nothing + [ + ( PropName "top", ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Bounded" ) ( Name "foreign" ) ) 0 ) + ( PropName "topChar" ) + ), + ( PropName "bottom", ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Bounded" ) ( Name "foreign" ) ) 0 ) + ( PropName "bottomChar" ) + ), + ( PropName "Ord0", Abs Nothing ( ParamUnused Nothing ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "ordChar" ) ) 0 ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Bounded", qnameName = Name "bottom" }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "bottom" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.EuclideanRing", qnameName = Name "euclideanRingInt" + }, LiteralObject Nothing + [ + ( PropName "degree", ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.EuclideanRing" ) ( Name "foreign" ) ) 0 ) + ( PropName "intDegree" ) + ), + ( PropName "div", ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.EuclideanRing" ) ( Name "foreign" ) ) 0 ) + ( PropName "intDiv" ) + ), + ( PropName "mod", ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.EuclideanRing" ) ( Name "foreign" ) ) 0 ) + ( PropName "intMod" ) + ), + ( PropName "CommutativeRing0", Abs Nothing ( ParamUnused Nothing ) + ( LiteralObject Nothing + [ + ( PropName "Ring0", Abs Nothing ( ParamUnused Nothing ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ring" ) ( Name "ringInt" ) ) 0 ) + ) + ] + ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Maybe", qnameName = Name "append" }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Semigroup" ) ( Name "append" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Semigroup" ) ( Name "semigroupString" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Maybe", qnameName = Name "Nothing" + }, Ctor Nothing SumType + ( ModuleName "Data.Maybe" ) + ( TyName "Maybe" ) + ( CtorName "Nothing" ) [] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Maybe", qnameName = Name "Just" + }, Ctor Nothing SumType + ( ModuleName "Data.Maybe" ) + ( TyName "Maybe" ) + ( CtorName "Just" ) + [ FieldName "value0" ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Maybe", qnameName = Name "showMaybe" }, Abs Nothing + ( ParamNamed Nothing ( Name "dictShow" ) ) + ( LiteralObject Nothing + [ + ( PropName "show", Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Maybe∷Maybe.Just" ) + ( ReflectCtor Nothing ( Ref Nothing ( Local ( Name "v" ) ) 0 ) ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "append" ) ) 0 ) + ( LiteralString Nothing "(Just " ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "append" ) ) 0 ) + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Show" ) ( Name "show" ) ) 0 ) + ( Ref Nothing ( Local ( Name "dictShow" ) ) 0 ) + ) + ( ObjectProp Nothing + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ( PropName "value0" ) + ) + ) + ) + ( LiteralString Nothing ")" ) + ) + ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Maybe∷Maybe.Nothing" ) + ( ReflectCtor Nothing ( Ref Nothing ( Local ( Name "v" ) ) 0 ) ) + ) + ( LiteralString Nothing "Nothing" ) + ( Exception Nothing "No patterns matched" ) + ) + ) + ) + ] + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Maybe", qnameName = Name "isNothing" }, Abs Nothing + ( ParamNamed Nothing ( Name "v2" ) ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Maybe∷Maybe.Nothing" ) + ( ReflectCtor Nothing ( Ref Nothing ( Local ( Name "v2" ) ) 0 ) ) + ) ( LiteralBool Nothing True ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Maybe∷Maybe.Just" ) + ( ReflectCtor Nothing ( Ref Nothing ( Local ( Name "v2" ) ) 0 ) ) + ) ( LiteralBool Nothing False ) + ( Exception Nothing "No patterns matched" ) + ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Maybe", qnameName = Name "functorMaybe" + }, LiteralObject Nothing + [ + ( PropName "map", Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "v1" ) ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Maybe∷Maybe.Just" ) + ( ReflectCtor Nothing ( Ref Nothing ( Local ( Name "v1" ) ) 0 ) ) + ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Just" ) ) 0 ) + ( App Nothing + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ( ObjectProp Nothing + ( Ref Nothing ( Local ( Name "v1" ) ) 0 ) + ( PropName "value0" ) + ) + ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Nothing" ) ) 0 ) + ) + ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Maybe", qnameName = Name "fromJust" + }, Abs Nothing ( ParamUnused Nothing ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Maybe∷Maybe.Just" ) + ( ReflectCtor Nothing ( Ref Nothing ( Local ( Name "v" ) ) 0 ) ) + ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "v" ) ) 0 ) ( PropName "value0" ) ) + ( Exception Nothing "No patterns matched" ) + ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Tuple", qnameName = Name "snd" }, Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "v" ) ) 0 ) ( PropName "value1" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Tuple", qnameName = Name "fst" }, Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "v" ) ) 0 ) ( PropName "value0" ) ) + ), RecursiveGroup + ( + ( QName + { qnameModuleName = ModuleName "Effect", qnameName = Name "monadEffect" + }, LiteralObject Nothing + [ + ( PropName "Applicative0", Abs Nothing ( ParamUnused Nothing ) + ( Ref Nothing ( Imported ( ModuleName "Effect" ) ( Name "applicativeEffect" ) ) 0 ) + ), + ( PropName "Bind1", Abs Nothing ( ParamUnused Nothing ) + ( Ref Nothing ( Imported ( ModuleName "Effect" ) ( Name "bindEffect" ) ) 0 ) + ) + ] + ) :| + [ + ( QName + { qnameModuleName = ModuleName "Effect", qnameName = Name "bindEffect" + }, LiteralObject Nothing + [ + ( PropName "bind", ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Effect" ) ( Name "foreign" ) ) 0 ) + ( PropName "bindE" ) + ), + ( PropName "Apply0", Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Effect" ) ( Name "Lazy_applyEffect" ) ) 0 + ) + ( LiteralInt Nothing 0 ) + ) + ) + ] + ), + ( QName + { qnameModuleName = ModuleName "Effect", qnameName = Name "applicativeEffect" + }, LiteralObject Nothing + [ + ( PropName "pure", ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Effect" ) ( Name "foreign" ) ) 0 ) + ( PropName "pureE" ) + ), + ( PropName "Apply0", Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Effect" ) ( Name "Lazy_applyEffect" ) ) 0 + ) + ( LiteralInt Nothing 0 ) + ) + ) + ] + ), + ( QName + { qnameModuleName = ModuleName "Effect", qnameName = Name "Lazy_functorEffect" + }, App Nothing + ( App Nothing + ( Ref Nothing ( Local ( Name "PSLUA_runtime_lazy" ) ) 0 ) + ( LiteralString Nothing "functorEffect" ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( LiteralObject Nothing + [ + ( PropName "map", Abs Nothing + ( ParamNamed Nothing ( Name "f" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "a" ) ) + ( App Nothing + ( App Nothing + ( ObjectProp Nothing + ( App Nothing + ( ObjectProp Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Effect" ) + ( Name "applicativeEffect" ) + ) 0 + ) + ( PropName "Apply0" ) + ) + ( Ref Nothing + ( Imported ( ModuleName "Prim" ) ( Name "undefined" ) ) 0 + ) + ) + ( PropName "apply" ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Control.Applicative" ) ( Name "pure" ) ) 0 + ) + ( Ref Nothing + ( Imported ( ModuleName "Effect" ) ( Name "applicativeEffect" ) ) 0 + ) + ) + ( Ref Nothing ( Local ( Name "f" ) ) 0 ) + ) + ) + ( Ref Nothing ( Local ( Name "a" ) ) 0 ) + ) + ) + ) + ] + ) + ) + ), + ( QName + { qnameModuleName = ModuleName "Effect", qnameName = Name "Lazy_applyEffect" + }, App Nothing + ( App Nothing + ( Ref Nothing ( Local ( Name "PSLUA_runtime_lazy" ) ) 0 ) + ( LiteralString Nothing "applyEffect" ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( LiteralObject Nothing + [ + ( PropName "apply", Let Nothing + ( Standalone + ( Nothing, Name "bind", App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Control.Bind" ) ( Name "bind" ) ) 0 + ) + ( App Nothing + ( ObjectProp Nothing + ( Ref Nothing + ( Imported ( ModuleName "Effect" ) ( Name "monadEffect" ) ) 0 + ) + ( PropName "Bind1" ) + ) + ( Ref Nothing ( Imported ( ModuleName "Prim" ) ( Name "undefined" ) ) 0 ) + ) + ) :| [] + ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "f" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "a" ) ) + ( App Nothing + ( App Nothing + ( Ref Nothing ( Local ( Name "bind" ) ) 0 ) + ( Ref Nothing ( Local ( Name "f" ) ) 0 ) + ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "f'" ) ) + ( App Nothing + ( App Nothing + ( Ref Nothing ( Local ( Name "bind" ) ) 0 ) + ( Ref Nothing ( Local ( Name "a" ) ) 0 ) + ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "a'" ) ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Control.Applicative" ) + ( Name "pure" ) + ) 0 + ) + ( App Nothing + ( ObjectProp Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Effect" ) + ( Name "monadEffect" ) + ) 0 + ) + ( PropName "Applicative0" ) + ) + ( Ref Nothing + ( Imported ( ModuleName "Prim" ) ( Name "undefined" ) ) 0 + ) + ) + ) + ( App Nothing + ( Ref Nothing ( Local ( Name "f'" ) ) 0 ) + ( Ref Nothing ( Local ( Name "a'" ) ) 0 ) + ) + ) + ) + ) + ) + ) + ) + ) + ), + ( PropName "Functor0", Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Effect" ) ( Name "Lazy_functorEffect" ) ) 0 + ) + ( LiteralInt Nothing 0 ) + ) + ) + ] + ) + ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Enum", qnameName = Name "sub" }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Ring" ) ( Name "sub" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ring" ) ( Name "ringInt" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Enum", qnameName = Name "bottom1" }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Bounded" ) ( Name "bottom" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Bounded" ) ( Name "boundedChar" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Enum", qnameName = Name "top1" }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Bounded" ) ( Name "top" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Bounded" ) ( Name "boundedChar" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Enum", qnameName = Name "toEnum" }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "toEnum" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Enum", qnameName = Name "fromEnum" }, Abs Nothing + ( ParamNamed Nothing ( Name "dict" ) ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "dict" ) ) 0 ) ( PropName "fromEnum" ) ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Enum", qnameName = Name "defaultSucc" }, Abs Nothing + ( ParamNamed Nothing ( Name "toEnum'" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "fromEnum'" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "a" ) ) + ( App Nothing + ( Ref Nothing ( Local ( Name "toEnum'" ) ) 0 ) + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Semiring" ) ( Name "add" ) ) 0 ) + ( Ref Nothing + ( Imported ( ModuleName "Data.Semiring" ) ( Name "semiringInt" ) ) 0 + ) + ) + ( App Nothing + ( Ref Nothing ( Local ( Name "fromEnum'" ) ) 0 ) + ( Ref Nothing ( Local ( Name "a" ) ) 0 ) + ) + ) + ( LiteralInt Nothing 1 ) + ) + ) + ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Enum", qnameName = Name "defaultPred" }, Abs Nothing + ( ParamNamed Nothing ( Name "toEnum'" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "fromEnum'" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "a" ) ) + ( App Nothing + ( Ref Nothing ( Local ( Name "toEnum'" ) ) 0 ) + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "sub" ) ) 0 ) + ( App Nothing + ( Ref Nothing ( Local ( Name "fromEnum'" ) ) 0 ) + ( Ref Nothing ( Local ( Name "a" ) ) 0 ) + ) + ) + ( LiteralInt Nothing 1 ) + ) + ) + ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Enum", qnameName = Name "charToEnum" }, Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( IfThenElse Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.HeytingAlgebra" ) ( Name "conj" ) ) 0 ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.HeytingAlgebra" ) + ( Name "heytingAlgebraBoolean" ) + ) 0 + ) + ) + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.Ord" ) ( Name "greaterThanOrEq" ) ) 0 + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "ordInt" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ) + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "foreign" ) ) 0 ) + ( PropName "toCharCode" ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "bottom1" ) ) 0 ) + ) + ) + ) + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "lessThanOrEq" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "ordInt" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ) + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "foreign" ) ) 0 ) + ( PropName "toCharCode" ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "top1" ) ) 0 ) + ) + ) + ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Just" ) ) 0 ) + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "foreign" ) ) 0 ) + ( PropName "fromCharCode" ) + ) + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Nothing" ) ) 0 ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.Enum", qnameName = Name "boundedEnumChar" + }, LiteralObject Nothing + [ + ( PropName "cardinality", App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "sub" ) ) 0 ) + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "foreign" ) ) 0 ) + ( PropName "toCharCode" ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "top1" ) ) 0 ) + ) + ) + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "foreign" ) ) 0 ) + ( PropName "toCharCode" ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "bottom1" ) ) 0 ) + ) + ), + ( PropName "toEnum", Ref Nothing + ( Imported ( ModuleName "Data.Enum" ) ( Name "charToEnum" ) ) 0 + ), + ( PropName "fromEnum", ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "foreign" ) ) 0 ) + ( PropName "toCharCode" ) + ), + ( PropName "Bounded0", Abs Nothing ( ParamUnused Nothing ) + ( Ref Nothing ( Imported ( ModuleName "Data.Bounded" ) ( Name "boundedChar" ) ) 0 ) + ), + ( PropName "Enum1", Abs Nothing ( ParamUnused Nothing ) + ( LiteralObject Nothing + [ + ( PropName "succ", App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.Enum" ) ( Name "defaultSucc" ) ) 0 + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "charToEnum" ) ) 0 ) + ) + ( ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "foreign" ) ) 0 ) + ( PropName "toCharCode" ) + ) + ), + ( PropName "pred", App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.Enum" ) ( Name "defaultPred" ) ) 0 + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "charToEnum" ) ) 0 ) + ) + ( ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "foreign" ) ) 0 ) + ( PropName "toCharCode" ) + ) + ), + ( PropName "Ord0", Abs Nothing ( ParamUnused Nothing ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "ordChar" ) ) 0 ) + ) + ] + ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "add" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Semiring" ) ( Name "add" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Semiring" ) ( Name "semiringInt" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "sub" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Ring" ) ( Name "sub" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ring" ) ( Name "ringInt" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "append" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Semigroup" ) ( Name "append" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Semigroup" ) ( Name "semigroupString" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "conj" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.HeytingAlgebra" ) ( Name "conj" ) ) 0 ) + ( Ref Nothing + ( Imported ( ModuleName "Data.HeytingAlgebra" ) ( Name "heytingAlgebraBoolean" ) ) 0 + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "lessThanOrEq" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "lessThanOrEq" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "ordInt" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "fromEnum" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "fromEnum" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "boundedEnumChar" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "compose" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Control.Semigroupoid" ) ( Name "compose" ) ) 0 ) + ( Ref Nothing + ( Imported ( ModuleName "Control.Semigroupoid" ) ( Name "semigroupoidFn" ) ) 0 + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "eq" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Eq" ) ( Name "eq" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Eq" ) ( Name "eqInt" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "lessThan" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "lessThan" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "ordInt" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "unsafeCodePointAt0" + }, App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "foreign" ) ) 0 ) + ( PropName "_unsafeCodePointAt0" ) + ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "s" ) ) + ( Let Nothing + ( Standalone + ( Nothing, Name "cu0", App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "fromEnum" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( ObjectProp ( Just Always ) + ( ForeignImport Nothing + ( ModuleName "Data.String.Unsafe" ) ".spago/strings/v6.2.0/src/Data/String/Unsafe.purs" + [ ( Nothing, Name "charAt" ) ] + ) + ( PropName "charAt" ) + ) + ( LiteralInt Nothing 0 ) + ) + ( Ref Nothing ( Local ( Name "s" ) ) 0 ) + ) + ) :| [] + ) + ( IfThenElse Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "conj" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "conj" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "lessThanOrEq" ) + ) 0 + ) + ( LiteralInt Nothing 55296 ) + ) + ( Ref Nothing ( Local ( Name "cu0" ) ) 0 ) + ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "lessThanOrEq" ) + ) 0 + ) + ( Ref Nothing ( Local ( Name "cu0" ) ) 0 ) + ) + ( LiteralInt Nothing 56319 ) + ) + ) + ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Ordering∷Ordering.GT" ) + ( ReflectCtor Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.Ord" ) ( Name "compare" ) ) 0 + ) + ( Ref Nothing + ( Imported ( ModuleName "Data.Ord" ) ( Name "ordInt" ) ) 0 + ) + ) + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodeUnits" ) + ( Name "foreign" ) + ) 0 + ) + ( PropName "length" ) + ) + ( Ref Nothing ( Local ( Name "s" ) ) 0 ) + ) + ) + ( LiteralInt Nothing 1 ) + ) + ) + ) ( LiteralBool Nothing True ) ( LiteralBool Nothing False ) + ) + ) + ( Let Nothing + ( Standalone + ( Nothing, Name "cu1", App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "fromEnum" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( ObjectProp ( Just Always ) + ( ForeignImport Nothing + ( ModuleName "Data.String.Unsafe" ) ".spago/strings/v6.2.0/src/Data/String/Unsafe.purs" + [ ( Nothing, Name "charAt" ) ] + ) + ( PropName "charAt" ) + ) + ( LiteralInt Nothing 1 ) + ) + ( Ref Nothing ( Local ( Name "s" ) ) 0 ) + ) + ) :| [] + ) + ( IfThenElse Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "conj" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "lessThanOrEq" ) + ) 0 + ) + ( LiteralInt Nothing 56320 ) + ) + ( Ref Nothing ( Local ( Name "cu1" ) ) 0 ) + ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "lessThanOrEq" ) + ) 0 + ) + ( Ref Nothing ( Local ( Name "cu1" ) ) 0 ) + ) + ( LiteralInt Nothing 57343 ) + ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "add" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "add" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( ObjectProp Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.Semiring" ) + ( Name "semiringInt" ) + ) 0 + ) + ( PropName "mul" ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "sub" ) + ) 0 + ) + ( Ref Nothing ( Local ( Name "cu0" ) ) 0 ) + ) + ( LiteralInt Nothing 55296 ) + ) + ) + ( LiteralInt Nothing 1024 ) + ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "sub" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "cu1" ) ) 0 ) + ) + ( LiteralInt Nothing 56320 ) + ) + ) + ) + ( LiteralInt Nothing 65536 ) + ) + ( Ref Nothing ( Local ( Name "cu0" ) ) 0 ) + ) + ) + ( Ref Nothing ( Local ( Name "cu0" ) ) 0 ) + ) + ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "fromCharCode" + }, App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "compose" ) ) 0 ) + ( ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodeUnits" ) ( Name "foreign" ) ) 0 + ) + ( PropName "singleton" ) + ) + ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "x" ) ) + ( Let Nothing + ( Standalone + ( Nothing, Name "v", App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "toEnum" ) ) 0 ) + ( Ref Nothing + ( Imported ( ModuleName "Data.Enum" ) ( Name "boundedEnumChar" ) ) 0 + ) + ) + ( Ref Nothing ( Local ( Name "x" ) ) 0 ) + ) :| [] + ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Maybe∷Maybe.Just" ) + ( ReflectCtor Nothing ( Ref Nothing ( Local ( Name "v" ) ) 0 ) ) + ) + ( ObjectProp Nothing ( Ref Nothing ( Local ( Name "v" ) ) 0 ) ( PropName "value0" ) ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Maybe∷Maybe.Nothing" ) + ( ReflectCtor Nothing ( Ref Nothing ( Local ( Name "v" ) ) 0 ) ) + ) + ( IfThenElse Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.Ord" ) ( Name "lessThan" ) ) 0 + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "ordInt" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "x" ) ) 0 ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.Enum" ) ( Name "fromEnum" ) ) 0 + ) + ( Ref Nothing + ( Imported ( ModuleName "Data.Enum" ) ( Name "boundedEnumChar" ) ) 0 + ) + ) + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.Bounded" ) ( Name "bottom" ) ) 0 + ) + ( App Nothing + ( ObjectProp Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.Enum" ) ( Name "boundedEnumChar" ) ) 0 + ) + ( PropName "Bounded0" ) + ) + ( Ref Nothing ( Imported ( ModuleName "Prim" ) ( Name "undefined" ) ) 0 ) + ) + ) + ) + ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Bounded" ) ( Name "bottom" ) ) 0 ) + ( Ref Nothing + ( Imported ( ModuleName "Data.Bounded" ) ( Name "boundedChar" ) ) 0 + ) + ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Bounded" ) ( Name "top" ) ) 0 ) + ( Ref Nothing + ( Imported ( ModuleName "Data.Bounded" ) ( Name "boundedChar" ) ) 0 + ) + ) + ) + ( Exception Nothing "No patterns matched" ) + ) + ) + ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "singletonFallback" + }, Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( IfThenElse Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "lessThanOrEq" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ) + ( LiteralInt Nothing 65535 ) + ) + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "fromCharCode" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "append" ) ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "fromCharCode" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "add" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( ObjectProp Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.EuclideanRing" ) + ( Name "euclideanRingInt" ) + ) 0 + ) + ( PropName "div" ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "sub" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ) + ( LiteralInt Nothing 65536 ) + ) + ) + ( LiteralInt Nothing 1024 ) + ) + ) + ( LiteralInt Nothing 55296 ) + ) + ) + ) + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "fromCharCode" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "add" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( ObjectProp Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.EuclideanRing" ) + ( Name "euclideanRingInt" ) + ) 0 + ) + ( PropName "mod" ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "sub" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ) + ( LiteralInt Nothing 65536 ) + ) + ) + ( LiteralInt Nothing 1024 ) + ) + ) + ( LiteralInt Nothing 56320 ) + ) + ) + ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "singleton" + }, App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "foreign" ) ) 0 ) + ( PropName "_singleton" ) + ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "singletonFallback" ) ) 0 + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "ordCodePoint" + }, LiteralObject Nothing + [ + ( PropName "compare", Abs Nothing + ( ParamNamed Nothing ( Name "x" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "y" ) ) + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "compare" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "ordInt" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "x" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "y" ) ) 0 ) + ) + ) + ), + ( PropName "Eq0", Abs Nothing ( ParamUnused Nothing ) + ( LiteralObject Nothing + [ + ( PropName "eq", Abs Nothing + ( ParamNamed Nothing ( Name "x" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "y" ) ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "eq" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "x" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "y" ) ) 0 ) + ) + ) + ) + ] + ) + ) + ] + ), RecursiveGroup + ( + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "uncons" + }, Abs Nothing + ( ParamNamed Nothing ( Name "s" ) ) + ( IfThenElse Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "eq" ) ) 0 + ) + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodeUnits" ) ( Name "foreign" ) ) 0 + ) + ( PropName "length" ) + ) + ( Ref Nothing ( Local ( Name "s" ) ) 0 ) + ) + ) + ( LiteralInt Nothing 0 ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Nothing" ) ) 0 ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Just" ) ) 0 ) + ( LiteralObject Nothing + [ + ( PropName "head", App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "unsafeCodePointAt0" ) + ) 0 + ) + ( Ref Nothing ( Local ( Name "s" ) ) 0 ) + ), + ( PropName "tail", App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "drop" ) ) 0 + ) + ( LiteralInt Nothing 1 ) + ) + ( Ref Nothing ( Local ( Name "s" ) ) 0 ) + ) + ] + ) + ) + ) + ) :| + [ + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "takeFallback" + }, Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "v1" ) ) + ( IfThenElse Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "lessThan" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ) + ( LiteralInt Nothing 1 ) + ) + ( LiteralString Nothing "" ) + ( Let Nothing + ( Standalone + ( Nothing, Name "v2", App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "uncons" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "v1" ) ) 0 ) + ) :| [] + ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Maybe∷Maybe.Just" ) + ( ReflectCtor Nothing ( Ref Nothing ( Local ( Name "v2" ) ) 0 ) ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "append" ) ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "singleton" ) + ) 0 + ) + ( ObjectProp Nothing + ( ObjectProp Nothing + ( Ref Nothing ( Local ( Name "v2" ) ) 0 ) + ( PropName "value0" ) + ) + ( PropName "head" ) + ) + ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "takeFallback" ) + ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "sub" ) + ) 0 + ) + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ) + ( LiteralInt Nothing 1 ) + ) + ) + ( ObjectProp Nothing + ( ObjectProp Nothing + ( Ref Nothing ( Local ( Name "v2" ) ) 0 ) + ( PropName "value0" ) + ) + ( PropName "tail" ) + ) + ) + ) + ( Ref Nothing ( Local ( Name "v1" ) ) 0 ) + ) + ) + ) + ) + ), + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "take" + }, Abs Nothing + ( ParamNamed Nothing ( Name "n" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "s" ) ) + ( App Nothing + ( App Nothing + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "foreign" ) ) 0 + ) + ( PropName "_take" ) + ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "takeFallback" ) ) 0 + ) + ) + ( Ref Nothing ( Local ( Name "n" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "s" ) ) 0 ) + ) + ) + ), + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "drop" + }, Abs Nothing + ( ParamNamed Nothing ( Name "n" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "s" ) ) + ( App Nothing + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodeUnits" ) ( Name "foreign" ) ) 0 + ) + ( PropName "drop" ) + ) + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodeUnits" ) ( Name "foreign" ) ) 0 + ) + ( PropName "length" ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "take" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "n" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "s" ) ) 0 ) + ) + ) + ) + ( Ref Nothing ( Local ( Name "s" ) ) 0 ) + ) + ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "toCodePointArray" + }, App Nothing + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "foreign" ) ) 0 + ) + ( PropName "_toCodePointArray" ) + ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "s" ) ) + ( App Nothing + ( App Nothing + ( ObjectProp Nothing + ( LiteralObject Nothing + [ + ( PropName "unfoldr", App Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( ObjectProp ( Just Always ) + ( ForeignImport Nothing + ( ModuleName "Data.Unfoldable" ) ".spago/unfoldable/v6.1.0/src/Data/Unfoldable.purs" + [ ( Nothing, Name "unfoldrArrayImpl" ) ] + ) + ( PropName "unfoldrArrayImpl" ) + ) + ( Ref Nothing + ( Imported ( ModuleName "Data.Maybe" ) ( Name "isNothing" ) ) 0 + ) + ) + ( App Nothing + ( ObjectProp ( Just Always ) + ( ForeignImport Nothing + ( ModuleName "Partial.Unsafe" ) ".spago/partial/v4.1.0/src/Partial/Unsafe.purs" + [ ( Nothing, Name "_unsafePartial" ) ] + ) + ( PropName "_unsafePartial" ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.Maybe" ) ( Name "fromJust" ) ) 0 + ) + ( Ref Nothing + ( Imported ( ModuleName "Prim" ) ( Name "undefined" ) ) 0 + ) + ) + ) + ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Tuple" ) ( Name "fst" ) ) 0 ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Tuple" ) ( Name "snd" ) ) 0 ) + ), + ( PropName "Unfoldable10", Abs Nothing ( ParamUnused Nothing ) + ( LiteralObject Nothing + [ + ( PropName "unfoldr1", App Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( ObjectProp ( Just Always ) + ( ForeignImport Nothing + ( ModuleName "Data.Unfoldable1" ) ".spago/unfoldable/v6.1.0/src/Data/Unfoldable1.purs" + [ ( Nothing, Name "unfoldr1ArrayImpl" ) ] + ) + ( PropName "unfoldr1ArrayImpl" ) + ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.Maybe" ) + ( Name "isNothing" ) + ) 0 + ) + ) + ( App Nothing + ( ObjectProp ( Just Always ) + ( ForeignImport Nothing + ( ModuleName "Partial.Unsafe" ) ".spago/partial/v4.1.0/src/Partial/Unsafe.purs" + [ ( Nothing, Name "_unsafePartial" ) ] + ) + ( PropName "_unsafePartial" ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.Maybe" ) + ( Name "fromJust" ) + ) 0 + ) + ( Ref Nothing + ( Imported ( ModuleName "Prim" ) ( Name "undefined" ) ) 0 + ) + ) + ) + ) + ) + ( Ref Nothing + ( Imported ( ModuleName "Data.Tuple" ) ( Name "fst" ) ) 0 + ) + ) + ( Ref Nothing + ( Imported ( ModuleName "Data.Tuple" ) ( Name "snd" ) ) 0 + ) + ) + ] + ) + ) + ] + ) + ( PropName "unfoldr" ) + ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "s1" ) ) + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Functor" ) ( Name "map" ) ) 0 ) + ( Ref Nothing + ( Imported ( ModuleName "Data.Maybe" ) ( Name "functorMaybe" ) ) 0 + ) + ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( App Nothing + ( App Nothing + ( Ctor Nothing ProductType + ( ModuleName "Data.Tuple" ) + ( TyName "Tuple" ) + ( CtorName "Tuple" ) + [ FieldName "value0", FieldName "value1" ] + ) + ( ObjectProp Nothing + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ( PropName "head" ) + ) + ) + ( ObjectProp Nothing + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ( PropName "tail" ) + ) + ) + ) + ) + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "uncons" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "s1" ) ) 0 ) + ) + ) + ) + ) + ( Ref Nothing ( Local ( Name "s" ) ) 0 ) + ) + ) + ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "unsafeCodePointAt0" ) ) 0 + ) + ), RecursiveGroup + ( + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "codePointAtFallback" + }, Abs Nothing + ( ParamNamed Nothing ( Name "n" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "s" ) ) + ( Let Nothing + ( Standalone + ( Nothing, Name "v", App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "uncons" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "s" ) ) 0 ) + ) :| [] + ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "Data.Maybe∷Maybe.Just" ) + ( ReflectCtor Nothing ( Ref Nothing ( Local ( Name "v" ) ) 0 ) ) + ) + ( IfThenElse Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "eq" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "n" ) ) 0 ) + ) + ( LiteralInt Nothing 0 ) + ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Just" ) ) 0 ) + ( ObjectProp Nothing + ( ObjectProp Nothing + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ( PropName "value0" ) + ) + ( PropName "head" ) + ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "codePointAtFallback" ) + ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "sub" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "n" ) ) 0 ) + ) + ( LiteralInt Nothing 1 ) + ) + ) + ( ObjectProp Nothing + ( ObjectProp Nothing + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ( PropName "value0" ) + ) + ( PropName "tail" ) + ) + ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Nothing" ) ) 0 ) + ) + ) + ) + ) :| [] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "codePointAt" + }, Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "v1" ) ) + ( IfThenElse Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "lessThan" ) ) 0 + ) + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ) + ( LiteralInt Nothing 0 ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Nothing" ) ) 0 ) + ( IfThenElse Nothing + ( Eq Nothing ( LiteralInt Nothing 0 ) ( Ref Nothing ( Local ( Name "v" ) ) 0 ) ) + ( IfThenElse Nothing + ( Eq Nothing + ( LiteralString Nothing "" ) + ( Ref Nothing ( Local ( Name "v1" ) ) 0 ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Nothing" ) ) 0 ) + ( IfThenElse Nothing + ( Eq Nothing ( LiteralInt Nothing 0 ) ( Ref Nothing ( Local ( Name "v" ) ) 0 ) ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Just" ) ) 0 ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "unsafeCodePointAt0" ) + ) 0 + ) + ( Ref Nothing ( Local ( Name "v1" ) ) 0 ) + ) + ) + ( App Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "foreign" ) + ) 0 + ) + ( PropName "_codePointAt" ) + ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "codePointAtFallback" ) + ) 0 + ) + ) + ( Ref Nothing + ( Imported ( ModuleName "Data.Maybe" ) ( Name "Just" ) ) 0 + ) + ) + ( Ref Nothing + ( Imported ( ModuleName "Data.Maybe" ) ( Name "Nothing" ) ) 0 + ) + ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "unsafeCodePointAt0" ) + ) 0 + ) + ) + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "v1" ) ) 0 ) + ) + ) + ) + ( IfThenElse Nothing + ( Eq Nothing ( LiteralInt Nothing 0 ) ( Ref Nothing ( Local ( Name "v" ) ) 0 ) ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Just" ) ) 0 ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "unsafeCodePointAt0" ) + ) 0 + ) + ( Ref Nothing ( Local ( Name "v1" ) ) 0 ) + ) + ) + ( App Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "foreign" ) + ) 0 + ) + ( PropName "_codePointAt" ) + ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "codePointAtFallback" ) + ) 0 + ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Just" ) ) 0 ) + ) + ( Ref Nothing + ( Imported ( ModuleName "Data.Maybe" ) ( Name "Nothing" ) ) 0 + ) + ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "unsafeCodePointAt0" ) + ) 0 + ) + ) + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "v1" ) ) 0 ) + ) + ) + ) + ) + ) + ), RecursiveGroup + ( + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "boundedEnumCodePoint" + }, LiteralObject Nothing + [ + ( PropName "cardinality", App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "add" ) ) 0 + ) + ( LiteralInt Nothing 1114111 ) + ) + ( LiteralInt Nothing 1 ) + ), + ( PropName "fromEnum", Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ), + ( PropName "toEnum", Abs Nothing + ( ParamNamed Nothing ( Name "n" ) ) + ( IfThenElse Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "conj" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.Ord" ) ( Name "greaterThanOrEq" ) ) 0 + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Ord" ) ( Name "ordInt" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "n" ) ) 0 ) + ) + ( LiteralInt Nothing 0 ) + ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "lessThanOrEq" ) + ) 0 + ) + ( Ref Nothing ( Local ( Name "n" ) ) 0 ) + ) + ( LiteralInt Nothing 1114111 ) + ) + ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Just" ) ) 0 ) + ( Ref Nothing ( Local ( Name "n" ) ) 0 ) + ) + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "Nothing" ) ) 0 ) + ) + ), + ( PropName "Bounded0", Abs Nothing ( ParamUnused Nothing ) + ( LiteralObject Nothing + [ + ( PropName "bottom", LiteralInt Nothing 0 ), + ( PropName "top", LiteralInt Nothing 1114111 ), + ( PropName "Ord0", Abs Nothing ( ParamUnused Nothing ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "ordCodePoint" ) ) 0 + ) + ) + ] + ) + ), + ( PropName "Enum1", Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "Lazy_enumCodePoint" ) + ) 0 + ) + ( LiteralInt Nothing 0 ) + ) + ) + ] + ) :| + [ + ( QName + { qnameModuleName = ModuleName "Data.String.CodePoints", qnameName = Name "Lazy_enumCodePoint" + }, App Nothing + ( App Nothing + ( Ref Nothing ( Local ( Name "PSLUA_runtime_lazy" ) ) 0 ) + ( LiteralString Nothing "enumCodePoint" ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( LiteralObject Nothing + [ + ( PropName "succ", App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.Enum" ) ( Name "defaultSucc" ) ) 0 + ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "toEnum" ) ) 0 ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "boundedEnumCodePoint" ) + ) 0 + ) + ) + ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "fromEnum" ) ) 0 ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "boundedEnumCodePoint" ) + ) 0 + ) + ) + ), + ( PropName "pred", App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.Enum" ) ( Name "defaultPred" ) ) 0 + ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "toEnum" ) ) 0 ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "boundedEnumCodePoint" ) + ) 0 + ) + ) + ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "fromEnum" ) ) 0 ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "boundedEnumCodePoint" ) + ) 0 + ) + ) + ), + ( PropName "Ord0", Abs Nothing ( ParamUnused Nothing ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "ordCodePoint" ) ) 0 + ) + ) + ] + ) + ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Effect.Console", qnameName = Name "logShow" }, Abs Nothing + ( ParamNamed Nothing ( Name "dictShow" ) ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "a" ) ) + ( App Nothing + ( ObjectProp ( Just Always ) + ( ForeignImport Nothing + ( ModuleName "Effect.Console" ) ".spago/console/v6.1.0/src/Effect/Console.purs" + [ ( Nothing, Name "log" ) ] + ) + ( PropName "log" ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Show" ) ( Name "show" ) ) 0 ) + ( Ref Nothing ( Local ( Name "dictShow" ) ) 0 ) + ) + ( Ref Nothing ( Local ( Name "a" ) ) 0 ) + ) + ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Golden.StringCodePoints.Test", qnameName = Name "compose" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Control.Semigroupoid" ) ( Name "compose" ) ) 0 ) + ( Ref Nothing + ( Imported ( ModuleName "Control.Semigroupoid" ) ( Name "semigroupoidFn" ) ) 0 + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Golden.StringCodePoints.Test", qnameName = Name "fromEnum" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "fromEnum" ) ) 0 ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "boundedEnumCodePoint" ) ) 0 + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Golden.StringCodePoints.Test", qnameName = Name "discard" + }, App Nothing + ( ObjectProp Nothing + ( LiteralObject Nothing + [ + ( PropName "discard", Abs Nothing + ( ParamNamed Nothing ( Name "dictBind" ) ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Control.Bind" ) ( Name "bind" ) ) 0 ) + ( Ref Nothing ( Local ( Name "dictBind" ) ) 0 ) + ) + ) + ] + ) + ( PropName "discard" ) + ) + ( Ref Nothing ( Imported ( ModuleName "Effect" ) ( Name "bindEffect" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Golden.StringCodePoints.Test", qnameName = Name "showArray" + }, LiteralObject Nothing + [ + ( PropName "show", App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing ( Imported ( ModuleName "Data.Show" ) ( Name "foreign" ) ) 0 ) + ( PropName "showArrayImpl" ) + ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Show" ) ( Name "show" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Show" ) ( Name "showInt" ) ) 0 ) + ) + ) + ] + ), Standalone + ( QName + { qnameModuleName = ModuleName "Golden.StringCodePoints.Test", qnameName = Name "logShow" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Effect.Console" ) ( Name "logShow" ) ) 0 ) + ( Ref Nothing + ( Imported ( ModuleName "Golden.StringCodePoints.Test" ) ( Name "showArray" ) ) 0 + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Golden.StringCodePoints.Test", qnameName = Name "logShow1" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Effect.Console" ) ( Name "logShow" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Show" ) ( Name "showInt" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Golden.StringCodePoints.Test", qnameName = Name "logShow2" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Effect.Console" ) ( Name "logShow" ) ) 0 ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "showMaybe" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Show" ) ( Name "showInt" ) ) 0 ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Golden.StringCodePoints.Test", qnameName = Name "map" + }, App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Functor" ) ( Name "map" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "functorMaybe" ) ) 0 ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Golden.StringCodePoints.Test", qnameName = Name "cp" + }, App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Golden.StringCodePoints.Test" ) ( Name "compose" ) ) 0 + ) + ( App Nothing + ( ObjectProp ( Just Always ) + ( ForeignImport Nothing + ( ModuleName "Partial.Unsafe" ) ".spago/partial/v4.1.0/src/Partial/Unsafe.purs" + [ ( Nothing, Name "_unsafePartial" ) ] + ) + ( PropName "_unsafePartial" ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Maybe" ) ( Name "fromJust" ) ) 0 ) + ( Ref Nothing ( Imported ( ModuleName "Prim" ) ( Name "undefined" ) ) 0 ) + ) + ) + ) + ) + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Enum" ) ( Name "toEnum" ) ) 0 ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "boundedEnumCodePoint" ) ) 0 + ) + ) + ), Standalone + ( QName + { qnameModuleName = ModuleName "Golden.StringCodePoints.Test", qnameName = Name "codes" + }, App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Golden.StringCodePoints.Test" ) ( Name "compose" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing ( Imported ( ModuleName "Data.Functor" ) ( Name "map" ) ) 0 ) + ( LiteralObject Nothing + [ + ( PropName "map", ObjectProp ( Just Always ) + ( ForeignImport Nothing + ( ModuleName "Data.Functor" ) ".spago/prelude/v7.2.1/src/Data/Functor.purs" + [ ( Nothing, Name "arrayMap" ) ] + ) + ( PropName "arrayMap" ) + ) + ] + ) + ) + ( Ref Nothing + ( Imported ( ModuleName "Golden.StringCodePoints.Test" ) ( Name "fromEnum" ) ) 0 + ) + ) + ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "toCodePointArray" ) ) 0 + ) + ) + ], uberModuleForeigns = [], uberModuleExports = + [ + ( Name "str", LiteralString Nothing "aéЯ𝐀z" ), + ( Name "codes", Ref Nothing + ( Imported ( ModuleName "Golden.StringCodePoints.Test" ) ( Name "codes" ) ) 0 + ), + ( Name "main", App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Golden.StringCodePoints.Test" ) ( Name "discard" ) ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Golden.StringCodePoints.Test" ) ( Name "logShow" ) ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Golden.StringCodePoints.Test" ) ( Name "codes" ) ) 0 + ) + ( LiteralString Nothing "aéЯ𝐀z" ) + ) + ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Golden.StringCodePoints.Test" ) ( Name "discard" ) ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Golden.StringCodePoints.Test" ) ( Name "logShow1" ) ) 0 + ) + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodePoints" ) ( Name "compose" ) ) 0 + ) + ( ObjectProp ( Just Always ) + ( ForeignImport Nothing + ( ModuleName "Data.Array" ) ".spago/arrays/v7.3.0/src/Data/Array.purs" + [ ( Nothing, Name "length" ) ] + ) + ( PropName "length" ) + ) + ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "toCodePointArray" ) + ) 0 + ) + ) + ( LiteralString Nothing "aéЯ𝐀z" ) + ) + ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported ( ModuleName "Golden.StringCodePoints.Test" ) ( Name "discard" ) ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "logShow1" ) + ) 0 + ) + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported ( ModuleName "Data.String.CodeUnits" ) ( Name "foreign" ) ) 0 + ) + ( PropName "length" ) + ) + ( LiteralString Nothing "aéЯ𝐀z" ) + ) + ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "discard" ) + ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "logShow" ) + ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "codes" ) + ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "take" ) + ) 0 + ) + ( LiteralInt Nothing 2 ) + ) + ( LiteralString Nothing "aéЯ𝐀z" ) + ) + ) + ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "discard" ) + ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "logShow" ) + ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "codes" ) + ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "drop" ) + ) 0 + ) + ( LiteralInt Nothing 2 ) + ) + ( LiteralString Nothing "aéЯ𝐀z" ) + ) + ) + ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "discard" ) + ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "logShow2" ) + ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "map" ) + ) 0 + ) + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "fromEnum" ) + ) 0 + ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "codePointAt" ) + ) 0 + ) + ( LiteralInt Nothing 0 ) + ) + ( LiteralString Nothing "aéЯ𝐀z" ) + ) + ) + ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "discard" ) + ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "logShow2" ) + ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "map" ) + ) 0 + ) + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "fromEnum" ) + ) 0 + ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "codePointAt" ) + ) 0 + ) + ( LiteralInt Nothing 3 ) + ) + ( LiteralString Nothing "aéЯ𝐀z" ) + ) + ) + ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "discard" ) + ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "logShow2" ) + ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "map" ) + ) 0 + ) + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "fromEnum" ) + ) 0 + ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "codePointAt" ) + ) 0 + ) + ( LiteralInt Nothing 5 ) + ) + ( LiteralString Nothing "aéЯ𝐀z" ) + ) + ) + ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "discard" ) + ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "logShow2" ) + ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "map" ) + ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "compose" ) + ) 0 + ) + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "fromEnum" ) + ) 0 + ) + ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( ObjectProp Nothing + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ( PropName "head" ) + ) + ) + ) + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "uncons" ) + ) 0 + ) + ( LiteralString Nothing "aéЯ𝐀z" ) + ) + ) + ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "discard" ) + ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Effect.Console" ) + ( Name "logShow" ) + ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.Maybe" ) + ( Name "showMaybe" ) + ) 0 + ) + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "showArray" ) + ) 0 + ) + ) + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "map" ) + ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "compose" ) + ) 0 + ) + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "codes" ) + ) 0 + ) + ) + ( Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( ObjectProp Nothing + ( Ref Nothing ( Local ( Name "v" ) ) 0 ) + ( PropName "tail" ) + ) + ) + ) + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "uncons" ) + ) 0 + ) + ( LiteralString Nothing "aéЯ𝐀z" ) + ) + ) + ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "discard" ) + ) 0 + ) + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Effect.Console" ) + ( Name "logShow" ) + ) 0 + ) + ( LiteralObject Nothing + [ + ( PropName "show", Abs Nothing + ( ParamNamed Nothing ( Name "v" ) ) + ( IfThenElse Nothing + ( Ref Nothing + ( Local ( Name "v" ) ) 0 + ) + ( LiteralString Nothing "true" ) + ( IfThenElse Nothing + ( Eq Nothing ( LiteralBool Nothing False ) + ( Ref Nothing + ( Local ( Name "v" ) ) 0 + ) + ) + ( LiteralString Nothing "false" ) + ( Exception Nothing "No patterns matched" ) + ) + ) + ) + ] + ) + ) + ( App Nothing + ( App Nothing + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.Eq" ) + ( Name "eq" ) + ) 0 + ) + ( LiteralObject Nothing + [ + ( PropName "eq", ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.Eq" ) + ( Name "foreign" ) + ) 0 + ) + ( PropName "eqStringImpl" ) + ) + ] + ) + ) + ( App Nothing + ( App Nothing + ( ObjectProp ( Just Always ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "foreign" ) + ) 0 + ) + ( PropName "_fromCodePointArray" ) + ) + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "singletonFallback" ) + ) 0 + ) + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "toCodePointArray" ) + ) 0 + ) + ( LiteralString Nothing "aéЯ𝐀z" ) + ) + ) + ) + ( LiteralString Nothing "aéЯ𝐀z" ) + ) + ) + ) + ( Abs Nothing ( ParamUnused Nothing ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "logShow" ) + ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "codes" ) + ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Data.String.CodePoints" ) + ( Name "singleton" ) + ) 0 + ) + ( App Nothing + ( Ref Nothing + ( Imported + ( ModuleName "Golden.StringCodePoints.Test" ) + ( Name "cp" ) + ) 0 + ) + ( LiteralInt Nothing 119808 ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ), + ( Name "cp", Ref Nothing + ( Imported ( ModuleName "Golden.StringCodePoints.Test" ) ( Name "cp" ) ) 0 + ) + ] + } \ No newline at end of file diff --git a/test/ps/output/Golden.StringCodePoints.Test/golden.lua b/test/ps/output/Golden.StringCodePoints.Test/golden.lua new file mode 100644 index 0000000..dd273d1 --- /dev/null +++ b/test/ps/output/Golden.StringCodePoints.Test/golden.lua @@ -0,0 +1,764 @@ +local function PSLUA_runtime_lazy(name) + return function(init) + return function() + local state = 0 + local val = nil + if state == 2 then + return val + else + if state == 1 then + return error(name .. " was needed before it finished initializing") + else + state = 1 + val = init() + state = 2 + return val + end + end + end + end +end +local M = {} +M.Data_HeytingAlgebra_foreign = { + boolConj = function(b1) return function(b2) return b1 and b2 end end, + boolDisj = function(b1) return function(b2) return b1 or b2 end end, + boolNot = function(b) return not b end +} +M.Data_Eq_foreign = (function() + local refEq = function(r1) return function(r2) return r1 == r2 end end + return { eqIntImpl = refEq, eqCharImpl = refEq, eqStringImpl = refEq } +end)() +M.Data_Show_foreign = { + showIntImpl = function(n) return tostring(n) end, + showArrayImpl = function(f) + return function(xs) + local l = #xs + local ss = {} + for i = 1, l do ss[i] = f(xs[i]) end + return "[" .. table.concat(ss, ",") .. "]" + end + end +} +M.Data_Semiring_foreign = { + intAdd = function(x) return function(y) return x + y end end, + intMul = function(x) return function(y) return x * y end end +} +M.Data_Ord_foreign = (function() + local unsafeCoerceImpl = function(lt) + return function(eq) + return function(gt) + return function(x) + return function(y) + if x < y then + return lt + elseif x == y then + return eq + else + return gt + end + end + end + end + end + end + return { ordIntImpl = unsafeCoerceImpl, ordCharImpl = unsafeCoerceImpl } +end)() +M.Data_Bounded_foreign = (function() + -- Lua 5.1 compatibility: + -- * math.maxinteger/math.mininteger appeared in Lua 5.3; PureScript Int + -- is a 32-bit integer, so its bounds are spelled out literally. + -- * "\u{...}" escapes appeared in Lua 5.3 (PUC Lua 5.1 silently reads + -- "\u" as "u"). A Char is a single byte in pslua, so its bounds are + -- the byte bounds. + return { topChar = "\255", bottomChar = "\0" } +end)() +M.Data_EuclideanRing_foreign = (function() + -- math.maxinteger is Lua 5.3+; PureScript Int is 32-bit, hence the + -- literal bound in intDegree. + return { + intDegree = function(x) return math.min(math.abs(x), 2147483647) end, + intDiv = function(x) + return function(y) + if y == 0 then return 0 end + return y > 0 and math.floor(x / y) or -math.floor(x / -y) + end + end, + intMod = function(x) + return function(y) + if y == 0 then return 0 end + local yy = math.abs(y) + return ((x % yy) + yy) % yy + end + end + } +end)() +M.Effect_foreign = { + pureE = function(a) + return function() + return a + end + end, + bindE = function(a) + return function(f) + return function() + return f(a())() + end + end + end +} +M.Data_Enum_foreign = { + toCharCode = function(c) return c:byte() end, + fromCharCode = string.char +} +M.Data_String_CodeUnits_foreign = (function() + -- PureScript indices are 0-based, Lua string positions are 1-based; + -- the exports below convert between the two. Pattern arguments are + -- literal strings, hence string.find in plain mode. Index clamping + -- mirrors the upstream JS implementation (String.prototype.indexOf, + -- lastIndexOf, slice and substring). + return { + singleton = function(c) return c end, + length = function(s) return #s end, + drop = function(n) return function(s) return s:sub(math.max(n, 0) + 1) end end + } +end)() +M.Data_String_CodePoints_foreign = (function() + -- In pslua a PureScript String is a Lua byte string holding UTF-8, + -- so code-point operations decode/encode UTF-8 directly. The PureScript + -- fallback arguments are written for UTF-16 code units and are wrong + -- under this representation; every export ignores them. + -- + -- Lua 5.1: no utf8 library, no bit operators - plain arithmetic only. + + -- Decodes the code point starting at byte position i. + -- Returns the code point and the position of the next one. + -- An invalid leading byte is returned as-is (one byte consumed). + local function decode(s, i) + local b1 = s:byte(i) + if b1 < 0x80 then return b1, i + 1 end + if b1 >= 0xC2 and b1 <= 0xDF then + local b2 = s:byte(i + 1) + if b2 and b2 >= 0x80 and b2 <= 0xBF then + return (b1 - 0xC0) * 0x40 + (b2 - 0x80), i + 2 + end + elseif b1 >= 0xE0 and b1 <= 0xEF then + local b2, b3 = s:byte(i + 1, i + 2) + if b2 and b2 >= 0x80 and b2 <= 0xBF + and b3 and b3 >= 0x80 and b3 <= 0xBF then + return (b1 - 0xE0) * 0x1000 + (b2 - 0x80) * 0x40 + (b3 - 0x80), i + 3 + end + elseif b1 >= 0xF0 and b1 <= 0xF4 then + local b2, b3, b4 = s:byte(i + 1, i + 3) + if b2 and b2 >= 0x80 and b2 <= 0xBF + and b3 and b3 >= 0x80 and b3 <= 0xBF + and b4 and b4 >= 0x80 and b4 <= 0xBF then + return (b1 - 0xF0) * 0x40000 + (b2 - 0x80) * 0x1000 + + (b3 - 0x80) * 0x40 + (b4 - 0x80), i + 4 + end + end + return b1, i + 1 + end + + -- Encodes a code point as a UTF-8 byte string. + local function encode(cp) + if cp < 0x80 then return string.char(cp) end + if cp < 0x800 then + return string.char(0xC0 + math.floor(cp / 0x40), 0x80 + cp % 0x40) + end + if cp < 0x10000 then + return string.char( + 0xE0 + math.floor(cp / 0x1000), + 0x80 + math.floor(cp / 0x40) % 0x40, + 0x80 + cp % 0x40 + ) + end + return string.char( + 0xF0 + math.floor(cp / 0x40000), + 0x80 + math.floor(cp / 0x1000) % 0x40, + 0x80 + math.floor(cp / 0x40) % 0x40, + 0x80 + cp % 0x40 + ) + end + return { + _singleton = function(_) + return function(cp) return encode(cp) end + end, + _fromCodePointArray = function(_) + return function(cps) + local t = {} + for k = 1, #cps do t[k] = encode(cps[k]) end + return table.concat(t) + end + end, + _toCodePointArray = function(_) + return function(_) + return function(s) + local t, k, i = {}, 0, 1 + while i <= #s do + local cp, j = decode(s, i) + k = k + 1 + t[k] = cp + i = j + end + return t + end + end + end, + _codePointAt = function(_) + return function(just) + return function(nothing) + return function(_) + return function(n) + return function(s) + local k, i = 0, 1 + while i <= #s do + local cp, j = decode(s, i) + if k == n then return just(cp) end + k = k + 1 + i = j + end + return nothing + end + end + end + end + end + end, + _take = function(_) + return function(n) + return function(s) + if n < 1 then return "" end + local k, i = 0, 1 + while i <= #s do + local _, j = decode(s, i) + k = k + 1 + i = j + if k == n then break end + end + return s:sub(1, i - 1) + end + end + end, + _unsafeCodePointAt0 = function(_) + return function(s) + local cp = decode(s, 1) + return cp + end + end + } +end)() +M.Control_Semigroupoid_semigroupoidFn = { + compose = function(f) + return function(g) return function(x) return f(g(x)) end end + end +} +M.Control_Semigroupoid_compose = function(dict) return dict.compose end +M.Data_HeytingAlgebra_heytingAlgebraBoolean = { + ff = false, + tt = true, + implies = function(a) + return function(b) + return M.Data_HeytingAlgebra_heytingAlgebraBoolean.disj(M.Data_HeytingAlgebra_heytingAlgebraBoolean._not_(a))(b) + end + end, + conj = M.Data_HeytingAlgebra_foreign.boolConj, + disj = M.Data_HeytingAlgebra_foreign.boolDisj, + _not_ = M.Data_HeytingAlgebra_foreign.boolNot +} +M.Data_HeytingAlgebra_conj = function(dict) return dict.conj end +M.Data_Eq_eqInt = { eq = M.Data_Eq_foreign.eqIntImpl } +M.Data_Eq_eq = function(dict) return dict.eq end +M.Data_Semigroup_semigroupString = { + append = function(s1) return function(s2) return s1 .. s2 end end +} +M.Data_Semigroup_append = function(dict) return dict.append end +M.Data_Show_showInt = { show = M.Data_Show_foreign.showIntImpl } +M.Data_Show_show = function(dict) return dict.show end +M.Data_Ordering_LT = { ["$ctor"] = "Data.Ordering∷Ordering.LT" } +M.Data_Ordering_GT = { ["$ctor"] = "Data.Ordering∷Ordering.GT" } +M.Data_Ordering_EQ = { ["$ctor"] = "Data.Ordering∷Ordering.EQ" } +M.Data_Semiring_semiringInt = { + add = M.Data_Semiring_foreign.intAdd, + zero = 0, + mul = M.Data_Semiring_foreign.intMul, + one = 1 +} +M.Data_Semiring_add = function(dict) return dict.add end +M.Data_Ring_sub = function(dict) return dict.sub end +M.Data_Ring_ringInt = { + sub = function(x) return function(y) return x - y end end, + Semiring0 = function() return M.Data_Semiring_semiringInt end +} +M.Data_Ord_ordInt = { + compare = M.Data_Ord_foreign.ordIntImpl(M.Data_Ordering_LT)(M.Data_Ordering_EQ)(M.Data_Ordering_GT), + Eq0 = function() return M.Data_Eq_eqInt end +} +M.Data_Ord_ordChar = { + compare = M.Data_Ord_foreign.ordCharImpl(M.Data_Ordering_LT)(M.Data_Ordering_EQ)(M.Data_Ordering_GT), + Eq0 = function() return { eq = M.Data_Eq_foreign.eqCharImpl } end +} +M.Data_Ord_compare = function(dict) return dict.compare end +M.Data_Ord_greaterThanOrEq = function(dictOrd) + return function(a1) + return function(a2) + if "Data.Ordering∷Ordering.LT" == M.Data_Ord_compare(dictOrd)(a1)(a2)["$ctor"] then + return false + else + return true + end + end + end +end +M.Data_Ord_lessThan = function(dictOrd) + return function(a1) + return function(a2) + if "Data.Ordering∷Ordering.LT" == M.Data_Ord_compare(dictOrd)(a1)(a2)["$ctor"] then + return true + else + return false + end + end + end +end +M.Data_Ord_lessThanOrEq = function(dictOrd) + return function(a1) + return function(a2) + if "Data.Ordering∷Ordering.GT" == M.Data_Ord_compare(dictOrd)(a1)(a2)["$ctor"] then + return false + else + return true + end + end + end +end +M.Data_Functor_map = function(dict) return dict.map end +M.Control_Applicative_pure = function(dict) return dict.pure end +M.Control_Bind_bind = function(dict) return dict.bind end +M.Data_Bounded_top = function(dict) return dict.top end +M.Data_Bounded_boundedChar = { + top = M.Data_Bounded_foreign.topChar, + bottom = M.Data_Bounded_foreign.bottomChar, + Ord0 = function() return M.Data_Ord_ordChar end +} +M.Data_Bounded_bottom = function(dict) return dict.bottom end +M.Data_EuclideanRing_euclideanRingInt = { + degree = M.Data_EuclideanRing_foreign.intDegree, + div = M.Data_EuclideanRing_foreign.intDiv, + mod = M.Data_EuclideanRing_foreign.intMod, + CommutativeRing0 = function() + return { Ring0 = function() return M.Data_Ring_ringInt end } + end +} +M.Data_Maybe_append = M.Data_Semigroup_append(M.Data_Semigroup_semigroupString) +M.Data_Maybe_Nothing = { ["$ctor"] = "Data.Maybe∷Maybe.Nothing" } +M.Data_Maybe_Just = function(value0) + return { ["$ctor"] = "Data.Maybe∷Maybe.Just", value0 = value0 } +end +M.Data_Maybe_showMaybe = function(dictShow) + return { + show = function(v) + if "Data.Maybe∷Maybe.Just" == v["$ctor"] then + return M.Data_Maybe_append("(Just ")(M.Data_Maybe_append(M.Data_Show_show(dictShow)(v.value0))(")")) + else + if "Data.Maybe∷Maybe.Nothing" == v["$ctor"] then + return "Nothing" + else + return error("No patterns matched") + end + end + end + } +end +M.Data_Maybe_isNothing = function(v2) + if "Data.Maybe∷Maybe.Nothing" == v2["$ctor"] then + return true + else + if "Data.Maybe∷Maybe.Just" == v2["$ctor"] then + return false + else + return error("No patterns matched") + end + end +end +M.Data_Maybe_functorMaybe = { + map = function(v) + return function(v1) + if "Data.Maybe∷Maybe.Just" == v1["$ctor"] then + return M.Data_Maybe_Just(v(v1.value0)) + else + return M.Data_Maybe_Nothing + end + end + end +} +M.Data_Maybe_fromJust = function() + return function(v) + if "Data.Maybe∷Maybe.Just" == v["$ctor"] then + return v.value0 + else + return error("No patterns matched") + end + end +end +M.Data_Tuple_snd = function(v) return v.value1 end +M.Data_Tuple_fst = function(v) return v.value0 end +M.Effect_monadEffect = { + Applicative0 = function() return M.Effect_applicativeEffect end, + Bind1 = function() return M.Effect_bindEffect end +} +M.Effect_bindEffect = { + bind = M.Effect_foreign.bindE, + Apply0 = function() return M.Effect_Lazy_applyEffect(0) end +} +M.Effect_applicativeEffect = { + pure = M.Effect_foreign.pureE, + Apply0 = function() return M.Effect_Lazy_applyEffect(0) end +} +M.Effect_Lazy_functorEffect = PSLUA_runtime_lazy("functorEffect")(function() + return { + map = function(f) + return function(a) + return (M.Effect_applicativeEffect.Apply0()).apply(M.Control_Applicative_pure(M.Effect_applicativeEffect)(f))(a) + end + end + } +end) +M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function() + return { + apply = (function() + return function(f) + local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1()) + return function(a) + return bind(f)(function(fPrime) + return bind(a)(function(aPrime) + return M.Control_Applicative_pure(M.Effect_monadEffect.Applicative0())(fPrime(aPrime)) + end) + end) + end + end + end)(), + Functor0 = function() return M.Effect_Lazy_functorEffect(0) end + } +end) +M.Data_Enum_sub = M.Data_Ring_sub(M.Data_Ring_ringInt) +M.Data_Enum_bottom1 = M.Data_Bounded_bottom(M.Data_Bounded_boundedChar) +M.Data_Enum_top1 = M.Data_Bounded_top(M.Data_Bounded_boundedChar) +M.Data_Enum_toEnum = function(dict) return dict.toEnum end +M.Data_Enum_fromEnum = function(dict) return dict.fromEnum end +M.Data_Enum_defaultSucc = function(toEnumPrime) + return function(fromEnumPrime) + return function(a) + return toEnumPrime(M.Data_Semiring_add(M.Data_Semiring_semiringInt)(fromEnumPrime(a))(1)) + end + end +end +M.Data_Enum_defaultPred = function(toEnumPrime) + return function(fromEnumPrime) + return function(a) + return toEnumPrime(M.Data_Enum_sub(fromEnumPrime(a))(1)) + end + end +end +M.Data_Enum_charToEnum = function(v) + if M.Data_HeytingAlgebra_conj(M.Data_HeytingAlgebra_heytingAlgebraBoolean)(M.Data_Ord_greaterThanOrEq(M.Data_Ord_ordInt)(v)(M.Data_Enum_foreign.toCharCode(M.Data_Enum_bottom1)))(M.Data_Ord_lessThanOrEq(M.Data_Ord_ordInt)(v)(M.Data_Enum_foreign.toCharCode(M.Data_Enum_top1))) then + return M.Data_Maybe_Just(M.Data_Enum_foreign.fromCharCode(v)) + else + return M.Data_Maybe_Nothing + end +end +M.Data_Enum_boundedEnumChar = { + cardinality = M.Data_Enum_sub(M.Data_Enum_foreign.toCharCode(M.Data_Enum_top1))(M.Data_Enum_foreign.toCharCode(M.Data_Enum_bottom1)), + toEnum = M.Data_Enum_charToEnum, + fromEnum = M.Data_Enum_foreign.toCharCode, + Bounded0 = function() return M.Data_Bounded_boundedChar end, + Enum1 = function() + return { + succ = M.Data_Enum_defaultSucc(M.Data_Enum_charToEnum)(M.Data_Enum_foreign.toCharCode), + pred = M.Data_Enum_defaultPred(M.Data_Enum_charToEnum)(M.Data_Enum_foreign.toCharCode), + Ord0 = function() return M.Data_Ord_ordChar end + } + end +} +M.Data_String_CodePoints_add = M.Data_Semiring_add(M.Data_Semiring_semiringInt) +M.Data_String_CodePoints_sub = M.Data_Ring_sub(M.Data_Ring_ringInt) +M.Data_String_CodePoints_append = M.Data_Semigroup_append(M.Data_Semigroup_semigroupString) +M.Data_String_CodePoints_conj = M.Data_HeytingAlgebra_conj(M.Data_HeytingAlgebra_heytingAlgebraBoolean) +M.Data_String_CodePoints_lessThanOrEq = M.Data_Ord_lessThanOrEq(M.Data_Ord_ordInt) +M.Data_String_CodePoints_fromEnum = M.Data_Enum_fromEnum(M.Data_Enum_boundedEnumChar) +M.Data_String_CodePoints_compose = M.Control_Semigroupoid_compose(M.Control_Semigroupoid_semigroupoidFn) +M.Data_String_CodePoints_eq = M.Data_Eq_eq(M.Data_Eq_eqInt) +M.Data_String_CodePoints_lessThan = M.Data_Ord_lessThan(M.Data_Ord_ordInt) +M.Data_String_CodePoints_unsafeCodePointAt0 = M.Data_String_CodePoints_foreign._unsafeCodePointAt0(function( s ) + local cu0 = M.Data_String_CodePoints_fromEnum((function(i) + return function(s) + if i >= 0 and i < #s then return s:sub(i + 1, i + 1) end + error("Data.String.Unsafe.charAt: Invalid index.") + end + end)(0)(s)) + if M.Data_String_CodePoints_conj(M.Data_String_CodePoints_conj(M.Data_String_CodePoints_lessThanOrEq(55296)(cu0))(M.Data_String_CodePoints_lessThanOrEq(cu0)(56319)))((function( ) + if "Data.Ordering∷Ordering.GT" == M.Data_Ord_compare(M.Data_Ord_ordInt)(M.Data_String_CodeUnits_foreign.length(s))(1)["$ctor"] then + return true + else + return false + end + end)()) then + local cu1 = M.Data_String_CodePoints_fromEnum((function(i) + return function(s) + if i >= 0 and i < #s then return s:sub(i + 1, i + 1) end + error("Data.String.Unsafe.charAt: Invalid index.") + end + end)(1)(s)) + if M.Data_String_CodePoints_conj(M.Data_String_CodePoints_lessThanOrEq(56320)(cu1))(M.Data_String_CodePoints_lessThanOrEq(cu1)(57343)) then + return M.Data_String_CodePoints_add(M.Data_String_CodePoints_add(M.Data_Semiring_semiringInt.mul(M.Data_String_CodePoints_sub(cu0)(55296))(1024))(M.Data_String_CodePoints_sub(cu1)(56320)))(65536) + else + return cu0 + end + else + return cu0 + end +end) +M.Data_String_CodePoints_fromCharCode = M.Data_String_CodePoints_compose(M.Data_String_CodeUnits_foreign.singleton)(function( x ) + local v = M.Data_Enum_toEnum(M.Data_Enum_boundedEnumChar)(x) + if "Data.Maybe∷Maybe.Just" == v["$ctor"] then + return v.value0 + else + if "Data.Maybe∷Maybe.Nothing" == v["$ctor"] then + if M.Data_Ord_lessThan(M.Data_Ord_ordInt)(x)(M.Data_Enum_fromEnum(M.Data_Enum_boundedEnumChar)(M.Data_Bounded_bottom(M.Data_Enum_boundedEnumChar.Bounded0()))) then + return M.Data_Bounded_bottom(M.Data_Bounded_boundedChar) + else + return M.Data_Bounded_top(M.Data_Bounded_boundedChar) + end + else + return error("No patterns matched") + end + end +end) +M.Data_String_CodePoints_singletonFallback = function(v) + if M.Data_String_CodePoints_lessThanOrEq(v)(65535) then + return M.Data_String_CodePoints_fromCharCode(v) + else + return M.Data_String_CodePoints_append(M.Data_String_CodePoints_fromCharCode(M.Data_String_CodePoints_add(M.Data_EuclideanRing_euclideanRingInt.div(M.Data_String_CodePoints_sub(v)(65536))(1024))(55296)))(M.Data_String_CodePoints_fromCharCode(M.Data_String_CodePoints_add(M.Data_EuclideanRing_euclideanRingInt.mod(M.Data_String_CodePoints_sub(v)(65536))(1024))(56320))) + end +end +M.Data_String_CodePoints_singleton = M.Data_String_CodePoints_foreign._singleton(M.Data_String_CodePoints_singletonFallback) +M.Data_String_CodePoints_ordCodePoint = { + compare = function(x) + return function(y) return M.Data_Ord_compare(M.Data_Ord_ordInt)(x)(y) end + end, + Eq0 = function() + return { + eq = function(x) + return function(y) return M.Data_String_CodePoints_eq(x)(y) end + end + } + end +} +M.Data_String_CodePoints_uncons = function(s) + if M.Data_String_CodePoints_eq(M.Data_String_CodeUnits_foreign.length(s))(0) then + return M.Data_Maybe_Nothing + else + return M.Data_Maybe_Just({ + head = M.Data_String_CodePoints_unsafeCodePointAt0(s), + tail = M.Data_String_CodePoints_drop(1)(s) + }) + end +end +M.Data_String_CodePoints_takeFallback = function(v) + return function(v1) + if M.Data_String_CodePoints_lessThan(v)(1) then + return "" + else + local v2 = M.Data_String_CodePoints_uncons(v1) + if "Data.Maybe∷Maybe.Just" == v2["$ctor"] then + return M.Data_String_CodePoints_append(M.Data_String_CodePoints_singleton(v2.value0.head))(M.Data_String_CodePoints_takeFallback(M.Data_String_CodePoints_sub(v)(1))(v2.value0.tail)) + else + return v1 + end + end + end +end +M.Data_String_CodePoints_take = function(n) + return function(s) + return M.Data_String_CodePoints_foreign._take(M.Data_String_CodePoints_takeFallback)(n)(s) + end +end +M.Data_String_CodePoints_drop = function(n) + return function(s) + return M.Data_String_CodeUnits_foreign.drop(M.Data_String_CodeUnits_foreign.length(M.Data_String_CodePoints_take(n)(s)))(s) + end +end +M.Data_String_CodePoints_toCodePointArray = M.Data_String_CodePoints_foreign._toCodePointArray(function( s ) + return (function(isNothing) + return function(fromJust) + return function(fst) + return function(snd) + return function(f) + return function(b) + local result = {} + local value = b + while true do + local maybe = f(value) + if isNothing(maybe) then + return result + end + local tuple = fromJust(maybe) + table.insert(result, fst(tuple)) + value = snd(tuple) + end + end + end + end + end + end + end)(M.Data_Maybe_isNothing)((function(f) return f(); end)(function() + return M.Data_Maybe_fromJust() + end))(M.Data_Tuple_fst)(M.Data_Tuple_snd)(function(s1) + return M.Data_Functor_map(M.Data_Maybe_functorMaybe)(function(v) + return (function(value0) + return function(value1) + return { + ["$ctor"] = "Data.Tuple∷Tuple.Tuple", + value0 = value0, + value1 = value1 + } + end + end)(v.head)(v.tail) + end)(M.Data_String_CodePoints_uncons(s1)) + end)(s) +end)(M.Data_String_CodePoints_unsafeCodePointAt0) +M.Data_String_CodePoints_codePointAtFallback = function(n) + return function(s) + local v = M.Data_String_CodePoints_uncons(s) + if "Data.Maybe∷Maybe.Just" == v["$ctor"] then + if M.Data_String_CodePoints_eq(n)(0) then + return M.Data_Maybe_Just(v.value0.head) + else + return M.Data_String_CodePoints_codePointAtFallback(M.Data_String_CodePoints_sub(n)(1))(v.value0.tail) + end + else + return M.Data_Maybe_Nothing + end + end +end +M.Data_String_CodePoints_codePointAt = function(v) + return function(v1) + if M.Data_String_CodePoints_lessThan(v)(0) then + return M.Data_Maybe_Nothing + else + if 0 == v then + if "" == v1 then + return M.Data_Maybe_Nothing + else + if 0 == v then + return M.Data_Maybe_Just(M.Data_String_CodePoints_unsafeCodePointAt0(v1)) + else + return M.Data_String_CodePoints_foreign._codePointAt(M.Data_String_CodePoints_codePointAtFallback)(M.Data_Maybe_Just)(M.Data_Maybe_Nothing)(M.Data_String_CodePoints_unsafeCodePointAt0)(v)(v1) + end + end + else + if 0 == v then + return M.Data_Maybe_Just(M.Data_String_CodePoints_unsafeCodePointAt0(v1)) + else + return M.Data_String_CodePoints_foreign._codePointAt(M.Data_String_CodePoints_codePointAtFallback)(M.Data_Maybe_Just)(M.Data_Maybe_Nothing)(M.Data_String_CodePoints_unsafeCodePointAt0)(v)(v1) + end + end + end + end +end +M.Data_String_CodePoints_boundedEnumCodePoint = { + cardinality = M.Data_String_CodePoints_add(1114111)(1), + fromEnum = function(v) return v end, + toEnum = function(n) + if M.Data_String_CodePoints_conj(M.Data_Ord_greaterThanOrEq(M.Data_Ord_ordInt)(n)(0))(M.Data_String_CodePoints_lessThanOrEq(n)(1114111)) then + return M.Data_Maybe_Just(n) + else + return M.Data_Maybe_Nothing + end + end, + Bounded0 = function() + return { + bottom = 0, + top = 1114111, + Ord0 = function() return M.Data_String_CodePoints_ordCodePoint end + } + end, + Enum1 = function() return M.Data_String_CodePoints_Lazy_enumCodePoint(0) end +} +M.Data_String_CodePoints_Lazy_enumCodePoint = PSLUA_runtime_lazy("enumCodePoint")(function( ) + return { + succ = M.Data_Enum_defaultSucc(M.Data_Enum_toEnum(M.Data_String_CodePoints_boundedEnumCodePoint))(M.Data_Enum_fromEnum(M.Data_String_CodePoints_boundedEnumCodePoint)), + pred = M.Data_Enum_defaultPred(M.Data_Enum_toEnum(M.Data_String_CodePoints_boundedEnumCodePoint))(M.Data_Enum_fromEnum(M.Data_String_CodePoints_boundedEnumCodePoint)), + Ord0 = function() return M.Data_String_CodePoints_ordCodePoint end + } +end) +M.Effect_Console_logShow = function(dictShow) + return function(a) + return (function(s) return function() print(s) end end)(M.Data_Show_show(dictShow)(a)) + end +end +M.Golden_StringCodePoints_Test_compose = M.Control_Semigroupoid_compose(M.Control_Semigroupoid_semigroupoidFn) +M.Golden_StringCodePoints_Test_fromEnum = M.Data_Enum_fromEnum(M.Data_String_CodePoints_boundedEnumCodePoint) +M.Golden_StringCodePoints_Test_discard = (function(dictBind) + return M.Control_Bind_bind(dictBind) +end)(M.Effect_bindEffect) +M.Golden_StringCodePoints_Test_showArray = { + show = M.Data_Show_foreign.showArrayImpl(M.Data_Show_show(M.Data_Show_showInt)) +} +M.Golden_StringCodePoints_Test_logShow = M.Effect_Console_logShow(M.Golden_StringCodePoints_Test_showArray) +M.Golden_StringCodePoints_Test_logShow1 = M.Effect_Console_logShow(M.Data_Show_showInt) +M.Golden_StringCodePoints_Test_logShow2 = M.Effect_Console_logShow(M.Data_Maybe_showMaybe(M.Data_Show_showInt)) +M.Golden_StringCodePoints_Test_map = M.Data_Functor_map(M.Data_Maybe_functorMaybe) +M.Golden_StringCodePoints_Test_cp = M.Golden_StringCodePoints_Test_compose((function(f) return f(); end)(function( ) + return M.Data_Maybe_fromJust() +end))(M.Data_Enum_toEnum(M.Data_String_CodePoints_boundedEnumCodePoint)) +M.Golden_StringCodePoints_Test_codes = M.Golden_StringCodePoints_Test_compose(M.Data_Functor_map({ + map = function(f) + return function(arr) + local l = #arr + local result = {} + for i = 1, l do result[i] = f(arr[i]) end + return result + end + end +})(M.Golden_StringCodePoints_Test_fromEnum))(M.Data_String_CodePoints_toCodePointArray) +return M.Golden_StringCodePoints_Test_discard(M.Golden_StringCodePoints_Test_logShow(M.Golden_StringCodePoints_Test_codes("aéЯ𝐀z")))(function( ) + return M.Golden_StringCodePoints_Test_discard(M.Golden_StringCodePoints_Test_logShow1(M.Data_String_CodePoints_compose(function(xs) return #xs end)(M.Data_String_CodePoints_toCodePointArray)("aéЯ𝐀z")))(function( ) + return M.Golden_StringCodePoints_Test_discard(M.Golden_StringCodePoints_Test_logShow1(M.Data_String_CodeUnits_foreign.length("aéЯ𝐀z")))(function( ) + return M.Golden_StringCodePoints_Test_discard(M.Golden_StringCodePoints_Test_logShow(M.Golden_StringCodePoints_Test_codes(M.Data_String_CodePoints_take(2)("aéЯ𝐀z"))))(function( ) + return M.Golden_StringCodePoints_Test_discard(M.Golden_StringCodePoints_Test_logShow(M.Golden_StringCodePoints_Test_codes(M.Data_String_CodePoints_drop(2)("aéЯ𝐀z"))))(function( ) + return M.Golden_StringCodePoints_Test_discard(M.Golden_StringCodePoints_Test_logShow2(M.Golden_StringCodePoints_Test_map(M.Golden_StringCodePoints_Test_fromEnum)(M.Data_String_CodePoints_codePointAt(0)("aéЯ𝐀z"))))(function( ) + return M.Golden_StringCodePoints_Test_discard(M.Golden_StringCodePoints_Test_logShow2(M.Golden_StringCodePoints_Test_map(M.Golden_StringCodePoints_Test_fromEnum)(M.Data_String_CodePoints_codePointAt(3)("aéЯ𝐀z"))))(function( ) + return M.Golden_StringCodePoints_Test_discard(M.Golden_StringCodePoints_Test_logShow2(M.Golden_StringCodePoints_Test_map(M.Golden_StringCodePoints_Test_fromEnum)(M.Data_String_CodePoints_codePointAt(5)("aéЯ𝐀z"))))(function( ) + return M.Golden_StringCodePoints_Test_discard(M.Golden_StringCodePoints_Test_logShow2(M.Golden_StringCodePoints_Test_map(M.Golden_StringCodePoints_Test_compose(M.Golden_StringCodePoints_Test_fromEnum)(function( v ) + return v.head + end))(M.Data_String_CodePoints_uncons("aéЯ𝐀z"))))(function() + return M.Golden_StringCodePoints_Test_discard(M.Effect_Console_logShow(M.Data_Maybe_showMaybe(M.Golden_StringCodePoints_Test_showArray))(M.Golden_StringCodePoints_Test_map(M.Golden_StringCodePoints_Test_compose(M.Golden_StringCodePoints_Test_codes)(function( v ) + return v.tail + end))(M.Data_String_CodePoints_uncons("aéЯ𝐀z"))))(function() + return M.Golden_StringCodePoints_Test_discard(M.Effect_Console_logShow({ + show = function(v) + if v then + return "true" + else + if false == v then + return "false" + else + return error("No patterns matched") + end + end + end + })(M.Data_Eq_eq({ + eq = M.Data_Eq_foreign.eqStringImpl + })(M.Data_String_CodePoints_foreign._fromCodePointArray(M.Data_String_CodePoints_singletonFallback)(M.Data_String_CodePoints_toCodePointArray("aéЯ𝐀z")))("aéЯ𝐀z")))(function( ) + return M.Golden_StringCodePoints_Test_logShow(M.Golden_StringCodePoints_Test_codes(M.Data_String_CodePoints_singleton(M.Golden_StringCodePoints_Test_cp(119808)))) + end) + end) + end) + end) + end) + end) + end) + end) + end) + end) +end)() diff --git a/test/ps/packages.dhall b/test/ps/packages.dhall index d74319c..b6e98a0 100644 --- a/test/ps/packages.dhall +++ b/test/ps/packages.dhall @@ -3,7 +3,7 @@ let upstream-ps = sha256:e48c9b283ca89ec994453459fb74c4b5b5a9432349f83a2e104f39dd869a0f6e let upstream-lua = - https://github.com/Unisay/purescript-lua-package-sets/releases/download/psc-0.15.15-20260612/packages.dhall - sha256:e031a7820831578424a5270b778f9f31a5aadee7a719a9fa95f8d58f406b308d + https://github.com/Unisay/purescript-lua-package-sets/releases/download/psc-0.15.15-20260613-2/packages.dhall + sha256:b006e1fd8aa8cd290faf65852f37f62ad3bf5fe97fa3a7c30c97ff7ddfa49807 in upstream-ps // upstream-lua diff --git a/test/ps/spago.dhall b/test/ps/spago.dhall index 24e3ee1..e2214cb 100644 --- a/test/ps/spago.dhall +++ b/test/ps/spago.dhall @@ -2,11 +2,14 @@ , dependencies = [ "console" , "effect" + , "enums" , "foldable-traversable" , "maybe" + , "partial" , "newtype" , "prelude" , "profunctor" + , "strings" ] , packages = ./packages.dhall , sources = [ "golden/**/*.purs" ]