diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5d24f21..e5f55d2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,41 +9,29 @@ on: jobs: build: runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up a PureScript toolchain uses: purescript-contrib/setup-purescript@main with: - purescript: "unstable" + purescript: "latest" purs-tidy: "latest" + spago: "unstable" - name: Cache PureScript dependencies - uses: actions/cache@v2 + uses: actions/cache@v4 with: - key: ${{ runner.os }}-spago-${{ hashFiles('**/*.dhall') }} + key: ${{ runner.os }}-spago-${{ hashFiles('**/spago.lock') }} path: | .spago output - - name: Install dependencies - run: spago install - - name: Build source - run: spago build --no-install --purs-args '--censor-lib --strict' + run: spago build --censor-stats --strict --ensure-ranges --pedantic-packages - name: Run tests - run: spago test --no-install - - - name: Check formatting - run: purs-tidy check src test examples + run: spago test --offline --censor-stats --strict --pedantic-packages - - name: Verify Bower & Pulp - run: | - npm install bower pulp@16.0.0-0 - npx bower install - npx pulp build - if [ -d "test" ]; then - npx pulp test - fi + - name: Verify formatting + run: purs-tidy check src test examples/src diff --git a/bower.json b/bower.json deleted file mode 100644 index 7383740..0000000 --- a/bower.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "purescript-profunctor-lenses", - "license": "MIT", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "output" - ], - "repository": { - "type": "git", - "url": "https://github.com/purescript-contrib/purescript-profunctor-lenses.git" - }, - "dependencies": { - "purescript-arrays": "^7.0.0", - "purescript-bifunctors": "^6.0.0", - "purescript-const": "^6.0.0", - "purescript-control": "^6.0.0", - "purescript-distributive": "^6.0.0", - "purescript-either": "^6.0.0", - "purescript-foldable-traversable": "^6.0.0", - "purescript-foreign-object": "^4.0.0", - "purescript-functors": "^5.0.0", - "purescript-identity": "^6.0.0", - "purescript-lists": "^7.0.0", - "purescript-maybe": "^6.0.0", - "purescript-newtype": "^5.0.0", - "purescript-ordered-collections": "^3.0.0", - "purescript-partial": "^4.0.0", - "purescript-prelude": "^6.0.0", - "purescript-profunctor": "^6.0.0", - "purescript-record": "^4.0.0", - "purescript-transformers": "^6.0.0", - "purescript-tuples": "^7.0.0" - }, - "devDependencies": { - "purescript-console": "^6.0.0", - "purescript-effect": "^4.0.0", - "purescript-assert": "^6.0.0" - } -} diff --git a/examples.dhall b/examples.dhall deleted file mode 100644 index 76616c1..0000000 --- a/examples.dhall +++ /dev/null @@ -1,13 +0,0 @@ -let config = ./spago.dhall -in config // - { dependencies = - config.dependencies # - [ "colors" - , "generics-rep" - , "record-extra" - ] - , sources = - config.sources # - [ "examples/**/*.purs" - ] - } diff --git a/examples/README.md b/examples/README.md index a82d939..e774cc9 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,6 +1,6 @@ ## Examples -* [Using Prisms with Sum Types](src/PrismsForSumTypes.purs) +- [Using Prisms with Sum Types](src/PrismsForSumTypes.purs) ## Conventions and the "why" behind them diff --git a/examples/spago.yaml b/examples/spago.yaml new file mode 100644 index 0000000..b19a499 --- /dev/null +++ b/examples/spago.yaml @@ -0,0 +1,8 @@ +package: + name: profunctor-lenses-examples + dependencies: + - colors + - either + - maybe + - prelude + - profunctor-lenses diff --git a/examples/src/PrismsForSumTypes.purs b/examples/src/PrismsForSumTypes.purs index e129237..126cd94 100644 --- a/examples/src/PrismsForSumTypes.purs +++ b/examples/src/PrismsForSumTypes.purs @@ -33,8 +33,7 @@ import Color (Color) import Color as Color import Data.Either (Either(..)) import Data.Generic.Rep (class Generic) -import Data.Generic.Rep.Eq as GEq -import Data.Generic.Rep.Show as GShow +import Data.Show.Generic (genericShow) import Data.Lens (Prism', is, isn't, nearly, only, preview, prism, prism', review) import Data.Maybe (Maybe(..), maybe) @@ -72,7 +71,7 @@ solidFocus = prism' constructor focus constructor = Solid focus fill = case fill of Solid color -> Just color - otherCases -> Nothing + _ -> Nothing -- In real life, you might abbreviate the above to this: @@ -239,26 +238,19 @@ n5 = review brightSolidFocus unit -- ... although Eq is only required for `only`. -derive instance genericPercent :: Generic Percent _ +derive instance Generic Percent _ +derive instance Eq Percent -instance eqPercent :: Eq Percent where - eq = GEq.genericEq - -instance showPercent :: Show Percent where +instance Show Percent where show (Percent f) = "(" <> show f <> "%)" -derive instance genericPoint :: Generic Point _ - -instance eqPoint :: Eq Point where - eq = GEq.genericEq +derive instance Generic Point _ +derive instance Eq Point -instance showPoint :: Show Point where +instance Show Point where show (Point x y) = "(" <> show x <> ", " <> show y <> ")" -derive instance genericFill :: Generic Fill _ - -instance eqFill :: Eq Fill where - eq = GEq.genericEq - -instance showFill :: Show Fill where - show x = GShow.genericShow x +derive instance Generic Fill _ +derive instance Eq Fill +instance Show Fill where + show = genericShow diff --git a/packages.dhall b/packages.dhall deleted file mode 100644 index 188382b..0000000 --- a/packages.dhall +++ /dev/null @@ -1,4 +0,0 @@ -let upstream = - https://raw.githubusercontent.com/purescript/package-sets/psc-0.15.15-20240829/src/packages.dhall - -in upstream diff --git a/spago.dhall b/spago.dhall deleted file mode 100644 index 4f60f2a..0000000 --- a/spago.dhall +++ /dev/null @@ -1,30 +0,0 @@ -{ name = "profunctor-lenses" -, dependencies = - [ "arrays" - , "assert" - , "bifunctors" - , "console" - , "const" - , "control" - , "distributive" - , "effect" - , "either" - , "foldable-traversable" - , "foreign-object" - , "functors" - , "identity" - , "lists" - , "maybe" - , "newtype" - , "ordered-collections" - , "partial" - , "prelude" - , "profunctor" - , "record" - , "safe-coerce" - , "transformers" - , "tuples" - ] -, packages = ./packages.dhall -, sources = [ "src/**/*.purs", "test/**/*.purs" ] -} diff --git a/spago.lock b/spago.lock new file mode 100644 index 0000000..2b03085 --- /dev/null +++ b/spago.lock @@ -0,0 +1,735 @@ +{ + "workspace": { + "packages": { + "profunctor-lenses": { + "path": "./", + "core": { + "dependencies": [ + { + "arrays": ">=7.3.0 <8.0.0" + }, + { + "bifunctors": ">=6.0.0 <7.0.0" + }, + { + "const": ">=6.0.0 <7.0.0" + }, + { + "control": ">=6.0.0 <7.0.0" + }, + { + "distributive": ">=6.0.0 <7.0.0" + }, + { + "either": ">=6.1.0 <7.0.0" + }, + { + "foldable-traversable": ">=6.0.0 <7.0.0" + }, + { + "foreign-object": ">=4.1.0 <5.0.0" + }, + { + "functors": ">=5.0.0 <6.0.0" + }, + { + "identity": ">=6.0.0 <7.0.0" + }, + { + "lists": ">=7.0.0 <8.0.0" + }, + { + "maybe": ">=6.0.0 <7.0.0" + }, + { + "newtype": ">=5.0.0 <6.0.0" + }, + { + "ordered-collections": ">=3.2.0 <4.0.0" + }, + { + "partial": ">=4.0.0 <5.0.0" + }, + { + "prelude": ">=6.0.1 <7.0.0" + }, + { + "profunctor": ">=6.0.1 <7.0.0" + }, + { + "record": ">=4.0.0 <5.0.0" + }, + { + "safe-coerce": ">=2.0.0 <3.0.0" + }, + { + "transformers": ">=6.1.0 <7.0.0" + }, + { + "tuples": ">=7.0.0 <8.0.0" + } + ], + "build_plan": [ + "arrays", + "bifunctors", + "const", + "contravariant", + "control", + "distributive", + "effect", + "either", + "exceptions", + "exists", + "foldable-traversable", + "foreign-object", + "functions", + "functors", + "gen", + "identity", + "invariant", + "lazy", + "lists", + "maybe", + "newtype", + "nonempty", + "ordered-collections", + "orders", + "partial", + "prelude", + "profunctor", + "record", + "refs", + "safe-coerce", + "st", + "tailrec", + "transformers", + "tuples", + "type-equality", + "typelevel-prelude", + "unfoldable", + "unsafe-coerce" + ] + }, + "test": { + "dependencies": [ + "assert", + "effect" + ], + "build_plan": [ + "assert", + "console", + "effect", + "prelude" + ] + } + }, + "profunctor-lenses-examples": { + "path": "examples", + "core": { + "dependencies": [ + "colors", + "either", + "maybe", + "prelude", + "profunctor-lenses" + ], + "build_plan": [ + "arrays", + "bifunctors", + "colors", + "const", + "contravariant", + "control", + "distributive", + "effect", + "either", + "enums", + "exceptions", + "exists", + "foldable-traversable", + "foreign-object", + "functions", + "functors", + "gen", + "identity", + "integers", + "invariant", + "lazy", + "lists", + "maybe", + "newtype", + "nonempty", + "numbers", + "ordered-collections", + "orders", + "partial", + "prelude", + "profunctor", + "profunctor-lenses", + "record", + "refs", + "safe-coerce", + "st", + "strings", + "tailrec", + "transformers", + "tuples", + "type-equality", + "typelevel-prelude", + "unfoldable", + "unsafe-coerce" + ] + }, + "test": { + "dependencies": [], + "build_plan": [] + } + } + }, + "extra_packages": {} + }, + "packages": { + "arrays": { + "type": "registry", + "version": "7.3.0", + "integrity": "sha256-tmcklBlc/muUtUfr9RapdCPwnlQeB3aSrC4dK85gQlc=", + "dependencies": [ + "bifunctors", + "control", + "foldable-traversable", + "functions", + "maybe", + "nonempty", + "partial", + "prelude", + "safe-coerce", + "st", + "tailrec", + "tuples", + "unfoldable", + "unsafe-coerce" + ] + }, + "assert": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-hCSYcCw9kj3qujoDcriWhCdmrpPZoguSPDZhEMnTl3A=", + "dependencies": [ + "console", + "effect", + "prelude" + ] + }, + "bifunctors": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-/gZwC9YhNxZNQpnHa5BIYerCGM2jeX9ukZiEvYxm5Nw=", + "dependencies": [ + "const", + "either", + "newtype", + "prelude", + "tuples" + ] + }, + "colors": { + "type": "registry", + "version": "7.0.1", + "integrity": "sha256-udlg/y2PFsHYli8Tgz8BQGGrOjyGo0BcJj36IfgYADs=", + "dependencies": [ + "arrays", + "integers", + "lists", + "numbers", + "partial", + "strings" + ] + }, + "console": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-CxmAzjgyuGDmt9FZW51VhV6rBPwR6o0YeKUzA9rSzcM=", + "dependencies": [ + "effect", + "prelude" + ] + }, + "const": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-tNrxDW8D8H4jdHE2HiPzpLy08zkzJMmGHdRqt5BQuTc=", + "dependencies": [ + "invariant", + "newtype", + "prelude" + ] + }, + "contravariant": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-TP+ooAp3vvmdjfQsQJSichF5B4BPDHp3wAJoWchip6c=", + "dependencies": [ + "const", + "either", + "newtype", + "prelude", + "tuples" + ] + }, + "control": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-sH7Pg9E96JCPF9PIA6oQ8+BjTyO/BH1ZuE/bOcyj4Jk=", + "dependencies": [ + "newtype", + "prelude" + ] + }, + "distributive": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-HTDdmEnzigMl+02SJB88j+gAXDx9VKsbvR4MJGDPbOQ=", + "dependencies": [ + "identity", + "newtype", + "prelude", + "tuples", + "type-equality" + ] + }, + "effect": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-eBtZu+HZcMa5HilvI6kaDyVX3ji8p0W9MGKy2K4T6+M=", + "dependencies": [ + "prelude" + ] + }, + "either": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-6hgTPisnMWVwQivOu2PKYcH8uqjEOOqDyaDQVUchTpY=", + "dependencies": [ + "control", + "invariant", + "maybe", + "prelude" + ] + }, + "enums": { + "type": "registry", + "version": "6.0.1", + "integrity": "sha256-HWaD73JFLorc4A6trKIRUeDMdzE+GpkJaEOM1nTNkC8=", + "dependencies": [ + "control", + "either", + "gen", + "maybe", + "newtype", + "nonempty", + "partial", + "prelude", + "tuples", + "unfoldable" + ] + }, + "exceptions": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-K0T89IHtF3vBY7eSAO7eDOqSb2J9kZGAcDN5+IKsF8E=", + "dependencies": [ + "effect", + "either", + "maybe", + "prelude" + ] + }, + "exists": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-A0JQHpTfo1dNOj9U5/Fd3xndlRSE0g2IQWOGor2yXn8=", + "dependencies": [ + "unsafe-coerce" + ] + }, + "foldable-traversable": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-fLeqRYM4jUrZD5H4WqcwUgzU7XfYkzO4zhgtNc3jcWM=", + "dependencies": [ + "bifunctors", + "const", + "control", + "either", + "functors", + "identity", + "maybe", + "newtype", + "orders", + "prelude", + "tuples" + ] + }, + "foreign-object": { + "type": "registry", + "version": "4.1.0", + "integrity": "sha256-q24okj6mT+yGHYQ+ei/pYPj5ih6sTbu7eDv/WU56JVo=", + "dependencies": [ + "arrays", + "foldable-traversable", + "functions", + "gen", + "lists", + "maybe", + "prelude", + "st", + "tailrec", + "tuples", + "typelevel-prelude", + "unfoldable" + ] + }, + "functions": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-adMyJNEnhGde2unHHAP79gPtlNjNqzgLB8arEOn9hLI=", + "dependencies": [ + "prelude" + ] + }, + "functors": { + "type": "registry", + "version": "5.0.0", + "integrity": "sha256-zfPWWYisbD84MqwpJSZFlvM6v86McM68ob8p9s27ywU=", + "dependencies": [ + "bifunctors", + "const", + "contravariant", + "control", + "distributive", + "either", + "invariant", + "maybe", + "newtype", + "prelude", + "profunctor", + "tuples", + "unsafe-coerce" + ] + }, + "gen": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-f7yzAXWwr+xnaqEOcvyO3ezKdoes8+WXWdXIHDBCAPI=", + "dependencies": [ + "either", + "foldable-traversable", + "identity", + "maybe", + "newtype", + "nonempty", + "prelude", + "tailrec", + "tuples", + "unfoldable" + ] + }, + "identity": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-4wY0XZbAksjY6UAg99WkuKyJlQlWAfTi2ssadH0wVMY=", + "dependencies": [ + "control", + "invariant", + "newtype", + "prelude" + ] + }, + "integers": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-sf+sK26R1hzwl3NhXR7WAu9zCDjQnfoXwcyGoseX158=", + "dependencies": [ + "maybe", + "numbers", + "prelude" + ] + }, + "invariant": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-RGWWyYrz0Hs1KjPDA+87Kia67ZFBhfJ5lMGOMCEFoLo=", + "dependencies": [ + "control", + "prelude" + ] + }, + "lazy": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-lMsfFOnlqfe4KzRRiW8ot5ge6HtcU3Eyh2XkXcP5IgU=", + "dependencies": [ + "control", + "foldable-traversable", + "invariant", + "prelude" + ] + }, + "lists": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-EKF15qYqucuXP2lT/xPxhqy58f0FFT6KHdIB/yBOayI=", + "dependencies": [ + "bifunctors", + "control", + "foldable-traversable", + "lazy", + "maybe", + "newtype", + "nonempty", + "partial", + "prelude", + "tailrec", + "tuples", + "unfoldable" + ] + }, + "maybe": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-5cCIb0wPwbat2PRkQhUeZO0jcAmf8jCt2qE0wbC3v2Q=", + "dependencies": [ + "control", + "invariant", + "newtype", + "prelude" + ] + }, + "newtype": { + "type": "registry", + "version": "5.0.0", + "integrity": "sha256-gdrQu8oGe9eZE6L3wOI8ql/igOg+zEGB5ITh2g+uttw=", + "dependencies": [ + "prelude", + "safe-coerce" + ] + }, + "nonempty": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-54ablJZUHGvvlTJzi3oXyPCuvY6zsrWJuH/dMJ/MFLs=", + "dependencies": [ + "control", + "foldable-traversable", + "maybe", + "prelude", + "tuples", + "unfoldable" + ] + }, + "numbers": { + "type": "registry", + "version": "9.0.1", + "integrity": "sha256-/9M6aeMDBdB4cwYDeJvLFprAHZ49EbtKQLIJsneXLIk=", + "dependencies": [ + "functions", + "maybe" + ] + }, + "ordered-collections": { + "type": "registry", + "version": "3.2.0", + "integrity": "sha256-o9jqsj5rpJmMdoe/zyufWHFjYYFTTsJpgcuCnqCO6PM=", + "dependencies": [ + "arrays", + "foldable-traversable", + "gen", + "lists", + "maybe", + "partial", + "prelude", + "st", + "tailrec", + "tuples", + "unfoldable" + ] + }, + "orders": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-nBA0g3/ai0euH8q9pSbGqk53W2q6agm/dECZTHcoink=", + "dependencies": [ + "newtype", + "prelude" + ] + }, + "partial": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-fwXerld6Xw1VkReh8yeQsdtLVrjfGiVuC5bA1Wyo/J4=", + "dependencies": [] + }, + "prelude": { + "type": "registry", + "version": "6.0.1", + "integrity": "sha256-o8p6SLYmVPqzXZhQFd2hGAWEwBoXl1swxLG/scpJ0V0=", + "dependencies": [] + }, + "profunctor": { + "type": "registry", + "version": "6.0.1", + "integrity": "sha256-E58hSYdJvF2Qjf9dnWLPlJKh2Z2fLfFLkQoYi16vsFk=", + "dependencies": [ + "control", + "distributive", + "either", + "exists", + "invariant", + "newtype", + "prelude", + "tuples" + ] + }, + "record": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-Za5U85bTRJEfGK5Sk4hM41oXy84YQI0I8TL3WUn1Qzg=", + "dependencies": [ + "functions", + "prelude", + "unsafe-coerce" + ] + }, + "refs": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-Vgwne7jIbD3ZMoLNNETLT8Litw6lIYo3MfYNdtYWj9s=", + "dependencies": [ + "effect", + "prelude" + ] + }, + "safe-coerce": { + "type": "registry", + "version": "2.0.0", + "integrity": "sha256-a1ibQkiUcbODbLE/WAq7Ttbbh9ex+x33VCQ7GngKudU=", + "dependencies": [ + "unsafe-coerce" + ] + }, + "st": { + "type": "registry", + "version": "6.2.0", + "integrity": "sha256-z9X0WsOUlPwNx9GlCC+YccCyz8MejC8Wb0C4+9fiBRY=", + "dependencies": [ + "partial", + "prelude", + "tailrec", + "unsafe-coerce" + ] + }, + "strings": { + "type": "registry", + "version": "6.0.1", + "integrity": "sha256-WssD3DbX4OPzxSdjvRMX0yvc9+pS7n5gyPv5I2Trb7k=", + "dependencies": [ + "arrays", + "control", + "either", + "enums", + "foldable-traversable", + "gen", + "integers", + "maybe", + "newtype", + "nonempty", + "partial", + "prelude", + "tailrec", + "tuples", + "unfoldable", + "unsafe-coerce" + ] + }, + "tailrec": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-Xx19ECVDRrDWpz9D2GxQHHV89vd61dnXxQm0IcYQHGk=", + "dependencies": [ + "bifunctors", + "effect", + "either", + "identity", + "maybe", + "partial", + "prelude", + "refs" + ] + }, + "transformers": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-3Bm+Z6tsC/paG888XkywDngJ2JMos+JfOhRlkVfb7gI=", + "dependencies": [ + "control", + "distributive", + "effect", + "either", + "exceptions", + "foldable-traversable", + "identity", + "lazy", + "maybe", + "newtype", + "prelude", + "st", + "tailrec", + "tuples", + "unfoldable" + ] + }, + "tuples": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-1rXgTomes9105BjgXqIw0FL6Fz1lqqUTLWOumhWec1M=", + "dependencies": [ + "control", + "invariant", + "prelude" + ] + }, + "type-equality": { + "type": "registry", + "version": "4.0.1", + "integrity": "sha256-Hs9D6Y71zFi/b+qu5NSbuadUQXe5iv5iWx0226vOHUw=", + "dependencies": [] + }, + "typelevel-prelude": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-uFF2ph+vHcQpfPuPf2a3ukJDFmLhApmkpTMviHIWgJM=", + "dependencies": [ + "prelude", + "type-equality" + ] + }, + "unfoldable": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-JtikvJdktRap7vr/K4ITlxUX1QexpnqBq0G/InLr6eg=", + "dependencies": [ + "foldable-traversable", + "maybe", + "partial", + "prelude", + "tuples" + ] + }, + "unsafe-coerce": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-IqIYW4Vkevn8sI+6aUwRGvd87tVL36BBeOr0cGAE7t0=", + "dependencies": [] + } + } +} diff --git a/spago.yaml b/spago.yaml new file mode 100644 index 0000000..571b4f5 --- /dev/null +++ b/spago.yaml @@ -0,0 +1,36 @@ +package: + name: profunctor-lenses + publish: + license: MIT + version: 9.0.0 + location: + githubOwner: purescript-contrib + githubRepo: purescript-profunctor-lenses + dependencies: + - arrays: ">=7.3.0 <8.0.0" + - bifunctors: ">=6.0.0 <7.0.0" + - const: ">=6.0.0 <7.0.0" + - control: ">=6.0.0 <7.0.0" + - distributive: ">=6.0.0 <7.0.0" + - either: ">=6.1.0 <7.0.0" + - foldable-traversable: ">=6.0.0 <7.0.0" + - foreign-object: ">=4.1.0 <5.0.0" + - functors: ">=5.0.0 <6.0.0" + - identity: ">=6.0.0 <7.0.0" + - lists: ">=7.0.0 <8.0.0" + - maybe: ">=6.0.0 <7.0.0" + - newtype: ">=5.0.0 <6.0.0" + - ordered-collections: ">=3.2.0 <4.0.0" + - partial: ">=4.0.0 <5.0.0" + - prelude: ">=6.0.1 <7.0.0" + - profunctor: ">=6.0.1 <7.0.0" + - record: ">=4.0.0 <5.0.0" + - safe-coerce: ">=2.0.0 <3.0.0" + - transformers: ">=6.1.0 <7.0.0" + - tuples: ">=7.0.0 <8.0.0" + test: + main: Test.Main + dependencies: + - assert + - effect +workspace: {} diff --git a/test/Main.purs b/test/Test/Main.purs similarity index 100% rename from test/Main.purs rename to test/Test/Main.purs