dhall 1.41.2 → 1.42.3
raw patch · 576 files changed
This diff is very large; some files are shown as “too large to diff”. Download the raw patch for the complete diff.
Files
- CHANGELOG.md +85/−2
- LICENSE +1/−1
- benchmark/deep-nested-large-record/Main.hs +10/−11
- benchmark/examples/cpkg.dhall too large to diff
- benchmark/examples/issue108.dhall +0/−63
- benchmark/examples/normalize/ChurchEval.dhall +0/−22
- benchmark/examples/normalize/FunCompose.dhall +0/−18
- benchmark/examples/normalize/ListBench.dhall +0/−75
- benchmark/examples/normalize/ListBenchAlt.dhall +0/−45
- benchmark/parser/Main.hs +35/−34
- benchmark/parser/examples/cpkg.dhall too large to diff
- benchmark/parser/examples/issue108.dhall +63/−0
- benchmark/parser/examples/issue108.dhallb binary
- benchmark/parser/examples/kubernetes.dhallb too large to diff
- benchmark/parser/examples/normalize/ChurchEval.dhall +22/−0
- benchmark/parser/examples/normalize/FunCompose.dhall +18/−0
- benchmark/parser/examples/normalize/ListBench.dhall +75/−0
- benchmark/parser/examples/normalize/ListBenchAlt.dhall +45/−0
- dhall-lang/Prelude/Bool/and +1/−1
- dhall-lang/Prelude/Bool/build +1/−1
- dhall-lang/Prelude/Bool/equal.dhall +6/−0
- dhall-lang/Prelude/Bool/even +1/−1
- dhall-lang/Prelude/Bool/fold +1/−1
- dhall-lang/Prelude/Bool/not +1/−1
- dhall-lang/Prelude/Bool/odd +1/−1
- dhall-lang/Prelude/Bool/or +1/−1
- dhall-lang/Prelude/Bool/package.dhall +12/−8
- dhall-lang/Prelude/Bool/show +1/−1
- dhall-lang/Prelude/Date/package.dhall +5/−0
- dhall-lang/Prelude/Date/show.dhall +15/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/Type.dhall +5/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/intersect.dhall +69/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/invert.dhall +48/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/none.dhall +4/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/package.dhall +53/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/r.dhall +4/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/rw.dhall +4/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/rwx.dhall +4/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/rx.dhall +4/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/toAccess.dhall +20/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/toAccessWith.dhall +42/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/union.dhall +64/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/w.dhall +4/−0
- dhall-lang/Prelude/DirectoryTree/Access/Mask/x.dhall +4/−0
- dhall-lang/Prelude/DirectoryTree/Access/Type.dhall +5/−0
- dhall-lang/Prelude/DirectoryTree/Access/equal.dhall +29/−0
- dhall-lang/Prelude/DirectoryTree/Access/none.dhall +4/−0
- dhall-lang/Prelude/DirectoryTree/Access/package.dhall +17/−0
- dhall-lang/Prelude/DirectoryTree/Access/schema.dhall +12/−0
- dhall-lang/Prelude/DirectoryTree/Entry/BinaryFileEntry.dhall +6/−0
- dhall-lang/Prelude/DirectoryTree/Entry/DirectoryEntry.dhall +6/−0
- dhall-lang/Prelude/DirectoryTree/Entry/Metadata.dhall +24/−0
- dhall-lang/Prelude/DirectoryTree/Entry/TextFileEntry.dhall +6/−0
- dhall-lang/Prelude/DirectoryTree/Entry/Type.dhall +6/−0
- dhall-lang/Prelude/DirectoryTree/Entry/binary-file.dhall +6/−0
- dhall-lang/Prelude/DirectoryTree/Entry/directory.dhall +6/−0
- dhall-lang/Prelude/DirectoryTree/Entry/entry.dhall +24/−0
- dhall-lang/Prelude/DirectoryTree/Entry/package.dhall +37/−0
- dhall-lang/Prelude/DirectoryTree/Entry/text-file.dhall +6/−0
- dhall-lang/Prelude/DirectoryTree/Group/Type.dhall +1/−0
- dhall-lang/Prelude/DirectoryTree/Group/id.dhall +6/−0
- dhall-lang/Prelude/DirectoryTree/Group/name.dhall +6/−0
- dhall-lang/Prelude/DirectoryTree/Group/package.dhall +13/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/Type.dhall +10/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/all.dhall +9/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/directory.dhall +17/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/executable.dhall +17/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/file.dhall +17/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/group.dhall +14/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/intersect.dhall +24/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/invert.dhall +22/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/none.dhall +12/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/other.dhall +14/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/package.dhall +41/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/toMode.dhall +28/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/toModeWith.dhall +149/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/union.dhall +24/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Mask/user.dhall +14/−0
- dhall-lang/Prelude/DirectoryTree/Mode/Type.dhall +10/−0
- dhall-lang/Prelude/DirectoryTree/Mode/equal.dhall +34/−0
- dhall-lang/Prelude/DirectoryTree/Mode/none.dhall +9/−0
- dhall-lang/Prelude/DirectoryTree/Mode/package.dhall +17/−0
- dhall-lang/Prelude/DirectoryTree/Mode/schema.dhall +12/−0
- dhall-lang/Prelude/DirectoryTree/Tree/Make.dhall +20/−0
- dhall-lang/Prelude/DirectoryTree/Tree/Type.dhall +6/−0
- dhall-lang/Prelude/DirectoryTree/Tree/makeTree.dhall +32/−0
- dhall-lang/Prelude/DirectoryTree/Tree/makeTreeFromList.dhall +42/−0
- dhall-lang/Prelude/DirectoryTree/Tree/makeTreesFromList.dhall +36/−0
- dhall-lang/Prelude/DirectoryTree/Tree/package.dhall +21/−0
- dhall-lang/Prelude/DirectoryTree/User/Type.dhall +1/−0
- dhall-lang/Prelude/DirectoryTree/User/id.dhall +6/−0
- dhall-lang/Prelude/DirectoryTree/User/name.dhall +6/−0
- dhall-lang/Prelude/DirectoryTree/User/package.dhall +13/−0
- dhall-lang/Prelude/DirectoryTree/package.dhall +25/−0
- dhall-lang/Prelude/Double/package.dhall +1/−1
- dhall-lang/Prelude/Double/show +1/−1
- dhall-lang/Prelude/Function/compose +1/−1
- dhall-lang/Prelude/Function/compose.dhall +6/−6
- dhall-lang/Prelude/Function/composeList.dhall +35/−0
- dhall-lang/Prelude/Function/identity +1/−1
- dhall-lang/Prelude/Function/package.dhall +6/−2
- dhall-lang/Prelude/Integer/abs +1/−1
- dhall-lang/Prelude/Integer/add +1/−1
- dhall-lang/Prelude/Integer/add.dhall +1/−1
- dhall-lang/Prelude/Integer/clamp +1/−1
- dhall-lang/Prelude/Integer/equal +1/−1
- dhall-lang/Prelude/Integer/equal.dhall +1/−1
- dhall-lang/Prelude/Integer/greaterThan +1/−1
- dhall-lang/Prelude/Integer/greaterThan.dhall +2/−2
- dhall-lang/Prelude/Integer/greaterThanEqual +1/−1
- dhall-lang/Prelude/Integer/greaterThanEqual.dhall +1/−1
- dhall-lang/Prelude/Integer/lessThan +1/−1
- dhall-lang/Prelude/Integer/lessThan.dhall +1/−1
- dhall-lang/Prelude/Integer/lessThanEqual +1/−1
- dhall-lang/Prelude/Integer/lessThanEqual.dhall +4/−4
- dhall-lang/Prelude/Integer/multiply +1/−1
- dhall-lang/Prelude/Integer/multiply.dhall +1/−1
- dhall-lang/Prelude/Integer/negate +1/−1
- dhall-lang/Prelude/Integer/negative +1/−1
- dhall-lang/Prelude/Integer/negative.dhall +1/−1
- dhall-lang/Prelude/Integer/nonNegative +1/−1
- dhall-lang/Prelude/Integer/nonNegative.dhall +1/−1
- dhall-lang/Prelude/Integer/nonPositive +1/−1
- dhall-lang/Prelude/Integer/package.dhall +18/−18
- dhall-lang/Prelude/Integer/positive +1/−1
- dhall-lang/Prelude/Integer/positive.dhall +2/−2
- dhall-lang/Prelude/Integer/show +1/−1
- dhall-lang/Prelude/Integer/subtract +1/−1
- dhall-lang/Prelude/Integer/subtract.dhall +1/−1
- dhall-lang/Prelude/Integer/toDouble +1/−1
- dhall-lang/Prelude/Integer/toNatural +1/−1
- dhall-lang/Prelude/Integer/toNatural.dhall +1/−1
- dhall-lang/Prelude/JSON/Format +1/−1
- dhall-lang/Prelude/JSON/Nesting +1/−1
- dhall-lang/Prelude/JSON/Tagged +1/−1
- dhall-lang/Prelude/JSON/Tagged.dhall +1/−1
- dhall-lang/Prelude/JSON/Type +1/−1
- dhall-lang/Prelude/JSON/array +1/−1
- dhall-lang/Prelude/JSON/array.dhall +2/−2
- dhall-lang/Prelude/JSON/bool +1/−1
- dhall-lang/Prelude/JSON/bool.dhall +1/−1
- dhall-lang/Prelude/JSON/core.dhall +15/−15
- dhall-lang/Prelude/JSON/double +1/−1
- dhall-lang/Prelude/JSON/double.dhall +1/−1
- dhall-lang/Prelude/JSON/integer +1/−1
- dhall-lang/Prelude/JSON/integer.dhall +1/−1
- dhall-lang/Prelude/JSON/keyText +1/−1
- dhall-lang/Prelude/JSON/keyText.dhall +1/−1
- dhall-lang/Prelude/JSON/keyValue +1/−1
- dhall-lang/Prelude/JSON/keyValue.dhall +1/−1
- dhall-lang/Prelude/JSON/natural +1/−1
- dhall-lang/Prelude/JSON/natural.dhall +1/−1
- dhall-lang/Prelude/JSON/null +1/−1
- dhall-lang/Prelude/JSON/null.dhall +1/−1
- dhall-lang/Prelude/JSON/number +1/−1
- dhall-lang/Prelude/JSON/number.dhall +2/−2
- dhall-lang/Prelude/JSON/object +1/−1
- dhall-lang/Prelude/JSON/object.dhall +2/−2
- dhall-lang/Prelude/JSON/omitNullFields +1/−1
- dhall-lang/Prelude/JSON/omitNullFields.dhall +3/−3
- dhall-lang/Prelude/JSON/package.dhall +7/−7
- dhall-lang/Prelude/JSON/render +1/−1
- dhall-lang/Prelude/JSON/render.dhall +3/−3
- dhall-lang/Prelude/JSON/renderAs +1/−1
- dhall-lang/Prelude/JSON/renderAs.dhall +10/−10
- dhall-lang/Prelude/JSON/renderCompact.dhall +3/−3
- dhall-lang/Prelude/JSON/renderInteger.dhall +1/−1
- dhall-lang/Prelude/JSON/renderYAML +1/−1
- dhall-lang/Prelude/JSON/renderYAML.dhall +3/−3
- dhall-lang/Prelude/JSON/string +1/−1
- dhall-lang/Prelude/JSON/string.dhall +1/−1
- dhall-lang/Prelude/JSON/tagInline +1/−1
- dhall-lang/Prelude/JSON/tagInline.dhall +2/−2
- dhall-lang/Prelude/JSON/tagNested +1/−1
- dhall-lang/Prelude/JSON/tagNested.dhall +2/−2
- dhall-lang/Prelude/List/all +1/−1
- dhall-lang/Prelude/List/any +1/−1
- dhall-lang/Prelude/List/build +1/−1
- dhall-lang/Prelude/List/concat +1/−1
- dhall-lang/Prelude/List/concatMap +1/−1
- dhall-lang/Prelude/List/default +1/−1
- dhall-lang/Prelude/List/drop +1/−1
- dhall-lang/Prelude/List/drop.dhall +1/−1
- dhall-lang/Prelude/List/empty +1/−1
- dhall-lang/Prelude/List/filter +1/−1
- dhall-lang/Prelude/List/filterMap.dhall +45/−0
- dhall-lang/Prelude/List/fold +1/−1
- dhall-lang/Prelude/List/generate +1/−1
- dhall-lang/Prelude/List/head +1/−1
- dhall-lang/Prelude/List/index +1/−1
- dhall-lang/Prelude/List/index.dhall +1/−1
- dhall-lang/Prelude/List/indexed +1/−1
- dhall-lang/Prelude/List/iterate +1/−1
- dhall-lang/Prelude/List/last +1/−1
- dhall-lang/Prelude/List/length +1/−1
- dhall-lang/Prelude/List/map +1/−1
- dhall-lang/Prelude/List/mapMaybe.dhall +37/−0
- dhall-lang/Prelude/List/mapWithIndex.dhall +41/−0
- dhall-lang/Prelude/List/null +1/−1
- dhall-lang/Prelude/List/package.dhall +40/−28
- dhall-lang/Prelude/List/partition +1/−1
- dhall-lang/Prelude/List/replicate +1/−1
- dhall-lang/Prelude/List/reverse +1/−1
- dhall-lang/Prelude/List/shifted +1/−1
- dhall-lang/Prelude/List/take +1/−1
- dhall-lang/Prelude/List/take.dhall +1/−1
- dhall-lang/Prelude/List/unpackOptionals +1/−1
- dhall-lang/Prelude/List/unpackOptionals.dhall +5/−10
- dhall-lang/Prelude/List/unzip +1/−1
- dhall-lang/Prelude/List/zip +1/−1
- dhall-lang/Prelude/List/zip.dhall +1/−1
- dhall-lang/Prelude/Location/Type +1/−1
- dhall-lang/Prelude/Location/Type.dhall +1/−3
- dhall-lang/Prelude/Location/package.dhall +1/−1
- dhall-lang/Prelude/Map/Entry +1/−1
- dhall-lang/Prelude/Map/Type +1/−1
- dhall-lang/Prelude/Map/empty +1/−1
- dhall-lang/Prelude/Map/empty.dhall +1/−1
- dhall-lang/Prelude/Map/keyText +1/−1
- dhall-lang/Prelude/Map/keyValue +1/−1
- dhall-lang/Prelude/Map/keys +1/−1
- dhall-lang/Prelude/Map/keys.dhall +3/−3
- dhall-lang/Prelude/Map/map +1/−1
- dhall-lang/Prelude/Map/map.dhall +3/−3
- dhall-lang/Prelude/Map/mapMaybe.dhall +56/−0
- dhall-lang/Prelude/Map/package.dhall +13/−9
- dhall-lang/Prelude/Map/unpackOptionals.dhall +3/−3
- dhall-lang/Prelude/Map/values +1/−1
- dhall-lang/Prelude/Map/values.dhall +3/−3
- dhall-lang/Prelude/Monoid +1/−1
- dhall-lang/Prelude/Natural/build +1/−1
- dhall-lang/Prelude/Natural/enumerate +1/−1
- dhall-lang/Prelude/Natural/equal +1/−1
- dhall-lang/Prelude/Natural/equal.dhall +1/−1
- dhall-lang/Prelude/Natural/even +1/−1
- dhall-lang/Prelude/Natural/fold +1/−1
- dhall-lang/Prelude/Natural/greaterThan +1/−1
- dhall-lang/Prelude/Natural/greaterThan.dhall +1/−1
- dhall-lang/Prelude/Natural/greaterThanEqual +1/−1
- dhall-lang/Prelude/Natural/greaterThanEqual.dhall +1/−1
- dhall-lang/Prelude/Natural/isZero +1/−1
- dhall-lang/Prelude/Natural/lessThan +1/−1
- dhall-lang/Prelude/Natural/lessThan.dhall +2/−2
- dhall-lang/Prelude/Natural/lessThanEqual +1/−1
- dhall-lang/Prelude/Natural/listMax +1/−1
- dhall-lang/Prelude/Natural/listMax.dhall +2/−2
- dhall-lang/Prelude/Natural/listMin +1/−1
- dhall-lang/Prelude/Natural/listMin.dhall +2/−2
- dhall-lang/Prelude/Natural/max +1/−1
- dhall-lang/Prelude/Natural/max.dhall +1/−1
- dhall-lang/Prelude/Natural/min +1/−1
- dhall-lang/Prelude/Natural/min.dhall +1/−1
- dhall-lang/Prelude/Natural/odd +1/−1
- dhall-lang/Prelude/Natural/package.dhall +22/−22
- dhall-lang/Prelude/Natural/product +1/−1
- dhall-lang/Prelude/Natural/show +1/−1
- dhall-lang/Prelude/Natural/sort +1/−1
- dhall-lang/Prelude/Natural/sort.dhall +3/−3
- dhall-lang/Prelude/Natural/subtract +1/−1
- dhall-lang/Prelude/Natural/sum +1/−1
- dhall-lang/Prelude/Natural/toDouble +1/−1
- dhall-lang/Prelude/Natural/toInteger +1/−1
- dhall-lang/Prelude/NonEmpty/all.dhall +2/−2
- dhall-lang/Prelude/NonEmpty/any.dhall +2/−2
- dhall-lang/Prelude/NonEmpty/concat.dhall +3/−3
- dhall-lang/Prelude/NonEmpty/concatMap.dhall +3/−3
- dhall-lang/Prelude/NonEmpty/head.dhall +1/−1
- dhall-lang/Prelude/NonEmpty/index.dhall +2/−2
- dhall-lang/Prelude/NonEmpty/indexed.dhall +2/−2
- dhall-lang/Prelude/NonEmpty/last.dhall +1/−1
- dhall-lang/Prelude/NonEmpty/length.dhall +1/−1
- dhall-lang/Prelude/NonEmpty/make.dhall +1/−1
- dhall-lang/Prelude/NonEmpty/map.dhall +2/−2
- dhall-lang/Prelude/NonEmpty/package.dhall +18/−18
- dhall-lang/Prelude/NonEmpty/reverse.dhall +2/−2
- dhall-lang/Prelude/NonEmpty/shifted.dhall +4/−4
- dhall-lang/Prelude/NonEmpty/singleton.dhall +1/−1
- dhall-lang/Prelude/NonEmpty/toList.dhall +1/−1
- dhall-lang/Prelude/NonEmpty/unzip.dhall +2/−2
- dhall-lang/Prelude/NonEmpty/zip.dhall +2/−2
- dhall-lang/Prelude/Optional/all +1/−1
- dhall-lang/Prelude/Optional/any +1/−1
- dhall-lang/Prelude/Optional/build +1/−1
- dhall-lang/Prelude/Optional/concat +1/−1
- dhall-lang/Prelude/Optional/default +1/−1
- dhall-lang/Prelude/Optional/equal.dhall +24/−0
- dhall-lang/Prelude/Optional/filter +1/−1
- dhall-lang/Prelude/Optional/fold +1/−1
- dhall-lang/Prelude/Optional/head +1/−1
- dhall-lang/Prelude/Optional/last +1/−1
- dhall-lang/Prelude/Optional/length +1/−1
- dhall-lang/Prelude/Optional/map +1/−1
- dhall-lang/Prelude/Optional/null +1/−1
- dhall-lang/Prelude/Optional/package.dhall +19/−15
- dhall-lang/Prelude/Optional/toList +1/−1
- dhall-lang/Prelude/Optional/unzip +1/−1
- dhall-lang/Prelude/Text/concat +1/−1
- dhall-lang/Prelude/Text/concatMap +1/−1
- dhall-lang/Prelude/Text/concatMapSep +1/−1
- dhall-lang/Prelude/Text/concatSep +1/−1
- dhall-lang/Prelude/Text/default +1/−1
- dhall-lang/Prelude/Text/defaultMap +1/−1
- dhall-lang/Prelude/Text/package.dhall +13/−13
- dhall-lang/Prelude/Text/replicate +1/−1
- dhall-lang/Prelude/Text/replicate.dhall +2/−2
- dhall-lang/Prelude/Text/show +1/−1
- dhall-lang/Prelude/Text/spaces +1/−1
- dhall-lang/Prelude/Text/spaces.dhall +1/−1
- dhall-lang/Prelude/Time/package.dhall +5/−0
- dhall-lang/Prelude/Time/show.dhall +15/−0
- dhall-lang/Prelude/TimeZone/package.dhall +5/−0
- dhall-lang/Prelude/TimeZone/show.dhall +15/−0
- dhall-lang/Prelude/XML/Type +1/−1
- dhall-lang/Prelude/XML/attribute +1/−1
- dhall-lang/Prelude/XML/element +1/−1
- dhall-lang/Prelude/XML/element.dhall +2/−2
- dhall-lang/Prelude/XML/emptyAttributes +1/−1
- dhall-lang/Prelude/XML/leaf +1/−1
- dhall-lang/Prelude/XML/leaf.dhall +2/−2
- dhall-lang/Prelude/XML/package.dhall +8/−8
- dhall-lang/Prelude/XML/rawText.dhall +1/−1
- dhall-lang/Prelude/XML/render +1/−1
- dhall-lang/Prelude/XML/render.dhall +6/−6
- dhall-lang/Prelude/XML/text +1/−1
- dhall-lang/Prelude/XML/text.dhall +1/−1
- dhall-lang/Prelude/package.dhall +35/−23
- dhall-lang/tests/binary-decode/success/unit/BytesA.dhallb binary
- dhall-lang/tests/binary-decode/success/unit/BytesB.dhall +23/−0
- dhall-lang/tests/import/data/example.bin +1/−0
- dhall-lang/tests/import/home/hello.dhall +1/−0
- dhall-lang/tests/import/success/headerForwardingA.dhall +5/−9
- dhall-lang/tests/import/success/headerForwardingB.dhall +1/−18
- dhall-lang/tests/import/success/unit/AsBytesA.dhall +1/−0
- dhall-lang/tests/import/success/unit/AsBytesB.dhall +1/−0
- dhall-lang/tests/import/success/unit/ImportRelativeToHomeA.dhall +1/−0
- dhall-lang/tests/import/success/unit/ImportRelativeToHomeB.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/BytesA.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/BytesB.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/BytesLiteralA.dhall +23/−0
- dhall-lang/tests/normalization/success/unit/BytesLiteralB.dhall +23/−0
- dhall-lang/tests/normalization/success/unit/ShowConstructorEmptyA.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/ShowConstructorEmptyB.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/ShowConstructorNonEmptyA.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/ShowConstructorNonEmptyB.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/WithOnOptionalNoneA.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/WithOnOptionalNoneB.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/WithOnOptionalSomeA.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/WithOnOptionalSomeB.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/WithOptionalDeeplyNestedA.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/WithOptionalDeeplyNestedB.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/WithOptionalNestedA.dhall +1/−0
- dhall-lang/tests/normalization/success/unit/WithOptionalNestedB.dhall +1/−0
- dhall-lang/tests/parser/failure/boundBuiltins.dhall +1/−1
- dhall-lang/tests/parser/failure/bytesInvalid.dhall +1/−0
- dhall-lang/tests/parser/failure/bytesOddLength.dhall +1/−0
- dhall-lang/tests/parser/failure/spacing/LetNoSpace3.dhall +1/−0
- dhall-lang/tests/parser/failure/spacing/LetNoSpace4.dhall +1/−0
- dhall-lang/tests/parser/failure/unit/showConstructorAlone.dhall +1/−0
- dhall-lang/tests/parser/success/binaryA.dhall +8/−0
- dhall-lang/tests/parser/success/binaryB.dhallb binary
- dhall-lang/tests/parser/success/builtinsA.dhall +28/−24
- dhall-lang/tests/parser/success/builtinsB.dhallb +1/−1
- dhall-lang/tests/parser/success/bytesA.dhall +25/−0
- dhall-lang/tests/parser/success/bytesB.dhallb binary
- dhall-lang/tests/parser/success/listWithCommentA.dhall +3/−0
- dhall-lang/tests/parser/success/listWithCommentB.dhallb +1/−0
- dhall-lang/tests/parser/success/mixedBlockLineCommentA.dhall +6/−0
- dhall-lang/tests/parser/success/mixedBlockLineCommentB.dhallb +1/−0
- dhall-lang/tests/parser/success/text/multilinePreserveCommentA.dhall +8/−0
- dhall-lang/tests/parser/success/text/multilinePreserveCommentB.dhallb +2/−0
- dhall-lang/tests/parser/success/text/preserveCommentA.dhall +1/−8
- dhall-lang/tests/parser/success/text/preserveCommentB.dhallb +1/−2
- dhall-lang/tests/parser/success/text/unicodeBracedA.dhall +1/−0
- dhall-lang/tests/parser/success/text/unicodeBracedB.dhallb +1/−0
- dhall-lang/tests/parser/success/text/unicodeEscapedA.dhall +1/−0
- dhall-lang/tests/parser/success/text/unicodeEscapedB.dhallb +1/−0
- dhall-lang/tests/parser/success/text/unicodePlane16A.dhall +1/−0
- dhall-lang/tests/parser/success/text/unicodePlane16B.dhallb +1/−0
- dhall-lang/tests/parser/success/unit/DeBruijnIndexA.dhall +1/−0
- dhall-lang/tests/parser/success/unit/DeBruijnIndexB.dhallb binary
- dhall-lang/tests/parser/success/unit/DoubleLitSecretelyIntA.dhall +0/−5
- dhall-lang/tests/parser/success/unit/DoubleLitSecretelyIntB.dhallb binary
- dhall-lang/tests/parser/success/unit/DoubleLitSecretlyIntA.dhall +5/−0
- dhall-lang/tests/parser/success/unit/DoubleLitSecretlyIntB.dhallb binary
- dhall-lang/tests/parser/success/unit/ForallUnicodeA.dhall +1/−0
- dhall-lang/tests/parser/success/unit/ForallUnicodeB.dhallb binary
- dhall-lang/tests/parser/success/unit/ListWithNewlineA.dhall +11/−0
- dhall-lang/tests/parser/success/unit/ListWithNewlineB.dhallb +1/−0
- dhall-lang/tests/parser/success/unit/RecordFieldAccessA.dhall +0/−1
- dhall-lang/tests/parser/success/unit/RecordFieldAccessB.dhallb binary
- dhall-lang/tests/parser/success/unit/RecordLitEmptyBothCommasA.dhall +1/−0
- dhall-lang/tests/parser/success/unit/RecordLitEmptyBothCommasB.dhallb +1/−0
- dhall-lang/tests/parser/success/unit/RecordProjectFieldsA.dhall +0/−1
- dhall-lang/tests/parser/success/unit/RecordProjectFieldsB.dhallb binary
- dhall-lang/tests/parser/success/unit/RecordTypeEmptyA.dhall +1/−0
- dhall-lang/tests/parser/success/unit/RecordTypeEmptyB.dhallb +1/−0
- dhall-lang/tests/parser/success/unit/ShowConstructorA.dhall +1/−0
- dhall-lang/tests/parser/success/unit/ShowConstructorB.dhallb +1/−0
- dhall-lang/tests/parser/success/unit/ShowConstructorWithValueA.dhall +1/−0
- dhall-lang/tests/parser/success/unit/ShowConstructorWithValueB.dhallb binary
- dhall-lang/tests/parser/success/unit/WithSomeA.dhall too large to diff
- dhall-lang/tests/parser/success/unit/WithSomeB.dhallb too large to diff
- dhall-lang/tests/parser/success/unit/operators/EquivalenceAssocA.dhall too large to diff
- dhall-lang/tests/parser/success/unit/operators/EquivalenceAssocB.dhallb too large to diff
- dhall-lang/tests/parser/success/unit/operators/RecursiveRecordMergeA.dhall too large to diff
- dhall-lang/tests/parser/success/unit/operators/RecursiveRecordMergeAssocA.dhall too large to diff
- dhall-lang/tests/parser/success/unit/operators/RecursiveRecordMergeAssocB.dhallb too large to diff
- dhall-lang/tests/parser/success/unit/operators/RecursiveRecordMergeB.dhallb too large to diff
- dhall-lang/tests/parser/success/unit/operators/RecursiveRecordTypeMergeA.dhall too large to diff
- dhall-lang/tests/parser/success/unit/operators/RecursiveRecordTypeMergeAssocA.dhall too large to diff
- dhall-lang/tests/parser/success/unit/operators/RecursiveRecordTypeMergeAssocB.dhallb too large to diff
- dhall-lang/tests/parser/success/unit/operators/RecursiveRecordTypeMergeB.dhallb too large to diff
- dhall-lang/tests/parser/success/withQuestionMarkA.dhall too large to diff
- dhall-lang/tests/parser/success/withQuestionMarkB.dhallb too large to diff
- dhall-lang/tests/type-inference/failure/unit/ShowConstructorNotFullyApplied.dhall too large to diff
- dhall-lang/tests/type-inference/failure/unit/ShowConstructorNotFullyAppliedOptional.dhall too large to diff
- dhall-lang/tests/type-inference/failure/unit/ShowConstructorWrongArgument.dhall too large to diff
- dhall-lang/tests/type-inference/failure/unit/WithNotOptional.dhall too large to diff
- dhall-lang/tests/type-inference/failure/unit/WithOptionalRecordTypeChanged.dhall too large to diff
- dhall-lang/tests/type-inference/failure/unit/WithOptionalTypeChanged.dhall too large to diff
- dhall-lang/tests/type-inference/success/preludeB.dhall too large to diff
- dhall-lang/tests/type-inference/success/unit/BytesLiteralA.dhall too large to diff
- dhall-lang/tests/type-inference/success/unit/BytesLiteralB.dhall too large to diff
- dhall-lang/tests/type-inference/success/unit/ShowConstructorEmptyA.dhall too large to diff
- dhall-lang/tests/type-inference/success/unit/ShowConstructorEmptyB.dhall too large to diff
- dhall-lang/tests/type-inference/success/unit/ShowConstructorNonEmptyA.dhall too large to diff
- dhall-lang/tests/type-inference/success/unit/ShowConstructorNonEmptyB.dhall too large to diff
- dhall-lang/tests/type-inference/success/unit/ShowConstructorOptionalA.dhall too large to diff
- dhall-lang/tests/type-inference/success/unit/ShowConstructorOptionalB.dhall too large to diff
- dhall-lang/tests/type-inference/success/unit/WithOptionalTypeUnchangedA.dhall too large to diff
- dhall-lang/tests/type-inference/success/unit/WithOptionalTypeUnchangedB.dhall too large to diff
- dhall.cabal too large to diff
- doctest/Main.hs too large to diff
- ghc-src/Dhall/Crypto.hs too large to diff
- ghc-src/Dhall/Import/HTTP.hs too large to diff
- ghcjs-src/Dhall/Crypto.hs too large to diff
- ghcjs-src/Dhall/Import/HTTP.hs too large to diff
- man/dhall.1 too large to diff
- src/Dhall.hs too large to diff
- src/Dhall/Binary.hs too large to diff
- src/Dhall/Core.hs too large to diff
- src/Dhall/Diff.hs too large to diff
- src/Dhall/DirectoryTree.hs too large to diff
- src/Dhall/DirectoryTree/Types.hs too large to diff
- src/Dhall/Eval.hs too large to diff
- src/Dhall/Freeze.hs too large to diff
- src/Dhall/Import.hs too large to diff
- src/Dhall/Import/Headers.hs too large to diff
- src/Dhall/Import/Types.hs too large to diff
- src/Dhall/Lint.hs too large to diff
- src/Dhall/Main.hs too large to diff
- src/Dhall/Map.hs too large to diff
- src/Dhall/Marshal/Decode.hs too large to diff
- src/Dhall/Marshal/Encode.hs too large to diff
- src/Dhall/Normalize.hs too large to diff
- src/Dhall/Optics.hs too large to diff
- src/Dhall/Package.hs too large to diff
- src/Dhall/Parser/Combinators.hs too large to diff
- src/Dhall/Parser/Expression.hs too large to diff
- src/Dhall/Parser/Token.hs too large to diff
- src/Dhall/Pretty.hs too large to diff
- src/Dhall/Pretty/Internal.hs too large to diff
- src/Dhall/Pretty/Internal.hs-boot too large to diff
- src/Dhall/Schemas.hs too large to diff
- src/Dhall/Syntax.hs too large to diff
- src/Dhall/Syntax.hs-boot too large to diff
- src/Dhall/Syntax/Binding.hs too large to diff
- src/Dhall/Syntax/Chunks.hs too large to diff
- src/Dhall/Syntax/Chunks.hs-boot too large to diff
- src/Dhall/Syntax/Const.hs too large to diff
- src/Dhall/Syntax/Expr.hs too large to diff
- src/Dhall/Syntax/Expr.hs-boot too large to diff
- src/Dhall/Syntax/FunctionBinding.hs too large to diff
- src/Dhall/Syntax/Import.hs too large to diff
- src/Dhall/Syntax/Instances/Applicative.hs too large to diff
- src/Dhall/Syntax/Instances/Bifunctor.hs too large to diff
- src/Dhall/Syntax/Instances/Data.hs too large to diff
- src/Dhall/Syntax/Instances/Eq.hs too large to diff
- src/Dhall/Syntax/Instances/Foldable.hs too large to diff
- src/Dhall/Syntax/Instances/Functor.hs too large to diff
- src/Dhall/Syntax/Instances/Lift.hs too large to diff
- src/Dhall/Syntax/Instances/Monad.hs too large to diff
- src/Dhall/Syntax/Instances/NFData.hs too large to diff
- src/Dhall/Syntax/Instances/Ord.hs too large to diff
- src/Dhall/Syntax/Instances/Pretty.hs too large to diff
- src/Dhall/Syntax/Instances/Pretty.hs-boot too large to diff
- src/Dhall/Syntax/Instances/Show.hs too large to diff
- src/Dhall/Syntax/Instances/Traversable.hs too large to diff
- src/Dhall/Syntax/MultiLet.hs too large to diff
- src/Dhall/Syntax/Operations.hs too large to diff
- src/Dhall/Syntax/Operations.hs-boot too large to diff
- src/Dhall/Syntax/RecordField.hs too large to diff
- src/Dhall/Syntax/Types.hs too large to diff
- src/Dhall/Syntax/Types.hs-boot too large to diff
- src/Dhall/Syntax/Var.hs too large to diff
- src/Dhall/TH.hs too large to diff
- src/Dhall/Tutorial.hs too large to diff
- src/Dhall/TypeCheck.hs too large to diff
- src/Dhall/URL.hs too large to diff
- src/Dhall/Util.hs too large to diff
- tests/Dhall/Test/Diff.hs too large to diff
- tests/Dhall/Test/DirectoryTree.hs too large to diff
- tests/Dhall/Test/Format.hs too large to diff
- tests/Dhall/Test/Freeze.hs too large to diff
- tests/Dhall/Test/Import.hs too large to diff
- tests/Dhall/Test/Lint.hs too large to diff
- tests/Dhall/Test/Main.hs too large to diff
- tests/Dhall/Test/Normalization.hs too large to diff
- tests/Dhall/Test/Package.hs too large to diff
- tests/Dhall/Test/Parser.hs too large to diff
- tests/Dhall/Test/QuickCheck.hs too large to diff
- tests/Dhall/Test/Regression.hs too large to diff
- tests/Dhall/Test/Schemas.hs too large to diff
- tests/Dhall/Test/SemanticHash.hs too large to diff
- tests/Dhall/Test/Substitution.hs too large to diff
- tests/Dhall/Test/TH.hs too large to diff
- tests/Dhall/Test/Tags.hs too large to diff
- tests/Dhall/Test/TypeInference.hs too large to diff
- tests/Dhall/Test/Util.hs too large to diff
- tests/format/issue2601A.dhall too large to diff
- tests/format/issue2601B.dhall too large to diff
- tests/format/numericLiteralsA.dhall too large to diff
- tests/format/numericLiteralsB.dhall too large to diff
- tests/format/timePrecisionA.dhall too large to diff
- tests/format/timePrecisionB.dhall too large to diff
- tests/freeze/True.dhall too large to diff
- tests/freeze/cached/True.dhall too large to diff
- tests/freeze/cached/cachedA.dhall too large to diff
- tests/freeze/cached/cachedB.dhall too large to diff
- tests/freeze/cached/idempotentA.dhall too large to diff
- tests/freeze/cached/idempotentB.dhall too large to diff
- tests/freeze/cached/incorrectHashA.dhall too large to diff
- tests/freeze/cached/incorrectHashB.dhall too large to diff
- tests/freeze/cached/protectedA.dhall too large to diff
- tests/freeze/cached/protectedB.dhall too large to diff
- tests/freeze/cached/unprotectedA.dhall too large to diff
- tests/freeze/cached/unprotectedB.dhall too large to diff
- tests/freeze/cachedA.dhall too large to diff
- tests/freeze/cachedB.dhall too large to diff
- tests/freeze/incorrectHashA.dhall too large to diff
- tests/freeze/incorrectHashB.dhall too large to diff
- tests/freeze/protectedA.dhall too large to diff
- tests/freeze/protectedB.dhall too large to diff
- tests/freeze/secure/True.dhall too large to diff
- tests/freeze/secure/cachedA.dhall too large to diff
- tests/freeze/secure/cachedB.dhall too large to diff
- tests/freeze/secure/incorrectHashA.dhall too large to diff
- tests/freeze/secure/incorrectHashB.dhall too large to diff
- tests/freeze/secure/protectedA.dhall too large to diff
- tests/freeze/secure/protectedB.dhall too large to diff
- tests/freeze/secure/unprotectedA.dhall too large to diff
- tests/freeze/secure/unprotectedB.dhall too large to diff
- tests/freeze/unprotectedA.dhall too large to diff
- tests/freeze/unprotectedB.dhall too large to diff
- tests/lint/success/sortLetsA.dhall too large to diff
- tests/lint/success/sortLetsB.dhall too large to diff
- tests/package/dir/package.dhall too large to diff
- tests/package/dir/subdirectory1/test.dhall too large to diff
- tests/package/dir/subdirectory2/wrong-extension.txt too large to diff
- tests/package/dir/test.dhall too large to diff
- tests/package/dir/wrong-extension.txt too large to diff
- tests/package/empty/wrong-extension.txt too large to diff
- tests/package/other/package.dhall too large to diff
- tests/package/package.dhall too large to diff
- tests/package/test.dhall too large to diff
- tests/package/test/test.dhall too large to diff
- tests/th/HigherKindSingle.dhall too large to diff
- tests/th/HigherKindUnion.dhall too large to diff
- tests/th/Time.dhall too large to diff
- tests/to-directory-tree/fixpoint-allow-path-separators.dhall too large to diff
- tests/to-directory-tree/fixpoint-empty.dhall too large to diff
- tests/to-directory-tree/fixpoint-helper.dhall too large to diff
- tests/to-directory-tree/fixpoint-permissions.dhall too large to diff
- tests/to-directory-tree/fixpoint-simple.dhall too large to diff
- tests/to-directory-tree/fixpoint-usergroup.dhall too large to diff
- tests/to-directory-tree/type.dhall too large to diff
@@ -1,3 +1,80 @@+1.42.3++* [Fix the typechecking rule for `Optional` + `with`](https://github.com/dhall-lang/dhall-haskell/pull/2650)+* [Add `*WithIndex` instances for `Map`](https://github.com/dhall-lang/dhall-haskell/pull/2633)+* [`dhall package`: Add support for automatic sub-packags](https://github.com/dhall-lang/dhall-haskell/pull/2639)+* [`dhall to-directory-tree`: Add `binary-file` support](https://github.com/dhall-lang/dhall-haskell/pull/2641)+* [Support GHC 9.12.1](https://github.com/dhall-lang/dhall-haskell/pull/2649)+* [`dhall to-directory-tree`: create parents of files when using fixpoint representation](https://github.com/dhall-lang/dhall-haskell/pull/2653)++1.42.2++* [Supports standard version 23.1.0](https://github.com/dhall-lang/dhall-lang/releases/tag/v23.1.0)+ * [Allow `Natural` and `Integer` literals in binary notation](https://github.com/dhall-lang/dhall-haskell/pull/2540)+* Fix macOS build [[#2561](https://github.com/dhall-lang/dhall-haskell/pull/2561)] / [[#2586](https://github.com/dhall-lang/dhall-haskell/pull/2586)]+* [`dhall to-directory-tree`: Fix support for empty `Map`s](https://github.com/dhall-lang/dhall-haskell/pull/2609)+* [`Dhall.TH`: Improve recompilation checking](https://github.com/dhall-lang/dhall-haskell/pull/2620)+ * `Dhall.TH` utilities now use `addDependentFile` internally so that GHC will recompile if any Dhall dependencies change+* Performance improvements+ * Optimize `Natural/fold`: [[#2585](https://github.com/dhall-lang/dhall-haskell/pull/2585)] / [[#2596](https://github.com/dhall-lang/dhall-haskell/pull/2596)]+ * [Improve `Dhall.Map.traverseWithKey` performance](https://github.com/dhall-lang/dhall-haskell/pull/2589)+ * The fold will now short-circuit if it reaches a fixed point+ * [#2611](https://github.com/dhall-lang/dhall-haskell/pull/2611)+* Fixes and improvements to test suite+ * [#2593](https://github.com/dhall-lang/dhall-haskell/pull/2593)+* Fixes and improvements to haddocks+ * [#2546](https://github.com/dhall-lang/dhall-haskell/pull/2546)+* Fixes and improvements to code formatting+ * [#2608](https://github.com/dhall-lang/dhall-haskell/pull/2608)++1.42.1++* Add several new entrypoints to `Dhall` module [[#2534](https://github.com/dhall-lang/dhall-haskell/pull/2534)] / [[#2544](https://github.com/dhall-lang/dhall-haskell/pull/2544)]+* Build against latest versions of:+ * [`ansi-terminal`](https://github.com/dhall-lang/dhall-haskell/pull/2521)+ * [`optparse-applicative`](https://github.com/dhall-lang/dhall-haskell/pull/2543)+ * [`optparse-generic`](https://github.com/dhall-lang/dhall-haskell/pull/2519)+ * [`lens`](https://github.com/dhall-lang/dhall-haskell/pull/2539)+ * `template-haskell` [[#2532](https://github.com/dhall-lang/dhall-haskell/pull/2532)] / [[#2542](https://github.com/dhall-lang/dhall-haskell/pull/2542)]+ * [`unix-compat`](https://github.com/dhall-lang/dhall-haskell/pull/2532)+1.42.0++* [Supports standard version 23.0.0](https://github.com/dhall-lang/dhall-lang/releases/tag/v23.0.0)+ * [BREAKING CHANGE TO THE API AND LANGUAGE: Language support for `Bytes` literals](https://github.com/dhall-lang/dhall-haskell/pull/2499)+ * This is a breaking change to the API due to adding new `Bytes` and `BytesLiteral` constructors to the `Expr` type+ * This is a breaking change to the language now that `Bytes` is a reserved identifier+ * [BREAKING CHANGE TO THE API AND LANGUAGE: New `{Date,Time,TimeZone}/show` builtins](https://github.com/dhall-lang/dhall-haskell/pull/2493)+ * This is a breaking change to the API due to adding new `{Date,Time,TimeZone}Show` constructors to the `Expr` type+ * This is a breaking change to the language now that `{Date,Time,TimeZone}/show` are not reserved identifiers+* [BREAKING CHANGE: `dhall lint` no longer sorts `let` bindings](https://github.com/dhall-lang/dhall-haskell/pull/2503)+ * This had to be removed because the old behavior was not always correct+ * The old behavior would sometimes change the behavior of a Dhall program or break the program+ * Out of an abundance of caution we're disabling the feature until it can be properly fixed (which is't trivial)+* [BUG FIX: Fix pretty-printing of `Time` literals](https://github.com/dhall-lang/dhall-haskell/pull/2466)+ * The pretty-printer was stripping leading zeros from the fractional component+ of seconds+* [BUG FIX: Fix custom normalizers to work for things other than functions](https://github.com/dhall-lang/dhall-haskell/pull/2464)+ * Before this change you could extend the language with custom functions, but+ not custom values (e.g. `foo = 1`)+* [BUG FIX: Don't URL encode path components](https://github.com/dhall-lang/dhall-haskell/pull/2505)+ * The pretty-printer was URL-encoding path components, which is not correct (according to the standard)+ * URL path components are supposed to be already URL-encoded by the user and left undisturbed by the interpreter (which is now what it correctly does)+* New `dhall package` command: [#2478](https://github.com/dhall-lang/dhall-haskell/pull/2487), [#2508](https://github.com/dhall-lang/dhall-haskell/pull/2508)+ * This command makes it easier to turn a directory full of Dhall expressions+ into a dhall package (e.g. `package.dhall`)+* [Improved `dhall to-directory-tree` subcommand](https://github.com/dhall-lang/dhall-haskell/pull/2437)+ * The `dhall to-directory-tree` subcommand now optionally supports specifying+ metadata for generated paths+ * For a worked example, see: https://github.com/dhall-lang/dhall-haskell/blob/main/dhall/examples/to-directory-tree.dhall+* `dhall freeze --cache --all` is now idempotent: [#2486](https://github.com/dhall-lang/dhall-haskell/pull/2486), [#2500](https://github.com/dhall-lang/dhall-haskell/pull/2500)+ * Before this change a second run would fail due to attempting to resolve+ the `missing` import it would generate+* [New Template Haskell options for adding strictness annotations to generated Haskell types](https://github.com/dhall-lang/dhall-haskell/pull/2504)+* [Template Haskell can now generate higher-kinded Haskell types from higher-kinded Dhall types](https://github.com/dhall-lang/dhall-haskell/pull/2506)+* [New `Dhall.Freeze` utilities for working with custom evaluators](https://github.com/dhall-lang/dhall-haskell/pull/2478)+* [Add `Data` instances for `Import` and various other types](https://github.com/dhall-lang/dhall-haskell/pull/2462)+* [Add `Eq` instances for `InvalidDecoder` and `ExtractError`](https://github.com/dhall-lang/dhall-haskell/pull/2482)+ 1.41.2 * [BUG FIX: Fix `:hash` REPL command to α-normalize input](https://github.com/dhall-lang/dhall-haskell/pull/2420)@@ -313,6 +390,12 @@ * If you really don't want to handle the new error-related wrapper, you can get the old behavior using a partial pattern match (which will be partial, still an improvement over the previous behavior, which was hanging)+* BREAKING CHANGE: [Records can no longer contain attributes named after language keywords](https://github.com/dhall-lang/dhall-haskell/pull/1801)+ * This is a bugfix, because the language standard disallows using+ keywords as record labels. However, some users were relying on+ this bug.+ * If you need to use a keyword as a record label, enclose it in backticks:+ ``{ `assert` = 1 }``. * [Fix invalid cache entries](https://github.com/dhall-lang/dhall-haskell/pull/1793) * The interpreter will now correct cached expressions that are incorrect and warn you when this happens@@ -1049,7 +1132,7 @@ * This allows the `dhall` package to be built without using `TemplateHaskell` * See: https://github.com/dhall-lang/dhall-haskell/pull/928-* Increase lines of context for error messages +* Increase lines of context for error messages * Error messages now provide at least 20 lines of context instead of 3 before truncating large expressions * See: https://github.com/dhall-lang/dhall-haskell/pull/916@@ -1432,7 +1515,7 @@ expression * You can pin the new hashes by supplying the `--protocol-version 1.0` option on the command line until you need support for newer language- features + features * This also includes a breaking change to `ImportType` in the API * BREAKING CHANGE TO THE LANGUAGE: Disallow combining records of terms and types
@@ -1,4 +1,4 @@-Copyright (c) 2020 Gabriel Gonzalez+Copyright (c) 2020 Gabriella Gonzalez All rights reserved. Redistribution and use in source and binary forms, with or without
@@ -1,14 +1,13 @@ {-# LANGUAGE OverloadedStrings #-} module Main (main) where -import Data.Void (Void)-import Gauge (defaultMain)+import Data.Void (Void)+import Test.Tasty.Bench import qualified Data.Sequence as Seq import qualified Dhall.Core as Core import qualified Dhall.Import as Import import qualified Dhall.TypeCheck as TypeCheck-import qualified Gauge dhallPreludeImport :: Core.Import dhallPreludeImport = Core.Import@@ -22,8 +21,8 @@ } } -issue412 :: Core.Expr s Void -> Gauge.Benchmarkable-issue412 prelude = Gauge.whnf TypeCheck.typeOf expr+issue412 :: Core.Expr s Void -> Benchmarkable+issue412 prelude = whnf TypeCheck.typeOf expr where expr = Core.Let (Core.Binding Nothing "prelude" Nothing Nothing Nothing prelude)@@ -34,8 +33,8 @@ little = Core.makeFieldSelection "little" foo = Core.makeFieldSelection "Foo" -unionPerformance :: Core.Expr s Void -> Gauge.Benchmarkable-unionPerformance prelude = Gauge.whnf TypeCheck.typeOf expr+unionPerformance :: Core.Expr s Void -> Benchmarkable+unionPerformance prelude = whnf TypeCheck.typeOf expr where expr = Core.Let@@ -64,10 +63,10 @@ main :: IO () main = defaultMain- [ Gauge.env prelude $ \p ->- Gauge.bgroup "Prelude"- [ Gauge.bench "issue 412" (issue412 p)- , Gauge.bench "union performance" (unionPerformance p)+ [ env prelude $ \p ->+ bgroup "Prelude"+ [ bench "issue 412" (issue412 p)+ , bench "union performance" (unionPerformance p) ] ] where prelude = Import.load (Core.Embed dhallPreludeImport)
file too large to diff
@@ -1,63 +0,0 @@-λ ( xs : List { cores : Natural , host : Text , key : Text , mandatoryFeatures :-List Text , platforms : List < AArch64_Linux : {} | ARMv5tel_Linux : {} |-ARMv7l_Linux : {} | I686_Cygwin : {} | I686_Linux : {} | MIPS64el_Linux : {} |-PowerPC_Linux : {} | X86_64_Cygwin : {} | X86_64_Darwin : {} | X86_64_FreeBSD :-{} | X86_64_Linux : {} | X86_64_Solaris : {} > , speedFactor : Natural ,-supportedFeatures : List Text , user : Optional Text } )→ List/fold { cores :-Natural , host : Text , key : Text , mandatoryFeatures : List Text , platforms :-List < AArch64_Linux : {} | ARMv5tel_Linux : {} | ARMv7l_Linux : {} |-I686_Cygwin : {} | I686_Linux : {} | MIPS64el_Linux : {} | PowerPC_Linux : {} |-X86_64_Cygwin : {} | X86_64_Darwin : {} | X86_64_FreeBSD : {} | X86_64_Linux :-{} | X86_64_Solaris : {} > , speedFactor : Natural , supportedFeatures : List-Text , user : Optional Text } xs Text ( λ ( x : { cores : Natural , host : Text-, key : Text , mandatoryFeatures : List Text , platforms : List < AArch64_Linux-: {} | ARMv5tel_Linux : {} | ARMv7l_Linux : {} | I686_Cygwin : {} | I686_Linux :-{} | MIPS64el_Linux : {} | PowerPC_Linux : {} | X86_64_Cygwin : {} |-X86_64_Darwin : {} | X86_64_FreeBSD : {} | X86_64_Linux : {} | X86_64_Solaris :-{} > , speedFactor : Natural , supportedFeatures : List Text , user : Optional-Text } ) → λ(y : Text) →-merge { None = x.host, Some = λ(user : Text) → "${user}@${x.host}" } x.user-++ " " ++ ( merge { Empty = λ(_ : {}) → "",-NonEmpty = λ(result : Text) → result } ( List/fold < AArch64_Linux : {} |-ARMv5tel_Linux : {} | ARMv7l_Linux : {} | I686_Cygwin : {} | I686_Linux : {} |-MIPS64el_Linux : {} | PowerPC_Linux : {} | X86_64_Cygwin : {} | X86_64_Darwin :-{} | X86_64_FreeBSD : {} | X86_64_Linux : {} | X86_64_Solaris : {} > x.platforms-< Empty : {} | NonEmpty : Text > ( λ ( element : < AArch64_Linux : {} |-ARMv5tel_Linux : {} | ARMv7l_Linux : {} | I686_Cygwin : {} | I686_Linux : {} |-MIPS64el_Linux : {} | PowerPC_Linux : {} | X86_64_Cygwin : {} | X86_64_Darwin :-{} | X86_64_FreeBSD : {} | X86_64_Linux : {} | X86_64_Solaris : {} > ) →-λ(status : < Empty : {} | NonEmpty : Text >) → merge { Empty = λ(_ : {}) → <-NonEmpty : Text | Empty : {} >.NonEmpty ( merge { AArch64_Linux = λ(_ : {}) →-"aarch64-linux" , ARMv5tel_Linux = λ(_ : {}) → "armv5tel-linux" , ARMv7l_Linux =-λ(_ : {}) → "armv7l-linux" , I686_Cygwin = λ(_ : {}) → "i686-cygwin" ,-I686_Linux = λ(_ : {}) → "i686-linux" , MIPS64el_Linux = λ(_ : {}) →-"mips64el-linux" , PowerPC_Linux = λ(_ : {}) → "powerpc-linux" , X86_64_Cygwin =-λ(_ : {}) → "x86_64-cygwin" , X86_64_Darwin = λ(_ : {}) → "x86_64-darwin" ,-X86_64_FreeBSD = λ(_ : {}) → "x86_64-freebsd" , X86_64_Linux = λ(_ : {}) →-"x86_64-linux" , X86_64_Solaris = λ(_ : {}) → "x86_64-solaris" } element ) ,-NonEmpty = λ(result : Text) → < NonEmpty : Text | Empty : {} >.NonEmpty ( (-merge { AArch64_Linux = λ(_ : {}) → "aarch64-linux" , ARMv5tel_Linux = λ(_ : {})-→ "armv5tel-linux" , ARMv7l_Linux = λ(_ : {}) → "armv7l-linux" , I686_Cygwin =-λ(_ : {}) → "i686-cygwin" , I686_Linux = λ(_ : {}) → "i686-linux" ,-MIPS64el_Linux = λ(_ : {}) → "mips64el-linux" , PowerPC_Linux = λ(_ : {}) →-"powerpc-linux" , X86_64_Cygwin = λ(_ : {}) → "x86_64-cygwin" , X86_64_Darwin =-λ(_ : {}) → "x86_64-darwin" , X86_64_FreeBSD = λ(_ : {}) → "x86_64-freebsd" ,-X86_64_Linux = λ(_ : {}) → "x86_64-linux" , X86_64_Solaris = λ(_ : {}) →-"x86_64-solaris" } element ) ++ "," ++ result ) } status : < Empty : {} |-NonEmpty : Text > ) (< Empty : {} | NonEmpty : Text >.Empty {=}) ) : Text ) ++-" " ++ x.key ++ " " ++ Integer/show (Natural/toInteger x.cores) ++ " " ++-Integer/show (Natural/toInteger x.speedFactor) ++ " " ++ ( merge { Empty = λ(_ :-{}) → "", NonEmpty = λ(result : Text) → result } ( List/fold Text-x.supportedFeatures < Empty : {} | NonEmpty : Text > ( λ(element : Text) →-λ(status : < Empty : {} | NonEmpty : Text >) → merge { Empty = λ(_ : {}) → <-NonEmpty : Text | Empty : {} >.NonEmpty element , NonEmpty = λ(result : Text) →-< NonEmpty : Text | Empty : {} >.NonEmpty (element ++ "," ++ result) } status :-< Empty : {} | NonEmpty : Text > ) (< Empty : {} | NonEmpty : Text >.Empty {=})-) : Text ) ++ " " ++ ( merge { Empty = λ(_ : {}) → "", NonEmpty = λ(result :-Text) → result } ( List/fold Text x.mandatoryFeatures < Empty : {} | NonEmpty :-Text > ( λ(element : Text) → λ(status : < Empty : {} | NonEmpty : Text >) →-merge { Empty = λ(_ : {}) → < NonEmpty : Text | Empty : {} >.NonEmpty element ,-NonEmpty = λ(result : Text) → < NonEmpty : Text | Empty : {} >.NonEmpty-(element ++ "," ++ result) } status : < Empty : {} | NonEmpty : Text > ) (<-Empty : {} | NonEmpty : Text->.Empty {=}) ) : Text ) ++ "\n" ++ y ) ""
@@ -1,22 +0,0 @@--let Nat = ∀(N : Type) → (N → N) → N → N-let n2 = λ(N : Type) → λ(s : N → N) → λ(z : N) → s (s z)-let n5 = λ(N : Type) → λ(s : N → N) → λ(z : N) → s (s (s (s (s z))))--let mul =- λ(a : Nat) → λ(b : Nat) → λ(N : Type) → λ(s : N → N) → λ(z : N) → a N (b N s) z--let add =- λ(a : Nat) → λ(b : Nat) → λ(N : Type) → λ(s : N → N) → λ(z : N) → a N s (b N s z)--let n10 = mul n2 n5-let n100 = mul n10 n10-let n1k = mul n10 n100-let n10k = mul n100 n100-let n100k = mul n10 n10k-let n1M = mul n10k n100-let n5M = mul n1M n5-let n10M = mul n1M n10-let n20M = mul n10M n2--in n1M Natural (λ (x:Natural) → x + 1) 0
@@ -1,18 +0,0 @@--let compose- : ∀(a : Type) → ∀(b : Type) → ∀(c : Type) → (a → b) → (b → c) → a → c- = λ(A : Type)- → λ(B : Type)- → λ(C : Type)- → λ(f : A → B)- → λ(g : B → C)- → λ(x : A)- → g (f x)--let composeN : ∀ (a : Type) → Natural → (a → a) → a → a- = λ (a : Type)- → λ (n : Natural)- → λ (f : a → a)- → Natural/fold n (a → a) (compose a a a f) (λ (x : a) → x)--in composeN Natural 100000 (λ (x : Natural) → x + 1) 0
@@ -1,75 +0,0 @@--let iterate- = λ(n : Natural)- → λ(a : Type)- → λ(f : a → a)- → λ(x : a)- → List/build- a- ( λ(list : Type)- → λ(cons : a → list → list)- → List/fold- { index : Natural, value : {} }- ( List/indexed- {}- ( List/build- {}- ( λ(list : Type)- → λ(cons : {} → list → list)- → Natural/fold n list (cons {=})- )- )- )- list- ( λ(y : { index : Natural, value : {} })- → cons (Natural/fold y.index a f x)- )- )--let countTo =- λ (x : Natural)- → iterate x Natural (λ (x : Natural) → x + 1) 0--let sum =- λ (xs : List Natural)- → List/fold Natural xs Natural (λ (x : Natural) → λ (acc : Natural) → x + acc) 0---let map- : ∀(a : Type) → ∀(b : Type) → (a → b) → List a → List b- = λ(a : Type)- → λ(b : Type)- → λ(f : a → b)- → λ(xs : List a)- → List/build- b- ( λ(list : Type)- → λ(cons : b → list → list)- → List/fold a xs list (λ(x : a) → cons (f x))- )--let any- : ∀(a : Type) → (a → Bool) → List a → Bool- = λ(a : Type)- → λ(f : a → Bool)- → λ(xs : List a)- → List/fold a xs Bool (λ(x : a) → λ(r : Bool) → f x || r) False--let filter- : ∀(a : Type) → (a → Bool) → List a → List a- = λ(a : Type)- → λ(f : a → Bool)- → λ(xs : List a)- → List/build- a- ( λ(list : Type)- → λ(cons : a → list → list)- → List/fold- a- xs- list- (λ(x : a) → λ(xs : list) → if f x then cons x xs else xs)- )--in sum (filter Natural Natural/even- (map Natural Natural (λ(x:Natural) → x + 10) (countTo 1000)))
@@ -1,45 +0,0 @@--let iterate =- λ(n : Natural)- → λ(a : Type)- → λ(f : a → a)- → λ(x : a)- → (Natural/fold n- (a → List a → {fst:a, snd:List a})- (λ (hyp : a → List a → {fst:a, snd:List a}) →- λ (x : a) → λ (xs : List a)- → let tup = hyp x xs- in {fst = f (tup.fst), snd = tup.snd # [tup.fst]})- (λ (x : a) → λ (xs : List a) → {fst=x, snd=xs})- x ([] : List a)).snd--let countTo =- λ (x : Natural)- → iterate x Natural (λ (x : Natural) → x + 1) 0--let sum =- λ (xs : List Natural)- → List/fold Natural xs Natural (λ (x : Natural) → λ (acc : Natural) → x + acc) 0--let map- = λ(a : Type)- → λ(b : Type)- → λ(f : a → b)- → λ(xs : List a)- → List/fold a xs (List b) (λ (x : a) → λ (xs : List b) → [f x] # xs) ([] : List b)--let any- = λ(a : Type)- → λ(f : a → Bool)- → λ(xs : List a)- → List/fold a xs Bool (λ(x : a) → λ(r : Bool) → f x || r) False--let filter- = λ(a : Type)- → λ(f : a → Bool)- → λ(xs : List a)- → List/fold a xs (List a)- (λ (x : a) → λ (xs : List a) → if f x then [x] # xs else xs) ([] : List a)--in sum (filter Natural Natural/even- (map Natural Natural (λ(x:Natural) → x + 10) (countTo 1000)))
@@ -1,54 +1,54 @@+{-# LANGUAGE BangPatterns #-} {-# LANGUAGE OverloadedStrings #-} module Main where import Control.Exception (throw) import Control.Monad (forM)-import Data.Map (Map, foldrWithKey, singleton, unions)+import Data.Map (Map)+import Data.Text (Text) import Data.Void (Void)-import Gauge (bench, bgroup, defaultMain, env, nf, whnf)--import System.Directory+import Test.Tasty.Bench import qualified Data.ByteString.Lazy-import qualified Data.Text as T-import qualified Data.Text.IO as TIO+import qualified Data.Map as Map+import qualified Data.Text as Text+import qualified Data.Text.IO import qualified Dhall.Binary import qualified Dhall.Core as Dhall import qualified Dhall.Parser as Dhall-import qualified Gauge+import qualified System.Directory as Directory -type PreludeFiles = Map FilePath T.Text+type PreludeFiles = Map FilePath Text loadPreludeFiles :: IO PreludeFiles loadPreludeFiles = loadDirectory "./dhall-lang/Prelude" where loadDirectory :: FilePath -> IO PreludeFiles loadDirectory dir =- withCurrentDirectory dir $ do- files <- getCurrentDirectory >>= listDirectory+ Directory.withCurrentDirectory dir $ do+ files <- Directory.getCurrentDirectory >>= Directory.listDirectory results <- forM files $ \file -> do- file' <- makeAbsolute file- doesExist <- doesFileExist file'+ file' <- Directory.makeAbsolute file+ doesExist <- Directory.doesFileExist file' if doesExist then loadFile file' else loadDirectory file'- pure $ unions results+ pure $ Map.unions results loadFile :: FilePath -> IO PreludeFiles- loadFile path = singleton path <$> TIO.readFile path+ loadFile path = Map.singleton path <$> Data.Text.IO.readFile path -benchParser :: PreludeFiles -> Gauge.Benchmark+benchParser :: PreludeFiles -> Benchmark benchParser = bgroup "exprFromText"- . foldrWithKey (\name expr -> (benchExprFromText name expr :)) []+ . Map.foldrWithKey (\name expr -> (benchExprFromText name expr :)) [] -benchExprFromText :: String -> T.Text -> Gauge.Benchmark-benchExprFromText name expr =+benchExprFromText :: String -> Text -> Benchmark+benchExprFromText name !expr = bench name $ whnf (Dhall.exprFromText "(input)") expr -benchExprFromBytes- :: String -> Data.ByteString.Lazy.ByteString -> Gauge.Benchmark+benchExprFromBytes :: String -> Data.ByteString.Lazy.ByteString -> Benchmark benchExprFromBytes name bs = bench name (nf f bs) where f bytes =@@ -56,8 +56,8 @@ Left exception -> error (show exception) Right expression -> expression :: Dhall.Expr Void Dhall.Import -benchNfExprFromText :: String -> T.Text -> Gauge.Benchmark-benchNfExprFromText name expr =+benchNfExprFromText :: String -> Text -> Benchmark+benchNfExprFromText name !expr = bench name $ nf (either throw id . Dhall.exprFromText "(input)") expr main :: IO ()@@ -71,20 +71,21 @@ ] , env kubernetesExample $ benchExprFromBytes "Kubernetes/Binary"- , benchExprFromText "Long variable names" (T.replicate 1000000 "x")- , benchExprFromText "Large number of function arguments" (T.replicate 10000 "x ")- , benchExprFromText "Long double-quoted strings" ("\"" <> T.replicate 1000000 "x" <> "\"")- , benchExprFromText "Long single-quoted strings" ("''" <> T.replicate 1000000 "x" <> "''")- , benchExprFromText "Whitespace" (T.replicate 1000000 " " <> "x")- , benchExprFromText "Line comment" ("x -- " <> T.replicate 1000000 " ")- , benchExprFromText "Block comment" ("x {- " <> T.replicate 1000000 " " <> "-}")+ , benchExprFromText "Long variable names" (Text.replicate 1000000 "x")+ , benchExprFromText "Large number of function arguments" (Text.replicate 10000 "x ")+ , benchExprFromText "Long double-quoted strings" ("\"" <> Text.replicate 1000000 "x" <> "\"")+ , benchExprFromText "Long single-quoted strings" ("''" <> Text.replicate 1000000 "x" <> "''")+ , benchExprFromText "Whitespace" (Text.replicate 1000000 " " <> "x")+ , benchExprFromText "Line comment" ("x -- " <> Text.replicate 1000000 " ")+ , benchExprFromText "Block comment" ("x {- " <> Text.replicate 1000000 " " <> "-}") , benchExprFromText "Deeply nested parentheses" "((((((((((((((((x))))))))))))))))" , benchParser prelude , env cpkgExample $ benchNfExprFromText "CPkg/Text" ]- where cpkgExample = TIO.readFile "benchmark/examples/cpkg.dhall"- issue108Text = TIO.readFile "benchmark/examples/issue108.dhall"- issue108Bytes = Data.ByteString.Lazy.readFile "benchmark/examples/issue108.dhall.bin"- issues = (,) <$> issue108Text <*> issue108Bytes- kubernetesExample = Data.ByteString.Lazy.readFile "benchmark/examples/kubernetes.dhall.bin"+ where+ cpkgExample = Data.Text.IO.readFile "benchmark/parser/examples/cpkg.dhall"+ issue108Text = Data.Text.IO.readFile "benchmark/parser/examples/issue108.dhall"+ issue108Bytes = Data.ByteString.Lazy.readFile "benchmark/parser/examples/issue108.dhallb"+ issues = (,) <$> issue108Text <*> issue108Bytes+ kubernetesExample = Data.ByteString.Lazy.readFile "benchmark/parser/examples/kubernetes.dhallb"
file too large to diff
@@ -0,0 +1,63 @@+λ ( xs : List { cores : Natural , host : Text , key : Text , mandatoryFeatures :+List Text , platforms : List < AArch64_Linux : {} | ARMv5tel_Linux : {} |+ARMv7l_Linux : {} | I686_Cygwin : {} | I686_Linux : {} | MIPS64el_Linux : {} |+PowerPC_Linux : {} | X86_64_Cygwin : {} | X86_64_Darwin : {} | X86_64_FreeBSD :+{} | X86_64_Linux : {} | X86_64_Solaris : {} > , speedFactor : Natural ,+supportedFeatures : List Text , user : Optional Text } )→ List/fold { cores :+Natural , host : Text , key : Text , mandatoryFeatures : List Text , platforms :+List < AArch64_Linux : {} | ARMv5tel_Linux : {} | ARMv7l_Linux : {} |+I686_Cygwin : {} | I686_Linux : {} | MIPS64el_Linux : {} | PowerPC_Linux : {} |+X86_64_Cygwin : {} | X86_64_Darwin : {} | X86_64_FreeBSD : {} | X86_64_Linux :+{} | X86_64_Solaris : {} > , speedFactor : Natural , supportedFeatures : List+Text , user : Optional Text } xs Text ( λ ( x : { cores : Natural , host : Text+, key : Text , mandatoryFeatures : List Text , platforms : List < AArch64_Linux+: {} | ARMv5tel_Linux : {} | ARMv7l_Linux : {} | I686_Cygwin : {} | I686_Linux :+{} | MIPS64el_Linux : {} | PowerPC_Linux : {} | X86_64_Cygwin : {} |+X86_64_Darwin : {} | X86_64_FreeBSD : {} | X86_64_Linux : {} | X86_64_Solaris :+{} > , speedFactor : Natural , supportedFeatures : List Text , user : Optional+Text } ) → λ(y : Text) →+merge { None = x.host, Some = λ(user : Text) → "${user}@${x.host}" } x.user+++ " " ++ ( merge { Empty = λ(_ : {}) → "",+NonEmpty = λ(result : Text) → result } ( List/fold < AArch64_Linux : {} |+ARMv5tel_Linux : {} | ARMv7l_Linux : {} | I686_Cygwin : {} | I686_Linux : {} |+MIPS64el_Linux : {} | PowerPC_Linux : {} | X86_64_Cygwin : {} | X86_64_Darwin :+{} | X86_64_FreeBSD : {} | X86_64_Linux : {} | X86_64_Solaris : {} > x.platforms+< Empty : {} | NonEmpty : Text > ( λ ( element : < AArch64_Linux : {} |+ARMv5tel_Linux : {} | ARMv7l_Linux : {} | I686_Cygwin : {} | I686_Linux : {} |+MIPS64el_Linux : {} | PowerPC_Linux : {} | X86_64_Cygwin : {} | X86_64_Darwin :+{} | X86_64_FreeBSD : {} | X86_64_Linux : {} | X86_64_Solaris : {} > ) →+λ(status : < Empty : {} | NonEmpty : Text >) → merge { Empty = λ(_ : {}) → <+NonEmpty : Text | Empty : {} >.NonEmpty ( merge { AArch64_Linux = λ(_ : {}) →+"aarch64-linux" , ARMv5tel_Linux = λ(_ : {}) → "armv5tel-linux" , ARMv7l_Linux =+λ(_ : {}) → "armv7l-linux" , I686_Cygwin = λ(_ : {}) → "i686-cygwin" ,+I686_Linux = λ(_ : {}) → "i686-linux" , MIPS64el_Linux = λ(_ : {}) →+"mips64el-linux" , PowerPC_Linux = λ(_ : {}) → "powerpc-linux" , X86_64_Cygwin =+λ(_ : {}) → "x86_64-cygwin" , X86_64_Darwin = λ(_ : {}) → "x86_64-darwin" ,+X86_64_FreeBSD = λ(_ : {}) → "x86_64-freebsd" , X86_64_Linux = λ(_ : {}) →+"x86_64-linux" , X86_64_Solaris = λ(_ : {}) → "x86_64-solaris" } element ) ,+NonEmpty = λ(result : Text) → < NonEmpty : Text | Empty : {} >.NonEmpty ( (+merge { AArch64_Linux = λ(_ : {}) → "aarch64-linux" , ARMv5tel_Linux = λ(_ : {})+→ "armv5tel-linux" , ARMv7l_Linux = λ(_ : {}) → "armv7l-linux" , I686_Cygwin =+λ(_ : {}) → "i686-cygwin" , I686_Linux = λ(_ : {}) → "i686-linux" ,+MIPS64el_Linux = λ(_ : {}) → "mips64el-linux" , PowerPC_Linux = λ(_ : {}) →+"powerpc-linux" , X86_64_Cygwin = λ(_ : {}) → "x86_64-cygwin" , X86_64_Darwin =+λ(_ : {}) → "x86_64-darwin" , X86_64_FreeBSD = λ(_ : {}) → "x86_64-freebsd" ,+X86_64_Linux = λ(_ : {}) → "x86_64-linux" , X86_64_Solaris = λ(_ : {}) →+"x86_64-solaris" } element ) ++ "," ++ result ) } status : < Empty : {} |+NonEmpty : Text > ) (< Empty : {} | NonEmpty : Text >.Empty {=}) ) : Text ) +++" " ++ x.key ++ " " ++ Integer/show (Natural/toInteger x.cores) ++ " " +++Integer/show (Natural/toInteger x.speedFactor) ++ " " ++ ( merge { Empty = λ(_ :+{}) → "", NonEmpty = λ(result : Text) → result } ( List/fold Text+x.supportedFeatures < Empty : {} | NonEmpty : Text > ( λ(element : Text) →+λ(status : < Empty : {} | NonEmpty : Text >) → merge { Empty = λ(_ : {}) → <+NonEmpty : Text | Empty : {} >.NonEmpty element , NonEmpty = λ(result : Text) →+< NonEmpty : Text | Empty : {} >.NonEmpty (element ++ "," ++ result) } status :+< Empty : {} | NonEmpty : Text > ) (< Empty : {} | NonEmpty : Text >.Empty {=})+) : Text ) ++ " " ++ ( merge { Empty = λ(_ : {}) → "", NonEmpty = λ(result :+Text) → result } ( List/fold Text x.mandatoryFeatures < Empty : {} | NonEmpty :+Text > ( λ(element : Text) → λ(status : < Empty : {} | NonEmpty : Text >) →+merge { Empty = λ(_ : {}) → < NonEmpty : Text | Empty : {} >.NonEmpty element ,+NonEmpty = λ(result : Text) → < NonEmpty : Text | Empty : {} >.NonEmpty+(element ++ "," ++ result) } status : < Empty : {} | NonEmpty : Text > ) (<+Empty : {} | NonEmpty : Text+>.Empty {=}) ) : Text ) ++ "\n" ++ y ) ""
binary file changed (absent → 3818 bytes)
file too large to diff
@@ -0,0 +1,22 @@++let Nat = ∀(N : Type) → (N → N) → N → N+let n2 = λ(N : Type) → λ(s : N → N) → λ(z : N) → s (s z)+let n5 = λ(N : Type) → λ(s : N → N) → λ(z : N) → s (s (s (s (s z))))++let mul =+ λ(a : Nat) → λ(b : Nat) → λ(N : Type) → λ(s : N → N) → λ(z : N) → a N (b N s) z++let add =+ λ(a : Nat) → λ(b : Nat) → λ(N : Type) → λ(s : N → N) → λ(z : N) → a N s (b N s z)++let n10 = mul n2 n5+let n100 = mul n10 n10+let n1k = mul n10 n100+let n10k = mul n100 n100+let n100k = mul n10 n10k+let n1M = mul n10k n100+let n5M = mul n1M n5+let n10M = mul n1M n10+let n20M = mul n10M n2++in n1M Natural (λ (x:Natural) → x + 1) 0
@@ -0,0 +1,18 @@++let compose+ : ∀(a : Type) → ∀(b : Type) → ∀(c : Type) → (a → b) → (b → c) → a → c+ = λ(A : Type)+ → λ(B : Type)+ → λ(C : Type)+ → λ(f : A → B)+ → λ(g : B → C)+ → λ(x : A)+ → g (f x)++let composeN : ∀ (a : Type) → Natural → (a → a) → a → a+ = λ (a : Type)+ → λ (n : Natural)+ → λ (f : a → a)+ → Natural/fold n (a → a) (compose a a a f) (λ (x : a) → x)++in composeN Natural 100000 (λ (x : Natural) → x + 1) 0
@@ -0,0 +1,75 @@++let iterate+ = λ(n : Natural)+ → λ(a : Type)+ → λ(f : a → a)+ → λ(x : a)+ → List/build+ a+ ( λ(list : Type)+ → λ(cons : a → list → list)+ → List/fold+ { index : Natural, value : {} }+ ( List/indexed+ {}+ ( List/build+ {}+ ( λ(list : Type)+ → λ(cons : {} → list → list)+ → Natural/fold n list (cons {=})+ )+ )+ )+ list+ ( λ(y : { index : Natural, value : {} })+ → cons (Natural/fold y.index a f x)+ )+ )++let countTo =+ λ (x : Natural)+ → iterate x Natural (λ (x : Natural) → x + 1) 0++let sum =+ λ (xs : List Natural)+ → List/fold Natural xs Natural (λ (x : Natural) → λ (acc : Natural) → x + acc) 0+++let map+ : ∀(a : Type) → ∀(b : Type) → (a → b) → List a → List b+ = λ(a : Type)+ → λ(b : Type)+ → λ(f : a → b)+ → λ(xs : List a)+ → List/build+ b+ ( λ(list : Type)+ → λ(cons : b → list → list)+ → List/fold a xs list (λ(x : a) → cons (f x))+ )++let any+ : ∀(a : Type) → (a → Bool) → List a → Bool+ = λ(a : Type)+ → λ(f : a → Bool)+ → λ(xs : List a)+ → List/fold a xs Bool (λ(x : a) → λ(r : Bool) → f x || r) False++let filter+ : ∀(a : Type) → (a → Bool) → List a → List a+ = λ(a : Type)+ → λ(f : a → Bool)+ → λ(xs : List a)+ → List/build+ a+ ( λ(list : Type)+ → λ(cons : a → list → list)+ → List/fold+ a+ xs+ list+ (λ(x : a) → λ(xs : list) → if f x then cons x xs else xs)+ )++in sum (filter Natural Natural/even+ (map Natural Natural (λ(x:Natural) → x + 10) (countTo 1000)))
@@ -0,0 +1,45 @@++let iterate =+ λ(n : Natural)+ → λ(a : Type)+ → λ(f : a → a)+ → λ(x : a)+ → (Natural/fold n+ (a → List a → {fst:a, snd:List a})+ (λ (hyp : a → List a → {fst:a, snd:List a}) →+ λ (x : a) → λ (xs : List a)+ → let tup = hyp x xs+ in {fst = f (tup.fst), snd = tup.snd # [tup.fst]})+ (λ (x : a) → λ (xs : List a) → {fst=x, snd=xs})+ x ([] : List a)).snd++let countTo =+ λ (x : Natural)+ → iterate x Natural (λ (x : Natural) → x + 1) 0++let sum =+ λ (xs : List Natural)+ → List/fold Natural xs Natural (λ (x : Natural) → λ (acc : Natural) → x + acc) 0++let map+ = λ(a : Type)+ → λ(b : Type)+ → λ(f : a → b)+ → λ(xs : List a)+ → List/fold a xs (List b) (λ (x : a) → λ (xs : List b) → [f x] # xs) ([] : List b)++let any+ = λ(a : Type)+ → λ(f : a → Bool)+ → λ(xs : List a)+ → List/fold a xs Bool (λ(x : a) → λ(r : Bool) → f x || r) False++let filter+ = λ(a : Type)+ → λ(f : a → Bool)+ → λ(xs : List a)+ → List/fold a xs (List a)+ (λ (x : a) → λ (xs : List a) → if f x then [x] # xs else xs) ([] : List a)++in sum (filter Natural Natural/even+ (map Natural Natural (λ(x:Natural) → x + 10) (countTo 1000)))
@@ -1,3 +1,3 @@- ./and.dhall+ missing sha256:0b2114fa33cd76652e4360f012bc082718944fe4c5b28c975483178f8d9b0a6d ? ./and.dhall
@@ -1,3 +1,3 @@- ./build.dhall+ missing sha256:add7cb9acacac705410088d876a7e4488e046a7aded304f06c51accffd7f1b7b ? ./build.dhall
@@ -0,0 +1,6 @@+--| Returns `True` if both arguments are equal and returns `False` otherwise+let equal+ : Bool -> Bool -> Bool+ = \(x : Bool) -> \(y : Bool) -> x == y++in equal
@@ -1,3 +1,3 @@- ./even.dhall+ missing sha256:72a05ee550636a3acb768360fa51ba0db0326763e0cf1ceb737f0f3607fc0fe5 ? ./even.dhall
@@ -1,3 +1,3 @@- ./fold.dhall+ missing sha256:39f60baf3950268c2e849e91dc6279ee41cd6b81892d54020d4fcd2ce30a96ae ? ./fold.dhall
@@ -1,3 +1,3 @@- ./not.dhall+ missing sha256:723df402df24377d8a853afed08d9d69a0a6d86e2e5b2bac8960b0d4756c7dc4 ? ./not.dhall
@@ -1,3 +1,3 @@- ./odd.dhall+ missing sha256:6360fca3a745de32bd186cc7b71487a6398cd47d5119064eae491872c41d1999 ? ./odd.dhall
@@ -1,3 +1,3 @@- ./or.dhall+ missing sha256:5c50738e84e1c4fed8343ebd57608500e1b61ac1f502aa52d6d6edb5c20b99e4 ? ./or.dhall
@@ -1,33 +1,37 @@ { and =- ./and.dhall+ missing sha256:0b2114fa33cd76652e4360f012bc082718944fe4c5b28c975483178f8d9b0a6d ? ./and.dhall , build =- ./build.dhall+ missing sha256:add7cb9acacac705410088d876a7e4488e046a7aded304f06c51accffd7f1b7b ? ./build.dhall+, equal =+ missing+ sha256:f0dc047ca14644c2a979bb126f2a3c6659ec770c66bd7beb70ae4a9d05815709+ ? ./equal.dhall , even =- ./even.dhall+ missing sha256:72a05ee550636a3acb768360fa51ba0db0326763e0cf1ceb737f0f3607fc0fe5 ? ./even.dhall , fold =- ./fold.dhall+ missing sha256:39f60baf3950268c2e849e91dc6279ee41cd6b81892d54020d4fcd2ce30a96ae ? ./fold.dhall , not =- ./not.dhall+ missing sha256:723df402df24377d8a853afed08d9d69a0a6d86e2e5b2bac8960b0d4756c7dc4 ? ./not.dhall , odd =- ./odd.dhall+ missing sha256:6360fca3a745de32bd186cc7b71487a6398cd47d5119064eae491872c41d1999 ? ./odd.dhall , or =- ./or.dhall+ missing sha256:5c50738e84e1c4fed8343ebd57608500e1b61ac1f502aa52d6d6edb5c20b99e4 ? ./or.dhall , show =- ./show.dhall+ missing sha256:f85f6d2d921c37a2122cb2e2f8a0170e305b699debd0e6df5ef3370d806b5f61 ? ./show.dhall }
@@ -1,3 +1,3 @@- ./show.dhall+ missing sha256:f85f6d2d921c37a2122cb2e2f8a0170e305b699debd0e6df5ef3370d806b5f61 ? ./show.dhall
@@ -0,0 +1,5 @@+{ show =+ missing+ sha256:8a0eb9732cbc3c8f161b7cb05b183493befacc4728d2d9b7ee1384f19106a5ff+ ? ./show.dhall+}
@@ -0,0 +1,15 @@+{-+Render a `Date` as `Text` using the same representation as Dhall source code+(i.e. `YYYY-MM-DD`)+-}+let show+ : Date → Text+ = Date/show++let example0 = assert : show 2000-09-02 ≡ "2000-09-02"++let example1 = assert : show 9999-12-31 ≡ "9999-12-31"++let example2 = assert : show 0000-01-01 ≡ "0000-01-01"++in show
@@ -0,0 +1,5 @@+{-|+A (total) set of access rights; See chmod(5) for an explanation of the flags.+For a partial set of of access rights see `Access`.+-}+{ execute : Bool, read : Bool, write : Bool }
@@ -0,0 +1,69 @@+{-|+@intersect a b@ intesects the flags of the two `Mask`s @a@ and @b@. This+resembles the bitwise "and", i.e. the value of a flag is 'True' if and only if+it is set to 'True' in both @a@ and @b@. As a consequence @intersect a rwx == a@+and @intersect a none == none@ for all @a@.+-}+let Mask =+ missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ./Type.dhall++let intersect+ : Mask -> Mask -> Mask+ = \(m1 : Mask) ->+ \(m2 : Mask) ->+ { read = m1.read && m2.read+ , write = m1.write && m2.write+ , execute = m1.execute && m2.execute+ }++let example0 =+ let r =+ missing+ sha256:26d7fc8df6194a8051946eac88d0d7fecce690bff6819e69b3c74edf65ac027a+ ? ./r.dhall++ let w =+ missing+ sha256:9d10dfc672f61bbb2828c7be2121aae2502938c25adb47bb8cce3c40ba99821b+ ? ./w.dhall++ let x =+ missing+ sha256:a966fd88c05a5912a6daa8409e0c9e396f0a4810b51def1e1f62a95e18235f10+ ? ./x.dhall++ let rwx =+ missing+ sha256:cafda16b1ecc0d2f9a63f3aab229a02e18aebb054283c73e50517f1e3727cd27+ ? ./rwx.dhall++ let none =+ missing+ sha256:db6c3bb734bb3288441f2664379706052943eaba35c021326a600d41ca766925+ ? ./none.dhall++ in assert : intersect r (intersect w (intersect x rwx)) === none++let example1 =+ \(a : Mask) ->+ let rwx =+ missing+ sha256:cafda16b1ecc0d2f9a63f3aab229a02e18aebb054283c73e50517f1e3727cd27+ ? ./rwx.dhall++ in assert+ : intersect a rwx+ === { execute = a.execute, read = a.read, write = a.write }++let example2 =+ \(a : Mask) ->+ let none =+ missing+ sha256:db6c3bb734bb3288441f2664379706052943eaba35c021326a600d41ca766925+ ? ./none.dhall++ in assert : intersect a none === none++in intersect
@@ -0,0 +1,48 @@+{-|+Inverts the flags set in a `Mask`.+-}+let Mask =+ missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ./Type.dhall++let Bool/not =+ missing+ sha256:723df402df24377d8a853afed08d9d69a0a6d86e2e5b2bac8960b0d4756c7dc4+ ? ../../../Bool/not.dhall++let invert+ : Mask -> Mask+ = \(m : Mask) ->+ { read = Bool/not m.read+ , write = Bool/not m.write+ , execute = Bool/not m.execute+ }++let example0 =+ let none =+ missing+ sha256:db6c3bb734bb3288441f2664379706052943eaba35c021326a600d41ca766925+ ? ./none.dhall++ let rwx =+ missing+ sha256:cafda16b1ecc0d2f9a63f3aab229a02e18aebb054283c73e50517f1e3727cd27+ ? ./rwx.dhall++ in assert : invert rwx === none++let example1 =+ let none =+ missing+ sha256:db6c3bb734bb3288441f2664379706052943eaba35c021326a600d41ca766925+ ? ./none.dhall++ let rwx =+ missing+ sha256:cafda16b1ecc0d2f9a63f3aab229a02e18aebb054283c73e50517f1e3727cd27+ ? ./rwx.dhall++ in assert : invert none === rwx++in invert
@@ -0,0 +1,4 @@+ { read = False, write = False, execute = False }+: missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ./Type.dhall
@@ -0,0 +1,53 @@+{ Type =+ missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ./Type.dhall+, intersect =+ missing+ sha256:7c7dab3e305f43cba556e0778b5a797cf8e9b1d1a6c6f6fe0ea311c329919663+ ? ./intersect.dhall+, invert =+ missing+ sha256:8807fb02f694fe2117f8a7f794e5afbb967ec36eac3405184bf9232c33cdd830+ ? ./invert.dhall+, none =+ missing+ sha256:db6c3bb734bb3288441f2664379706052943eaba35c021326a600d41ca766925+ ? ./none.dhall+, r =+ missing+ sha256:26d7fc8df6194a8051946eac88d0d7fecce690bff6819e69b3c74edf65ac027a+ ? ./r.dhall+, rw =+ missing+ sha256:c3cce19f462b841e64adafbdf2963699a0031f5fc08b041c8ad364483c544d8b+ ? ./rw.dhall+, rwx =+ missing+ sha256:cafda16b1ecc0d2f9a63f3aab229a02e18aebb054283c73e50517f1e3727cd27+ ? ./rwx.dhall+, rx =+ missing+ sha256:d9beaa853c0de6984c3e5b0e313b573942900f8024fd9aaad743d73df458dc5e+ ? ./rx.dhall+, toAccess =+ missing+ sha256:78fe016f0273b2551c8590da71bf204cc26d6879c6b84622d4d8ad5624328438+ ? ./toAccess.dhall+, toAccessWith =+ missing+ sha256:814ab74ad292c121620a1f468837d4a5473323423bf68c1bceca69e7b3c59077+ ? ./toAccessWith.dhall+, union =+ missing+ sha256:b40c4cbb266991e3f764af075e9db544b59c16b3d9aa680c0cf6cb7552da191f+ ? ./union.dhall+, w =+ missing+ sha256:9d10dfc672f61bbb2828c7be2121aae2502938c25adb47bb8cce3c40ba99821b+ ? ./w.dhall+, x =+ missing+ sha256:a966fd88c05a5912a6daa8409e0c9e396f0a4810b51def1e1f62a95e18235f10+ ? ./x.dhall+}
@@ -0,0 +1,4 @@+ { read = True, write = False, execute = False }+: missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ./Type.dhall
@@ -0,0 +1,4 @@+ { read = True, write = True, execute = False }+: missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ./Type.dhall
@@ -0,0 +1,4 @@+ { read = True, write = True, execute = True }+: missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ./Type.dhall
@@ -0,0 +1,4 @@+ { read = True, write = False, execute = True }+: missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ./Type.dhall
@@ -0,0 +1,20 @@+{-|+Convert a `Mask` value to an `Access` value. For a partial conversion see+`toAccessWith`.+-}+let Access =+ missing+ sha256:50689ae80f8c8dcd6e7af33fbc20ea871afb92ec87104253cdbae01f838f6c38+ ? ../Type.dhall++let Mask =+ missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ./Type.dhall++let toAccess+ : Mask -> Access+ = \(m : Mask) ->+ { execute = Some m.execute, read = Some m.read, write = Some m.write }++in toAccess
@@ -0,0 +1,42 @@+{-|+@toAccessWith x m@ converts some fields of a `Mask` @m@ to an `Access` setting:+If the respective field is set in the first `Mask` @x@, then the flag will be+set to the flags value given in @m@. Otherwise, the value set in @m@ is ignored+and the value of the flag in the result is `None`.++For a motivation of this function see the documenation on `toModeWith`.+-}+let Access =+ missing+ sha256:50689ae80f8c8dcd6e7af33fbc20ea871afb92ec87104253cdbae01f838f6c38+ ? ../Type.dhall++let Mask =+ missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ./Type.dhall++let toAccessWith+ : Mask -> Mask -> Access+ = \(set : Mask) ->+ \(m : Mask) ->+ { execute = if set.execute then Some m.execute else None Bool+ , read = if set.read then Some m.read else None Bool+ , write = if set.write then Some m.write else None Bool+ }++let example0 =+ \(a : Mask) ->+ let Access/none =+ missing+ sha256:955a2eed689139c811d4b9ef3dd8d0c484392b18c3bb8752c59fd69dbdaf4881+ ? ../none.dhall++ let none =+ missing+ sha256:db6c3bb734bb3288441f2664379706052943eaba35c021326a600d41ca766925+ ? ./none.dhall++ in assert : toAccessWith none a === Access/none++in toAccessWith
@@ -0,0 +1,64 @@+{-|+@union a b@ combines the flags of the two `Mask`s @a@ and @b@. This resembles+the bitwise "or", i.e. the value of a flag is 'True' if it is set to 'True' in+either @a@ and @b@. As a consequence @union a rwx == rwx@ and+@union a none == a@ for all @a@.+-}+let Mask =+ missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ./Type.dhall++let union+ : Mask -> Mask -> Mask+ = \(m1 : Mask) ->+ \(m2 : Mask) ->+ { read = m1.read || m2.read+ , write = m1.write || m2.write+ , execute = m1.execute || m2.execute+ }++let example0 =+ let r =+ missing+ sha256:26d7fc8df6194a8051946eac88d0d7fecce690bff6819e69b3c74edf65ac027a+ ? ./r.dhall++ let w =+ missing+ sha256:9d10dfc672f61bbb2828c7be2121aae2502938c25adb47bb8cce3c40ba99821b+ ? ./w.dhall++ let x =+ missing+ sha256:a966fd88c05a5912a6daa8409e0c9e396f0a4810b51def1e1f62a95e18235f10+ ? ./x.dhall++ let rwx =+ missing+ sha256:cafda16b1ecc0d2f9a63f3aab229a02e18aebb054283c73e50517f1e3727cd27+ ? ./rwx.dhall++ in assert : union r (union w x) === rwx++let example1 =+ \(a : Mask) ->+ let rwx =+ missing+ sha256:cafda16b1ecc0d2f9a63f3aab229a02e18aebb054283c73e50517f1e3727cd27+ ? ./rwx.dhall++ in assert : union a rwx === rwx++let example1 =+ \(a : Mask) ->+ let none =+ missing+ sha256:db6c3bb734bb3288441f2664379706052943eaba35c021326a600d41ca766925+ ? ./none.dhall++ in assert+ : union a none+ === { execute = a.execute, read = a.read, write = a.write }++in union
@@ -0,0 +1,4 @@+ { read = False, write = True, execute = False }+: missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ./Type.dhall
@@ -0,0 +1,4 @@+ { read = False, write = False, execute = True }+: missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ./Type.dhall
@@ -0,0 +1,5 @@+{-|+A (partial) set of access rights; See chmod(5) for an explanation of the flags.+For a total set of access rights see `Mask`.+-}+{ execute : Optional Bool, read : Optional Bool, write : Optional Bool }
@@ -0,0 +1,29 @@+{-|+`equal` checks if two `Access` settings are equal.+-}+let Access =+ missing+ sha256:50689ae80f8c8dcd6e7af33fbc20ea871afb92ec87104253cdbae01f838f6c38+ ? ./Type.dhall++let Bool/equal =+ missing+ sha256:f0dc047ca14644c2a979bb126f2a3c6659ec770c66bd7beb70ae4a9d05815709+ ? ../../Bool/equal.dhall++let Optional/equal =+ missing+ sha256:5411888399fe9c6720f7f3b59caf5eff3e8e8c30402d09f34e46a4457649a35a+ ? ../../Optional/equal.dhall++let f+ : Optional Bool -> Optional Bool -> Bool+ = Optional/equal Bool Bool/equal++let equal+ : Access -> Access -> Bool+ = \(a1 : Access) ->+ \(a2 : Access) ->+ f a1.execute a2.execute && f a1.read a2.read && f a1.write a2.write++in equal
@@ -0,0 +1,4 @@+ { read = None Bool, write = None Bool, execute = None Bool }+: missing+ sha256:50689ae80f8c8dcd6e7af33fbc20ea871afb92ec87104253cdbae01f838f6c38+ ? ./Type.dhall
@@ -0,0 +1,17 @@+{ Mask =+ missing+ sha256:ed736de51ea15a2ef671eaa7219dfbf3138bb52acfd0ae17894acf2ec4b06369+ ? ./Mask/package.dhall+, Type =+ missing+ sha256:50689ae80f8c8dcd6e7af33fbc20ea871afb92ec87104253cdbae01f838f6c38+ ? ./Type.dhall+, equal =+ missing+ sha256:5fa90f55505780a7be942275d6bbb2b1f1fb7857364332ed732a0241c2165e53+ ? ./equal.dhall+, schema =+ missing+ sha256:7d33a584a42a5d92411d5ca623e27ccb397762905be86ecfd01b106719fae690+ ? ./schema.dhall+}
@@ -0,0 +1,12 @@+{-|+A schema for blank access rights.+-}+{ Type =+ missing+ sha256:50689ae80f8c8dcd6e7af33fbc20ea871afb92ec87104253cdbae01f838f6c38+ ? ./Type.dhall+, default =+ missing+ sha256:955a2eed689139c811d4b9ef3dd8d0c484392b18c3bb8752c59fd69dbdaf4881+ ? ./none.dhall+}
@@ -0,0 +1,6 @@+let Entry =+ missing+ sha256:75148ae19175750e38705e11cda8dcc775b2ac08f22518ff2ef3f33a6273ef15+ ? ./Type.dhall++in Entry Bytes
@@ -0,0 +1,6 @@+let Entry =+ missing+ sha256:75148ae19175750e38705e11cda8dcc775b2ac08f22518ff2ef3f33a6273ef15+ ? ./Type.dhall++in \(tree : Type) -> Entry (List tree)
@@ -0,0 +1,24 @@+{-|+An `Entry` without content. That in turn implies that the type of the entry+(i.e. whether it is a file or a directory) is not (yet) fixed as well.+-}+let User =+ missing+ sha256:8b25916612d2c9b17130d16b55c6bdb085dd118e692f72bf351a83b1d0ac8833+ ? ../User/Type.dhall++let Group =+ missing+ sha256:83e6e8846153d94abf6f879808c94f5cdba3f486cc9e392eb6124b1dc67368cf+ ? ../Group/Type.dhall++let Mode =+ missing+ sha256:f05819ec2145e7dabf4aa167338bee6d326aabd81355dcf0b078e358bd34ec60+ ? ../Mode/Type.dhall++in { name : Text+ , user : Optional User+ , group : Optional Group+ , mode : Optional Mode+ }
@@ -0,0 +1,6 @@+let Entry =+ missing+ sha256:75148ae19175750e38705e11cda8dcc775b2ac08f22518ff2ef3f33a6273ef15+ ? ./Type.dhall++in Entry Text
@@ -0,0 +1,6 @@+let Metadata =+ missing+ sha256:8c240a00094238a73904af63ac0924b3e6aba1655312f20a2a27f88554e2febe+ ? ./Metadata.dhall++in \(content : Type) -> Metadata //\\ { content : content }
@@ -0,0 +1,6 @@+let Entry =+ missing+ sha256:742610b2a13e55ae6e344b54aa8a7ee1bfec8e8b313a1132eae9286309b520e6+ ? ./entry.dhall++in Entry Bytes
@@ -0,0 +1,6 @@+let Entry =+ missing+ sha256:742610b2a13e55ae6e344b54aa8a7ee1bfec8e8b313a1132eae9286309b520e6+ ? ./entry.dhall++in \(tree : Type) -> Entry (List tree)
@@ -0,0 +1,24 @@+let Entry =+ missing+ sha256:75148ae19175750e38705e11cda8dcc775b2ac08f22518ff2ef3f33a6273ef15+ ? ./Type.dhall++let User =+ missing+ sha256:8b25916612d2c9b17130d16b55c6bdb085dd118e692f72bf351a83b1d0ac8833+ ? ../User/Type.dhall++let Group =+ missing+ sha256:83e6e8846153d94abf6f879808c94f5cdba3f486cc9e392eb6124b1dc67368cf+ ? ../Group/Type.dhall++let Mode =+ missing+ sha256:f05819ec2145e7dabf4aa167338bee6d326aabd81355dcf0b078e358bd34ec60+ ? ../Mode/Type.dhall++in \(content : Type) ->+ { Type = Entry content+ , default = { user = None User, group = None Group, mode = None Mode }+ }
@@ -0,0 +1,37 @@+{ BinaryFileEntry =+ missing+ sha256:f027db2893f6f38bbe6d868a91f22de530e85407237f00b147427c87d32bf55c+ ? ./BinaryFileEntry.dhall+, DirectoryEntry =+ missing+ sha256:163a4536fdd05ce122d793ceda01d03fcffb29463817ae8b7b5601bf4a06ce6e+ ? ./DirectoryEntry.dhall+, Metadata =+ missing+ sha256:8c240a00094238a73904af63ac0924b3e6aba1655312f20a2a27f88554e2febe+ ? ./Metadata.dhall+, TextFileEntry =+ missing+ sha256:23a8cb29d96aeb623501519d9a62c5c49659e8d1c30b4ae4f2399809e3fd3a01+ ? ./TextFileEntry.dhall+, Type =+ missing+ sha256:75148ae19175750e38705e11cda8dcc775b2ac08f22518ff2ef3f33a6273ef15+ ? ./Type.dhall+, binary-file =+ missing+ sha256:bd49df43268c259e3d0bef995917c3ab517ae7b98bf1faac8f4a7e8a602e3465+ ? ./binary-file.dhall+, directory =+ missing+ sha256:0bee17310a21efa5b06f139b6731fdcee4f9e0245ef711c2b0127b8938dfed2e+ ? ./directory.dhall+, entry =+ missing+ sha256:742610b2a13e55ae6e344b54aa8a7ee1bfec8e8b313a1132eae9286309b520e6+ ? ./entry.dhall+, text-file =+ missing+ sha256:c5d76fd43216668d03df9945183fe7b3c55486aedcc77324c3372bd63e283b78+ ? ./text-file.dhall+}
@@ -0,0 +1,6 @@+let Entry =+ missing+ sha256:742610b2a13e55ae6e344b54aa8a7ee1bfec8e8b313a1132eae9286309b520e6+ ? ./entry.dhall++in Entry Text
@@ -0,0 +1,1 @@+< GroupId : Natural | GroupName : Text >
@@ -0,0 +1,6 @@+let Group =+ missing+ sha256:83e6e8846153d94abf6f879808c94f5cdba3f486cc9e392eb6124b1dc67368cf+ ? ./Type.dhall++in Group.GroupId
@@ -0,0 +1,6 @@+let Group =+ missing+ sha256:83e6e8846153d94abf6f879808c94f5cdba3f486cc9e392eb6124b1dc67368cf+ ? ./Type.dhall++in Group.GroupName
@@ -0,0 +1,13 @@+{ Type =+ missing+ sha256:83e6e8846153d94abf6f879808c94f5cdba3f486cc9e392eb6124b1dc67368cf+ ? ./Type.dhall+, id =+ missing+ sha256:2bf9e546f56a583243d419a652caba16ca4053df9ccb3c5b242506d86806944b+ ? ./id.dhall+, name =+ missing+ sha256:51ac5c407f2939ab0c80bf2896d292ee6049bd8ba10acda0af327a3777f2205d+ ? ./name.dhall+}
@@ -0,0 +1,10 @@+{-|+A complete mode with all access rights specified explicitely. For an incomplete+mode where some access rights might not be set see `Mode`.+-}+let Access/Mask =+ missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ../../Access/Mask/Type.dhall++in { user : Access/Mask, group : Access/Mask, other : Access/Mask }
@@ -0,0 +1,9 @@+{-|+Permissions with all flags set: rwxrwxrwx+-}+let rwx =+ missing+ sha256:cafda16b1ecc0d2f9a63f3aab229a02e18aebb054283c73e50517f1e3727cd27+ ? ../../Access/Mask/rwx.dhall++in { user = rwx, group = rwx, other = rwx }
@@ -0,0 +1,17 @@+{-|+Permissions commonly used for directories: rwxr-xr-x+-}+let rwx =+ missing+ sha256:cafda16b1ecc0d2f9a63f3aab229a02e18aebb054283c73e50517f1e3727cd27+ ? ../../Access/Mask/rwx.dhall++let rx =+ missing+ sha256:d9beaa853c0de6984c3e5b0e313b573942900f8024fd9aaad743d73df458dc5e+ ? ../../Access/Mask/rx.dhall++in { user = rwx, group = rx, other = rx }+ : missing+ sha256:4f97762058f24053e03997565a78800a5a2586159deaa265a4ee84a3d94ad471+ ? ./Type.dhall
@@ -0,0 +1,17 @@+{-|+Permissions commonly used for executable files: rwxr-xr-x+-}+let rwx =+ missing+ sha256:cafda16b1ecc0d2f9a63f3aab229a02e18aebb054283c73e50517f1e3727cd27+ ? ../../Access/Mask/rwx.dhall++let rx =+ missing+ sha256:d9beaa853c0de6984c3e5b0e313b573942900f8024fd9aaad743d73df458dc5e+ ? ../../Access/Mask/rx.dhall++in { user = rwx, group = rx, other = rx }+ : missing+ sha256:4f97762058f24053e03997565a78800a5a2586159deaa265a4ee84a3d94ad471+ ? ./Type.dhall
@@ -0,0 +1,17 @@+{-|+Permissions commonly used for regular files: rw-r--r--+-}+let r =+ missing+ sha256:26d7fc8df6194a8051946eac88d0d7fecce690bff6819e69b3c74edf65ac027a+ ? ../../Access/Mask/r.dhall++let rw =+ missing+ sha256:c3cce19f462b841e64adafbdf2963699a0031f5fc08b041c8ad364483c544d8b+ ? ../../Access/Mask/rw.dhall++in { user = rw, group = r, other = r }+ : missing+ sha256:4f97762058f24053e03997565a78800a5a2586159deaa265a4ee84a3d94ad471+ ? ./Type.dhall
@@ -0,0 +1,14 @@+{-|+Permissions with group flags set: ---rwx---+-}+let rwx =+ missing+ sha256:cafda16b1ecc0d2f9a63f3aab229a02e18aebb054283c73e50517f1e3727cd27+ ? ../../Access/Mask/rwx.dhall++let none =+ missing+ sha256:db6c3bb734bb3288441f2664379706052943eaba35c021326a600d41ca766925+ ? ../../Access/Mask/none.dhall++in { user = none, group = rwx, other = none }
@@ -0,0 +1,24 @@+{-|+Calculates the intersection of the access rights of two `Mask`s using+`Access/intersect`.+-}+let Mask =+ missing+ sha256:4f97762058f24053e03997565a78800a5a2586159deaa265a4ee84a3d94ad471+ ? ./Type.dhall++let Access/intersect =+ missing+ sha256:7c7dab3e305f43cba556e0778b5a797cf8e9b1d1a6c6f6fe0ea311c329919663+ ? ../../Access/Mask/intersect.dhall++let intersect+ : Mask -> Mask -> Mask+ = \(m1 : Mask) ->+ \(m2 : Mask) ->+ { user = Access/intersect m1.user m2.user+ , group = Access/intersect m1.group m2.group+ , other = Access/intersect m1.other m2.other+ }++in intersect
@@ -0,0 +1,22 @@+{-|+Inverts each access right set in a `Mask` using `Access/invert`.+-}+let Mask =+ missing+ sha256:4f97762058f24053e03997565a78800a5a2586159deaa265a4ee84a3d94ad471+ ? ./Type.dhall++let Access/invert =+ missing+ sha256:8807fb02f694fe2117f8a7f794e5afbb967ec36eac3405184bf9232c33cdd830+ ? ../../Access/Mask/invert.dhall++let invert+ : Mask -> Mask+ = \(m : Mask) ->+ { user = Access/invert m.user+ , group = Access/invert m.group+ , other = Access/invert m.other+ }++in invert
@@ -0,0 +1,12 @@+{-|+Permissions with no flags set: ---------+-}+let none =+ missing+ sha256:db6c3bb734bb3288441f2664379706052943eaba35c021326a600d41ca766925+ ? ../../Access/Mask/none.dhall++in { user = none, group = none, other = none }+ : missing+ sha256:4f97762058f24053e03997565a78800a5a2586159deaa265a4ee84a3d94ad471+ ? ./Type.dhall
@@ -0,0 +1,14 @@+{-|+Permissions with other flags set: ------rwx+-}+let rwx =+ missing+ sha256:cafda16b1ecc0d2f9a63f3aab229a02e18aebb054283c73e50517f1e3727cd27+ ? ../../Access/Mask/rwx.dhall++let none =+ missing+ sha256:db6c3bb734bb3288441f2664379706052943eaba35c021326a600d41ca766925+ ? ../../Access/Mask/none.dhall++in { user = none, group = none, other = rwx }
@@ -0,0 +1,41 @@+{ Type =+ missing+ sha256:4f97762058f24053e03997565a78800a5a2586159deaa265a4ee84a3d94ad471+ ? ./Type.dhall+, directory =+ missing+ sha256:a43f235f0caa25c7cabd89ac5d77e466e0c0ebf3339046993c18e481930243fd+ ? ./directory.dhall+, executable =+ missing+ sha256:a43f235f0caa25c7cabd89ac5d77e466e0c0ebf3339046993c18e481930243fd+ ? ./executable.dhall+, file =+ missing+ sha256:32d34228d48a707996272d1c9681171ddcd6651f72eeb3de9727d1c26ba99df3+ ? ./file.dhall+, intersect =+ missing+ sha256:146be962523ef619d3a250699f977b69c3e5f6c24b975453f351c0e807266fc8+ ? ./intersect.dhall+, invert =+ missing+ sha256:07a13d8c233d0a9fd6b3a11475987c10619072fec882c96bc5499bfb3c01e9b2+ ? ./invert.dhall+, none =+ missing+ sha256:7cac21e2b72cadf3ee0bf10680df4902ca73b6ee070219df5eac1a24cd66ccdf+ ? ./none.dhall+, toMode =+ missing+ sha256:af2b0dab799374afa0a2f28551446760ff29f4697c200da0a8b0a8def7feee2a+ ? ./toMode.dhall+, toModeWith =+ missing+ sha256:b92327bec9141cc1a55bc3f11ae2584af0883b94fe2513376fc40f1da5ade9b2+ ? ./toModeWith.dhall+, union =+ missing+ sha256:3bb32fc6ea21f661571e46d90e450e0340b2f2b65482ba7bd1a30514e1b39fc2+ ? ./union.dhall+}
@@ -0,0 +1,28 @@+{-|+Convert a `Mask` value to a `Mode` value. For a partial conversion see+`toModeWith`.+-}+let Mode =+ missing+ sha256:f05819ec2145e7dabf4aa167338bee6d326aabd81355dcf0b078e358bd34ec60+ ? ../Type.dhall++let Mask =+ missing+ sha256:4f97762058f24053e03997565a78800a5a2586159deaa265a4ee84a3d94ad471+ ? ./Type.dhall++let Access/toAccess =+ missing+ sha256:78fe016f0273b2551c8590da71bf204cc26d6879c6b84622d4d8ad5624328438+ ? ../../Access/Mask/toAccess.dhall++let toMode+ : Mask -> Mode+ = \(m : Mask) ->+ { user = Some (Access/toAccess m.user)+ , group = Some (Access/toAccess m.group)+ , other = Some (Access/toAccess m.other)+ }++in toMode
@@ -0,0 +1,149 @@+{-|+@toModeWith x m@ converts some fields of a `Mask` @m@ to a `Mode`: If the+respective field is set in the first `Mask` @x@, then the flag will be set to+the flags value given in @m@. Otherwise, the value set in @m@ is ignored and the+value of the flag in the result is `None`.++The function is motivated by the following use case:+Alice has her umask set to 022 and new files will have permissions set to+rw-r--r--. Bob has the umask set to 077, hence newly created files will have+rw------- permissions. Now Eve distributes Dhall code writing a file with the+following mode to the filesystem:+```dhall+let mask = ./other.dhall++let permissions = ./all.dhall++in+toModeWith mask permissions+```+The written file will have rw-r--rwx permissions for Alice and rw----rwx+permissions for Bob as the `toModeWith mask` produces a `Mode` that will only+apply the permissions for the 'other' part.+-}+let Access =+ missing+ sha256:50689ae80f8c8dcd6e7af33fbc20ea871afb92ec87104253cdbae01f838f6c38+ ? ../../Access/Type.dhall++let Access/Mask =+ missing+ sha256:c0fa7626b69e117086439a7b4ee15d1a80e16e38fe2ccc13f55e6dd26030b4df+ ? ../../Access/Mask/Type.dhall++let Mode =+ missing+ sha256:f05819ec2145e7dabf4aa167338bee6d326aabd81355dcf0b078e358bd34ec60+ ? ../Type.dhall++let Mask =+ missing+ sha256:4f97762058f24053e03997565a78800a5a2586159deaa265a4ee84a3d94ad471+ ? ./Type.dhall++let Access/equal =+ missing+ sha256:5fa90f55505780a7be942275d6bbb2b1f1fb7857364332ed732a0241c2165e53+ ? ../../Access/equal.dhall++let Access/toAccessWith =+ missing+ sha256:814ab74ad292c121620a1f468837d4a5473323423bf68c1bceca69e7b3c59077+ ? ../../Access/Mask/toAccessWith.dhall++let f+ : Access/Mask -> Access/Mask -> Optional Access+ = \(set : Access/Mask) ->+ \(m : Access/Mask) ->+ let x = Access/toAccessWith set m++ in if Access/equal+ { execute = None Bool, read = None Bool, write = None Bool }+ x+ then None Access+ else Some x++let toModeWith+ : Mask -> Mask -> Mode+ = \(set : Mask) ->+ \(m : Mask) ->+ { user = f set.user m.user+ , group = f set.group m.group+ , other = f set.other m.other+ }++let example0 =+ \(a : Mask) ->+ let none =+ missing+ sha256:7cac21e2b72cadf3ee0bf10680df4902ca73b6ee070219df5eac1a24cd66ccdf+ ? ./none.dhall++ let Mode/none =+ missing+ sha256:0ed46da7e6acbdff9e4c9e27a9f2770075a7cd6cb6bb565765c62093df1b5563+ ? ../none.dhall++ in assert : toModeWith none a === Mode/none++let example1 =+ \(a : Mask) ->+ let toMode =+ missing+ sha256:af2b0dab799374afa0a2f28551446760ff29f4697c200da0a8b0a8def7feee2a+ ? ./toMode.dhall++ let all =+ missing+ sha256:758415eca8dfee675dfef93ace9af82abb36bb3319b8e6295537ed18f9b5d3dd+ ? ./all.dhall++ in assert : toModeWith all a === toMode a++let example2 =+ let mask =+ missing+ sha256:94bf82678d8d1c4f370a96f3831d3ad4464fbee508ffb37e93a479a1d9ee25cf+ ? ./other.dhall++ let permissions =+ missing+ sha256:758415eca8dfee675dfef93ace9af82abb36bb3319b8e6295537ed18f9b5d3dd+ ? ./all.dhall++ let rwx = { read = Some True, write = Some True, execute = Some True }++ in assert+ : toModeWith mask permissions+ === { user = None Access, group = None Access, other = Some rwx }++let example3 =+ let union =+ missing+ sha256:3bb32fc6ea21f661571e46d90e450e0340b2f2b65482ba7bd1a30514e1b39fc2+ ? ./union.dhall++ let group =+ missing+ sha256:faa567630372f77bb5cd2fa4fe7cb4760d2f9f79e35df80917e6e0064decf7cf+ ? ./group.dhall++ let other =+ missing+ sha256:94bf82678d8d1c4f370a96f3831d3ad4464fbee508ffb37e93a479a1d9ee25cf+ ? ./other.dhall++ let permissions =+ missing+ sha256:758415eca8dfee675dfef93ace9af82abb36bb3319b8e6295537ed18f9b5d3dd+ ? ./all.dhall++ let mask = union group other++ let rwx = { read = Some True, write = Some True, execute = Some True }++ in assert+ : toModeWith mask permissions+ === { user = None Access, group = Some rwx, other = Some rwx }++in toModeWith
@@ -0,0 +1,24 @@+{-|+Calculates the union of the access rights set by both `Mask`s using+`Access/union`.+-}+let Mask =+ missing+ sha256:4f97762058f24053e03997565a78800a5a2586159deaa265a4ee84a3d94ad471+ ? ./Type.dhall++let Access/union =+ missing+ sha256:b40c4cbb266991e3f764af075e9db544b59c16b3d9aa680c0cf6cb7552da191f+ ? ../../Access/Mask/union.dhall++let union+ : Mask -> Mask -> Mask+ = \(m1 : Mask) ->+ \(m2 : Mask) ->+ { user = Access/union m1.user m2.user+ , group = Access/union m1.group m2.group+ , other = Access/union m1.other m2.other+ }++in union
@@ -0,0 +1,14 @@+{-|+Permissions with all user flags set: rwx------+-}+let rwx =+ missing+ sha256:cafda16b1ecc0d2f9a63f3aab229a02e18aebb054283c73e50517f1e3727cd27+ ? ../../Access/Mask/rwx.dhall++let none =+ missing+ sha256:db6c3bb734bb3288441f2664379706052943eaba35c021326a600d41ca766925+ ? ../../Access/Mask/none.dhall++in { user = rwx, group = none, other = none }
@@ -0,0 +1,10 @@+{-|+An incomplete mode where some access rights might not be set explicitely. For a+complete mode with all access rights specified explicitely see `Mask`.+-}+let Access =+ missing+ sha256:50689ae80f8c8dcd6e7af33fbc20ea871afb92ec87104253cdbae01f838f6c38+ ? ../Access/Type.dhall++in { user : Optional Access, group : Optional Access, other : Optional Access }
@@ -0,0 +1,34 @@+{-|+`equal` checks if two `Mode`s are equal.+-}+let Access =+ missing+ sha256:50689ae80f8c8dcd6e7af33fbc20ea871afb92ec87104253cdbae01f838f6c38+ ? ../Access/Type.dhall++let Mode =+ missing+ sha256:f05819ec2145e7dabf4aa167338bee6d326aabd81355dcf0b078e358bd34ec60+ ? ./Type.dhall++let Access/equal =+ missing+ sha256:5fa90f55505780a7be942275d6bbb2b1f1fb7857364332ed732a0241c2165e53+ ? ../Access/equal.dhall++let Optional/equal =+ missing+ sha256:5411888399fe9c6720f7f3b59caf5eff3e8e8c30402d09f34e46a4457649a35a+ ? ../../Optional/equal.dhall++let f+ : Optional Access -> Optional Access -> Bool+ = Optional/equal Access Access/equal++let equal+ : Mode -> Mode -> Bool+ = \(m1 : Mode) ->+ \(m2 : Mode) ->+ f m1.user m2.user && f m1.group m2.group && f m1.other m2.other++in equal
@@ -0,0 +1,9 @@+let Access =+ missing+ sha256:50689ae80f8c8dcd6e7af33fbc20ea871afb92ec87104253cdbae01f838f6c38+ ? ../Access/Type.dhall++in { user = None Access, group = None Access, other = None Access }+ : missing+ sha256:f05819ec2145e7dabf4aa167338bee6d326aabd81355dcf0b078e358bd34ec60+ ? ./Type.dhall
@@ -0,0 +1,17 @@+{ Mask =+ missing+ sha256:ce2c7ac1b81c2184b906cdd07c79936ba0eaf0445f1e383f53fd18d688ee7044+ ? ./Mask/package.dhall+, Type =+ missing+ sha256:f05819ec2145e7dabf4aa167338bee6d326aabd81355dcf0b078e358bd34ec60+ ? ./Type.dhall+, equal =+ missing+ sha256:32fee2d3a56a2162d6c98fb63d47d31f98b352f22cc60c8b506011c9b5230e56+ ? ./equal.dhall+, schema =+ missing+ sha256:49f8eff9612d761c1bd424299b68317ad0f3ba325e4d22ec8acb550c2f1c0a40+ ? ./schema.dhall+}
@@ -0,0 +1,12 @@+{-|+A schema for a blank file mode.+-}+{ Type =+ missing+ sha256:f05819ec2145e7dabf4aa167338bee6d326aabd81355dcf0b078e358bd34ec60+ ? ./Type.dhall+, default =+ missing+ sha256:0ed46da7e6acbdff9e4c9e27a9f2770075a7cd6cb6bb565765c62093df1b5563+ ? ./none.dhall+}
@@ -0,0 +1,20 @@+let Directory =+ missing+ sha256:163a4536fdd05ce122d793ceda01d03fcffb29463817ae8b7b5601bf4a06ce6e+ ? ../Entry/DirectoryEntry.dhall++let BinaryFile =+ missing+ sha256:f027db2893f6f38bbe6d868a91f22de530e85407237f00b147427c87d32bf55c+ ? ../Entry/BinaryFileEntry.dhall++let TextFile =+ missing+ sha256:23a8cb29d96aeb623501519d9a62c5c49659e8d1c30b4ae4f2399809e3fd3a01+ ? ../Entry/TextFileEntry.dhall++in \(tree : Type) ->+ { directory : Directory tree -> tree+ , binary-file : BinaryFile -> tree+ , file : TextFile -> tree+ }
@@ -0,0 +1,6 @@+let Make =+ missing+ sha256:33c52c16f76b41c3635b57a38ce0286f1ad8b3163a3f07a3b41b808ac5bfeb5b+ ? ./Make.dhall++in forall (tree : Type) -> forall (make : Make tree) -> List tree
@@ -0,0 +1,32 @@+{-|+@makeTree tree make parents x@ places the tree @x@ below the directory @parent@.+@parent@ is given as a list of 'Metadata' values where each of those will be+used to create the respective level of the directory tree.+-}+let Make =+ missing+ sha256:33c52c16f76b41c3635b57a38ce0286f1ad8b3163a3f07a3b41b808ac5bfeb5b+ ? ./Make.dhall++let Metadata =+ missing+ sha256:8c240a00094238a73904af63ac0924b3e6aba1655312f20a2a27f88554e2febe+ ? ../Entry/Metadata.dhall++let makeTree+ : forall (tree : Type) -> Make tree -> List Metadata -> tree -> tree+ = \(tree : Type) ->+ \(make : Make tree) ->+ \(parents : List Metadata) ->+ \(leaf : tree) ->+ List/fold+ Metadata+ parents+ tree+ ( \(directory : Metadata) ->+ \(result : tree) ->+ make.directory (directory /\ { content = [ result ] })+ )+ leaf++in makeTree
@@ -0,0 +1,42 @@+{-|+@makeTreeFromList tree make parents xs@ places the trees @xs@ below the+directory @parent@. @parent@ is given as a non-empty list of 'Metadata' values+where each of those will be used to create the respective level of the directory+tree.+-}+let Make =+ missing+ sha256:33c52c16f76b41c3635b57a38ce0286f1ad8b3163a3f07a3b41b808ac5bfeb5b+ ? ./Make.dhall++let Metadata =+ missing+ sha256:8c240a00094238a73904af63ac0924b3e6aba1655312f20a2a27f88554e2febe+ ? ../Entry/Metadata.dhall++let NonEmpty =+ missing+ sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f+ ? ../../NonEmpty/Type.dhall++let makeTreesFromList =+ missing+ sha256:02fce5b194da66c2f98bd05af0a3bfdccf0b57d7971f17bcafee436652d9a88e+ ? ./makeTreesFromList.dhall++let makeTreeFromList+ : forall (tree : Type) ->+ Make tree ->+ NonEmpty Metadata ->+ List tree ->+ tree+ = \(tree : Type) ->+ \(make : Make tree) ->+ \(parents : NonEmpty Metadata) ->+ \(leaves : List tree) ->+ make.directory+ ( parents.head+ /\ { content = makeTreesFromList tree make parents.tail leaves }+ )++in makeTreeFromList
@@ -0,0 +1,36 @@+{-|+@makeTreesFromList tree make parents xs@ places the trees @xs@ below the+directory @parent@. @parent@ is given as a list of 'Metadata' values where each+of those will be used to create the respective level of the directory tree.+-}+let Make =+ missing+ sha256:33c52c16f76b41c3635b57a38ce0286f1ad8b3163a3f07a3b41b808ac5bfeb5b+ ? ./Make.dhall++let Metadata =+ missing+ sha256:8c240a00094238a73904af63ac0924b3e6aba1655312f20a2a27f88554e2febe+ ? ../Entry/Metadata.dhall++let makeTreesFromList+ : forall (tree : Type) ->+ Make tree ->+ List Metadata ->+ List tree ->+ List tree+ = \(tree : Type) ->+ \(make : Make tree) ->+ \(parents : List Metadata) ->+ \(leaves : List tree) ->+ List/fold+ Metadata+ parents+ (List tree)+ ( \(directory : Metadata) ->+ \(content : List tree) ->+ [ make.directory (directory /\ { content }) ]+ )+ leaves++in makeTreesFromList
@@ -0,0 +1,21 @@+{ Make =+ missing+ sha256:33c52c16f76b41c3635b57a38ce0286f1ad8b3163a3f07a3b41b808ac5bfeb5b+ ? ./Make.dhall+, Type =+ missing+ sha256:60b4d351213c6d851d7b2163ada40290b3c492a27326a2066fdec1a3915fb33b+ ? ./Type.dhall+, makeTree =+ missing+ sha256:2c1339fa63b4947864e1a6eede3c296288b53cf91a09d0d6881ae56790342e44+ ? ./makeTree.dhall+, makeTreeFromList =+ missing+ sha256:b894c9398e123d7262320684ac6301c2efe44d9d4f5a303b99d14e9be6b3150f+ ? ./makeTreeFromList.dhall+, makeTreesFromList =+ missing+ sha256:02fce5b194da66c2f98bd05af0a3bfdccf0b57d7971f17bcafee436652d9a88e+ ? ./makeTreesFromList.dhall+}
@@ -0,0 +1,1 @@+< UserId : Natural | UserName : Text >
@@ -0,0 +1,6 @@+let User =+ missing+ sha256:8b25916612d2c9b17130d16b55c6bdb085dd118e692f72bf351a83b1d0ac8833+ ? ./Type.dhall++in User.UserId
@@ -0,0 +1,6 @@+let User =+ missing+ sha256:8b25916612d2c9b17130d16b55c6bdb085dd118e692f72bf351a83b1d0ac8833+ ? ./Type.dhall++in User.UserName
@@ -0,0 +1,13 @@+{ Type =+ missing+ sha256:8b25916612d2c9b17130d16b55c6bdb085dd118e692f72bf351a83b1d0ac8833+ ? ./Type.dhall+, id =+ missing+ sha256:b572ca9f08a04e8e472f1b6141fd71ff27cc7f22d1e72be50eba5f54798b5a6d+ ? ./id.dhall+, name =+ missing+ sha256:9cfd68599bbd626d3f32c9caa3f09b358ecc08659ef2540b24a4b17b49027015+ ? ./name.dhall+}
@@ -0,0 +1,25 @@+{ Access =+ missing+ sha256:12f2ac90297a81c6e5a548bbf568fc7c93c906a6528432aa74faab6ec859de30+ ? ./Access/package.dhall+, Entry =+ missing+ sha256:795db8b6c2bc28fdff6fbcc832c5b4cb6931c1f62ffa84674280c24d4f2eacd8+ ? ./Entry/package.dhall+, Group =+ missing+ sha256:76a0d7e4606bdb91ab001b245cbd411939333b3fc3934ecbb5d41982d1ea001f+ ? ./Group/package.dhall+, Mode =+ missing+ sha256:6687ff7703fe9abdc4af9b3404af3d1c7d21a523d10a0c0b57d102a0bd87843f+ ? ./Mode/package.dhall+, Tree =+ missing+ sha256:6a64c27fa8a0c95830a4cc836651257235da0d985b7f93d11813cdb7a72e646b+ ? ./Tree/package.dhall+, User =+ missing+ sha256:eee7762ea4769371278907a4e33b3808d88430dda32dfc0536dc9bb2bb49d46a+ ? ./User/package.dhall+}
@@ -1,5 +1,5 @@ { show =- ./show.dhall+ missing sha256:ae645813cc4d8505a265df4d7564c95482f62bb3e07fc81681959599b6cee04f ? ./show.dhall }
@@ -1,3 +1,3 @@- ./show.dhall+ missing sha256:ae645813cc4d8505a265df4d7564c95482f62bb3e07fc81681959599b6cee04f ? ./show.dhall
@@ -1,3 +1,3 @@- ./compose.dhall+ missing sha256:65ad8bbea530b3d8968785a7cf4a9a7976b67059aa15e3b61fcba600a40ae013 ? ./compose.dhall
@@ -1,12 +1,12 @@ --| Compose two functions into one. let compose : ∀(a : Type) → ∀(b : Type) → ∀(c : Type) → (a → b) → (b → c) → a → c- = λ(A : Type) →- λ(B : Type) →- λ(C : Type) →- λ(f : A → B) →- λ(g : B → C) →- λ(x : A) →+ = λ(a : Type) →+ λ(b : Type) →+ λ(c : Type) →+ λ(f : a → b) →+ λ(g : b → c) →+ λ(x : a) → g (f x) let example0 =
@@ -0,0 +1,35 @@+{-|+Composes a list of functions starting from the left.+-}+let compose =+ missing+ sha256:65ad8bbea530b3d8968785a7cf4a9a7976b67059aa15e3b61fcba600a40ae013+ ? ./compose.dhall++let identity =+ missing+ sha256:f78b96792b459cb664f41c6119bd8897dd04353a3343521d436cd82ad71cb4d4+ ? ./identity.dhall++let composeList+ : ∀(a : Type) → List (a → a) → a → a+ = λ(a : Type) →+ λ(functions : List (a → a)) →+ List/fold (a → a) functions (a → a) (compose a a a) (identity a)++let example0 =+ assert+ : composeList+ Natural+ [ λ(x : Natural) → x * 2, λ(x : Natural) → x + 1 ]+ 1+ ≡ 3++let property0 =+ λ(a : Type) →+ λ(f : a → a) →+ λ(g : a → a) →+ λ(h : a → a) →+ assert : composeList a [ f, g, h ] ≡ (λ(x : a) → h (g (f x)))++in composeList
@@ -1,3 +1,3 @@- ./identity.dhall+ missing sha256:f78b96792b459cb664f41c6119bd8897dd04353a3343521d436cd82ad71cb4d4 ? ./identity.dhall
@@ -1,9 +1,13 @@ { compose =- ./compose.dhall+ missing sha256:65ad8bbea530b3d8968785a7cf4a9a7976b67059aa15e3b61fcba600a40ae013 ? ./compose.dhall+, composeList =+ missing+ sha256:2c6931544d8b5a5b14514098c07bd1813f67b16834588d056df3c0bc2e489937+ ? ./composeList.dhall , identity =- ./identity.dhall+ missing sha256:f78b96792b459cb664f41c6119bd8897dd04353a3343521d436cd82ad71cb4d4 ? ./identity.dhall }
@@ -1,3 +1,3 @@- ./abs.dhall+ missing sha256:35212fcbe1e60cb95b033a4a9c6e45befca4a298aa9919915999d09e69ddced1 ? ./abs.dhall
@@ -1,3 +1,3 @@- ./add.dhall+ missing sha256:7da1306a0bf87c5668beead2a1db1b18861e53d7ce1f38057b2964b649f59c3b ? ./add.dhall
@@ -1,6 +1,6 @@ --| `add m n` computes `m + n`. let Integer/subtract =- ./subtract.dhall+ missing sha256:a34d36272fa8ae4f1ec8b56222fe8dc8a2ec55ec6538b840de0cbe207b006fda ? ./subtract.dhall
@@ -1,3 +1,3 @@- ./clamp.dhall+ missing sha256:ea42096cf3e024fadfaf910e0b839005b0ea7514fff11e5a3950a77694d9c5d2 ? ./clamp.dhall
@@ -1,3 +1,3 @@- ./equal.dhall+ missing sha256:2d99a205086aa77eea17ae1dab22c275f3eb007bccdc8d9895b93497ebfc39f8 ? ./equal.dhall
@@ -1,6 +1,6 @@ --| `equal` checks if two Integers are equal. let Natural/equal =- ../Natural/equal.dhall+ missing sha256:7f108edfa35ddc7cebafb24dc073478e93a802e13b5bc3fd22f4768c9b066e60 ? ../Natural/equal.dhall
@@ -1,3 +1,3 @@- ./greaterThan.dhall+ missing sha256:d23affd73029fc9aaf867c2c7b86510ca2802d3f0d1f3e1d1a93ffd87b7cb64b ? ./greaterThan.dhall
@@ -1,11 +1,11 @@ --| `greaterThan` checks if one Integer is greater than another. let Bool/not =- ../Bool/not.dhall+ missing sha256:723df402df24377d8a853afed08d9d69a0a6d86e2e5b2bac8960b0d4756c7dc4 ? ../Bool/not.dhall let lessThanEqual =- ./lessThanEqual.dhall+ missing sha256:e3cca9f3942f81fa78a2bea23c0c24519c67cfe438116c38e797e12dcd26f6bc ? ./lessThanEqual.dhall
@@ -1,3 +1,3 @@- ./greaterThanEqual.dhall+ missing sha256:a9fa2dc5cd6067a23b39d7fe8d14a63109583b320429fb0e446658a5aae0a958 ? ./greaterThanEqual.dhall
@@ -2,7 +2,7 @@ `greaterThanEqual` checks if one Integer is greater than or equal to another. -} let lessThanEqual =- ./lessThanEqual.dhall+ missing sha256:e3cca9f3942f81fa78a2bea23c0c24519c67cfe438116c38e797e12dcd26f6bc ? ./lessThanEqual.dhall
@@ -1,3 +1,3 @@- ./lessThan.dhall+ missing sha256:eeaa0081d10c6c97464ef193c40f1aa5cbb12f0202972ab42f3d310c2fd6a3f0 ? ./lessThan.dhall
@@ -1,6 +1,6 @@ --| `lessThan` checks if one Integer is less than another. let greaterThan =- ./greaterThan.dhall+ missing sha256:d23affd73029fc9aaf867c2c7b86510ca2802d3f0d1f3e1d1a93ffd87b7cb64b ? ./greaterThan.dhall
@@ -1,3 +1,3 @@- ./lessThanEqual.dhall+ missing sha256:e3cca9f3942f81fa78a2bea23c0c24519c67cfe438116c38e797e12dcd26f6bc ? ./lessThanEqual.dhall
@@ -1,21 +1,21 @@ --| `lessThanEqual` checks if one Integer is less than or equal to another. let Natural/greaterThanEqual =- ../Natural/greaterThanEqual.dhall+ missing sha256:30ebfab0febd7aa0ccccfdf3dc36ee6d50f0117f35dd4a9b034750b7e885a1a4 ? ../Natural/greaterThanEqual.dhall let Natural/lessThanEqual =- ../Natural/lessThanEqual.dhall+ missing sha256:1a5caa2b80a42b9f58fff58e47ac0d9a9946d0b2d36c54034b8ddfe3cb0f3c99 ? ../Natural/lessThanEqual.dhall let nonPositive =- ./nonPositive.dhall+ missing sha256:e00a852eed5b84ff60487097d8aadce53c9e5301f53ff4954044bd68949fac3b ? ./nonPositive.dhall let nonNegative =- ./nonNegative.dhall+ missing sha256:b463373f070df6b1c8c7082051e0810fee38b360bab35256187c8c2b6af5c663 ? ./nonNegative.dhall
@@ -1,3 +1,3 @@- ./multiply.dhall+ missing sha256:dcb1ed7c8475ece8d67db92cd249fc728541778ff82509e28c3760e341880e4d ? ./multiply.dhall
@@ -1,6 +1,6 @@ --| `multiply m n` computes `m * n`. let nonPositive =- ./nonPositive.dhall+ missing sha256:e00a852eed5b84ff60487097d8aadce53c9e5301f53ff4954044bd68949fac3b ? ./nonPositive.dhall
@@ -1,3 +1,3 @@- ./negate.dhall+ missing sha256:2373c992e1de93634bc6a8781eb073b2a92a70170133e49762a785f3a136df5d ? ./negate.dhall
@@ -1,3 +1,3 @@- ./negative.dhall+ missing sha256:23e4b3c61eea9e878a7f83bf25fd0ea2c6a6d60174890d65be885828b690a570 ? ./negative.dhall
@@ -4,7 +4,7 @@ `negative` is more efficient than `./lessThan +0` or `./lessThanEqual -1`. -} let positive =- ./positive.dhall+ missing sha256:7bdbf50fcdb83d01f74c7e2a92bf5c9104eff5d8c5b4587e9337f0caefcfdbe3 ? ./positive.dhall
@@ -1,3 +1,3 @@- ./nonNegative.dhall+ missing sha256:b463373f070df6b1c8c7082051e0810fee38b360bab35256187c8c2b6af5c663 ? ./nonNegative.dhall
@@ -4,7 +4,7 @@ `nonNegative` is more efficient than `./greaterThanEqual +0` or `./greaterThan -1`. -} let nonPositive =- ./nonPositive.dhall+ missing sha256:e00a852eed5b84ff60487097d8aadce53c9e5301f53ff4954044bd68949fac3b ? ./nonPositive.dhall
@@ -1,3 +1,3 @@- ./nonPositive.dhall+ missing sha256:e00a852eed5b84ff60487097d8aadce53c9e5301f53ff4954044bd68949fac3b ? ./nonPositive.dhall
@@ -1,73 +1,73 @@ { abs =- ./abs.dhall+ missing sha256:35212fcbe1e60cb95b033a4a9c6e45befca4a298aa9919915999d09e69ddced1 ? ./abs.dhall , add =- ./add.dhall+ missing sha256:7da1306a0bf87c5668beead2a1db1b18861e53d7ce1f38057b2964b649f59c3b ? ./add.dhall , clamp =- ./clamp.dhall+ missing sha256:ea42096cf3e024fadfaf910e0b839005b0ea7514fff11e5a3950a77694d9c5d2 ? ./clamp.dhall , equal =- ./equal.dhall+ missing sha256:2d99a205086aa77eea17ae1dab22c275f3eb007bccdc8d9895b93497ebfc39f8 ? ./equal.dhall , greaterThan =- ./greaterThan.dhall+ missing sha256:d23affd73029fc9aaf867c2c7b86510ca2802d3f0d1f3e1d1a93ffd87b7cb64b ? ./greaterThan.dhall , greaterThanEqual =- ./greaterThanEqual.dhall+ missing sha256:a9fa2dc5cd6067a23b39d7fe8d14a63109583b320429fb0e446658a5aae0a958 ? ./greaterThanEqual.dhall , lessThan =- ./lessThan.dhall+ missing sha256:eeaa0081d10c6c97464ef193c40f1aa5cbb12f0202972ab42f3d310c2fd6a3f0 ? ./lessThan.dhall , lessThanEqual =- ./lessThanEqual.dhall+ missing sha256:e3cca9f3942f81fa78a2bea23c0c24519c67cfe438116c38e797e12dcd26f6bc ? ./lessThanEqual.dhall , multiply =- ./multiply.dhall+ missing sha256:dcb1ed7c8475ece8d67db92cd249fc728541778ff82509e28c3760e341880e4d ? ./multiply.dhall , negate =- ./negate.dhall+ missing sha256:2373c992e1de93634bc6a8781eb073b2a92a70170133e49762a785f3a136df5d ? ./negate.dhall , negative =- ./negative.dhall+ missing sha256:23e4b3c61eea9e878a7f83bf25fd0ea2c6a6d60174890d65be885828b690a570 ? ./negative.dhall , nonNegative =- ./nonNegative.dhall+ missing sha256:b463373f070df6b1c8c7082051e0810fee38b360bab35256187c8c2b6af5c663 ? ./nonNegative.dhall , nonPositive =- ./nonPositive.dhall+ missing sha256:e00a852eed5b84ff60487097d8aadce53c9e5301f53ff4954044bd68949fac3b ? ./nonPositive.dhall , positive =- ./positive.dhall+ missing sha256:7bdbf50fcdb83d01f74c7e2a92bf5c9104eff5d8c5b4587e9337f0caefcfdbe3 ? ./positive.dhall , show =- ./show.dhall+ missing sha256:ecf8b0594cd5181bc45d3b7ea0d44d3ba9ad5dac6ec17bb8968beb65f4b1baa9 ? ./show.dhall , subtract =- ./subtract.dhall+ missing sha256:a34d36272fa8ae4f1ec8b56222fe8dc8a2ec55ec6538b840de0cbe207b006fda ? ./subtract.dhall , toDouble =- ./toDouble.dhall+ missing sha256:77bc5d635dc4d952f37cc96f2a681d5ac503b4e8b21fc00055b1946adb5beda7 ? ./toDouble.dhall , toNatural =- ./toNatural.dhall+ missing sha256:4d128730d74e7f832e53873cb5204aa91b79758be5ce4e1aa991fe1951304a0e ? ./toNatural.dhall }
@@ -1,3 +1,3 @@- ./positive.dhall+ missing sha256:7bdbf50fcdb83d01f74c7e2a92bf5c9104eff5d8c5b4587e9337f0caefcfdbe3 ? ./positive.dhall
@@ -4,12 +4,12 @@ `positive` is more efficient than `./greaterThan +0` or `./greaterThanEqual +1`. -} let not =- ../Bool/not.dhall+ missing sha256:723df402df24377d8a853afed08d9d69a0a6d86e2e5b2bac8960b0d4756c7dc4 ? ../Bool/not.dhall let nonPositive =- ./nonPositive.dhall+ missing sha256:e00a852eed5b84ff60487097d8aadce53c9e5301f53ff4954044bd68949fac3b ? ./nonPositive.dhall
@@ -1,3 +1,3 @@- ./show.dhall+ missing sha256:ecf8b0594cd5181bc45d3b7ea0d44d3ba9ad5dac6ec17bb8968beb65f4b1baa9 ? ./show.dhall
@@ -1,3 +1,3 @@- ./subtract.dhall+ missing sha256:a34d36272fa8ae4f1ec8b56222fe8dc8a2ec55ec6538b840de0cbe207b006fda ? ./subtract.dhall
@@ -1,6 +1,6 @@ --| `subtract m n` computes `n - m`. let nonPositive =- ./nonPositive.dhall+ missing sha256:e00a852eed5b84ff60487097d8aadce53c9e5301f53ff4954044bd68949fac3b ? ./nonPositive.dhall
@@ -1,3 +1,3 @@- ./toDouble.dhall+ missing sha256:77bc5d635dc4d952f37cc96f2a681d5ac503b4e8b21fc00055b1946adb5beda7 ? ./toDouble.dhall
@@ -1,3 +1,3 @@- ./toNatural.dhall+ missing sha256:4d128730d74e7f832e53873cb5204aa91b79758be5ce4e1aa991fe1951304a0e ? ./toNatural.dhall
@@ -2,7 +2,7 @@ Convert an `Integer` to an `Optional Natural`, with negative numbers becoming `None Natural`. -} let nonNegative =- ./nonNegative.dhall+ missing sha256:b463373f070df6b1c8c7082051e0810fee38b360bab35256187c8c2b6af5c663 ? ./nonNegative.dhall
@@ -1,3 +1,3 @@- ./Format.dhall+ missing sha256:d7936b510cfc091faa994652af0eb5feb889cd44bc989edbe4f1eb8c5623caac ? ./Format.dhall
@@ -1,3 +1,3 @@- ./Nesting.dhall+ missing sha256:6284802edd41d5d725aa1ec7687e614e21ad1be7e14dd10996bfa9625105c335 ? ./Nesting.dhall
@@ -1,3 +1,3 @@- ./Tagged.dhall+ missing sha256:21feca7d2b23f210d0696131d792e18a7d24fdcc85d41a49ba85b98670eba194 ? ./Tagged.dhall
@@ -65,7 +65,7 @@ = λ(a : Type) → { field : Text , nesting :- ./Nesting.dhall+ missing sha256:6284802edd41d5d725aa1ec7687e614e21ad1be7e14dd10996bfa9625105c335 ? ./Nesting.dhall , contents : a
@@ -1,3 +1,3 @@- ./Type.dhall+ missing sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759 ? ./Type.dhall
@@ -1,3 +1,3 @@- ./array.dhall+ missing sha256:fb6346a9c63638fe3c59f8108e19eebdbddc51389ec5570bab4c25f890ccccc8 ? ./array.dhall
@@ -13,12 +13,12 @@ ``` -} let JSON =- ./Type.dhall+ missing sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759 ? ./Type.dhall let List/map =- ../List/map.dhall+ missing sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ../List/map.dhall
@@ -1,3 +1,3 @@- ./bool.dhall+ missing sha256:e043d9ed01e5b45899059e128243f3dae7ce65f293f0015ce816fc36d30f7f39 ? ./bool.dhall
@@ -12,7 +12,7 @@ ``` -} let JSON =- ./Type.dhall+ missing sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759 ? ./Type.dhall
@@ -8,63 +8,63 @@ `package.dhall` to avoid import cycles. -} { Type =- ./Type.dhall+ missing sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759 ? ./Type.dhall , Tagged =- ./Tagged.dhall+ missing sha256:21feca7d2b23f210d0696131d792e18a7d24fdcc85d41a49ba85b98670eba194 ? ./Tagged.dhall , Nesting =- ./Nesting.dhall+ missing sha256:6284802edd41d5d725aa1ec7687e614e21ad1be7e14dd10996bfa9625105c335 ? ./Nesting.dhall , keyText =- ./keyText.dhall+ missing sha256:f7b6c802ca5764d03d5e9a6e48d9cb167c01392f775d9c2c87b83cdaa60ea0cc ? ./keyText.dhall , keyValue =- ./keyValue.dhall+ missing sha256:a0a97199d280c4cce72ffcbbf93b7ceda0a569cf4d173ac98e0aaaa78034b98c ? ./keyValue.dhall , string =- ./string.dhall+ missing sha256:7ddb3a3b9f3ed09ed011d621a10ad9825185cd03503be98a81d42f6afb77940e ? ./string.dhall , number =- ./number.dhall+ missing sha256:e70162c73c4978ad0d0d99505f61c7d990f3abadfcc08b34388b29c0934a7a32 ? ./number.dhall , double =- ./double.dhall+ missing sha256:e70162c73c4978ad0d0d99505f61c7d990f3abadfcc08b34388b29c0934a7a32 ? ./double.dhall , integer =- ./integer.dhall+ missing sha256:c81a417397fc6f62155ec71fdd8d2047f981f0881295b307de3dd88747bf7e40 ? ./integer.dhall , natural =- ./natural.dhall+ missing sha256:a839dc6789f19f820e9cbf70c60f41f3b057c59ece1d226d04db5aca447eb0e5 ? ./natural.dhall , object =- ./object.dhall+ missing sha256:869aede785c34798be9f9fd457ece73e7f683f352ae4555f791516a365faf4ac ? ./object.dhall , array =- ./array.dhall+ missing sha256:fb6346a9c63638fe3c59f8108e19eebdbddc51389ec5570bab4c25f890ccccc8 ? ./array.dhall , bool =- ./bool.dhall+ missing sha256:e043d9ed01e5b45899059e128243f3dae7ce65f293f0015ce816fc36d30f7f39 ? ./bool.dhall , null =- ./null.dhall+ missing sha256:1eeb9aee38eb8dde0e64efbaf60f24612c8194cc00b510bfb627c2ee2e1877b8 ? ./null.dhall , renderInteger =- ./renderInteger.dhall+ missing sha256:15b8d2ae46d5002832741927af787761df49798c911e2bf85db7a7b9cb5c078c ? ./renderInteger.dhall }
@@ -1,3 +1,3 @@- ./double.dhall+ missing sha256:e70162c73c4978ad0d0d99505f61c7d990f3abadfcc08b34388b29c0934a7a32 ? ./double.dhall
@@ -12,7 +12,7 @@ ``` -} let JSON =- ./Type.dhall+ missing sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759 ? ./Type.dhall
@@ -1,3 +1,3 @@- ./integer.dhall+ missing sha256:c81a417397fc6f62155ec71fdd8d2047f981f0881295b307de3dd88747bf7e40 ? ./integer.dhall
@@ -12,7 +12,7 @@ ``` -} let JSON =- ./Type.dhall+ missing sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759 ? ./Type.dhall
@@ -1,3 +1,3 @@- ./keyText.dhall+ missing sha256:f7b6c802ca5764d03d5e9a6e48d9cb167c01392f775d9c2c87b83cdaa60ea0cc ? ./keyText.dhall
@@ -1,3 +1,3 @@- ../Map/keyText.dhall+ missing sha256:f7b6c802ca5764d03d5e9a6e48d9cb167c01392f775d9c2c87b83cdaa60ea0cc ? ../Map/keyText.dhall
@@ -1,3 +1,3 @@- ./keyValue.dhall+ missing sha256:a0a97199d280c4cce72ffcbbf93b7ceda0a569cf4d173ac98e0aaaa78034b98c ? ./keyValue.dhall
@@ -1,3 +1,3 @@- ../Map/keyValue.dhall+ missing sha256:a0a97199d280c4cce72ffcbbf93b7ceda0a569cf4d173ac98e0aaaa78034b98c ? ../Map/keyValue.dhall
@@ -1,3 +1,3 @@- ./natural.dhall+ missing sha256:a839dc6789f19f820e9cbf70c60f41f3b057c59ece1d226d04db5aca447eb0e5 ? ./natural.dhall
@@ -8,7 +8,7 @@ ``` -} let JSON =- ./Type.dhall+ missing sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759 ? ./Type.dhall
@@ -1,3 +1,3 @@- ./null.dhall+ missing sha256:1eeb9aee38eb8dde0e64efbaf60f24612c8194cc00b510bfb627c2ee2e1877b8 ? ./null.dhall
@@ -8,7 +8,7 @@ ``` -} let JSON =- ./Type.dhall+ missing sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759 ? ./Type.dhall
@@ -1,3 +1,3 @@- ./number.dhall+ missing sha256:e70162c73c4978ad0d0d99505f61c7d990f3abadfcc08b34388b29c0934a7a32 ? ./number.dhall
@@ -12,12 +12,12 @@ ``` -} let JSON =- ./Type.dhall+ missing sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759 ? ./Type.dhall let double =- ./double.dhall+ missing sha256:e70162c73c4978ad0d0d99505f61c7d990f3abadfcc08b34388b29c0934a7a32 ? ./double.dhall
@@ -1,3 +1,3 @@- ./object.dhall+ missing sha256:869aede785c34798be9f9fd457ece73e7f683f352ae4555f791516a365faf4ac ? ./object.dhall
@@ -19,12 +19,12 @@ ``` -} let JSON =- ./Type.dhall+ missing sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759 ? ./Type.dhall let List/map =- ../List/map.dhall+ missing sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ../List/map.dhall
@@ -1,3 +1,3 @@- ./omitNullFields.dhall+ missing sha256:e6850e70094540b75edeb46f4d6038324a62def8d63544a1e9541f79739db6f0 ? ./omitNullFields.dhall
@@ -3,17 +3,17 @@ for a configuration to encode absent fields -} let JSON =- ./core.dhall+ missing sha256:5dc1135d5481cfd6fde625aaed9fcbdb7aa7c14f2e76726aa5fdef028a5c10f5 ? ./core.dhall let List/concatMap =- ../List/concatMap.dhall+ missing sha256:3b2167061d11fda1e4f6de0522cbe83e0d5ac4ef5ddf6bb0b2064470c5d3fb64 ? ../List/concatMap.dhall let List/map =- ../List/map.dhall+ missing sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ../List/map.dhall
@@ -1,29 +1,29 @@ { render =- ./render.dhall+ missing sha256:36befdd8bb5a1c2b372709da245a8d074533b86429e137b894c08ad16fa34836 ? ./render.dhall , renderCompact =- ./renderCompact.dhall+ missing sha256:e6c8809fbe193fddd430f94350d69cefd45e7aaf8bd379e51b750fde75008562 ? ./renderCompact.dhall , renderYAML =- ./renderYAML.dhall+ missing sha256:bc71449397bbf48103c3ebbdd570cd27313115e94b2b1b96761d257d5c02d478 ? ./renderYAML.dhall , omitNullFields =- ./omitNullFields.dhall+ missing sha256:e6850e70094540b75edeb46f4d6038324a62def8d63544a1e9541f79739db6f0 ? ./omitNullFields.dhall , tagInline =- ./tagInline.dhall+ missing sha256:49559ac11906ba6cc9eac25753e31e7addb13bc760df108024174c55523984c4 ? ./tagInline.dhall , tagNested =- ./tagNested.dhall+ missing sha256:93a7415853b7677c832246efadc8e880c1b641a23589286a836a384ca311d26f ? ./tagNested.dhall }-∧ ( ./core.dhall+∧ ( missing sha256:5dc1135d5481cfd6fde625aaed9fcbdb7aa7c14f2e76726aa5fdef028a5c10f5 ? ./core.dhall )
@@ -1,3 +1,3 @@- ./render.dhall+ missing sha256:36befdd8bb5a1c2b372709da245a8d074533b86429e137b894c08ad16fa34836 ? ./render.dhall
@@ -5,17 +5,17 @@ more sophisticated you should use `dhall-to-json` or `dhall-to-yaml` -} let JSON =- ./core.dhall+ missing sha256:5dc1135d5481cfd6fde625aaed9fcbdb7aa7c14f2e76726aa5fdef028a5c10f5 ? ./core.dhall let renderAs =- ./renderAs.dhall+ missing sha256:c23be039c9601a33d6546fd99a8d72bee8dde5f46176d57cc96613b31a3bb471 ? ./renderAs.dhall let Format =- ./Format.dhall+ missing sha256:d7936b510cfc091faa994652af0eb5feb889cd44bc989edbe4f1eb8c5623caac ? ./Format.dhall
@@ -1,3 +1,3 @@- ./renderAs.dhall+ missing sha256:c23be039c9601a33d6546fd99a8d72bee8dde5f46176d57cc96613b31a3bb471 ? ./renderAs.dhall
@@ -1,46 +1,46 @@ --| Render a `JSON` value as `Text` in either JSON or YAML format. let JSON =- ./core.dhall+ missing sha256:5dc1135d5481cfd6fde625aaed9fcbdb7aa7c14f2e76726aa5fdef028a5c10f5 ? ./core.dhall let Function/identity =- ../Function/identity.dhall+ missing sha256:f78b96792b459cb664f41c6119bd8897dd04353a3343521d436cd82ad71cb4d4 ? ../Function/identity.dhall let Text/concatMap =- ../Text/concatMap.dhall+ missing sha256:7a0b0b99643de69d6f94ba49441cd0fa0507cbdfa8ace0295f16097af37e226f ? ../Text/concatMap.dhall let List/map =- ../List/map.dhall+ missing sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ../List/map.dhall let NonEmpty =- ../NonEmpty/Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ../NonEmpty/Type.dhall let NonEmpty/toList =- ../NonEmpty/toList.dhall+ missing sha256:0977fe14b77232a4451dcf409c43df4589c4b3cdde7b613aab8df183be1b53f5 ? ../NonEmpty/toList.dhall let NonEmpty/concat =- ../NonEmpty/concat.dhall+ missing sha256:6d55181938c06c6b806877028f6a241912e9c0935d9a10dd958775bf21e0f64d ? ../NonEmpty/concat.dhall let NonEmpty/map =- ../NonEmpty/map.dhall+ missing sha256:93d53afe874bb2eed946c21ca5ada3c9716b7d00e6d8edfaba6484cd9c5a00bd ? ../NonEmpty/map.dhall let NonEmpty/singleton =- ../NonEmpty/singleton.dhall+ missing sha256:c9197aabe97695f7ca66f7419bf172d806b2c915594a8fc0d2ff6495db496ff2 ? ../NonEmpty/singleton.dhall @@ -184,7 +184,7 @@ let indentTail = NonEmpty/mapTail Text addIndent let Format =- ./Format.dhall+ missing sha256:d7936b510cfc091faa994652af0eb5feb889cd44bc989edbe4f1eb8c5623caac ? ./Format.dhall
@@ -1,16 +1,16 @@ --| This renders JSON on a single line let JSON =- ./core.dhall+ missing sha256:5dc1135d5481cfd6fde625aaed9fcbdb7aa7c14f2e76726aa5fdef028a5c10f5 ? ./core.dhall let Text/concatMapSep =- ../Text/concatMapSep+ missing sha256:c272aca80a607bc5963d1fcb38819e7e0d3e72ac4d02b1183b1afb6a91340840 ? ../Text/concatMapSep let renderInteger =- ./renderInteger.dhall+ missing sha256:15b8d2ae46d5002832741927af787761df49798c911e2bf85db7a7b9cb5c078c ? ./renderInteger.dhall
@@ -3,7 +3,7 @@ which a number may not start with a plus sign (`+`). -} let Integer/nonNegative =- ../Integer/nonNegative.dhall+ missing sha256:b463373f070df6b1c8c7082051e0810fee38b360bab35256187c8c2b6af5c663 ? ../Integer/nonNegative.dhall
@@ -1,3 +1,3 @@- ./renderYAML.dhall+ missing sha256:bc71449397bbf48103c3ebbdd570cd27313115e94b2b1b96761d257d5c02d478 ? ./renderYAML.dhall
@@ -9,17 +9,17 @@ `dhall-to-yaml`. -} let JSON =- ./core.dhall+ missing sha256:5dc1135d5481cfd6fde625aaed9fcbdb7aa7c14f2e76726aa5fdef028a5c10f5 ? ./core.dhall let renderAs =- ./renderAs.dhall+ missing sha256:c23be039c9601a33d6546fd99a8d72bee8dde5f46176d57cc96613b31a3bb471 ? ./renderAs.dhall let Format =- ./Format.dhall+ missing sha256:d7936b510cfc091faa994652af0eb5feb889cd44bc989edbe4f1eb8c5623caac ? ./Format.dhall
@@ -1,3 +1,3 @@- ./string.dhall+ missing sha256:7ddb3a3b9f3ed09ed011d621a10ad9825185cd03503be98a81d42f6afb77940e ? ./string.dhall
@@ -12,7 +12,7 @@ ``` -} let JSON =- ./Type.dhall+ missing sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759 ? ./Type.dhall
@@ -1,3 +1,3 @@- ./tagInline.dhall+ missing sha256:49559ac11906ba6cc9eac25753e31e7addb13bc760df108024174c55523984c4 ? ./tagInline.dhall
@@ -1,11 +1,11 @@ --| Prepare a union value for JSON- or YAML-encoding with the inline layout let Nesting =- ./Nesting.dhall+ missing sha256:6284802edd41d5d725aa1ec7687e614e21ad1be7e14dd10996bfa9625105c335 ? ./Nesting.dhall let Tagged =- ./Tagged.dhall+ missing sha256:21feca7d2b23f210d0696131d792e18a7d24fdcc85d41a49ba85b98670eba194 ? ./Tagged.dhall
@@ -1,3 +1,3 @@- ./tagNested.dhall+ missing sha256:93a7415853b7677c832246efadc8e880c1b641a23589286a836a384ca311d26f ? ./tagNested.dhall
@@ -1,11 +1,11 @@ --| Prepare a union value for JSON- or YAML-encoding with the nested layout let Nesting =- ./Nesting.dhall+ missing sha256:6284802edd41d5d725aa1ec7687e614e21ad1be7e14dd10996bfa9625105c335 ? ./Nesting.dhall let Tagged =- ./Tagged.dhall+ missing sha256:21feca7d2b23f210d0696131d792e18a7d24fdcc85d41a49ba85b98670eba194 ? ./Tagged.dhall
@@ -1,3 +1,3 @@- ./all.dhall+ missing sha256:7ac5bb6f77e9ffe9e2356d90968d39764a9a32f75980206e6b12f815bb83dd15 ? ./all.dhall
@@ -1,3 +1,3 @@- ./any.dhall+ missing sha256:b8e9e13b25e799f342a81f6eda4075906eb1a19dfdcb10a0ca25925eba4033b8 ? ./any.dhall
@@ -1,3 +1,3 @@- ./build.dhall+ missing sha256:8cf73fc1e115cfcb79bb9cd490bfcbd45c824e93c57a0e64c86c0c72e9ebbe42 ? ./build.dhall
@@ -1,3 +1,3 @@- ./concat.dhall+ missing sha256:54e43278be13276e03bd1afa89e562e94a0a006377ebea7db14c7562b0de292b ? ./concat.dhall
@@ -1,3 +1,3 @@- ./concatMap.dhall+ missing sha256:3b2167061d11fda1e4f6de0522cbe83e0d5ac4ef5ddf6bb0b2064470c5d3fb64 ? ./concatMap.dhall
@@ -1,3 +1,3 @@- ./default.dhall+ missing sha256:fd77809e497227403f42848ffcda05a3efab442d961027c34f3e31d5d24e6379 ? ./default.dhall
@@ -1,3 +1,3 @@- ./drop.dhall+ missing sha256:af983ba3ead494dd72beed05c0f3a17c36a4244adedf7ced502c6512196ed0cf ? ./drop.dhall
@@ -1,6 +1,6 @@ --| Remove first `n` elements of a list let Natural/greaterThanEqual =- ../Natural/greaterThanEqual.dhall+ missing sha256:30ebfab0febd7aa0ccccfdf3dc36ee6d50f0117f35dd4a9b034750b7e885a1a4 ? ../Natural/greaterThanEqual.dhall
@@ -1,3 +1,3 @@- ./empty.dhall+ missing sha256:b2f561f35098c457353723c93a22bd5de28d26ecc5370814bef9dfda421e0147 ? ./empty.dhall
@@ -1,3 +1,3 @@- ./filter.dhall+ missing sha256:8ebfede5bbfe09675f246c33eb83964880ac615c4b1be8d856076fdbc4b26ba6 ? ./filter.dhall
@@ -0,0 +1,45 @@+--| Transform a list by applying a function to each element and omitting None results.+let List/concatMap =+ missing+ sha256:3b2167061d11fda1e4f6de0522cbe83e0d5ac4ef5ddf6bb0b2064470c5d3fb64+ ? ./concatMap.dhall++let Optional/toList =+ missing+ sha256:d78f160c619119ef12389e48a629ce293d69f7624c8d016b7a4767ab400344c4+ ? ../Optional/toList.dhall++let filterMap+ : ∀(a : Type) → ∀(b : Type) → (a → Optional b) → List a → List b+ = λ(a : Type) →+ λ(b : Type) →+ λ(f : a → Optional b) →+ List/concatMap a b (λ(x : a) → Optional/toList b (f x))++let example0 =+ assert+ : filterMap+ (List Natural)+ Natural+ (List/head Natural)+ [ [ 1 ], [] : List Natural, [ 3, 4 ] ]+ ≡ [ 1, 3 ]++let example1 =+ let Example = < Left : Bool | Right : Natural >++ in assert+ : filterMap+ Example+ Natural+ ( λ(x : Example) →+ merge+ { Left = λ(_ : Bool) → None Natural+ , Right = λ(n : Natural) → Some n+ }+ x+ )+ [ Example.Left False, Example.Right 2, Example.Left True ]+ ≡ [ 2 ]++in filterMap
@@ -1,3 +1,3 @@- ./fold.dhall+ missing sha256:10bb945c25ab3943bd9df5a32e633cbfae112b7d3af38591784687e436a8d814 ? ./fold.dhall
@@ -1,3 +1,3 @@- ./generate.dhall+ missing sha256:78ff1ad96c08b88a8263eea7bc8381c078225cfcb759c496f792edb5a5e0b1a4 ? ./generate.dhall
@@ -1,3 +1,3 @@- ./head.dhall+ missing sha256:0d2e65ba0aea908377e46d22020dc3ad970284f4ee4eb8e6b8c51e53038c0026 ? ./head.dhall
@@ -1,3 +1,3 @@- ./index.dhall+ missing sha256:e657b55ecae4d899465c3032cb1a64c6aa6dc2aa3034204f3c15ce5c96c03e63 ? ./index.dhall
@@ -1,6 +1,6 @@ --| Retrieve an element from a `List` using its 0-based index let drop =- ./drop.dhall+ missing sha256:af983ba3ead494dd72beed05c0f3a17c36a4244adedf7ced502c6512196ed0cf ? ./drop.dhall
@@ -1,3 +1,3 @@- ./indexed.dhall+ missing sha256:58bb44457fa81adf26f5123c1b2e8bef0c5aa22dac5fa5ebdfb7da84563b027f ? ./indexed.dhall
@@ -1,3 +1,3 @@- ./iterate.dhall+ missing sha256:e4999ccce190a2e2a6ab9cb188e3af6c40df474087827153005293f11bfe1d26 ? ./iterate.dhall
@@ -1,3 +1,3 @@- ./last.dhall+ missing sha256:741226b741af152a1638491cdff7f3aa74baf080ada2e63429483f3d195a984d ? ./last.dhall
@@ -1,3 +1,3 @@- ./length.dhall+ missing sha256:42c6812c7a9e3c6e6fad88f77c5b3849503964e071cb784e22c38c888a401461 ? ./length.dhall
@@ -1,3 +1,3 @@- ./map.dhall+ missing sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ./map.dhall
@@ -0,0 +1,37 @@+--| Apply a function across a list, keeping only the `Some` results.+let List/unpackOptionals =+ missing+ sha256:0cbaa920f429cf7fc3907f8a9143203fe948883913560e6e1043223e6b3d05e4+ ? ./unpackOptionals.dhall++let List/map =+ missing+ sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680+ ? ./map.dhall++let mapMaybe+ : ∀(a : Type) → ∀(b : Type) → (a → Optional b) → List a → List b+ = λ(a : Type) →+ λ(b : Type) →+ λ(f : a → Optional b) →+ λ(xs : List a) →+ List/unpackOptionals b (List/map a (Optional b) f xs)++let property =+ λ(a : Type) →+ λ(b : Type) →+ λ(f : a → Optional b) →+ assert : mapMaybe a b f ([] : List a) ≡ ([] : List b)++let example0 =+ assert+ : mapMaybe+ Natural+ Text+ ( λ(n : Natural) →+ if Natural/isZero n then None Text else Some (Natural/show n)+ )+ [ 0, 1, 2, 3 ]+ ≡ [ "1", "2", "3" ]++in mapMaybe
@@ -0,0 +1,41 @@+--| Transform a list by applying a function to each element with its index+let List/map =+ missing+ sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680+ ? ./map.dhall++let List/mapWithIndex+ : ∀(a : Type) → ∀(b : Type) → (Natural → a → b) → List a → List b+ = λ(a : Type) →+ λ(b : Type) →+ λ(f : Natural → a → b) →+ λ(xs : List a) →+ List/map+ { index : Natural, value : a }+ b+ (λ(i : { index : Natural, value : a }) → f i.index i.value)+ (List/indexed a xs)++let List/empty =+ missing+ sha256:b2f561f35098c457353723c93a22bd5de28d26ecc5370814bef9dfda421e0147+ ? ./empty.dhall++let List/replicate =+ missing+ sha256:d4250b45278f2d692302489ac3e78280acb238d27541c837ce46911ff3baa347+ ? ./replicate.dhall++let example0 =+ assert+ : List/mapWithIndex+ Text+ (List Text)+ ( λ(index : Natural) →+ λ(value : Text) →+ List/replicate index Text value+ )+ [ "A", "B", "C" ]+ ≡ [ List/empty Text, [ "B" ], [ "C", "C" ] ]++in List/mapWithIndex
@@ -1,3 +1,3 @@- ./null.dhall+ missing sha256:2338e39637e9a50d66ae1482c0ed559bbcc11e9442bfca8f8c176bbcd9c4fc80 ? ./null.dhall
@@ -1,113 +1,125 @@ { all =- ./all.dhall+ missing sha256:7ac5bb6f77e9ffe9e2356d90968d39764a9a32f75980206e6b12f815bb83dd15 ? ./all.dhall , any =- ./any.dhall+ missing sha256:b8e9e13b25e799f342a81f6eda4075906eb1a19dfdcb10a0ca25925eba4033b8 ? ./any.dhall , build =- ./build.dhall+ missing sha256:8cf73fc1e115cfcb79bb9cd490bfcbd45c824e93c57a0e64c86c0c72e9ebbe42 ? ./build.dhall , concat =- ./concat.dhall+ missing sha256:54e43278be13276e03bd1afa89e562e94a0a006377ebea7db14c7562b0de292b ? ./concat.dhall , concatMap =- ./concatMap.dhall+ missing sha256:3b2167061d11fda1e4f6de0522cbe83e0d5ac4ef5ddf6bb0b2064470c5d3fb64 ? ./concatMap.dhall , default =- ./default.dhall+ missing sha256:fd77809e497227403f42848ffcda05a3efab442d961027c34f3e31d5d24e6379 ? ./default.dhall , drop =- ./drop.dhall+ missing sha256:af983ba3ead494dd72beed05c0f3a17c36a4244adedf7ced502c6512196ed0cf ? ./drop.dhall , empty =- ./empty.dhall+ missing sha256:b2f561f35098c457353723c93a22bd5de28d26ecc5370814bef9dfda421e0147 ? ./empty.dhall , filter =- ./filter.dhall+ missing sha256:8ebfede5bbfe09675f246c33eb83964880ac615c4b1be8d856076fdbc4b26ba6 ? ./filter.dhall+, filterMap =+ missing+ sha256:94b7ed4204d1c79aaf55527ef51024e7085b8dd2896952cffbd12d8f95e16f46+ ? ./filterMap.dhall , fold =- ./fold.dhall+ missing sha256:10bb945c25ab3943bd9df5a32e633cbfae112b7d3af38591784687e436a8d814 ? ./fold.dhall , foldLeft =- ./foldLeft.dhall+ missing sha256:3c6ab57950fe644906b7bbdef0b9523440b6ee17773ebb8cbd41ffacb8bfab61 ? ./foldLeft.dhall , generate =- ./generate.dhall+ missing sha256:78ff1ad96c08b88a8263eea7bc8381c078225cfcb759c496f792edb5a5e0b1a4 ? ./generate.dhall , head =- ./head.dhall+ missing sha256:0d2e65ba0aea908377e46d22020dc3ad970284f4ee4eb8e6b8c51e53038c0026 ? ./head.dhall , index =- ./index.dhall+ missing sha256:e657b55ecae4d899465c3032cb1a64c6aa6dc2aa3034204f3c15ce5c96c03e63 ? ./index.dhall , indexed =- ./indexed.dhall+ missing sha256:58bb44457fa81adf26f5123c1b2e8bef0c5aa22dac5fa5ebdfb7da84563b027f ? ./indexed.dhall , iterate =- ./iterate.dhall+ missing sha256:e4999ccce190a2e2a6ab9cb188e3af6c40df474087827153005293f11bfe1d26 ? ./iterate.dhall , last =- ./last.dhall+ missing sha256:741226b741af152a1638491cdff7f3aa74baf080ada2e63429483f3d195a984d ? ./last.dhall , length =- ./length.dhall+ missing sha256:42c6812c7a9e3c6e6fad88f77c5b3849503964e071cb784e22c38c888a401461 ? ./length.dhall , map =- ./map.dhall+ missing sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ./map.dhall+, mapMaybe =+ missing+ sha256:6f3c4f8c94577b46e7d30f8df7e82a269b0ad0a7e18c0f0370f243fd1127e77f+ ? ./mapMaybe.dhall+, mapWithIndex =+ missing+ sha256:98599e0b55c5d3ae75264ba90657c6f68c7ce32834bd12b215acaea711eed6eb+ ? ./mapWithIndex.dhall , null =- ./null.dhall+ missing sha256:2338e39637e9a50d66ae1482c0ed559bbcc11e9442bfca8f8c176bbcd9c4fc80 ? ./null.dhall , partition =- ./partition.dhall+ missing sha256:38147ac6d750a6492736dd90cc967bf09aa405c499de943c64fab7b86ae02f03 ? ./partition.dhall , replicate =- ./replicate.dhall+ missing sha256:d4250b45278f2d692302489ac3e78280acb238d27541c837ce46911ff3baa347 ? ./replicate.dhall , reverse =- ./reverse.dhall+ missing sha256:ad99d224d61852de6696da5a7d04c98dbe676fe67d5e4ef4f19e9aaa27006e9d ? ./reverse.dhall , shifted =- ./shifted.dhall+ missing sha256:54fb22c7e952ebce1cfc0fcdd33ce4cfa817bff9d6564af268dea6685f8b5dfe ? ./shifted.dhall , take =- ./take.dhall+ missing sha256:b3e08ee8c3a5bf3d8ccee6b2b2008fbb8e51e7373aef6f1af67ad10078c9fbfa ? ./take.dhall , unpackOptionals =- ./unpackOptionals.dhall+ missing sha256:0cbaa920f429cf7fc3907f8a9143203fe948883913560e6e1043223e6b3d05e4 ? ./unpackOptionals.dhall , unzip =- ./unzip.dhall+ missing sha256:4d6003e9e683a289fe33f4c90f958eb1e08ea0bbb474210fcd90d1885c9660e9 ? ./unzip.dhall , zip =- ./zip.dhall+ missing sha256:85ed955eabf3998767f4ad2a28e57d40cd4c68a95519d79e9b622f1d26d979da ? ./zip.dhall }
@@ -1,3 +1,3 @@- ./partition.dhall+ missing sha256:38147ac6d750a6492736dd90cc967bf09aa405c499de943c64fab7b86ae02f03 ? ./partition.dhall
@@ -1,3 +1,3 @@- ./replicate.dhall+ missing sha256:d4250b45278f2d692302489ac3e78280acb238d27541c837ce46911ff3baa347 ? ./replicate.dhall
@@ -1,3 +1,3 @@- ./reverse.dhall+ missing sha256:ad99d224d61852de6696da5a7d04c98dbe676fe67d5e4ef4f19e9aaa27006e9d ? ./reverse.dhall
@@ -1,3 +1,3 @@- ./shifted.dhall+ missing sha256:54fb22c7e952ebce1cfc0fcdd33ce4cfa817bff9d6564af268dea6685f8b5dfe ? ./shifted.dhall
@@ -1,3 +1,3 @@- ./take.dhall+ missing sha256:b3e08ee8c3a5bf3d8ccee6b2b2008fbb8e51e7373aef6f1af67ad10078c9fbfa ? ./take.dhall
@@ -1,6 +1,6 @@ --| Truncate a list to the first `n` elements let Natural/lessThan =- ../Natural/lessThan.dhall+ missing sha256:3381b66749290769badf8855d8a3f4af62e8de52d1364d838a9d1e20c94fa70c ? ../Natural/lessThan.dhall
@@ -1,3 +1,3 @@- ./unpackOptionals.dhall+ missing sha256:0cbaa920f429cf7fc3907f8a9143203fe948883913560e6e1043223e6b3d05e4 ? ./unpackOptionals.dhall
@@ -1,17 +1,12 @@ --| Unpack Optionals in a List, omitting None items.-let List/concatMap =- ./concatMap.dhall- sha256:3b2167061d11fda1e4f6de0522cbe83e0d5ac4ef5ddf6bb0b2064470c5d3fb64- ? ./concatMap.dhall--let Optional/toList =- ../Optional/toList.dhall- sha256:d78f160c619119ef12389e48a629ce293d69f7624c8d016b7a4767ab400344c4- ? ../Optional/toList.dhall+let List/filterMap =+ missing+ sha256:94b7ed4204d1c79aaf55527ef51024e7085b8dd2896952cffbd12d8f95e16f46+ ? ./filterMap.dhall let unpackOptionals : ∀(a : Type) → ∀(l : List (Optional a)) → List a- = λ(a : Type) → List/concatMap (Optional a) a (Optional/toList a)+ = λ(a : Type) → List/filterMap (Optional a) a (λ(x : Optional a) → x) let property1 = λ(a : Type) → λ(x : a) → assert : unpackOptionals a [ Some x ] ≡ [ x ]
@@ -1,3 +1,3 @@- ./unzip.dhall+ missing sha256:4d6003e9e683a289fe33f4c90f958eb1e08ea0bbb474210fcd90d1885c9660e9 ? ./unzip.dhall
@@ -1,3 +1,3 @@- ./zip.dhall+ missing sha256:85ed955eabf3998767f4ad2a28e57d40cd4c68a95519d79e9b622f1d26d979da ? ./zip.dhall
@@ -4,7 +4,7 @@ The resulting `List` will have the length of the shortest of its arguments. -} let List/index =- ./index.dhall+ missing sha256:e657b55ecae4d899465c3032cb1a64c6aa6dc2aa3034204f3c15ce5c96c03e63 ? ./index.dhall
@@ -1,3 +1,3 @@- ./Type.dhall+ missing sha256:613ebb491aeef4ff06368058b4f0e6e3bb8a58d8c145131fc0b947aac045a529 ? ./Type.dhall
@@ -5,9 +5,7 @@ let example0 = assert- : missing- sha256:f428188ff9d77ea15bc2bcd0da3f8ed81b304e175b07ade42a3b0fb02941b2aa as Location- ? missing as Location+ : missing as Location ≡ < Environment : Text | Local : Text | Missing
@@ -1,5 +1,5 @@ { Type =- ./Type.dhall+ missing sha256:613ebb491aeef4ff06368058b4f0e6e3bb8a58d8c145131fc0b947aac045a529 ? ./Type.dhall }
@@ -1,3 +1,3 @@- ./Entry.dhall+ missing sha256:f334283bdd9cd88e6ea510ca914bc221fc2dab5fb424d24514b2e0df600d5346 ? ./Entry.dhall
@@ -1,3 +1,3 @@- ./Type.dhall+ missing sha256:210c7a9eba71efbb0f7a66b3dcf8b9d3976ffc2bc0e907aadfb6aa29c333e8ed ? ./Type.dhall
@@ -1,3 +1,3 @@- ./empty.dhall+ missing sha256:4c612558b8bbe8f955550ed3fb295d57b1b864c85cd52615b52d0ee0e9682e52 ? ./empty.dhall
@@ -1,6 +1,6 @@ --| An empty `Map` of the given key and value types let Map =- ./Type.dhall+ missing sha256:210c7a9eba71efbb0f7a66b3dcf8b9d3976ffc2bc0e907aadfb6aa29c333e8ed ? ./Type.dhall
@@ -1,3 +1,3 @@- ./keyText.dhall+ missing sha256:f7b6c802ca5764d03d5e9a6e48d9cb167c01392f775d9c2c87b83cdaa60ea0cc ? ./keyText.dhall
@@ -1,3 +1,3 @@- ./keyValue.dhall+ missing sha256:a0a97199d280c4cce72ffcbbf93b7ceda0a569cf4d173ac98e0aaaa78034b98c ? ./keyValue.dhall
@@ -1,3 +1,3 @@- ./keys.dhall+ missing sha256:d13ec34e6acf7c349d82272ef09a37c7bdf37f0dab489e9df47a1ff215d9f5e7 ? ./keys.dhall
@@ -1,16 +1,16 @@ --| Get all of the keys of a `Map` as a `List` let Map =- ./Type.dhall+ missing sha256:210c7a9eba71efbb0f7a66b3dcf8b9d3976ffc2bc0e907aadfb6aa29c333e8ed ? ./Type.dhall let Entry =- ./Entry.dhall+ missing sha256:f334283bdd9cd88e6ea510ca914bc221fc2dab5fb424d24514b2e0df600d5346 ? ./Entry.dhall let List/map =- ../List/map+ missing sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ../List/map
@@ -1,3 +1,3 @@- ./map.dhall+ missing sha256:23e09b0b9f08649797dfe1ca39755d5e1c7cad2d0944bdd36c7a0bf804bde8d0 ? ./map.dhall
@@ -1,16 +1,16 @@ --| Transform a `Map` by applying a function to each value let Map =- ./Type.dhall+ missing sha256:210c7a9eba71efbb0f7a66b3dcf8b9d3976ffc2bc0e907aadfb6aa29c333e8ed ? ./Type.dhall let Entry =- ./Entry.dhall+ missing sha256:f334283bdd9cd88e6ea510ca914bc221fc2dab5fb424d24514b2e0df600d5346 ? ./Entry.dhall let List/map =- ../List/map.dhall+ missing sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ../List/map.dhall
@@ -0,0 +1,56 @@+--| Apply a function across the values of a `Map k v`, dropping+-- entries whose values return `None`.+let Map/empty =+ missing+ sha256:4c612558b8bbe8f955550ed3fb295d57b1b864c85cd52615b52d0ee0e9682e52+ ? ./empty.dhall++let Map/unpackOptionals =+ missing+ sha256:66c3e6f6f81418cf99342e1dba739617c01af4b27c1ca5e2e1d7bce64a522e22+ ? ./unpackOptionals.dhall++let Map/map =+ missing+ sha256:23e09b0b9f08649797dfe1ca39755d5e1c7cad2d0944bdd36c7a0bf804bde8d0+ ? ./map.dhall++let Map/Type =+ missing+ sha256:210c7a9eba71efbb0f7a66b3dcf8b9d3976ffc2bc0e907aadfb6aa29c333e8ed+ ? ./Type.dhall++let mapMaybe+ : ∀(k : Type) →+ ∀(a : Type) →+ ∀(b : Type) →+ (a → Optional b) →+ Map/Type k a →+ Map/Type k b+ = λ(k : Type) →+ λ(a : Type) →+ λ(b : Type) →+ λ(f : a → Optional b) →+ λ(m : Map/Type k a) →+ Map/unpackOptionals k b (Map/map k a (Optional b) f m)++let property =+ λ(k : Type) →+ λ(a : Type) →+ λ(b : Type) →+ λ(f : a → Optional b) →+ assert : mapMaybe k a b f (Map/empty k a) ≡ Map/empty k b++let example0 =+ assert+ : mapMaybe+ Text+ Natural+ Text+ ( λ(n : Natural) →+ if Natural/isZero n then None Text else Some (Natural/show n)+ )+ (toMap { foo = 2, bar = 0 })+ ≡ toMap { foo = "2" }++in mapMaybe
@@ -1,37 +1,41 @@ { Type =- ./Type+ missing sha256:210c7a9eba71efbb0f7a66b3dcf8b9d3976ffc2bc0e907aadfb6aa29c333e8ed ? ./Type , Entry =- ./Entry+ missing sha256:f334283bdd9cd88e6ea510ca914bc221fc2dab5fb424d24514b2e0df600d5346 ? ./Entry , empty =- ./empty+ missing sha256:4c612558b8bbe8f955550ed3fb295d57b1b864c85cd52615b52d0ee0e9682e52 ? ./empty , keyText =- ./keyText+ missing sha256:f7b6c802ca5764d03d5e9a6e48d9cb167c01392f775d9c2c87b83cdaa60ea0cc ? ./keyText , keyValue =- ./keyValue+ missing sha256:a0a97199d280c4cce72ffcbbf93b7ceda0a569cf4d173ac98e0aaaa78034b98c ? ./keyValue , keys =- ./keys+ missing sha256:d13ec34e6acf7c349d82272ef09a37c7bdf37f0dab489e9df47a1ff215d9f5e7 ? ./keys , map =- ./map+ missing sha256:23e09b0b9f08649797dfe1ca39755d5e1c7cad2d0944bdd36c7a0bf804bde8d0 ? ./map+, mapMaybe =+ missing+ sha256:4ea58b720d7af38cef3ef07bef36e476caeed21032cd4a9dc733868a74d9a521+ ? ./mapMaybe.dhall , unpackOptionals =- ./unpackOptionals.dhall+ missing sha256:66c3e6f6f81418cf99342e1dba739617c01af4b27c1ca5e2e1d7bce64a522e22 ? ./unpackOptionals.dhall , values =- ./values+ missing sha256:ae02cfb06a9307cbecc06130e84fd0c7b96b7f1f11648961e1b030ec00940be8 ? ./values }
@@ -1,17 +1,17 @@ --| Turn a `Map k (Optional v)` into a `Map k v` by dropping all -- entries with value `None`. let List/concatMap =- ../List/concatMap.dhall+ missing sha256:3b2167061d11fda1e4f6de0522cbe83e0d5ac4ef5ddf6bb0b2064470c5d3fb64 ? ../List/concatMap.dhall let Map/Entry =- ./Entry.dhall+ missing sha256:f334283bdd9cd88e6ea510ca914bc221fc2dab5fb424d24514b2e0df600d5346 ? ./Entry.dhall let Map/Type =- ./Type.dhall+ missing sha256:210c7a9eba71efbb0f7a66b3dcf8b9d3976ffc2bc0e907aadfb6aa29c333e8ed ? ./Type.dhall
@@ -1,3 +1,3 @@- ./values.dhall+ missing sha256:ae02cfb06a9307cbecc06130e84fd0c7b96b7f1f11648961e1b030ec00940be8 ? ./values.dhall
@@ -1,16 +1,16 @@ --| Get all of the values of a `Map` as a `List` let Map =- ./Type.dhall+ missing sha256:210c7a9eba71efbb0f7a66b3dcf8b9d3976ffc2bc0e907aadfb6aa29c333e8ed ? ./Type.dhall let Entry =- ./Entry.dhall+ missing sha256:f334283bdd9cd88e6ea510ca914bc221fc2dab5fb424d24514b2e0df600d5346 ? ./Entry.dhall let List/map =- ../List/map.dhall+ missing sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ../List/map.dhall
@@ -1,3 +1,3 @@- ./Monoid.dhall+ missing sha256:26fafa098600ef7a54ef9dba5ada416bbbdd21df1af306c052420c61553ad4af ? ./Monoid.dhall
@@ -1,3 +1,3 @@- ./build.dhall+ missing sha256:e7e25e6c4f1d8e573606ed1bef725396ac2de5c68f7c5d329ffc5822085b984c ? ./build.dhall
@@ -1,3 +1,3 @@- ./enumerate.dhall+ missing sha256:0cf083980a752b21ce0df9fc2222a4c139f50909e2353576e26a191002aa1ce3 ? ./enumerate.dhall
@@ -1,3 +1,3 @@- ./equal.dhall+ missing sha256:7f108edfa35ddc7cebafb24dc073478e93a802e13b5bc3fd22f4768c9b066e60 ? ./equal.dhall
@@ -1,6 +1,6 @@ --| `equal` checks if two Naturals are equal. let lessThanEqual =- ./lessThanEqual.dhall+ missing sha256:1a5caa2b80a42b9f58fff58e47ac0d9a9946d0b2d36c54034b8ddfe3cb0f3c99 ? ./lessThanEqual.dhall
@@ -1,3 +1,3 @@- ./even.dhall+ missing sha256:b85b8b56892dfef881e1c0e79eade0b949528f792aac0ea42432b315ede4ee66 ? ./even.dhall
@@ -1,3 +1,3 @@- ./fold.dhall+ missing sha256:fd01c931e585a8f5fd049af7b076b862ea164f1813b34800c7616a49e549ee06 ? ./fold.dhall
@@ -1,3 +1,3 @@- ./greaterThan.dhall+ missing sha256:f702abcdfcd7ad73619b9285d7e41c3a1d017fb6b8d037cf40bd93bf30c09b2c ? ./greaterThan.dhall
@@ -1,6 +1,6 @@ --| `greaterThan` checks if one Natural is strictly greater than another. let lessThan =- ./lessThan.dhall+ missing sha256:3381b66749290769badf8855d8a3f4af62e8de52d1364d838a9d1e20c94fa70c ? ./lessThan.dhall
@@ -1,3 +1,3 @@- ./greaterThanEqual.dhall+ missing sha256:30ebfab0febd7aa0ccccfdf3dc36ee6d50f0117f35dd4a9b034750b7e885a1a4 ? ./greaterThanEqual.dhall
@@ -2,7 +2,7 @@ `greaterThanEqual` checks if one Natural is greater than or equal to another. -} let lessThanEqual =- ./lessThanEqual.dhall+ missing sha256:1a5caa2b80a42b9f58fff58e47ac0d9a9946d0b2d36c54034b8ddfe3cb0f3c99 ? ./lessThanEqual.dhall
@@ -1,3 +1,3 @@- ./isZero.dhall+ missing sha256:1be98236800ed2d5cff44f16ca02b34b0c37dfa239d9e0d63d9d2c6eeae3d1d1 ? ./isZero.dhall
@@ -1,3 +1,3 @@- ./lessThan.dhall+ missing sha256:3381b66749290769badf8855d8a3f4af62e8de52d1364d838a9d1e20c94fa70c ? ./lessThan.dhall
@@ -1,11 +1,11 @@ --| `lessThan` checks if one Natural is strictly less than another. let greaterThanEqual =- ./greaterThanEqual.dhall+ missing sha256:30ebfab0febd7aa0ccccfdf3dc36ee6d50f0117f35dd4a9b034750b7e885a1a4 ? ./greaterThanEqual.dhall let Bool/not =- ../Bool/not.dhall+ missing sha256:723df402df24377d8a853afed08d9d69a0a6d86e2e5b2bac8960b0d4756c7dc4 ? ../Bool/not.dhall
@@ -1,3 +1,3 @@- ./lessThanEqual.dhall+ missing sha256:1a5caa2b80a42b9f58fff58e47ac0d9a9946d0b2d36c54034b8ddfe3cb0f3c99 ? ./lessThanEqual.dhall
@@ -1,3 +1,3 @@- ./listMax.dhall+ missing sha256:20906ffcc9970f740106d4516cb7868b43d75ff8c9f00ff8a9680ae68c48a472 ? ./listMax.dhall
@@ -3,12 +3,12 @@ `List` is empty -} let max =- ./max.dhall+ missing sha256:1f3b18da330223ab039fad11693da72c7e68d516f50502c73f41a89a097b62f7 ? ./max.dhall let Optional/map =- ../Optional/map.dhall+ missing sha256:501534192d988218d43261c299cc1d1e0b13d25df388937add784778ab0054fa ? ../Optional/map.dhall
@@ -1,3 +1,3 @@- ./listMin.dhall+ missing sha256:ee70b0d010bbca6012162e8ae1f6e9d9bd10a152675509b0f23145b98b5d43c6 ? ./listMin.dhall
@@ -3,12 +3,12 @@ `List` is empty -} let min =- ./min.dhall+ missing sha256:f25f9c462e4dbf0eb15f9ff6ac840c6e9c82255a7f4f2ab408bdab338e028710 ? ./min.dhall let Optional/map =- ../Optional/map.dhall+ missing sha256:501534192d988218d43261c299cc1d1e0b13d25df388937add784778ab0054fa ? ../Optional/map.dhall
@@ -1,3 +1,3 @@- ./max.dhall+ missing sha256:1f3b18da330223ab039fad11693da72c7e68d516f50502c73f41a89a097b62f7 ? ./max.dhall
@@ -1,6 +1,6 @@ --| `max a b` returns the larger of `a` or `b` let lessThanEqual =- ./lessThanEqual.dhall+ missing sha256:1a5caa2b80a42b9f58fff58e47ac0d9a9946d0b2d36c54034b8ddfe3cb0f3c99 ? ./lessThanEqual.dhall
@@ -1,3 +1,3 @@- ./min.dhall+ missing sha256:f25f9c462e4dbf0eb15f9ff6ac840c6e9c82255a7f4f2ab408bdab338e028710 ? ./min.dhall
@@ -1,6 +1,6 @@ --| `min a b` returns the smaller of `a` or `b` let lessThanEqual =- ./lessThanEqual.dhall+ missing sha256:1a5caa2b80a42b9f58fff58e47ac0d9a9946d0b2d36c54034b8ddfe3cb0f3c99 ? ./lessThanEqual.dhall
@@ -1,3 +1,3 @@- ./odd.dhall+ missing sha256:ab3c729262c642ec1cdb72a81e910fcfaf2aea13e3961d0bf1bec83efea5aac5 ? ./odd.dhall
@@ -1,89 +1,89 @@ { build =- ./build.dhall+ missing sha256:e7e25e6c4f1d8e573606ed1bef725396ac2de5c68f7c5d329ffc5822085b984c ? ./build.dhall , enumerate =- ./enumerate.dhall+ missing sha256:0cf083980a752b21ce0df9fc2222a4c139f50909e2353576e26a191002aa1ce3 ? ./enumerate.dhall , even =- ./even.dhall+ missing sha256:b85b8b56892dfef881e1c0e79eade0b949528f792aac0ea42432b315ede4ee66 ? ./even.dhall , fold =- ./fold.dhall+ missing sha256:fd01c931e585a8f5fd049af7b076b862ea164f1813b34800c7616a49e549ee06 ? ./fold.dhall , isZero =- ./isZero.dhall+ missing sha256:1be98236800ed2d5cff44f16ca02b34b0c37dfa239d9e0d63d9d2c6eeae3d1d1 ? ./isZero.dhall , odd =- ./odd.dhall+ missing sha256:ab3c729262c642ec1cdb72a81e910fcfaf2aea13e3961d0bf1bec83efea5aac5 ? ./odd.dhall , product =- ./product.dhall+ missing sha256:e3e6fd76207875b81d39f79fdbc90b5e640444c04fb3d84c2c9326748f0b26e6 ? ./product.dhall , sum =- ./sum.dhall+ missing sha256:33f7f4c3aff62e5ecf4848f964363133452d420dcde045784518fb59fa970037 ? ./sum.dhall , show =- ./show.dhall+ missing sha256:684ed560ad86f438efdea229eca122c29e8e14f397ed32ec97148d578ca5aa21 ? ./show.dhall , toDouble =- ./toDouble.dhall+ missing sha256:d5eb52143dcd35b46a6f0cdb2d3cbf31a14b6daeba56e29066f8e344c9fb6e81 ? ./toDouble.dhall , toInteger =- ./toInteger.dhall+ missing sha256:160d2d278619f3da34a1f4f02e739a447e4f2aa5a2978c45b710515b41491e1f ? ./toInteger.dhall , lessThan =- ./lessThan.dhall+ missing sha256:3381b66749290769badf8855d8a3f4af62e8de52d1364d838a9d1e20c94fa70c ? ./lessThan.dhall , lessThanEqual =- ./lessThanEqual.dhall+ missing sha256:1a5caa2b80a42b9f58fff58e47ac0d9a9946d0b2d36c54034b8ddfe3cb0f3c99 ? ./lessThanEqual.dhall , equal =- ./equal.dhall+ missing sha256:7f108edfa35ddc7cebafb24dc073478e93a802e13b5bc3fd22f4768c9b066e60 ? ./equal.dhall , greaterThanEqual =- ./greaterThanEqual.dhall+ missing sha256:30ebfab0febd7aa0ccccfdf3dc36ee6d50f0117f35dd4a9b034750b7e885a1a4 ? ./greaterThanEqual.dhall , greaterThan =- ./greaterThan.dhall+ missing sha256:f702abcdfcd7ad73619b9285d7e41c3a1d017fb6b8d037cf40bd93bf30c09b2c ? ./greaterThan.dhall , min =- ./min.dhall+ missing sha256:f25f9c462e4dbf0eb15f9ff6ac840c6e9c82255a7f4f2ab408bdab338e028710 ? ./min.dhall , max =- ./max.dhall+ missing sha256:1f3b18da330223ab039fad11693da72c7e68d516f50502c73f41a89a097b62f7 ? ./max.dhall , listMin =- ./listMin.dhall+ missing sha256:ee70b0d010bbca6012162e8ae1f6e9d9bd10a152675509b0f23145b98b5d43c6 ? ./listMin.dhall , listMax =- ./listMax.dhall+ missing sha256:20906ffcc9970f740106d4516cb7868b43d75ff8c9f00ff8a9680ae68c48a472 ? ./listMax.dhall , sort =- ./sort.dhall+ missing sha256:36ce8b3e5538454763987ca904d8d7c5ba34c2147434a19eddd51f684432b260 ? ./sort.dhall , subtract =- ./subtract.dhall+ missing sha256:b9277ac637d09142a3a3ac79137ef5955c42f8b33b6746d59db2c9d75ccdd745 ? ./subtract.dhall }
@@ -1,3 +1,3 @@- ./product.dhall+ missing sha256:e3e6fd76207875b81d39f79fdbc90b5e640444c04fb3d84c2c9326748f0b26e6 ? ./product.dhall
@@ -1,3 +1,3 @@- ./show.dhall+ missing sha256:684ed560ad86f438efdea229eca122c29e8e14f397ed32ec97148d578ca5aa21 ? ./show.dhall
@@ -1,3 +1,3 @@- ./sort.dhall+ missing sha256:36ce8b3e5538454763987ca904d8d7c5ba34c2147434a19eddd51f684432b260 ? ./sort.dhall
@@ -1,16 +1,16 @@ --| `sort` sorts a `List` of `Natural`s in ascending order let greaterThanEqual =- ./greaterThanEqual.dhall+ missing sha256:30ebfab0febd7aa0ccccfdf3dc36ee6d50f0117f35dd4a9b034750b7e885a1a4 ? ./greaterThanEqual.dhall let listMin =- ./listMin.dhall+ missing sha256:ee70b0d010bbca6012162e8ae1f6e9d9bd10a152675509b0f23145b98b5d43c6 ? ./listMin.dhall let List/partition =- ../List/partition.dhall+ missing sha256:38147ac6d750a6492736dd90cc967bf09aa405c499de943c64fab7b86ae02f03 ? ../List/partition.dhall
@@ -1,3 +1,3 @@- ./subtract.dhall+ missing sha256:b9277ac637d09142a3a3ac79137ef5955c42f8b33b6746d59db2c9d75ccdd745 ? ./subtract.dhall
@@ -1,3 +1,3 @@- ./sum.dhall+ missing sha256:33f7f4c3aff62e5ecf4848f964363133452d420dcde045784518fb59fa970037 ? ./sum.dhall
@@ -1,3 +1,3 @@- ./toDouble.dhall+ missing sha256:d5eb52143dcd35b46a6f0cdb2d3cbf31a14b6daeba56e29066f8e344c9fb6e81 ? ./toDouble.dhall
@@ -1,3 +1,3 @@- ./toInteger.dhall+ missing sha256:160d2d278619f3da34a1f4f02e739a447e4f2aa5a2978c45b710515b41491e1f ? ./toInteger.dhall
@@ -3,12 +3,12 @@ `NonEmpty` list -} let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall let NonEmpty/toList =- ./toList.dhall+ missing sha256:0977fe14b77232a4451dcf409c43df4589c4b3cdde7b613aab8df183be1b53f5 ? ./toList.dhall
@@ -3,12 +3,12 @@ `NonEmpty` list -} let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall let NonEmpty/toList =- ./toList.dhall+ missing sha256:0977fe14b77232a4451dcf409c43df4589c4b3cdde7b613aab8df183be1b53f5 ? ./toList.dhall
@@ -3,17 +3,17 @@ list -} let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall let NonEmpty/toList =- ./toList.dhall+ missing sha256:0977fe14b77232a4451dcf409c43df4589c4b3cdde7b613aab8df183be1b53f5 ? ./toList.dhall let List/concatMap =- ../List/concatMap.dhall+ missing sha256:3b2167061d11fda1e4f6de0522cbe83e0d5ac4ef5ddf6bb0b2064470c5d3fb64 ? ../List/concatMap.dhall
@@ -3,17 +3,17 @@ flattening the results -} let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall let NonEmpty/toList =- ./toList.dhall+ missing sha256:0977fe14b77232a4451dcf409c43df4589c4b3cdde7b613aab8df183be1b53f5 ? ./toList.dhall let List/concatMap =- ../List/concatMap.dhall+ missing sha256:3b2167061d11fda1e4f6de0522cbe83e0d5ac4ef5ddf6bb0b2064470c5d3fb64 ? ../List/concatMap.dhall
@@ -1,6 +1,6 @@ --| Retrieve the first element of the `NonEmpty` list let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall
@@ -1,11 +1,11 @@ --| Retrieve an element from a `NonEmpty` list using its 0-based index let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall let List/index =- ../List/index.dhall+ missing sha256:e657b55ecae4d899465c3032cb1a64c6aa6dc2aa3034204f3c15ce5c96c03e63 ? ../List/index.dhall
@@ -1,11 +1,11 @@ --| Tag each element of the `NonEmpty` list with its index let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall let List/map =- ../List/map.dhall+ missing sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ../List/map.dhall
@@ -1,6 +1,6 @@ --| Retrieve the last element of the `NonEmpty` list let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall
@@ -1,6 +1,6 @@ --| Returns the number of elements in a `NonEmpty` list let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall
@@ -5,7 +5,7 @@ construction from the specific names of the fields. -} let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall
@@ -1,11 +1,11 @@ --| Transform a `NonEmpty` list by applying a function to each element let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall let List/map =- ../List/map.dhall+ missing sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ../List/map.dhall
@@ -1,73 +1,73 @@ { Type =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall , all =- ./all.dhall+ missing sha256:f2f9389d94f4deb5b918b2e50c1093b57e00b37ddd3ab2b43959993b1cb519b6 ? ./all.dhall , any =- ./any.dhall+ missing sha256:7662b665840e41b12a28190eec3aaab9201fcb90c00a8ec3666d549e1020992f ? ./any.dhall , concat =- ./concat.dhall+ missing sha256:6d55181938c06c6b806877028f6a241912e9c0935d9a10dd958775bf21e0f64d ? ./concat.dhall , concatMap =- ./concatMap.dhall+ missing sha256:fc33fa9449dc8f74dd8c8be379b7b7c4b0433e2b65650370d81d9a7111a590e2 ? ./concatMap.dhall , head =- ./head.dhall+ missing sha256:6b9551c97b89fe666d2e03392a4af5e87abfdbdb0aa0e29fc4b3aa1b318474e7 ? ./head.dhall , index =- ./index.dhall+ missing sha256:0ba2fcc9227fab10676cd61b47a18d779818a19c16727c7cc4b4c78e114fd663 ? ./index.dhall , indexed =- ./indexed.dhall+ missing sha256:9dae2c1fecd142df837e98769b5bbdd0bfe25c35a93af1064b4e62f9c780ae6b ? ./indexed.dhall , last =- ./last.dhall+ missing sha256:f83115492b6e408d0b662a68440620f7f3df07b56e7ed66dab77a6e65b121250 ? ./last.dhall , length =- ./length.dhall+ missing sha256:eef3b857a164487cfdb960e3298c4731970b7a430011289cba35a9ad722ac989 ? ./length.dhall , make =- ./make.dhall+ missing sha256:549de393673c4773c80a50ea578ea50d7f2c4c2eda31956e73fabc4e486f3b1e ? ./make.dhall , map =- ./map.dhall+ missing sha256:93d53afe874bb2eed946c21ca5ada3c9716b7d00e6d8edfaba6484cd9c5a00bd ? ./map.dhall , reverse =- ./reverse.dhall+ missing sha256:a6d810cdd3badffd4e7ca82091609a855cffac900c82d7ff3724463fbc2d5ff2 ? ./reverse.dhall , shifted =- ./shifted.dhall+ missing sha256:36156973d6916aed10cfd8c59be7c019516bf0a2c47b499a17a8ef0611e1c189 ? ./shifted.dhall , singleton =- ./singleton.dhall+ missing sha256:c9197aabe97695f7ca66f7419bf172d806b2c915594a8fc0d2ff6495db496ff2 ? ./singleton.dhall , toList =- ./toList.dhall+ missing sha256:0977fe14b77232a4451dcf409c43df4589c4b3cdde7b613aab8df183be1b53f5 ? ./toList.dhall , unzip =- ./unzip.dhall+ missing sha256:d0b925bea32a29aad5cb48a84e8ef8cff750308afe1dd20b24eca19e4e999abc ? ./unzip.dhall , zip =- ./zip.dhall+ missing sha256:073f8b4808b6d1db84964f772f6291e6ea193602163438db43fa282c560c01e4 ? ./zip.dhall }
@@ -1,11 +1,11 @@ --| Reverse a `NonEmpty` list let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall let List/drop =- ../List/drop.dhall+ missing sha256:af983ba3ead494dd72beed05c0f3a17c36a4244adedf7ced502c6512196ed0cf ? ../List/drop.dhall
@@ -3,22 +3,22 @@ element by the number of elements in preceding lists -} let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall let NonEmpty/toList =- ./toList.dhall+ missing sha256:0977fe14b77232a4451dcf409c43df4589c4b3cdde7b613aab8df183be1b53f5 ? ./toList.dhall let List/map =- ../List/map.dhall+ missing sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ../List/map.dhall let List/shifted =- ../List/shifted.dhall+ missing sha256:54fb22c7e952ebce1cfc0fcdd33ce4cfa817bff9d6564af268dea6685f8b5dfe ? ../List/shifted.dhall
@@ -1,6 +1,6 @@ --| Create a `NonEmpty` list with just one element let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall
@@ -1,6 +1,6 @@ --| Convert a `NonEmpty` list into the equivalent `List` let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall
@@ -1,11 +1,11 @@ --| Unzip a `NonEmpty` list into two separate `NonEmpty` lists let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall let NonEmpty/map =- ./map.dhall+ missing sha256:93d53afe874bb2eed946c21ca5ada3c9716b7d00e6d8edfaba6484cd9c5a00bd ? ./map.dhall
@@ -4,12 +4,12 @@ The resulting `NonEmpty` will have the length of the shortest of its arguments. -} let NonEmpty =- ./Type.dhall+ missing sha256:e2e247455a858317e470e0e4affca8ac07f9f130570ece9cb7ac1f4ea3deb87f ? ./Type.dhall let List/zip =- ../List/zip.dhall+ missing sha256:85ed955eabf3998767f4ad2a28e57d40cd4c68a95519d79e9b622f1d26d979da ? ../List/zip.dhall
@@ -1,3 +1,3 @@- ./all.dhall+ missing sha256:a303004b6def0a2a05bf5f0a8d54e84dd45d8bef581789186ac04924956a1695 ? ./all.dhall
@@ -1,3 +1,3 @@- ./any.dhall+ missing sha256:96a5cf4f31b3c598b09161dd3082f0a09f4328a4cefda6a7e09894b37b17b435 ? ./any.dhall
@@ -1,3 +1,3 @@- ./build.dhall+ missing sha256:28e61294bf2dd59dc57cf74f719d1568e60b5ba46c28eac586bc937eff4a2af1 ? ./build.dhall
@@ -1,3 +1,3 @@- ./concat.dhall+ missing sha256:b7736bd3ebeab14c3912dfb534d0c970a025b001d06c2d5461d4b0e289e3cb7a ? ./concat.dhall
@@ -1,3 +1,3 @@- ./default.dhall+ missing sha256:5bd665b0d6605c374b3c4a7e2e2bd3b9c1e39323d41441149ed5e30d86e889ad ? ./default.dhall
@@ -0,0 +1,24 @@+let Optional/fold =+ missing+ sha256:c5b9d72f6f62bdaa0e196ac1c742cc175cd67a717b880fb8aec1333a5a4132cf+ ? ./fold.dhall++let Optional/null =+ missing+ sha256:3871180b87ecaba8b53fffb2a8b52d3fce98098fab09a6f759358b9e8042eedc+ ? ./null.dhall++let equal+ : forall (a : Type) -> (a -> a -> Bool) -> Optional a -> Optional a -> Bool+ = \(a : Type) ->+ \(compare : a -> a -> Bool) ->+ \(ox : Optional a) ->+ \(oy : Optional a) ->+ Optional/fold+ a+ ox+ Bool+ (\(x : a) -> Optional/fold a oy Bool (compare x) False)+ (Optional/null a oy)++in equal
@@ -1,3 +1,3 @@- ./filter.dhall+ missing sha256:54f0a487d578801819613fe000050c038c632edf1f9ccc57677e98ae0ef56b83 ? ./filter.dhall
@@ -1,3 +1,3 @@- ./fold.dhall+ missing sha256:c5b9d72f6f62bdaa0e196ac1c742cc175cd67a717b880fb8aec1333a5a4132cf ? ./fold.dhall
@@ -1,3 +1,3 @@- ./head.dhall+ missing sha256:4f256c9338b60a1933f41f2a8fafd861930a1e41770a644cdbac0622676fa34c ? ./head.dhall
@@ -1,3 +1,3 @@- ./last.dhall+ missing sha256:50400771ae19e9b75efa6581feec318ae1ade0b6a60e215df428c66c4b052707 ? ./last.dhall
@@ -1,3 +1,3 @@- ./length.dhall+ missing sha256:f168337c5244ded68c05ecf32ce068b6b87158881d07e87b8cb6853fc6982a85 ? ./length.dhall
@@ -1,3 +1,3 @@- ./map.dhall+ missing sha256:501534192d988218d43261c299cc1d1e0b13d25df388937add784778ab0054fa ? ./map.dhall
@@ -1,3 +1,3 @@- ./null.dhall+ missing sha256:3871180b87ecaba8b53fffb2a8b52d3fce98098fab09a6f759358b9e8042eedc ? ./null.dhall
@@ -1,61 +1,65 @@ { all =- ./all.dhall+ missing sha256:a303004b6def0a2a05bf5f0a8d54e84dd45d8bef581789186ac04924956a1695 ? ./all.dhall , any =- ./any.dhall+ missing sha256:96a5cf4f31b3c598b09161dd3082f0a09f4328a4cefda6a7e09894b37b17b435 ? ./any.dhall , build =- ./build.dhall+ missing sha256:28e61294bf2dd59dc57cf74f719d1568e60b5ba46c28eac586bc937eff4a2af1 ? ./build.dhall , concat =- ./concat.dhall+ missing sha256:b7736bd3ebeab14c3912dfb534d0c970a025b001d06c2d5461d4b0e289e3cb7a ? ./concat.dhall , concatMap =- ./concatMap.dhall+ missing sha256:c06ae93e900a99299c9b4ec4912ca5395a0103ea88292205b08dd7e345632818 ? ./concatMap.dhall , default =- ./default.dhall+ missing sha256:5bd665b0d6605c374b3c4a7e2e2bd3b9c1e39323d41441149ed5e30d86e889ad ? ./default.dhall+, equal =+ missing+ sha256:5411888399fe9c6720f7f3b59caf5eff3e8e8c30402d09f34e46a4457649a35a+ ? ./equal.dhall , filter =- ./filter.dhall+ missing sha256:54f0a487d578801819613fe000050c038c632edf1f9ccc57677e98ae0ef56b83 ? ./filter.dhall , fold =- ./fold.dhall+ missing sha256:c5b9d72f6f62bdaa0e196ac1c742cc175cd67a717b880fb8aec1333a5a4132cf ? ./fold.dhall , head =- ./head.dhall+ missing sha256:4f256c9338b60a1933f41f2a8fafd861930a1e41770a644cdbac0622676fa34c ? ./head.dhall , last =- ./last.dhall+ missing sha256:50400771ae19e9b75efa6581feec318ae1ade0b6a60e215df428c66c4b052707 ? ./last.dhall , length =- ./length.dhall+ missing sha256:f168337c5244ded68c05ecf32ce068b6b87158881d07e87b8cb6853fc6982a85 ? ./length.dhall , map =- ./map.dhall+ missing sha256:501534192d988218d43261c299cc1d1e0b13d25df388937add784778ab0054fa ? ./map.dhall , null =- ./null.dhall+ missing sha256:3871180b87ecaba8b53fffb2a8b52d3fce98098fab09a6f759358b9e8042eedc ? ./null.dhall , toList =- ./toList.dhall+ missing sha256:d78f160c619119ef12389e48a629ce293d69f7624c8d016b7a4767ab400344c4 ? ./toList.dhall , unzip =- ./unzip.dhall+ missing sha256:d016c01ba91657a2f35609aa29087963d0f506bab0f41d5e8b7cd289dff39708 ? ./unzip.dhall }
@@ -1,3 +1,3 @@- ./toList.dhall+ missing sha256:d78f160c619119ef12389e48a629ce293d69f7624c8d016b7a4767ab400344c4 ? ./toList.dhall
@@ -1,3 +1,3 @@- ./unzip.dhall+ missing sha256:d016c01ba91657a2f35609aa29087963d0f506bab0f41d5e8b7cd289dff39708 ? ./unzip.dhall
@@ -1,3 +1,3 @@- ./concat.dhall+ missing sha256:731265b0288e8a905ecff95c97333ee2db614c39d69f1514cb8eed9259745fc0 ? ./concat.dhall
@@ -1,3 +1,3 @@- ./concatMap.dhall+ missing sha256:7a0b0b99643de69d6f94ba49441cd0fa0507cbdfa8ace0295f16097af37e226f ? ./concatMap.dhall
@@ -1,3 +1,3 @@- ./concatMapSep.dhall+ missing sha256:c272aca80a607bc5963d1fcb38819e7e0d3e72ac4d02b1183b1afb6a91340840 ? ./concatMapSep.dhall
@@ -1,3 +1,3 @@- ./concatSep.dhall+ missing sha256:e4401d69918c61b92a4c0288f7d60a6560ca99726138ed8ebc58dca2cd205e58 ? ./concatSep.dhall
@@ -1,3 +1,3 @@- ./default.dhall+ missing sha256:f532c8891b1e427d90a6cc07cf7e793a4c84b0765e1bfe69f186ee2ec91c1edf ? ./default.dhall
@@ -1,3 +1,3 @@- ./defaultMap.dhall+ missing sha256:3a3fa1264f6198800c27483cb144de2c5366484876d60b9c739a710ce0288588 ? ./defaultMap.dhall
@@ -1,53 +1,53 @@ { concat =- ./concat.dhall+ missing sha256:731265b0288e8a905ecff95c97333ee2db614c39d69f1514cb8eed9259745fc0 ? ./concat.dhall , concatMap =- ./concatMap.dhall+ missing sha256:7a0b0b99643de69d6f94ba49441cd0fa0507cbdfa8ace0295f16097af37e226f ? ./concatMap.dhall , concatMapSep =- ./concatMapSep.dhall+ missing sha256:c272aca80a607bc5963d1fcb38819e7e0d3e72ac4d02b1183b1afb6a91340840 ? ./concatMapSep.dhall , concatSep =- ./concatSep.dhall+ missing sha256:e4401d69918c61b92a4c0288f7d60a6560ca99726138ed8ebc58dca2cd205e58 ? ./concatSep.dhall , default =- ./default.dhall+ missing sha256:f532c8891b1e427d90a6cc07cf7e793a4c84b0765e1bfe69f186ee2ec91c1edf ? ./default.dhall , defaultMap =- ./defaultMap.dhall+ missing sha256:3a3fa1264f6198800c27483cb144de2c5366484876d60b9c739a710ce0288588 ? ./defaultMap.dhall , lowerASCII =- ./lowerASCII.dhall+ missing sha256:26b076651120b907e869396bd3dc16271f2e12433062b2f26f296968a69515e7 ? ./lowerASCII.dhall , replace =- ./replace.dhall+ missing sha256:7d132df0e091a43817bba8afa06d1bb487ee51c091430404ad6f8c78bc0328a6 ? ./replace.dhall , replicate =- ./replicate.dhall+ missing sha256:1b398b1d464b3a6c7264a690ac3cacb443b5683b43348c859d68e7c2cb925c4f ? ./replicate.dhall , shell-escape =- ./shell-escape.dhall+ missing sha256:d53521b3f478cb18a7d63730bc0e3153c2124b70d6ac9a1f610ce7db67cfc7a2 ? ./shell-escape.dhall , show =- ./show.dhall+ missing sha256:c9dc5de3e5f32872dbda57166804865e5e80785abe358ff61f1d8ac45f1f4784 ? ./show.dhall , spaces =- ./spaces.dhall+ missing sha256:fccfd4f26601e006bf6a79ca948dbd37c676cdd0db439554447320293d23b3dc ? ./spaces.dhall , upperASCII =- ./upperASCII.dhall+ missing sha256:45ae4fbd814b0474e65c28a4ee92b23b979892fa5bb73730bc99675ae790ca29 ? ./upperASCII.dhall }
@@ -1,3 +1,3 @@- ./replicate.dhall+ missing sha256:1b398b1d464b3a6c7264a690ac3cacb443b5683b43348c859d68e7c2cb925c4f ? ./replicate.dhall
@@ -1,11 +1,11 @@ --| Build a Text by copying the given Text the specified number of times let concat =- ./concat.dhall+ missing sha256:731265b0288e8a905ecff95c97333ee2db614c39d69f1514cb8eed9259745fc0 ? ./concat.dhall let List/replicate =- ../List/replicate.dhall+ missing sha256:d4250b45278f2d692302489ac3e78280acb238d27541c837ce46911ff3baa347 ? ../List/replicate.dhall
@@ -1,3 +1,3 @@- ./show.dhall+ missing sha256:c9dc5de3e5f32872dbda57166804865e5e80785abe358ff61f1d8ac45f1f4784 ? ./show.dhall
@@ -1,3 +1,3 @@- ./spaces.dhall+ missing sha256:fccfd4f26601e006bf6a79ca948dbd37c676cdd0db439554447320293d23b3dc ? ./spaces.dhall
@@ -5,7 +5,7 @@ whitespace is significant, i.e. with nested indentation. -} let replicate =- ./replicate.dhall+ missing sha256:1b398b1d464b3a6c7264a690ac3cacb443b5683b43348c859d68e7c2cb925c4f ? ./replicate.dhall
@@ -0,0 +1,5 @@+{ show =+ missing+ sha256:8cabfe35dd0ee25ca65708105e860cbf4b789e0d73134aa905580799e2a46719+ ? ./show.dhall+}
@@ -0,0 +1,15 @@+{-+Render a `Time` as `Text` using the same representation as Dhall source code+(i.e. `hh:mm:ss`)+-}+let show+ : Time → Text+ = Time/show++let example0 = assert : show 03:15:47.90 ≡ "03:15:47.90"++let example1 = assert : show 00:00:00 ≡ "00:00:00"++let example2 = assert : show 11:59:59 ≡ "11:59:59"++in show
@@ -0,0 +1,5 @@+{ show =+ missing+ sha256:d183361f1c4c656bad3b170ec8b8d6705f564faebf94e4ef10c76061104ff061+ ? ./show.dhall+}
@@ -0,0 +1,15 @@+{-+Render a `TimeZone` as `Text` using the same representation as Dhall source code+(i.e. `±HH:MM`)+-}+let show+ : TimeZone → Text+ = TimeZone/show++let example0 = assert : show +07:00 ≡ "+07:00"++let example1 = assert : show +00:00 ≡ "+00:00"++let example2 = assert : show -05:00 ≡ "-05:00"++in show
@@ -1,3 +1,3 @@- ./Type.dhall+ missing sha256:ab91a0edaf0513e0083b1dfae5efa160adc99b0e589775a4a699ab77cce528a9 ? ./Type.dhall
@@ -1,3 +1,3 @@- ./attribute.dhall+ missing sha256:f7b6c802ca5764d03d5e9a6e48d9cb167c01392f775d9c2c87b83cdaa60ea0cc ? ./attribute.dhall
@@ -1,3 +1,3 @@- ./element.dhall+ missing sha256:79266d604e147caf37e985581523b684f7bac66de0c93dd828841df3dfc445f9 ? ./element.dhall
@@ -19,12 +19,12 @@ ``` -} let XML =- ./Type.dhall+ missing sha256:ab91a0edaf0513e0083b1dfae5efa160adc99b0e589775a4a699ab77cce528a9 ? ./Type.dhall let List/map =- ../List/map.dhall+ missing sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 ? ../List/map.dhall
@@ -1,3 +1,3 @@- ./emptyAttributes.dhall+ missing sha256:11b86e2d3f3c75d47a1d580213d2a03fd2c36d64f3e9b6381de0ba23472f64d5 ? ./emptyAttributes.dhall
@@ -1,3 +1,3 @@- ./leaf.dhall+ missing sha256:5dcedf79a3664a362479f470220bb2f4932facde657c285fd8a3c24ab137c506 ? ./leaf.dhall
@@ -10,12 +10,12 @@ ``` -} let XML =- ./Type.dhall+ missing sha256:ab91a0edaf0513e0083b1dfae5efa160adc99b0e589775a4a699ab77cce528a9 ? ./Type.dhall let element =- ./element.dhall+ missing sha256:79266d604e147caf37e985581523b684f7bac66de0c93dd828841df3dfc445f9 ? ./element.dhall
@@ -1,33 +1,33 @@ { Type =- ./Type.dhall+ missing sha256:ab91a0edaf0513e0083b1dfae5efa160adc99b0e589775a4a699ab77cce528a9 ? ./Type.dhall , attribute =- ./attribute.dhall+ missing sha256:f7b6c802ca5764d03d5e9a6e48d9cb167c01392f775d9c2c87b83cdaa60ea0cc ? ./attribute.dhall , render =- ./render.dhall+ missing sha256:395c293702c85d99f6f2b461f3eee320f9fe5749c320c2e8b9ea799a7d210b66 ? ./render.dhall , element =- ./element.dhall+ missing sha256:79266d604e147caf37e985581523b684f7bac66de0c93dd828841df3dfc445f9 ? ./element.dhall , leaf =- ./leaf.dhall+ missing sha256:5dcedf79a3664a362479f470220bb2f4932facde657c285fd8a3c24ab137c506 ? ./leaf.dhall , text =- ./text.dhall+ missing sha256:a59670560a08bfc815893dee1f3eae21a5252400f8a619d1cd7bdd9f48eea2ab ? ./text.dhall , rawText =- ./rawText.dhall+ missing sha256:2af9d72c151677d4110039e361b7e9faaf2947e6c9d29aa72aea351ad797e05d ? ./rawText.dhall , emptyAttributes =- ./emptyAttributes.dhall+ missing sha256:11b86e2d3f3c75d47a1d580213d2a03fd2c36d64f3e9b6381de0ba23472f64d5 ? ./emptyAttributes.dhall }
@@ -16,7 +16,7 @@ ``` -} let XML =- ./Type.dhall+ missing sha256:ab91a0edaf0513e0083b1dfae5efa160adc99b0e589775a4a699ab77cce528a9 ? ./Type.dhall
@@ -1,3 +1,3 @@- ./render.dhall+ missing sha256:395c293702c85d99f6f2b461f3eee320f9fe5749c320c2e8b9ea799a7d210b66 ? ./render.dhall
@@ -19,32 +19,32 @@ -} let XML =- ./Type.dhall+ missing sha256:ab91a0edaf0513e0083b1dfae5efa160adc99b0e589775a4a699ab77cce528a9 ? ./Type.dhall let Text/concatMap =- ../Text/concatMap.dhall+ missing sha256:7a0b0b99643de69d6f94ba49441cd0fa0507cbdfa8ace0295f16097af37e226f ? ../Text/concatMap.dhall let Text/concat =- ../Text/concat.dhall+ missing sha256:731265b0288e8a905ecff95c97333ee2db614c39d69f1514cb8eed9259745fc0 ? ../Text/concat.dhall let element =- ./element.dhall+ missing sha256:79266d604e147caf37e985581523b684f7bac66de0c93dd828841df3dfc445f9 ? ./element.dhall let text =- ./text.dhall+ missing sha256:a59670560a08bfc815893dee1f3eae21a5252400f8a619d1cd7bdd9f48eea2ab ? ./text.dhall let emptyAttributes =- ./emptyAttributes.dhall+ missing sha256:11b86e2d3f3c75d47a1d580213d2a03fd2c36d64f3e9b6381de0ba23472f64d5 ? ./emptyAttributes.dhall
@@ -1,3 +1,3 @@- ./text.dhall+ missing sha256:a59670560a08bfc815893dee1f3eae21a5252400f8a619d1cd7bdd9f48eea2ab ? ./text.dhall
@@ -15,7 +15,7 @@ ``` -} let XML =- ./Type.dhall+ missing sha256:ab91a0edaf0513e0083b1dfae5efa160adc99b0e589775a4a699ab77cce528a9 ? ./Type.dhall
@@ -1,61 +1,73 @@ { Bool =- ./Bool/package.dhall- sha256:7ee950e7c2142be5923f76d00263e536b71d96cb9c190d7743c1679501ddeb0a+ missing+ sha256:dde2b9b71afdd26878c06e90cd2cde4488063457d5fbe30e02baed3bec5eede6 ? ./Bool/package.dhall+, Date =+ missing+ sha256:fc0c5efc924fa99aa8e5dea5d78c3dc1a24cb550028342b90149ea78cb5ca873+ ? ./Date/package.dhall , Double =- ./Double/package.dhall+ missing sha256:b8d20ab3216083622ae371fb42a6732bc67bb2d66e84989c8ddba7556a336cf7 ? ./Double/package.dhall , Function =- ./Function/package.dhall- sha256:6d17cf0fd4fabe1737fb117f87c04b8ff82b299915a5b673c0a543b134b8fffe+ missing+ sha256:f4ca848f69034f9d7a74e12c556c3a3396966c1de3a9427a102d1aff4580192f ? ./Function/package.dhall , Integer =- ./Integer/package.dhall+ missing sha256:d1a572ca3a764781496847e4921d7d9a881c18ffcfac6ae28d0e5299066938a0 ? ./Integer/package.dhall+, JSON =+ missing+ sha256:5f98b7722fd13509ef448b075e02b9ff98312ae7a406cf53ed25012dbc9990ac+ ? ./JSON/package.dhall , List =- ./List/package.dhall- sha256:11081c23436cb9c5fa60d53416e62845071990b43b3c48973cb2f19f5d5adbee+ missing+ sha256:26d1b4cd800219d8b67043c638926aa6e5517ea74a0bd3e371974514621bca04 ? ./List/package.dhall , Location =- ./Location/package.dhall+ missing sha256:0eb4e4a60814018009c720f6820aaa13cf9491eb1b09afb7b832039c6ee4d470 ? ./Location/package.dhall , Map =- ./Map/package.dhall- sha256:c6602939eb75ddaf43e75a37e1f27ace97e03685ceb9d77605b4372547f7cfa8+ missing+ sha256:c5e79a9de642644a09b96a2ec3147c5d8662b7926f09610e751c0c0f6ed0b30a ? ./Map/package.dhall , Monoid =- ./Monoid.dhall+ missing sha256:26fafa098600ef7a54ef9dba5ada416bbbdd21df1af306c052420c61553ad4af ? ./Monoid.dhall , Natural =- ./Natural/package.dhall+ missing sha256:ee9ed2b28a417ed4e9a0c284801b928bf91b3fbdc1a68616347678c1821f1ddf ? ./Natural/package.dhall , NonEmpty =- ./NonEmpty/package.dhall+ missing sha256:c24686a230a4b3cd51e5a57cd4510b4f8242f813d7823d41bac5954e7af56f7a ? ./NonEmpty/package.dhall , Operator =- ./Operator/package.dhall+ missing sha256:861f724704a7b4755c96f173e54d03f314492a2d046723404c31ff612b7bf2e6 ? ./Operator/package.dhall , Optional =- ./Optional/package.dhall- sha256:37b84d6fe94c591d603d7b06527a2d3439ba83361e9326bc7b72517c7dc54d4e+ missing+ sha256:74331dfe59c09db65edc7ec4498bff92473c8c06d92752f9470d26e25f91320c ? ./Optional/package.dhall-, JSON =- ./JSON/package.dhall- sha256:5f98b7722fd13509ef448b075e02b9ff98312ae7a406cf53ed25012dbc9990ac- ? ./JSON/package.dhall , Text =- ./Text/package.dhall+ missing sha256:79b671a70ac459b799a53bbb8a383cc8b81b40421745c54bf0fb1143168cbd6f ? ./Text/package.dhall+, Time =+ missing+ sha256:6715c4c71a113429fef8b94e4561a93c288942dad9dfd75ac545de96c5b5652a+ ? ./Time/package.dhall+, TimeZone =+ missing+ sha256:c17fd403c637856f34c8287168b92974e8c1a3a7331967f75276d179057084fd+ ? ./TimeZone/package.dhall , XML =- ./XML/package.dhall+ missing sha256:2e111f0952087d42072b059f0bf4c95861a46bffa67ad4c8c39086edf405f32e ? ./XML/package.dhall }
binary file changed (absent → 114 bytes)
@@ -0,0 +1,23 @@+[ 0x"00"+, 0x"01"+, 0x"02"+, 0x"03"+, 0x"04"+, 0x"05"+, 0x"06"+, 0x"07"+, 0x"08"+, 0x"09"+, 0x"0a"+, 0x"0b"+, 0x"0c"+, 0x"0d"+, 0x"0e"+, 0x"0f"+, 0x"0A"+, 0x"0B"+, 0x"0C"+, 0x"0D"+, 0x"0E"+, 0x"0F"+]
@@ -0,0 +1,1 @@+#Eg«Íï
@@ -0,0 +1,1 @@+"hello"
@@ -1,16 +1,12 @@ {- This test verifies that header-forwarding works correctly for relative imports within the same domain - `test.dhall-lang.org` is the same as `prelude.dhall-lang.org` except that- `test.dhall-lang.org` rejects all requests without a `Test` header.+ `test.dhall-lang.org/foo` returns `./bar` and `test.dhall-lang.org/foo`+ returns `True`, and both URLs reject all requests without a `Test` header. This test requires that the initial import to- `https://test.dhall-lang.org/Bool/package.dhall` forwards the `Test` header- to the transitive relative imports of `https://test.dhall-lang.org/Bool/*` in+ `https://test.dhall-lang.org/foo` forwards the `Test` header+ to the transitive relative import of `https://test.dhall-lang.org/bar` in order to succeed.-- Note: You will need to update this test whenever the `Bool` package in the- Prelude changes (sorry) -}-https://test.dhall-lang.org/Bool/package.dhall- using [ { mapKey = "Test", mapValue = "Example" } ]+https://test.dhall-lang.org/foo using (toMap { Test = "Example" })
@@ -1,18 +1,1 @@-{ and =- λ(_ : List Bool) →- List/fold Bool _ Bool (λ(_ : Bool) → λ(_ : Bool) → _@1 && _) True-, build = λ(_ : Type → _ → _@1 → _@2) → _ Bool True False-, even =- λ(_ : List Bool) →- List/fold Bool _ Bool (λ(_ : Bool) → λ(_ : Bool) → _@1 == _) True-, fold =- λ(_ : Bool) → λ(_ : Type) → λ(_ : _) → λ(_ : _@1) → if _@3 then _@1 else _-, not = λ(_ : Bool) → _ == False-, odd =- λ(_ : List Bool) →- List/fold Bool _ Bool (λ(_ : Bool) → λ(_ : Bool) → _@1 != _) False-, or =- λ(_ : List Bool) →- List/fold Bool _ Bool (λ(_ : Bool) → λ(_ : Bool) → _@1 || _) False-, show = λ(_ : Bool) → if _ then "True" else "False"-}+True
@@ -0,0 +1,1 @@+../../data/example.bin as Bytes
@@ -0,0 +1,1 @@+0x"0123456789abcdef"
@@ -0,0 +1,1 @@+~/hello.dhall ++ " world"
@@ -0,0 +1,1 @@+"hello" ++ " world"
@@ -0,0 +1,1 @@+Bytes
@@ -0,0 +1,1 @@+Bytes
@@ -0,0 +1,23 @@+[ 0x"00"+, 0x"01"+, 0x"02"+, 0x"03"+, 0x"04"+, 0x"05"+, 0x"06"+, 0x"07"+, 0x"08"+, 0x"09"+, 0x"0a"+, 0x"0b"+, 0x"0c"+, 0x"0d"+, 0x"0e"+, 0x"0f"+, 0x"0A"+, 0x"0B"+, 0x"0C"+, 0x"0D"+, 0x"0E"+, 0x"0F"+]
@@ -0,0 +1,23 @@+[ 0x"00"+, 0x"01"+, 0x"02"+, 0x"03"+, 0x"04"+, 0x"05"+, 0x"06"+, 0x"07"+, 0x"08"+, 0x"09"+, 0x"0a"+, 0x"0b"+, 0x"0c"+, 0x"0d"+, 0x"0e"+, 0x"0f"+, 0x"0A"+, 0x"0B"+, 0x"0C"+, 0x"0D"+, 0x"0E"+, 0x"0F"+]
@@ -0,0 +1,1 @@+showConstructor <A>.A
@@ -0,0 +1,1 @@+"A"
@@ -0,0 +1,1 @@+showConstructor (< A : Bool>.A False)
@@ -0,0 +1,1 @@+"A"
@@ -0,0 +1,1 @@+(None Natural) with ? = 1
@@ -0,0 +1,1 @@+None Natural
@@ -0,0 +1,1 @@+(Some 0) with ? = 1
@@ -0,0 +1,1 @@+Some 1
@@ -0,0 +1,1 @@+(Some { x = Some { y = Some { z = Some 0 } } }) with ?.x.?.y.?.z.? = 1
@@ -0,0 +1,1 @@+Some { x = Some { y = Some { z = Some 1 } } }
@@ -0,0 +1,1 @@+{ x = Some 0 } with x.? = 1
@@ -0,0 +1,1 @@+{ x = Some 1 }
@@ -1,6 +1,6 @@ {- Builtin names are disallowed in bound variables.- The grammar doesn't explicitely disallow this, but the implementation should+ The grammar doesn't explicitly disallow this, but the implementation should refuse it. See the comments above the `nonreserved-label` rule. -} let Bool : Natural = 1 in Bool
@@ -0,0 +1,1 @@+0x"invalid"
@@ -0,0 +1,1 @@+0x"0"
@@ -0,0 +1,1 @@+let x = NaNin x
@@ -0,0 +1,1 @@+let x = 3let y = x in y
@@ -0,0 +1,1 @@+showConstructor
@@ -0,0 +1,8 @@+ λ(x : Bool)+→ λ(x : Bool)+→ { example0 = 0b0+ , example1 = 0b10+ , example2 = -0b11001+ , example3 = +0b100+ , example4 = x@0b01+ }
binary file changed (absent → 83 bytes)
@@ -1,36 +1,40 @@-[ Natural/fold-, Natural/build-, Natural/isZero-, Natural/even-, Natural/odd-, Natural/toInteger-, Natural/show-, Integer/toDouble-, Integer/show-, Integer/negate-, Integer/clamp-, Natural/subtract+[ Date/show , Double/show+, Integer/clamp+, Integer/negate+, Integer/show+, Integer/toDouble , List/build , List/fold-, List/length , List/head-, List/last , List/indexed+, List/last+, List/length , List/reverse-, Text/show+, Natural/build+, Natural/even+, Natural/fold+, Natural/isZero+, Natural/odd+, Natural/show+, Natural/subtract+, Natural/toInteger , Text/replace+, Text/show+, Time/show+, TimeZone/show , Bool-, True+, Bytes+, Date+, Double , False-, Optional-, None-, Natural , Integer-, Double-, Text , List-, Type-, Kind-, Sort+, Natural+, None+, Optional+, Text+, Time+, TimeZone+, True ]
@@ -1,1 +1,1 @@-%ölNatural/foldmNatural/buildnNatural/isZerolNatural/evenkNatural/oddqNatural/toIntegerlNatural/showpInteger/toDoublelInteger/shownInteger/negatemInteger/clamppNatural/subtractkDouble/showjList/buildiList/foldkList/lengthiList/headiList/lastlList/indexedlList/reverseiText/showlText/replacedBoolõôhOptionaldNonegNaturalgIntegerfDoubledTextdListdTypedKinddSort+)öiDate/showkDouble/showmInteger/clampnInteger/negatelInteger/showpInteger/toDoublejList/buildiList/foldiList/headlList/indexediList/lastkList/lengthlList/reversemNatural/buildlNatural/evenlNatural/foldnNatural/isZerokNatural/oddlNatural/showpNatural/subtractqNatural/toIntegerlText/replaceiText/showiTime/showmTimeZone/showdBooleBytesdDatefDoubleôgIntegerdListgNaturaldNonehOptionaldTextdTimehTimeZoneõ
@@ -0,0 +1,25 @@+[ 0x""+, 0x"00"+, 0x"01"+, 0x"02"+, 0x"03"+, 0x"04"+, 0x"05"+, 0x"06"+, 0x"07"+, 0x"08"+, 0x"09"+, 0x"0a"+, 0x"0b"+, 0x"0c"+, 0x"0d"+, 0x"0e"+, 0x"0f"+, 0x"0A"+, 0x"0B"+, 0x"0C"+, 0x"0D"+, 0x"0E"+, 0x"0F"+, 0x"000102030405060708090a0b0c0d0e0f0A0B0C0D0E0F"+]
binary file changed (absent → 144 bytes)
@@ -0,0 +1,3 @@+[+ 1, -- item one+{- foo -} 2, 3 ]
@@ -0,0 +1,1 @@+ ö
@@ -0,0 +1,6 @@+{- foo -}+-- bar+{- --baz -}+-- {- qux -}++1
@@ -0,0 +1,1 @@+
@@ -0,0 +1,8 @@+{- A comment within the interior of a multi-line literal counts as part of the+ literal+-}++''+-- Hello+{- world -}+''
@@ -0,0 +1,2 @@+u-- Hello+{- world -}
@@ -1,8 +1,1 @@-{- A comment within the interior of a multi-line literal counts as part of the- literal--}--''--- Hello-{- world -}-''+"-- $--$--{--}$"
@@ -1,2 +1,1 @@-u-- Hello-{- world -}+n-- $--$--{--}$
@@ -0,0 +1,1 @@+"\u{1}\u{10}\u{100}\u{1000}\u{10000}\u{100000}"
@@ -0,0 +1,1 @@+oÄáðô
@@ -0,0 +1,1 @@+"A\u2115B\u{1FA00}C\u{43}D\u{00000001F574}E\u0022F"
@@ -0,0 +1,1 @@+sAâBð¨CCDð´E"F
@@ -0,0 +1,1 @@+"\u{10fffd}\u{1fffd}"
@@ -0,0 +1,1 @@+hô¿½ð¿½
@@ -0,0 +1,1 @@+x == x@0
binary file changed (absent → 11 bytes)
@@ -1,5 +0,0 @@-{-- Some languages do not make principled distinctions between number types, so- this checks that this Double is not silently considered as a Natural--}-1.0
binary file changed (3 → absent bytes)
@@ -0,0 +1,5 @@+{-+ Some languages do not make principled distinctions between number types, so+ this checks that this Double is not silently considered as a Natural+-}+1.0
binary file changed (absent → 3 bytes)
@@ -0,0 +1,1 @@+∀(x : T) -> y
binary file changed (absent → 12 bytes)
@@ -0,0 +1,11 @@+[ [+ 1,+ 2,+ 3,+ ]+, [+ , 1+ , 2+ , 3+ ]+]
@@ -0,0 +1,1 @@+ö ö ö
@@ -1,1 +0,0 @@-r.x
binary file changed (8 → absent bytes)
@@ -0,0 +1,1 @@+{ , =, }
@@ -0,0 +1,1 @@+
@@ -1,1 +0,0 @@-r.{ x, y, z }
binary file changed (12 → absent bytes)
@@ -0,0 +1,1 @@+{}
@@ -0,0 +1,1 @@+
@@ -0,0 +1,1 @@+showConstructor <A>.A
@@ -0,0 +1,1 @@+" ¡aAöaA
@@ -0,0 +1,1 @@+showConstructor (<A : Bool>.A False)
binary file changed (absent → 20 bytes)
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff