packages feed

purescript 0.15.7 → 0.15.8

raw patch · 42 files changed

+1118/−274 lines, 42 filesdep ~hspecPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: hspec

API changes (from Hackage documentation)

- Language.PureScript.Constants.Libs: pattern S_eq :: forall a_a1awA. (Eq a_a1awA, IsString a_a1awA) => a_a1awA
- Language.PureScript.Constants.Libs: pattern S_eq1 :: forall a_a1awC. (Eq a_a1awC, IsString a_a1awC) => a_a1awC
- Language.PureScript.Constants.Libs: pattern S_map :: forall a_a1awL. (Eq a_a1awL, IsString a_a1awL) => a_a1awL
- Language.PureScript.Constants.Libs: pattern S_compare :: forall a_a1awQ. (Eq a_a1awQ, IsString a_a1awQ) => a_a1awQ
- Language.PureScript.Constants.Libs: pattern S_compare1 :: forall a_a1awR. (Eq a_a1awR, IsString a_a1awR) => a_a1awR
- Language.PureScript.Constants.Libs: pattern S_apply :: forall a_a1awk. (Eq a_a1awk, IsString a_a1awk) => a_a1awk
- Language.PureScript.Constants.Libs: pattern S_pure :: forall a_a1awl. (Eq a_a1awl, IsString a_a1awl) => a_a1awl
- Language.PureScript.Constants.Libs: pattern S_bind :: forall a_a1awn. (Eq a_a1awn, IsString a_a1awn) => a_a1awn
- Language.PureScript.Constants.Libs: pattern S_discard :: forall a_a1awp. (Eq a_a1awp, IsString a_a1awp) => a_a1awp
- Language.PureScript.Constants.Libs: pattern S_negate :: forall a_a1ax1. (Eq a_a1ax1, IsString a_a1ax1) => a_a1ax1
- Language.PureScript.Constants.Libs: pattern S_sub :: forall a_a1ax3. (Eq a_a1ax3, IsString a_a1ax3) => a_a1ax3
- Language.PureScript.Constants.Libs: pattern S_dimap :: forall a_a1axI. (Eq a_a1axI, IsString a_a1axI) => a_a1axI
- Language.PureScript.Constants.Libs: pattern S_bimap :: forall a_a1axg. (Eq a_a1axg, IsString a_a1axg) => a_a1axg
- Language.PureScript.Constants.Libs: pattern S_cmap :: forall a_a1axh. (Eq a_a1axh, IsString a_a1axh) => a_a1axh
- Language.PureScript.Constants.Libs: pattern S_bifoldMap :: forall a_a1axm. (Eq a_a1axm, IsString a_a1axm) => a_a1axm
- Language.PureScript.Constants.Libs: pattern S_bifoldl :: forall a_a1axn. (Eq a_a1axn, IsString a_a1axn) => a_a1axn
- Language.PureScript.Constants.Libs: pattern S_bifoldr :: forall a_a1axo. (Eq a_a1axo, IsString a_a1axo) => a_a1axo
- Language.PureScript.Constants.Libs: pattern S_bitraverse :: forall a_a1axp. (Eq a_a1axp, IsString a_a1axp) => a_a1axp
- Language.PureScript.Constants.Libs: pattern S_bisequence :: forall a_a1axq. (Eq a_a1axq, IsString a_a1axq) => a_a1axq
- Language.PureScript.Constants.Libs: pattern S_foldMap :: forall a_a1axr. (Eq a_a1axr, IsString a_a1axr) => a_a1axr
- Language.PureScript.Constants.Libs: pattern S_foldl :: forall a_a1axs. (Eq a_a1axs, IsString a_a1axs) => a_a1axs
- Language.PureScript.Constants.Libs: pattern S_foldr :: forall a_a1axt. (Eq a_a1axt, IsString a_a1axt) => a_a1axt
- Language.PureScript.Constants.Libs: pattern S_traverse :: forall a_a1axu. (Eq a_a1axu, IsString a_a1axu) => a_a1axu
- Language.PureScript.Constants.Libs: pattern S_sequence :: forall a_a1axv. (Eq a_a1axv, IsString a_a1axv) => a_a1axv
- Language.PureScript.Constants.Libs: pattern S_mkFn :: forall a_a1axw. (Eq a_a1axw, IsString a_a1axw) => a_a1axw
- Language.PureScript.Constants.Libs: pattern S_runFn :: forall a_a1axy. (Eq a_a1axy, IsString a_a1axy) => a_a1axy
- Language.PureScript.Constants.Prim: pattern S_undefined :: forall a_aXTq. (Eq a_aXTq, IsString a_aXTq) => a_aXTq
+ Language.PureScript: ErrorInRowLabel :: Label -> ErrorMessageHint
+ Language.PureScript.AST.Declarations: ErrorInRowLabel :: Label -> ErrorMessageHint
+ Language.PureScript.AST.Utils: UnwrappedTypeConstructor :: ModuleName -> ProperName 'TypeName -> [SourceType] -> [SourceType] -> UnwrappedTypeConstructor
+ Language.PureScript.AST.Utils: [utcArgs] :: UnwrappedTypeConstructor -> [SourceType]
+ Language.PureScript.AST.Utils: [utcKindArgs] :: UnwrappedTypeConstructor -> [SourceType]
+ Language.PureScript.AST.Utils: [utcModuleName] :: UnwrappedTypeConstructor -> ModuleName
+ Language.PureScript.AST.Utils: [utcTyCon] :: UnwrappedTypeConstructor -> ProperName 'TypeName
+ Language.PureScript.AST.Utils: data UnwrappedTypeConstructor
+ Language.PureScript.AST.Utils: utcQTyCon :: UnwrappedTypeConstructor -> Qualified (ProperName 'TypeName)
+ Language.PureScript.Constants.Libs: pattern S_apply :: forall a_a1axE. (Eq a_a1axE, IsString a_a1axE) => a_a1axE
+ Language.PureScript.Constants.Libs: pattern S_pure :: forall a_a1axF. (Eq a_a1axF, IsString a_a1axF) => a_a1axF
+ Language.PureScript.Constants.Libs: pattern S_bind :: forall a_a1axH. (Eq a_a1axH, IsString a_a1axH) => a_a1axH
+ Language.PureScript.Constants.Libs: pattern S_discard :: forall a_a1axJ. (Eq a_a1axJ, IsString a_a1axJ) => a_a1axJ
+ Language.PureScript.Constants.Libs: pattern S_eq :: forall a_a1axU. (Eq a_a1axU, IsString a_a1axU) => a_a1axU
+ Language.PureScript.Constants.Libs: pattern S_eq1 :: forall a_a1axW. (Eq a_a1axW, IsString a_a1axW) => a_a1axW
+ Language.PureScript.Constants.Libs: pattern S_map :: forall a_a1ay5. (Eq a_a1ay5, IsString a_a1ay5) => a_a1ay5
+ Language.PureScript.Constants.Libs: pattern S_bimap :: forall a_a1ayA. (Eq a_a1ayA, IsString a_a1ayA) => a_a1ayA
+ Language.PureScript.Constants.Libs: pattern S_cmap :: forall a_a1ayB. (Eq a_a1ayB, IsString a_a1ayB) => a_a1ayB
+ Language.PureScript.Constants.Libs: pattern S_bifoldMap :: forall a_a1ayG. (Eq a_a1ayG, IsString a_a1ayG) => a_a1ayG
+ Language.PureScript.Constants.Libs: pattern S_bifoldl :: forall a_a1ayH. (Eq a_a1ayH, IsString a_a1ayH) => a_a1ayH
+ Language.PureScript.Constants.Libs: pattern S_bifoldr :: forall a_a1ayI. (Eq a_a1ayI, IsString a_a1ayI) => a_a1ayI
+ Language.PureScript.Constants.Libs: pattern S_bitraverse :: forall a_a1ayJ. (Eq a_a1ayJ, IsString a_a1ayJ) => a_a1ayJ
+ Language.PureScript.Constants.Libs: pattern S_bisequence :: forall a_a1ayK. (Eq a_a1ayK, IsString a_a1ayK) => a_a1ayK
+ Language.PureScript.Constants.Libs: pattern S_foldMap :: forall a_a1ayL. (Eq a_a1ayL, IsString a_a1ayL) => a_a1ayL
+ Language.PureScript.Constants.Libs: pattern S_foldl :: forall a_a1ayM. (Eq a_a1ayM, IsString a_a1ayM) => a_a1ayM
+ Language.PureScript.Constants.Libs: pattern S_foldr :: forall a_a1ayN. (Eq a_a1ayN, IsString a_a1ayN) => a_a1ayN
+ Language.PureScript.Constants.Libs: pattern S_traverse :: forall a_a1ayO. (Eq a_a1ayO, IsString a_a1ayO) => a_a1ayO
+ Language.PureScript.Constants.Libs: pattern S_sequence :: forall a_a1ayP. (Eq a_a1ayP, IsString a_a1ayP) => a_a1ayP
+ Language.PureScript.Constants.Libs: pattern S_mkFn :: forall a_a1ayQ. (Eq a_a1ayQ, IsString a_a1ayQ) => a_a1ayQ
+ Language.PureScript.Constants.Libs: pattern S_runFn :: forall a_a1ayS. (Eq a_a1ayS, IsString a_a1ayS) => a_a1ayS
+ Language.PureScript.Constants.Libs: pattern S_compare :: forall a_a1aya. (Eq a_a1aya, IsString a_a1aya) => a_a1aya
+ Language.PureScript.Constants.Libs: pattern S_compare1 :: forall a_a1ayb. (Eq a_a1ayb, IsString a_a1ayb) => a_a1ayb
+ Language.PureScript.Constants.Libs: pattern S_negate :: forall a_a1ayl. (Eq a_a1ayl, IsString a_a1ayl) => a_a1ayl
+ Language.PureScript.Constants.Libs: pattern S_sub :: forall a_a1ayn. (Eq a_a1ayn, IsString a_a1ayn) => a_a1ayn
+ Language.PureScript.Constants.Libs: pattern S_dimap :: forall a_a1az2. (Eq a_a1az2, IsString a_a1az2) => a_a1az2
+ Language.PureScript.Constants.Prim: pattern S_undefined :: forall a_aXUK. (Eq a_aXUK, IsString a_aXUK) => a_aXUK
- Language.PureScript: alignRowsWith :: (Type a -> Type a -> r) -> Type a -> Type a -> ([r], (([RowListItem a], Type a), ([RowListItem a], Type a)))
+ Language.PureScript: alignRowsWith :: (Label -> Type a -> Type a -> r) -> Type a -> Type a -> ([r], (([RowListItem a], Type a), ([RowListItem a], Type a)))
- Language.PureScript.AST.Utils: unwrapTypeConstructor :: SourceType -> Maybe (Qualified (ProperName 'TypeName), [SourceType], [SourceType])
+ Language.PureScript.AST.Utils: unwrapTypeConstructor :: SourceType -> Maybe UnwrappedTypeConstructor
- Language.PureScript.Constants.Libs: pattern P_pure :: forall a_a1awm. (Eq a_a1awm, IsString a_a1awm) => (ModuleName, a_a1awm)
+ Language.PureScript.Constants.Libs: pattern P_pure :: forall a_a1axG. (Eq a_a1axG, IsString a_a1axG) => (ModuleName, a_a1axG)
- Language.PureScript.TypeChecker.Unify: alignRowsWith :: (Type a -> Type a -> r) -> Type a -> Type a -> ([r], (([RowListItem a], Type a), ([RowListItem a], Type a)))
+ Language.PureScript.TypeChecker.Unify: alignRowsWith :: (Label -> Type a -> Type a -> r) -> Type a -> Type a -> ([r], (([RowListItem a], Type a), ([RowListItem a], Type a)))
- Language.PureScript.Types: alignRowsWith :: (Type a -> Type a -> r) -> Type a -> Type a -> ([r], (([RowListItem a], Type a), ([RowListItem a], Type a)))
+ Language.PureScript.Types: alignRowsWith :: (Label -> Type a -> Type a -> r) -> Type a -> Type a -> ([r], (([RowListItem a], Type a), ([RowListItem a], Type a)))

Files

CONTRIBUTORS.md view
@@ -14,176 +14,182 @@  | Username | Name | License | | :------- | :--- | :------ |-| [@5outh](https://github.com/5outh) | Benjamin Kovach | MIT license |-| [@actionshrimp](https://github.com/actionshrimp) | David Aitken | [MIT license](http://opensource.org/licenses/MIT) |-| [@alexbiehl](https://github.com/alexbiehl) | Alexander Biehl | [MIT license](http://opensource.org/licenses/MIT) |-| [@andreypopp](https://github.com/andreypopp) | Andrey Popp | MIT license |-| [@andyarvanitis](https://github.com/andyarvanitis) | Andy Arvanitis | [MIT license](http://opensource.org/licenses/MIT) |-| [@anthok88](https://github.com/anthok88) | anthoq88 | MIT license |-| [@ardumont](https://github.com/ardumont) | Antoine R. Dumont | [MIT license](http://opensource.org/licenses/MIT) |-| [@arrowd](https://github.com/arrowd) | Gleb Popov | [MIT license](http://opensource.org/licenses/MIT) |-| [@aspidites](https://github.com/aspidites) | Edwin Marshall | [MIT license](http://opensource.org/licenses/MIT) |-| [@bagl](https://github.com/bagl) | Petr Vapenka | [MIT license](http://opensource.org/licenses/MIT) |-| [@balajirrao](https://github.com/balajirrao) | Balaji Rao | MIT license |-| [@bbqbaron](https://github.com/bbqbaron) | Eric Loren | [MIT license](http://opensource.org/licenses/MIT) |-| [@bergmark](https://github.com/bergmark) | Adam Bergmark | MIT license |-| [@bitemyapp](https://github.com/bitemyapp) | Chris Allen | [MIT license](http://opensource.org/licenses/MIT) |-| [@bmjames](https://github.com/bmjames) | Ben James | [MIT license](http://opensource.org/licenses/MIT) |-| [@Bogdanp](https://github.com/Bogdanp) | Bogdan Paul Popa | [MIT license](http://opensource.org/licenses/MIT) |-| [@brandonhamilton](https://github.com/brandonhamilton) | Brandon Hamilton | [MIT license](http://opensource.org/licenses/MIT) |-| [@bsermons](https://github.com/bsermons) | Brian Sermons | [MIT license](http://opensource.org/licenses/MIT) |-| [@cdepillabout](https://github.com/cdepillabout) | Dennis Gosnell | [MIT license](http://opensource.org/licenses/MIT) |-| [@chexxor](https://github.com/chexxor) | Alex Berg | [MIT license](http://opensource.org/licenses/MIT) |-| [@chrisdone](https://github.com/chrisdone) | Chris Done | MIT license |-| [@cmdv](https://github.com/cmdv) | Vincent Orr | MIT license |-| [@codedmart](https://github.com/codedmart) | Brandon Martin | [MIT license](http://opensource.org/licenses/MIT) |-| [@coot](https://github.com/coot) | Marcin Szamotulski | [MIT license](http://opensource.org/licenses/MIT) |-| [@davidchambers](https://github.com/davidchambers) | David Chambers | [MIT license](http://opensource.org/licenses/MIT) |-| [@DavidLindbom](https://github.com/DavidLindbom) | David Lindbom | [MIT license](http://opensource.org/licenses/MIT) |-| [@dckc](https://github.com/dckc) | Dan Connolly | [MIT license](http://opensource.org/licenses/MIT) |-| [@kleeneplus](https://github.com/dgendill) | Dominick Gendill | [MIT license](http://opensource.org/licenses/MIT) |-| [@ealmansi](https://github.com/ealmansi) | Emilio Almansi | MIT license |-| [@eamelink](https://github.com/eamelink) | Erik Bakker | MIT license |-| [@EMattfolk](https://github.com/EMattfolk) | Erik Mattfolk | [MIT license](http://opensource.org/licenses/MIT) |-| [@epost](https://github.com/epost) | Erik Post | MIT license |-| [@erdeszt](https://github.com/erdeszt) | Tibor Erdesz | [MIT license](http://opensource.org/licenses/MIT) |-| [@etrepum](https://github.com/etrepum) | Bob Ippolito | [MIT license](http://opensource.org/licenses/MIT) |-| [@faineance](https://github.com/faineance) | faineance | [MIT license](http://opensource.org/licenses/MIT) |-| [@fehrenbach](https://github.com/fehrenbach) | Stefan Fehrenbach | [MIT license](http://opensource.org/licenses/MIT) |-| [@felixSchl](https://github.com/felixSchl) | Felix Schlitter | [MIT license](http://opensource.org/licenses/MIT) |-| [@FrigoEU](https://github.com/FrigoEU) | Simon Van Casteren | [MIT license](http://opensource.org/licenses/MIT) |-| [@fsoikin](https://github.com/fsoikin) | Fyodor Soikin | [MIT license](http://opensource.org/licenses/MIT) |-| [@f-f](https://github.com/f-f) | Fabrizio Ferrai | [MIT license](http://opensource.org/licenses/MIT) |-| [@garyb](https://github.com/garyb) | Gary Burgess | [MIT license](http://opensource.org/licenses/MIT) |-| [@hdgarrood](https://github.com/hdgarrood) | Harry Garrood | [MIT license](http://opensource.org/licenses/MIT) |-| [@houli](https://github.com/houli) | Eoin Houlihan | [MIT license](http://opensource.org/licenses/MIT) |-| [@ianbollinger](https://github.com/ianbollinger) | Ian D. Bollinger | [MIT license](http://opensource.org/licenses/MIT) |-| [@ilovezfs](https://github.com/ilovezfs) | ilovezfs | MIT license |-| [@i-am-tom](https://github.com/i-am-tom) | i-am-tom | [MIT license](http://opensource.org/licenses/MIT)  |-| [@izgzhen](https://github.com/izgzhen) | Zhen Zhang | [MIT license](http://opensource.org/licenses/MIT) |-| [@jacereda](https://github.com/jacereda) | Jorge Acereda | [MIT license](http://opensource.org/licenses/MIT) |-| [@japesinator](https://github.com/japesinator) | JP Smith | [MIT license](http://opensource.org/licenses/MIT) |-| [@jkachmar](https://github.com/jkachmar) | Joe Kachmar | MIT license |-| [@joneshf](https://github.com/joneshf) | Hardy Jones | MIT license |-| [@jy14898](https://github.com/jy14898) | Joseph Young | MIT license |-| [@kika](https://github.com/kika) | Kirill Pertsev | MIT license |-| [@kRITZCREEK](https://github.com/kRITZCREEK) | Christoph Hegemann | MIT license |-| [@L8D](https://github.com/L8D) | Tenor Biel | [MIT license](http://opensource.org/licenses/MIT) |-| [@legrostdg](https://github.com/legrostdg) | Félix Sipma | [MIT license](http://opensource.org/licenses/MIT) |-| [@LiamGoodacre](https://github.com/LiamGoodacre) | Liam Goodacre | [MIT license](http://opensource.org/licenses/MIT) |-| [@lukerandall](https://github.com/lukerandall) | Luke Randall | [MIT license](http://opensource.org/licenses/MIT) |-| [@lunaris](https://github.com/lunaris) | Will Jones | [MIT license](http://opensource.org/licenses/MIT) |-| [@matthewleon](https://github.com/matthewleon) | Matthew Leon | [MIT license](http://opensource.org/licenses/MIT) |-| [@mcoffin](https://github.com/mcoffin) | Matt Coffin | [MIT license](http://opensource.org/licenses/MIT) |-| [@mhcurylo](https://github.com/mhcurylo) | Mateusz Curylo | [MIT license](http://opensource.org/licenses/MIT) |-| [@mikesol](https://github.com/mikesol) | Mike Solomon | [MIT license](http://opensource.org/licenses/MIT) |-| [@MiracleBlue](https://github.com/MiracleBlue) | Nicholas Kircher | [MIT license](http://opensource.org/licenses/MIT) |-| [@mrkgnao](https://github.com/mrkgnao) | Soham Chowdhury | [MIT license](http://opensource.org/licenses/MIT) |-| [@mgmeier](https://github.com/mgmeier) | Michael Gilliland | [MIT license](http://opensource.org/licenses/MIT) |-| [@michaelficarra](https://github.com/michaelficarra) | Michael Ficarra | [MIT license](http://opensource.org/licenses/MIT) |-| [@MichaelXavier](https://github.com/MichaelXavier) | Michael Xavier | MIT license |-| [@milesfrain](https://github.com/milesfrain) | Miles Frain | [MIT license](http://opensource.org/licenses/MIT) |-| [@mjgpy3](https://github.com/mjgpy3) | Michael Gilliland | [MIT license](http://opensource.org/licenses/MIT) |-| [@mpietrzak](https://github.com/mpietrzak) | Maciej Pietrzak | [MIT license](http://opensource.org/licenses/MIT) |-| [@mrhania](https://github.com/mrhania) | Łukasz Hanuszczak | [MIT license](http://opensource.org/licenses/MIT) |-| [@natefaubion](https://github.com/natefaubion) | Nathan Faubion | [MIT license](http://opensource.org/licenses/MIT) |-| [@ncaq](https://github.com/ncaq) | ncaq | [MIT license](http://opensource.org/licenses/MIT) |-| [@NickMolloy](https://github.com/NickMolloy) | Nick Molloy | [MIT license](http://opensource.org/licenses/MIT) |-| [@nicodelpiano](https://github.com/nicodelpiano) | Nicolas Del Piano | [MIT license](http://opensource.org/licenses/MIT) |-| [@noraesae](https://github.com/noraesae) | Hyunje Jun | [MIT license](http://opensource.org/licenses/MIT) |-| [@nullobject](https://github.com/nullobject) | Josh Bassett | [MIT license](http://opensource.org/licenses/MIT) |-| [@osa1](https://github.com/osa1) | Ömer Sinan Ağacan | MIT license |-| [@paf31](https://github.com/paf31) | Phil Freeman | [MIT license](http://opensource.org/licenses/MIT) |-| [@parsonsmatt](https://github.com/parsonsmatt) | Matt Parsons | [MIT license](http://opensource.org/licenses/MIT) |-| [@passy](https://github.com/passy) | Pascal Hartig | [MIT license](http://opensource.org/licenses/MIT) |-| [@paulyoung](https://github.com/paulyoung) | Paul Young | [MIT license](http://opensource.org/licenses/MIT) |-| [@pelotom](https://github.com/pelotom) | Thomas Crockett | [MIT license](http://opensource.org/licenses/MIT) |-| [@peterbecich](https://github.com/peterbecich) | Peter Becich | [MIT license](http://opensource.org/licenses/MIT) |-| [@phadej](https://github.com/phadej) | Oleg Grenrus | [MIT license](http://opensource.org/licenses/MIT) |-| [@phiggins](https://github.com/phiggins) | Pete Higgins | [MIT license](http://opensource.org/licenses/MIT) |-| [@philopon](https://github.com/philopon) | Hirotomo Moriwaki | [MIT license](http://opensource.org/licenses/MIT) |-| [@pseudonom](https://github.com/pseudonom) | Eric Easley | [MIT license](http://opensource.org/licenses/MIT) |-| [@ptrfrncsmrph](https://github.com/ptrfrncsmrph) | Peter Murphy | [MIT license](http://opensource.org/licenses/MIT) |-| [@quesebifurcan](https://github.com/quesebifurcan) | Fredrik Wallberg | [MIT license](http://opensource.org/licenses/MIT) |-| [@radrow](https://github.com/radrow) | Radosław Rowicki | [MIT license](http://opensource.org/licenses/MIT) |-| [@rhendric](https://github.com/rhendric) | Ryan Hendrickson | [MIT license](http://opensource.org/licenses/MIT) |-| [@rightfold](https://github.com/rightfold) | rightfold | [MIT license](https://opensource.org/licenses/MIT) |-| [@rndnoise](https://www.github.com/rndnoise) | rndnoise | [MIT license](http://opensource.org/licenses/MIT) |-| [@robdaemon](https://github.com/robdaemon) | Robert Roland | [MIT license](http://opensource.org/licenses/MIT) |-| [@RossMeikleham](https://github.com/RossMeikleham) | Ross Meikleham | [MIT license](http://opensource.org/licenses/MIT) |-| [@Rufflewind](https://github.com/Rufflewind) | Phil Ruffwind | [MIT license](https://opensource.org/licenses/MIT) |-| [@rvion](https://github.com/rvion) | Rémi Vion | [MIT license](http://opensource.org/licenses/MIT) |-| [@RyanGlScott](https://github.com/RyanGlScott) | Ryan Scott | [MIT license](http://opensource.org/licenses/MIT) |-| [@sebastiaanvisser](https://github.com/sebastiaanvisser) | Sebastiaan Visser | MIT license |-| [@sectore](https://github.com/sectore) | Jens Krause | [MIT license](http://opensource.org/licenses/MIT) |-| [@senju](https://github.com/senju) | senju | [MIT license](http://opensource.org/licenses/MIT) |-| [@seungha-kim](https://github.com/seungha-kim) | Seungha Kim | [MIT license](http://opensource.org/licenses/MIT) |-| [@simonyangme](https://github.com/simonyangme) | Simon Yang | [MIT license](http://opensource.org/licenses/MIT) |-| [@sharkdp](https://github.com/sharkdp) | David Peter | [MIT license](http://opensource.org/licenses/MIT) |-| [@soupi](https://github.com/soupi) | Gil Mizrahi | [MIT license](http://opensource.org/licenses/MIT) |-| [@stefanholzmueller](https://github.com/stefanholzmueller) | Stefan Holzmüller | [MIT license](http://opensource.org/licenses/MIT) |-| [@sztupi](https://github.com/sztupi) | Attila Sztupak | [MIT license](http://opensource.org/licenses/MIT) |-| [@taktoa](https://github.com/taktoa) | Remy Goldschmidt | [MIT license](http://opensource.org/licenses/MIT) |-| [@taku0](https://github.com/taku0) | taku0 | [MIT license](http://opensource.org/licenses/MIT) |-| [@tfausak](https://github.com/tfausak) | Taylor Fausak | [MIT license](http://opensource.org/licenses/MIT) |-| [@thoradam](https://github.com/thoradam) | Thor Adam | [MIT license](http://opensource.org/licenses/MIT) |-| [@tmcgilchrist](https://github.com/tmcgilchrist) | Tim McGilchrist | [MIT license](http://opensource.org/licenses/MIT) |-| [@trofi](https://github.com/trofi) | Sergei Trofimovich | [MIT license](http://opensource.org/licenses/MIT) |-| [@utkarshkukreti](https://github.com/utkarshkukreti) | Utkarsh Kukreti | [MIT license](http://opensource.org/licenses/MIT) |-| [@vkorablin](https://github.com/vkorablin) | Vladimir Korablin | MIT license |-| [@vladciobanu](https://github.com/vladciobanu) | Vladimir Ciobanu | [MIT license](http://opensource.org/licenses/MIT) |-| [@zudov](https://github.com/zudov) | Konstantin Zudov | [MIT license](http://opensource.org/licenses/MIT) |-| [@b123400](https://github.com/b123400) | b123400 | [MIT license](https://opensource.org/licenses/MIT) |-| [@kcsongor](https://github.com/kcsongor) | Csongor Kiss | [MIT license](http://opensource.org/licenses/MIT) |-| [@drets](https://github.com/drets) | Dmytro Rets | [MIT license](http://opensource.org/licenses/MIT) |-| [@bjornmelgaaard](https://github.com/BjornMelgaard) | Sergey Homa | [MIT license](http://opensource.org/licenses/MIT) |-| [@thimoteus](https://github.com/Thimoteus) | thimoteus | [MIT license](http://opensource.org/licenses/MIT) |-| [@sloosch](https://github.com/sloosch) | Simon Looschen | [MIT license](http://opensource.org/licenses/MIT) |-| [@rgrinberg](https://github.com/rgrinberg) | Rudi Grinberg | [MIT license](http://opensource.org/licenses/MIT) |-| [@gabejohnson](https://github.com/gabejohnson) | Gabe Johnson | [MIT license](http://opensource.org/licenses/MIT) |-| [@dariooddenino](https://github.com/dariooddenino) | Dario Oddenino | [MIT license](http://opensource.org/licenses/MIT) |-| [@jordanmartinez](https://github.com/jordanmartinez) | Jordan Martinez | [MIT license](http://opensource.org/licenses/MIT) |-| [@Saulukass](https://github.com/Saulukass) | Saulius Skliutas | [MIT license](http://opensource.org/licenses/MIT) |-| [@adnelson](https://github.com/adnelson) | Allen Nelson | [MIT license](http://opensource.org/licenses/MIT) |-| [@dyerw](https://github.com/dyerw) | Liam Dyer | [MIT license](http://opensource.org/licenses/MIT) |-| [@marcosh](https://github.com/marcosh) | Marco Perone | [MIT license](http://opensource.org/licenses/MIT) |-| [@matthew-hilty](https://github.com/matthew-hilty) | Matthew Hilty | [MIT license](http://opensource.org/licenses/MIT) |-| [@woody88](https://github.com/woody88) | Woodson Delhia | [MIT license](http://opensource.org/licenses/MIT) |-| [@mhmdanas](https://github.com/mhmdanas) | Mohammed Anas | [MIT license](http://opensource.org/licenses/MIT) |-| [@kl0tl](https://github.com/kl0tl) | Cyril Sobierajewicz | [MIT license](http://opensource.org/licenses/MIT) |-| [@PureFunctor](https://github.com/PureFunctor), [@sjpgarcia](https://github.com/sjpgarcia) | Justin Garcia | [MIT license](http://opensource.org/licenses/MIT) |-| [@xgrommx](https://github.com/xgrommx) | Denis Stoyanov | [MIT license](http://opensource.org/licenses/MIT) |-| [@MonoidMusician](https://github.com/MonoidMusician) | Verity Scheel | [MIT license](http://opensource.org/licenses/MIT) |-| [@thomashoneyman](https://github.com/thomashoneyman) | Thomas Honeyman | [MIT license](http://opensource.org/licenses/MIT) |-| [@sigma-andex](https://github.com/sigma-andex) | Jan Schulte | [MIT license](http://opensource.org/licenses/MIT) |-| [@i-am-the-slime](https://github.com/i-am-the-slime) | Mark Eibes | [MIT license](http://opensource.org/licenses/MIT) |-| [@sd-yip](https://github.com/sd-yip) | Nicholas Yip | [MIT license](http://opensource.org/licenses/MIT) |-| [@j-nava](https://github.com/j-nava) | Jesse Nava | [MIT license](http://opensource.org/licenses/MIT) |-| [@imcotton](https://github.com/imcotton) | Cotton Hou | [MIT license](http://opensource.org/licenses/MIT) |-| [@wclr](https://github.com/wclr) | Alex Osh | [MIT license](http://opensource.org/licenses/MIT) |-| [@Deltaspace0](https://github.com/Deltaspace0) | Ruslan Gadeev | [MIT license](http://opensource.org/licenses/MIT) |+| [@5outh](https://github.com/5outh) | Benjamin Kovach | [MIT license] |+| [@actionshrimp](https://github.com/actionshrimp) | David Aitken | [MIT license] |+| [@adnelson](https://github.com/adnelson) | Allen Nelson | [MIT license] |+| [@alexbiehl](https://github.com/alexbiehl) | Alexander Biehl | [MIT license] |+| [@andreypopp](https://github.com/andreypopp) | Andrey Popp | [MIT license] |+| [@andyarvanitis](https://github.com/andyarvanitis) | Andy Arvanitis | [MIT license] |+| [@andys8](https://github.com/andys8) | andys8 | [MIT license] |+| [@anthok88](https://github.com/anthok88) | anthoq88 | [MIT license] |+| [@ardumont](https://github.com/ardumont) | Antoine R. Dumont | [MIT license] |+| [@arrowd](https://github.com/arrowd) | Gleb Popov | [MIT license] |+| [@aspidites](https://github.com/aspidites) | Edwin Marshall | [MIT license] |+| [@b123400](https://github.com/b123400) | b123400 | [MIT license] |+| [@bagl](https://github.com/bagl) | Petr Vapenka | [MIT license] |+| [@balajirrao](https://github.com/balajirrao) | Balaji Rao | [MIT license] |+| [@bbqbaron](https://github.com/bbqbaron) | Eric Loren | [MIT license] |+| [@bergmark](https://github.com/bergmark) | Adam Bergmark | [MIT license] |+| [@bitemyapp](https://github.com/bitemyapp) | Chris Allen | [MIT license] |+| [@bjornmelgaaard](https://github.com/BjornMelgaard) | Sergey Homa | [MIT license] |+| [@bmjames](https://github.com/bmjames) | Ben James | [MIT license] |+| [@Bogdanp](https://github.com/Bogdanp) | Bogdan Paul Popa | [MIT license] |+| [@brandonhamilton](https://github.com/brandonhamilton) | Brandon Hamilton | [MIT license] |+| [@bsermons](https://github.com/bsermons) | Brian Sermons | [MIT license] |+| [@cdepillabout](https://github.com/cdepillabout) | Dennis Gosnell | [MIT license] |+| [@chexxor](https://github.com/chexxor) | Alex Berg | [MIT license] |+| [@chrisdone](https://github.com/chrisdone) | Chris Done | [MIT license] |+| [@cmdv](https://github.com/cmdv) | Vincent Orr | [MIT license] |+| [@codedmart](https://github.com/codedmart) | Brandon Martin | [MIT license] |+| [@coot](https://github.com/coot) | Marcin Szamotulski | [MIT license] |+| [@dariooddenino](https://github.com/dariooddenino) | Dario Oddenino | [MIT license] |+| [@davidchambers](https://github.com/davidchambers) | David Chambers | [MIT license] |+| [@DavidLindbom](https://github.com/DavidLindbom) | David Lindbom | [MIT license] |+| [@dckc](https://github.com/dckc) | Dan Connolly | [MIT license] |+| [@Deltaspace0](https://github.com/Deltaspace0) | Ruslan Gadeev | [MIT license] |+| [@drets](https://github.com/drets) | Dmytro Rets | [MIT license] |+| [@dyerw](https://github.com/dyerw) | Liam Dyer | [MIT license] |+| [@ealmansi](https://github.com/ealmansi) | Emilio Almansi | [MIT license] |+| [@eamelink](https://github.com/eamelink) | Erik Bakker | [MIT license] |+| [@EMattfolk](https://github.com/EMattfolk) | Erik Mattfolk | [MIT license] |+| [@epost](https://github.com/epost) | Erik Post | [MIT license] |+| [@erdeszt](https://github.com/erdeszt) | Tibor Erdesz | [MIT license] |+| [@etrepum](https://github.com/etrepum) | Bob Ippolito | [MIT license] |+| [@f-f](https://github.com/f-f) | Fabrizio Ferrai | [MIT license] |+| [@faineance](https://github.com/faineance) | faineance | [MIT license] |+| [@fehrenbach](https://github.com/fehrenbach) | Stefan Fehrenbach | [MIT license] |+| [@felixSchl](https://github.com/felixSchl) | Felix Schlitter | [MIT license] |+| [@FredTheDino](https://github.com/FredTheDino) | Edvard Thörnros | [MIT license] |+| [@FrigoEU](https://github.com/FrigoEU) | Simon Van Casteren | [MIT license] |+| [@fsoikin](https://github.com/fsoikin) | Fyodor Soikin | [MIT license] |+| [@gabejohnson](https://github.com/gabejohnson) | Gabe Johnson | [MIT license] |+| [@garyb](https://github.com/garyb) | Gary Burgess | [MIT license] |+| [@hdgarrood](https://github.com/hdgarrood) | Harry Garrood | [MIT license] |+| [@houli](https://github.com/houli) | Eoin Houlihan | [MIT license] |+| [@i-am-the-slime](https://github.com/i-am-the-slime) | Mark Eibes | [MIT license] |+| [@i-am-tom](https://github.com/i-am-tom) | i-am-tom | [MIT license]  |+| [@ianbollinger](https://github.com/ianbollinger) | Ian D. Bollinger | [MIT license] |+| [@ilovezfs](https://github.com/ilovezfs) | ilovezfs | [MIT license] |+| [@imcotton](https://github.com/imcotton) | Cotton Hou | [MIT license] |+| [@izgzhen](https://github.com/izgzhen) | Zhen Zhang | [MIT license] |+| [@j-nava](https://github.com/j-nava) | Jesse Nava | [MIT license] |+| [@jacereda](https://github.com/jacereda) | Jorge Acereda | [MIT license] |+| [@japesinator](https://github.com/japesinator) | JP Smith | [MIT license] |+| [@jkachmar](https://github.com/jkachmar) | Joe Kachmar | [MIT license] |+| [@joneshf](https://github.com/joneshf) | Hardy Jones | [MIT license] |+| [@jordanmartinez](https://github.com/jordanmartinez) | Jordan Martinez | [MIT license] |+| [@jy14898](https://github.com/jy14898) | Joseph Young | [MIT license] |+| [@kcsongor](https://github.com/kcsongor) | Csongor Kiss | [MIT license] |+| [@kika](https://github.com/kika) | Kirill Pertsev | [MIT license] |+| [@kl0tl](https://github.com/kl0tl) | Cyril Sobierajewicz | [MIT license] |+| [@kleeneplus](https://github.com/dgendill) | Dominick Gendill | [MIT license] |+| [@kRITZCREEK](https://github.com/kRITZCREEK) | Christoph Hegemann | [MIT license] |+| [@L8D](https://github.com/L8D) | Tenor Biel | [MIT license] |+| [@legrostdg](https://github.com/legrostdg) | Félix Sipma | [MIT license] |+| [@LiamGoodacre](https://github.com/LiamGoodacre) | Liam Goodacre | [MIT license] |+| [@lukerandall](https://github.com/lukerandall) | Luke Randall | [MIT license] |+| [@lunaris](https://github.com/lunaris) | Will Jones | [MIT license] |+| [@marcosh](https://github.com/marcosh) | Marco Perone | [MIT license] |+| [@matthew-hilty](https://github.com/matthew-hilty) | Matthew Hilty | [MIT license] |+| [@matthewleon](https://github.com/matthewleon) | Matthew Leon | [MIT license] |+| [@mcoffin](https://github.com/mcoffin) | Matt Coffin | [MIT license] |+| [@mgmeier](https://github.com/mgmeier) | Michael Gilliland | [MIT license] |+| [@mhcurylo](https://github.com/mhcurylo) | Mateusz Curylo | [MIT license] |+| [@mhmdanas](https://github.com/mhmdanas) | Mohammed Anas | [MIT license] |+| [@michaelficarra](https://github.com/michaelficarra) | Michael Ficarra | [MIT license] |+| [@MichaelXavier](https://github.com/MichaelXavier) | Michael Xavier | [MIT license] |+| [@mikesol](https://github.com/mikesol) | Mike Solomon | [MIT license] |+| [@milesfrain](https://github.com/milesfrain) | Miles Frain | [MIT license] |+| [@MiracleBlue](https://github.com/MiracleBlue) | Nicholas Kircher | [MIT license] |+| [@mjgpy3](https://github.com/mjgpy3) | Michael Gilliland | [MIT license] |+| [@MonoidMusician](https://github.com/MonoidMusician) | Verity Scheel | [MIT license] |+| [@mpietrzak](https://github.com/mpietrzak) | Maciej Pietrzak | [MIT license] |+| [@mrhania](https://github.com/mrhania) | Łukasz Hanuszczak | [MIT license] |+| [@mrkgnao](https://github.com/mrkgnao) | Soham Chowdhury | [MIT license] |+| [@natefaubion](https://github.com/natefaubion) | Nathan Faubion | [MIT license] |+| [@ncaq](https://github.com/ncaq) | ncaq | [MIT license] |+| [@NickMolloy](https://github.com/NickMolloy) | Nick Molloy | [MIT license] |+| [@nicodelpiano](https://github.com/nicodelpiano) | Nicolas Del Piano | [MIT license] |+| [@noraesae](https://github.com/noraesae) | Hyunje Jun | [MIT license] |+| [@nullobject](https://github.com/nullobject) | Josh Bassett | [MIT license] |+| [@osa1](https://github.com/osa1) | Ömer Sinan Ağacan | [MIT license] |+| [@paf31](https://github.com/paf31) | Phil Freeman | [MIT license] |+| [@parsonsmatt](https://github.com/parsonsmatt) | Matt Parsons | [MIT license] |+| [@passy](https://github.com/passy) | Pascal Hartig | [MIT license] |+| [@paulyoung](https://github.com/paulyoung) | Paul Young | [MIT license] |+| [@pelotom](https://github.com/pelotom) | Thomas Crockett | [MIT license] |+| [@peterbecich](https://github.com/peterbecich) | Peter Becich | [MIT license] |+| [@phadej](https://github.com/phadej) | Oleg Grenrus | [MIT license] |+| [@phiggins](https://github.com/phiggins) | Pete Higgins | [MIT license] |+| [@philopon](https://github.com/philopon) | Hirotomo Moriwaki | [MIT license] |+| [@pseudonom](https://github.com/pseudonom) | Eric Easley | [MIT license] |+| [@ptrfrncsmrph](https://github.com/ptrfrncsmrph) | Peter Murphy | [MIT license] |+| [@PureFunctor](https://github.com/PureFunctor), [@sjpgarcia](https://github.com/sjpgarcia) | Justin Garcia | [MIT license] |+| [@quesebifurcan](https://github.com/quesebifurcan) | Fredrik Wallberg | [MIT license] |+| [@radrow](https://github.com/radrow) | Radosław Rowicki | [MIT license] |+| [@rgrinberg](https://github.com/rgrinberg) | Rudi Grinberg | [MIT license] |+| [@rhendric](https://github.com/rhendric) | Ryan Hendrickson | [MIT license] |+| [@rightfold](https://github.com/rightfold) | rightfold | [MIT license] |+| [@rndnoise](https://www.github.com/rndnoise) | rndnoise | [MIT license] |+| [@robdaemon](https://github.com/robdaemon) | Robert Roland | [MIT license] |+| [@RossMeikleham](https://github.com/RossMeikleham) | Ross Meikleham | [MIT license] |+| [@Rufflewind](https://github.com/Rufflewind) | Phil Ruffwind | [MIT license] |+| [@rvion](https://github.com/rvion) | Rémi Vion | [MIT license] |+| [@RyanGlScott](https://github.com/RyanGlScott) | Ryan Scott | [MIT license] |+| [@Saulukass](https://github.com/Saulukass) | Saulius Skliutas | [MIT license] |+| [@sd-yip](https://github.com/sd-yip) | Nicholas Yip | [MIT license] |+| [@sebastiaanvisser](https://github.com/sebastiaanvisser) | Sebastiaan Visser | [MIT license] |+| [@sectore](https://github.com/sectore) | Jens Krause | [MIT license] |+| [@senju](https://github.com/senju) | senju | [MIT license] |+| [@seungha-kim](https://github.com/seungha-kim) | Seungha Kim | [MIT license] |+| [@sharkdp](https://github.com/sharkdp) | David Peter | [MIT license] |+| [@sigma-andex](https://github.com/sigma-andex) | Jan Schulte | [MIT license] |+| [@simonyangme](https://github.com/simonyangme) | Simon Yang | [MIT license] |+| [@sloosch](https://github.com/sloosch) | Simon Looschen | [MIT license] |+| [@sometimes-i-send-pull-requests](https://github.com/sometimes-i-send-pull-requests) | Alexander Kirchhoff | [MIT license] |+| [@soupi](https://github.com/soupi) | Gil Mizrahi | [MIT license] |+| [@stefanholzmueller](https://github.com/stefanholzmueller) | Stefan Holzmüller | [MIT license] |+| [@sztupi](https://github.com/sztupi) | Attila Sztupak | [MIT license] |+| [@taktoa](https://github.com/taktoa) | Remy Goldschmidt | [MIT license] |+| [@taku0](https://github.com/taku0) | taku0 | [MIT license] |+| [@tfausak](https://github.com/tfausak) | Taylor Fausak | [MIT license] |+| [@thimoteus](https://github.com/Thimoteus) | thimoteus | [MIT license] |+| [@thomashoneyman](https://github.com/thomashoneyman) | Thomas Honeyman | [MIT license] |+| [@thoradam](https://github.com/thoradam) | Thor Adam | [MIT license] |+| [@tmcgilchrist](https://github.com/tmcgilchrist) | Tim McGilchrist | [MIT license] |+| [@trofi](https://github.com/trofi) | Sergei Trofimovich | [MIT license] |+| [@utkarshkukreti](https://github.com/utkarshkukreti) | Utkarsh Kukreti | [MIT license] |+| [@vkorablin](https://github.com/vkorablin) | Vladimir Korablin | [MIT license] |+| [@vladciobanu](https://github.com/vladciobanu) | Vladimir Ciobanu | [MIT license] |+| [@wclr](https://github.com/wclr) | Alex Osh | [MIT license] |+| [@woody88](https://github.com/woody88) | Woodson Delhia | [MIT license] |+| [@xgrommx](https://github.com/xgrommx) | Denis Stoyanov | [MIT license] |+| [@zudov](https://github.com/zudov) | Konstantin Zudov | [MIT license] | + ### Contributors using Modified Terms  | Username | Name | Terms | | :------- | :--- | :------ |-| [@charleso](https://github.com/charleso) | Charles O'Farrell | My existing contributions to the PureScript compiler and all future contributions to the PureScript compiler until further notice, are Copyright Charles O'Farrell, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license](http://opensource.org/licenses/MIT). |-| [@chrissmoak](https://github.com/chrissmoak) | Chris Smoak | My existing contributions to the PureScript compiler and all future contributions to the PureScript compiler until further notice, are Copyright Chris Smoak, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license](http://opensource.org/licenses/MIT). |+| [@charleso](https://github.com/charleso) | Charles O'Farrell | My existing contributions to the PureScript compiler and all future contributions to the PureScript compiler until further notice, are Copyright Charles O'Farrell, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license]. |+| [@chrissmoak](https://github.com/chrissmoak) | Chris Smoak | My existing contributions to the PureScript compiler and all future contributions to the PureScript compiler until further notice, are Copyright Chris Smoak, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license]. | | [@citizengabe](https://github.com/citizengabe) | Gabe Johnson | All contributions I have or will make using the @citizengabe GitHub account are during employment at [CitizenNet Inc.](#companies) who owns the copyright. All of my existing or future contributions made using the @gabejohnson GitHub account are personal contributions and subject to the terms specified [above](#contributors-using-standard-terms). |-| [@dylex](https://github.com/dylex) | Dylan Simon | My existing and all future contributions to the PureScript compiler until further notice are Copyright Dylan Simon, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license](http://opensource.org/licenses/MIT). |-| [@leighman](http://github.com/leighman) | Jack Leigh | My existing contributions and all future contributions until further notice are Copyright Jack Leigh, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license](http://opensource.org/licenses/MIT). |+| [@dylex](https://github.com/dylex) | Dylan Simon | My existing and all future contributions to the PureScript compiler until further notice are Copyright Dylan Simon, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license]. |+| [@leighman](http://github.com/leighman) | Jack Leigh | My existing contributions and all future contributions until further notice are Copyright Jack Leigh, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license]. | | [@nagisa](https://github.com/nagisa) | nagisa | I hereby release my [only contribution](https://github.com/purescript/purescript/commit/80287a5d0de619862d3b4cda9c1ee276d18fdcd8) into public domain. | | [@puffnfresh](https://github.com/puffnfresh) | Brian McKenna | All contributions I made during June 2015 were during employment at [SlamData, Inc.](#companies) who owns the copyright. I assign copyright of all my personal contributions before June 2015 to the owners of the PureScript compiler. |-| [@nwolverson](https://github.com/nwolverson) | Nicholas Wolverson | Contributions I made during March 2020 until further notice are in employment of [Id3as Company](#companies), who own the copyright. All other contributions remain Copyright Nicholas Wolverson, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license](http://opensource.org/licenses/MIT). |-+| [@nwolverson](https://github.com/nwolverson) | Nicholas Wolverson | Contributions I made during March 2020 until further notice are in employment of [Id3as Company](#companies), who own the copyright. All other contributions remain Copyright Nicholas Wolverson, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license]. |   ### Companies  | Username | Company | Terms | | :------- | :--- | :------ |-| [@citizennet](https://github.com/citizennet) | CitizenNet Inc. | Our existing contributions to the PureScript compiler and all future contributions to the PureScript compiler until further notice, are Copyright CitizenNet Inc., and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license](http://opensource.org/licenses/MIT). - [@dbenyamin-cn](https://github.com/dbenyamin-cn) |-| [@slamdata](https://github.com/slamdata) | SlamData, Inc. | Speaking on behalf of SlamData for SlamData employees, our existing contributions and all future contributions to the PureScript compiler are, until further notice, Copyright SlamData Inc., and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license](http://opensource.org/licenses/MIT). - @jdegoes |-| [@qfpl](https://github.com/qfpl) | qfpl @ Data61 / CSIRO | Our existing contributions to the PureScript compiler and all future contributions to the PureScript compiler until further notice, are Copyright Data61 / CSIRO, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license](http://opensource.org/licenses/MIT). - [@lightandlight](https://github.com/lightandlight) |-| [@id3as](https://github.com/id3as) | id3as-company Ltd. | Speaking on behalf of id3as for id3as employees, our existing contributions and all future contributions to the PureScript compiler are, until further notice, Copyright id3as-company Ltd, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license](http://opensource.org/licenses/MIT). - @adrianroe |-| [@aeternity](https://aeternity.com/) | Aeternity Establishment | Our existing contributions to the PureScript compiler and all future contributions to the PureScript compiler until further notice, are Copyright Aeternity Establishment, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license](http://opensource.org/licenses/MIT). |+| [@citizennet](https://github.com/citizennet) | CitizenNet Inc. | Our existing contributions to the PureScript compiler and all future contributions to the PureScript compiler until further notice, are Copyright CitizenNet Inc., and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license]. - [@dbenyamin-cn](https://github.com/dbenyamin-cn) |+| [@slamdata](https://github.com/slamdata) | SlamData, Inc. | Speaking on behalf of SlamData for SlamData employees, our existing contributions and all future contributions to the PureScript compiler are, until further notice, Copyright SlamData Inc., and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license]. - @jdegoes |+| [@qfpl](https://github.com/qfpl) | qfpl @ Data61 / CSIRO | Our existing contributions to the PureScript compiler and all future contributions to the PureScript compiler until further notice, are Copyright Data61 / CSIRO, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license]. - [@lightandlight](https://github.com/lightandlight) |+| [@id3as](https://github.com/id3as) | id3as-company Ltd. | Speaking on behalf of id3as for id3as employees, our existing contributions and all future contributions to the PureScript compiler are, until further notice, Copyright id3as-company Ltd, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license]. - @adrianroe |+| [@aeternity](https://aeternity.com/) | Aeternity Establishment | Our existing contributions to the PureScript compiler and all future contributions to the PureScript compiler until further notice, are Copyright Aeternity Establishment, and are licensed to the owners and users of the PureScript compiler project under the terms of the [MIT license]. |+++[MIT license]: https://opensource.org/licenses/MIT
INSTALL.md view
@@ -4,12 +4,12 @@  ## Requirements -The PureScript compiler is built using GHC 9.2.4, and should be able to run on any operating system supported by GHC 9.2.4. In particular:+The PureScript compiler is built using GHC 9.2.5, and should be able to run on any operating system supported by GHC 9.2.5. In particular:  * for Windows users, versions predating Vista are not officially supported, * for macOS / OS X users, versions predating Mac OS X 10.7 (Lion) are not officially supported. -See also <https://www.haskell.org/ghc/download_ghc_9_2_4.html> for more details about the operating systems which GHC 9.2.4 supports.+See also <https://www.haskell.org/ghc/download_ghc_9_2_5.html> for more details about the operating systems which GHC 9.2.5 supports.  ## Official prebuilt binaries 
LICENSE view
@@ -56,6 +56,7 @@   contravariant   cryptonite   css-text+  data-array-byte   data-default   data-default-class   data-default-instances-containers@@ -1517,6 +1518,39 @@   LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION   OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION   WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.++data-array-byte LICENSE file:++  Copyright (c) 2008-2009, Roman Leshchinskiy+  All rights reserved.++  Redistribution and use in source and binary forms, with or without+  modification, are permitted provided that the following conditions are met:++  - Redistributions of source code must retain the above copyright notice,+  this list of conditions and the following disclaimer.++  - Redistributions in binary form must reproduce the above copyright notice,+  this list of conditions and the following disclaimer in the documentation+  and/or other materials provided with the distribution.++  - Neither name of the University nor the names of its contributors may be+  used to endorse or promote products derived from this software without+  specific prior written permission.++  THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF+  GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND+  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE+  UNIVERSITY COURT OF THE UNIVERSITY OF GLASGOW OR THE CONTRIBUTORS BE LIABLE+  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR+  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY+  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH+  DAMAGE.+  data-default LICENSE file: 
app/static/pursuit.css view
@@ -49,6 +49,9 @@  * ========================================================================== */ /* Section: Document Styles  * ========================================================================== */+:root {+  color-scheme: light dark;+} html {   box-sizing: border-box;   /* This overflow rule prevents everything from shifting slightly to the side@@ -63,11 +66,17 @@ } body {   background-color: #ffffff;-  color: #000;+  color: #000000;   font-family: "Roboto", sans-serif;   font-size: 87.5%;   line-height: 1.563; }+@media (prefers-color-scheme: dark) {+  body {+    background-color: #141417;+    color: #dedede;+  }+} @media (min-width: 38em) {   body {     font-size: 100%;@@ -158,6 +167,12 @@   background-color: #1d222d;   color: #f0f0f0; }+@media (prefers-color-scheme: dark) {+  .footer {+    background-color: #1d222d;+    color: #f0f0f0;+  }+} .footer * {   margin-bottom: 0; }@@ -169,16 +184,32 @@ :target {   background-color: #f1f5f9; }+@media (prefers-color-scheme: dark) {+  :target {+    background-color: #232327;+  }+} a, a:visited {   color: #c4953a;   text-decoration: none;   font-weight: bold; }+@media (prefers-color-scheme: dark) {+  a,+  a:visited {+    color: #d8ac55;+  }+} a:hover {   color: #7b5904;   text-decoration: none; }+@media (prefers-color-scheme: dark) {+  a:hover {+    color: #f0dcab;+  }+} code, pre {   background-color: #f1f5f9;@@ -187,10 +218,23 @@   font-family: "Roboto Mono", monospace;   font-size: 87.5%; }+@media (prefers-color-scheme: dark) {+  code,+  pre {+    background-color: #232327;+    color: #c1d3da;+  }+} :target code, :target pre {   background-color: #dfe8f1; }+@media (prefers-color-scheme: dark) {+  :target code,+  :target pre {+    background-color: #2f2f34;+  }+} code {   padding: 0.2em 0;   margin: 0;@@ -212,6 +256,11 @@ a:hover > code {   color: #c4953a; }+@media (prefers-color-scheme: dark) {+  a:hover > code {+    color: #d8ac55;+  }+} pre {   margin-top: 0;   margin-bottom: 0;@@ -255,14 +304,14 @@ h2 {   font-size: 1.953em;   font-weight: normal;-  line-height: 1.250;+  line-height: 1.25;   margin-top: 3.052rem;   margin-bottom: 1rem; } h3 {   font-size: 1.563em;   font-weight: normal;-  line-height: 1.250;+  line-height: 1.25;   margin-top: 2.441rem;   margin-bottom: 1rem; }@@ -285,6 +334,11 @@   height: 1px;   background-color: #cccccc; }+@media (prefers-color-scheme: dark) {+  hr {+    background-color: #43434e;+  }+} img {   border-style: none;   max-width: 100%;@@ -302,6 +356,11 @@   margin-bottom: 1rem;   width: 100%; }+@media (prefers-color-scheme: dark) {+  table {+    border-bottom-color: #43434e;+  }+} td, th {   text-align: left;@@ -310,6 +369,11 @@ td {   border-top: 1px solid #cccccc; }+@media (prefers-color-scheme: dark) {+  td {+    border-top-color: #43434e;+  }+} td:first-child, th:first-child {   padding-left: 0;@@ -326,7 +390,7 @@ } ul li {   position: relative;-  padding-left: 1.250em;+  padding-left: 1.25em; } ul li::before {   position: absolute;@@ -334,8 +398,13 @@   content: "–";   display: inline-block;   margin-left: -1.25em;-  width: 1.250em;+  width: 1.25em; }+@media (prefers-color-scheme: dark) {+  ul li::before {+    color: #a0a0a0;+  }+} /* Tying this tightly to ul at the moment because it's a slight variation thereof */ ul.ul--search li::before {   content: "⚲";@@ -345,7 +414,7 @@ ol {   margin-top: 1rem;   margin-bottom: 1rem;-  padding-left: 1.250em;+  padding-left: 1.25em; } ol li {   position: relative;@@ -359,9 +428,9 @@   position: relative;   top: -0.1em;   display: inline-block;-  background-color: #000;+  background-color: #000000;   border-radius: 1.3em;-  color: #fff;+  color: #ffffff;   font-size: 77%;   font-weight: bold;   line-height: 1.563;@@ -369,10 +438,21 @@   height: 1.5em;   width: 1.5em; }+@media (prefers-color-scheme: dark) {+  .badge {+    background-color: #dedede;+    color: #141417;+  }+} .badge.badge--package {   background-color: #c4953a;   letter-spacing: -0.1em; }+@media (prefers-color-scheme: dark) {+  .badge.badge--package {+    background-color: #d8ac55;+  }+} .badge.badge--module {   background-color: #75B134; }@@ -396,9 +476,20 @@   left: -0.8em;   color: #bababa; }+@media (prefers-color-scheme: dark) {+  .decl__anchor,+  .decl__anchor:visited {+    color: #878787;+  }+} .decl__anchor:hover {   color: #c4953a; }+@media (prefers-color-scheme: dark) {+  .decl__anchor:hover {+    color: #d8ac55;+  }+} .decl__signature {   background-color: transparent;   border-radius: 0;@@ -406,6 +497,12 @@   border-bottom: 1px solid #cccccc;   padding: 0; }+@media (prefers-color-scheme: dark) {+  .decl__signature {+    border-top-color: #43434e;+    border-bottom-color: #43434e;+  }+} .decl__signature code {   display: block;   padding: 0.328em 0;@@ -437,6 +534,11 @@ .decl__kind {   border-bottom: 1px solid #cccccc; }+@media (prefers-color-scheme: dark) {+  .decl__kind {+    border-bottom-color: #43434e;+  }+} :target .decl__signature, :target .decl__signature code {   /* We want the background to be transparent, even when the parent is a target */@@ -444,8 +546,14 @@ } .decl__body .keyword, .decl__body .syntax {-  color: #0B71B4;+  color: #0b71b4; }+@media (prefers-color-scheme: dark) {+  .decl__body .keyword,+  .decl__body .syntax {+    color: #3796d5;+  }+} .decl__child_comments {   margin-top: 1rem;   margin-bottom: 1rem;@@ -465,12 +573,22 @@   font-size: 0.8em;   line-height: 1; }+@media (prefers-color-scheme: dark) {+  .deplink__version {+    color: #a0a0a0;+  }+} /* Component: Grouped List  * -------------------------------------------------------------------------- */ .grouped-list {   border-top: 1px solid #cccccc;   margin: 0 0 2.44em 0; }+@media (prefers-color-scheme: dark) {+  .grouped-list {+    border-top-color: #43434e;+  }+} .grouped-list__title {   color: #666666;   font-size: 0.8em;@@ -479,6 +597,11 @@   margin: 0.8em 0 -0.1em 0;   text-transform: uppercase; }+@media (prefers-color-scheme: dark) {+  .grouped-list__title {+    border-top-color: #a0a0a0;+  }+} .grouped-list__item {   margin: 0; }@@ -493,10 +616,22 @@   background-color: #fff0f0;   border-color: #c85050; }+@media (prefers-color-scheme: dark) {+  .message.message--error {+    background-color: #6b0e0e;+    border-color: #c85050;+  }+} .message.message--not-available {   background-color: #f0f096;   border-color: #e3e33d; }+@media (prefers-color-scheme: dark) {+  .message.message--not-available {+    background-color: #56560b;+    border-color: #b0b017;+  }+} /* Component: Multi Col  * Multiple columns side by side  * -------------------------------------------------------------------------- */@@ -548,6 +683,11 @@   text-transform: uppercase;   z-index: 1; }+@media (prefers-color-scheme: dark) {+  .page-title__label {+    color: #a0a0a0;+  }+} /* Component: Top Banner  * -------------------------------------------------------------------------- */ .top-banner {@@ -555,6 +695,12 @@   color: #f0f0f0;   font-weight: normal; }+@media (prefers-color-scheme: dark) {+  .top-banner {+    background-color: #1d222d;+    color: #f0f0f0;+  }+} .top-banner__logo, .top-banner__logo:visited {   float: left;@@ -564,6 +710,12 @@   line-height: 90px;   margin: 0; }+@media (prefers-color-scheme: dark) {+  .top-banner__logo,+  .top-banner__logo:visited {+    color: #f0f0f0;+  }+} .top-banner__logo:hover {   color: #c4953a;   text-decoration: none;@@ -574,12 +726,20 @@ .top-banner__form input {   border: 1px solid #1d222d;   border-radius: 3px;+  background-color: #ffffff;   color: #1d222d;   font-weight: 300;   line-height: 2;   padding: 0.21em 0.512em;   width: 100%; }+@media (prefers-color-scheme: dark) {+  .top-banner__form input {+    border-color: #1d222d;+    background-color: #141417;+    color: #dedede;+  }+} .top-banner__actions {   float: right;   text-align: right;@@ -597,9 +757,20 @@ .top-banner__actions__item a:visited {   color: #f0f0f0; }+@media (prefers-color-scheme: dark) {+  .top-banner__actions__item a,+  .top-banner__actions__item a:visited {+    color: #f0f0f0;+  }+} .top-banner__actions__item a:hover {   color: #c4953a; }+@media (prefers-color-scheme: dark) {+  .top-banner__actions__item a:hover {+    color: #d8ac55;+  }+} @media (min-width: 38em) {   .top-banner__logo {     float: left;@@ -641,6 +812,12 @@   border-bottom: 1px solid #cccccc;   padding: 0.328em 0; }+@media (prefers-color-scheme: dark) {+  .result__signature {+    border-top-color: #43434e;+    border-bottom-color: #43434e;+  }+} .result__signature code {   display: block;   padding-left: 2.441em;@@ -707,6 +884,11 @@   color: #777;   border-left: 0.25em solid #ddd; }+@media (prefers-color-scheme: dark) {+  .markdown-body blockquote {+    border-left-color: #444;+  }+} .markdown-body blockquote > :first-child {   margin-top: 0; }@@ -720,6 +902,11 @@ .markdown-body .pl-k {   /* Keyword */   color: #a0a0a0;+}+@media (prefers-color-scheme: dark) {+  .markdown-body .pl-k {+    color: #676767;+  } } .markdown-body .pl-c1, .markdown-body .pl-en {
app/static/pursuit.less view
@@ -49,9 +49,9 @@ /* Section: Variables  * ========================================================================== */ @background: rgb(255, 255, 255);+@foreground: rgb(0, 0, 0); @banner_background: rgb(29, 34, 45);-@package_banner_background: lighten(@banner_background, 30%);-@dark_foreground: rgb(240, 240, 240);+@dim_foreground: rgb(240, 240, 240); @link: rgb(196, 149, 58); @link_active: rgb(123, 89, 4); @error_background: rgb(255, 240, 240);@@ -59,12 +59,32 @@ @not_available_background: rgb(240, 240, 150); @code_foreground: rgb(25, 74, 91); @code_background: rgb(241, 245, 249);-@light_glyph: rgb(160, 160, 160);-@light_type: rgb(102, 102, 102);+@dim_glyph: rgb(160, 160, 160);+@dim_type: rgb(102, 102, 102);+@keyword: rgb(11, 113, 180); +@dark_background: rgb(20, 20, 23);+@dark_foreground: rgb(222, 222, 222);+@dark_banner_background: rgb(29, 34, 45);+@dark_dim_foreground: rgb(240, 240, 240);+@dark_link: rgb(216, 172, 85);+@dark_link_active: rgb(240, 220, 171);+@dark_error_background: rgb(107, 14, 14);+@dark_error_border: rgb(200, 80, 80);+@dark_not_available_background: rgb(86, 86, 11);+@dark_code_foreground: rgb(193, 211, 218);+@dark_code_background: rgb(35, 35, 39);+@dark_dim_glyph: rgb(160, 160, 160);+@dark_dim_type: rgb(160, 160, 160);+@dark_keyword: rgb(55, 150, 213);+ /* Section: Document Styles  * ========================================================================== */ +:root {+  color-scheme: light dark;+}+ html {   box-sizing: border-box; @@ -80,10 +100,15 @@  body {   background-color: @background;-  color: #000;+  color: @foreground;   font-family: "Roboto", sans-serif;   font-size: 87.5%;   line-height: 1.563;++  @media (prefers-color-scheme: dark) {+    background-color: @dark_background;+    color: @dark_foreground;+  } }  @media (min-width: 38em) {@@ -193,7 +218,12 @@   width: 100%;   text-align: center;   background-color: @banner_background;-  color: @dark_foreground;+  color: @dim_foreground;++  @media (prefers-color-scheme: dark) {+    background-color: @dark_banner_background;+    color: @dark_dim_foreground;+  } }  .footer * {@@ -209,17 +239,29 @@  :target {   background-color: @code_background;++  @media (prefers-color-scheme: dark) {+    background-color: @dark_code_background;+  } }  a, a:visited {   color: @link;   text-decoration: none;   font-weight: bold;++  @media (prefers-color-scheme: dark) {+    color: @dark_link;+  } }  a:hover {   color: @link_active;   text-decoration: none;++  @media (prefers-color-scheme: dark) {+    color: @dark_link_active;+  } }  code, pre {@@ -228,11 +270,20 @@   color: @code_foreground;   font-family: "Roboto Mono", monospace;   font-size: 87.5%;++  @media (prefers-color-scheme: dark) {+    background-color: @dark_code_background;+    color: @dark_code_foreground;+  } }  :target code, :target pre {   background-color: darken(@code_background, 5%);++  @media (prefers-color-scheme: dark) {+    background-color: lighten(@dark_code_background, 5%);+  } }  code {@@ -259,6 +310,10 @@  a:hover > code {   color: @link;++  @media (prefers-color-scheme: dark) {+    color: @dark_link;+  } }  pre {@@ -341,6 +396,10 @@   border: none;   height: 1px;   background-color: darken(@background, 20%);++  @media (prefers-color-scheme: dark) {+    background-color: lighten(@dark_background, 20%);+  } }  img {@@ -361,6 +420,10 @@   margin-top: 1rem;   margin-bottom: 1rem;   width: 100%;++  @media (prefers-color-scheme: dark) {+    border-bottom-color: lighten(@dark_background, 20%);+  } }  td, th {@@ -370,6 +433,10 @@  td {   border-top: 1px solid darken(@background, 20%);++  @media (prefers-color-scheme: dark) {+    border-top-color: lighten(@dark_background, 20%);+  } }  td:first-child, th:first-child {@@ -394,11 +461,15 @@  ul li::before {   position: absolute;-  color: @light_glyph;+  color: @dim_glyph;   content: "–";   display: inline-block;   margin-left: -1.250em;   width: 1.250em;++  @media (prefers-color-scheme: dark) {+    color: @dark_dim_glyph;+  } }  /* Tying this tightly to ul at the moment because it's a slight variation thereof */@@ -430,20 +501,29 @@   position: relative;   top: -0.1em;   display: inline-block;-  background-color: #000;+  background-color: @foreground;   border-radius: 1.3em;-  color: #fff;+  color: @background;   font-size: 77%;   font-weight: bold;   line-height: 1.563;   text-align: center;   height: 1.5em;   width: 1.5em;++  @media (prefers-color-scheme: dark) {+    background-color: @dark_foreground;+    color: @dark_background;+  } }  .badge.badge--package {   background-color: @link;   letter-spacing: -0.1em;++  @media (prefers-color-scheme: dark) {+    background-color: @dark_link;+  } }  .badge.badge--module {@@ -473,11 +553,19 @@ .decl__anchor, .decl__anchor:visited {   position: absolute;   left: -0.8em;-  color: lighten(@light_glyph, 10%);+  color: lighten(@dim_glyph, 10%);++  @media (prefers-color-scheme: dark) {+    color: darken(@dark_dim_glyph, 10%);+  } }  .decl__anchor:hover {   color: @link;++  @media (prefers-color-scheme: dark) {+    color: @dark_link;+  } }  .decl__signature {@@ -486,6 +574,11 @@   border-top: 1px solid darken(@background, 20%);   border-bottom: 1px solid darken(@background, 20%);   padding: 0;++  @media (prefers-color-scheme: dark) {+    border-top-color: lighten(@dark_background, 20%);+    border-bottom-color: lighten(@dark_background, 20%);+  } }  .decl__signature code {@@ -524,6 +617,10 @@  .decl__kind {   border-bottom: 1px solid darken(@background, 20%);++  @media (prefers-color-scheme: dark) {+    border-bottom-color: lighten(@dark_background, 20%);+  } }  :target .decl__signature,@@ -534,7 +631,11 @@  .decl__body .keyword, .decl__body .syntax {-  color: #0B71B4;+  color: @keyword;++  @media (prefers-color-scheme: dark) {+    color: @dark_keyword;+  } }  .decl__child_comments {@@ -553,10 +654,14 @@ }  .deplink__version {-  color: @light_type;+  color: @dim_type;   display: inline-block;   font-size: 0.8em;   line-height: 1;++  @media (prefers-color-scheme: dark) {+    color: @dark_dim_type;+  } }  @@ -566,15 +671,23 @@ .grouped-list {   border-top: 1px solid darken(@background, 20%);   margin: 0 0 2.44em 0;++  @media (prefers-color-scheme: dark) {+    border-top-color: lighten(@dark_background, 20%);+  } }  .grouped-list__title {-  color: @light_type;+  color: @dim_type;   font-size: 0.8em;   font-weight: 300;   letter-spacing: 1px;   margin: 0.8em 0 -0.1em 0;   text-transform: uppercase;++  @media (prefers-color-scheme: dark) {+    border-top-color: @dark_dim_type;+  } }  .grouped-list__item {@@ -594,11 +707,21 @@ .message.message--error {   background-color: @error_background;   border-color: @error_border;++  @media (prefers-color-scheme: dark) {+    background-color: @dark_error_background;+    border-color: @dark_error_border;+  } }  .message.message--not-available {   background-color: @not_available_background;   border-color: darken(@not_available_background, 20%);++  @media (prefers-color-scheme: dark) {+    background-color: @dark_not_available_background;+    border-color: lighten(@dark_not_available_background, 20%);+  } }  @@ -655,13 +778,17 @@  .page-title__label {   position: relative;-  color: @light_type;+  color: @dim_type;   font-size: 0.8rem;   font-weight: 300;   letter-spacing: 1px;   margin-bottom: -0.8em;   text-transform: uppercase;   z-index: 1;++  @media (prefers-color-scheme: dark) {+    color: @dark_dim_type;+  } }  @@ -670,18 +797,27 @@  .top-banner {   background-color: @banner_background;-  color: @dark_foreground;+  color: @dim_foreground;   font-weight: normal;++  @media (prefers-color-scheme: dark) {+    background-color: @dark_banner_background;+    color: @dark_dim_foreground;+  } }  .top-banner__logo, .top-banner__logo:visited {   float: left;-  color: @dark_foreground;+  color: @dim_foreground;   font-size: 2.44em;   font-weight: 300;   line-height: 90px;   margin: 0;++  @media (prefers-color-scheme: dark) {+    color: @dark_dim_foreground;+  } }  .top-banner__logo:hover {@@ -696,11 +832,18 @@ .top-banner__form input {   border: 1px solid @banner_background;   border-radius: 3px;+  background-color: @background;   color: @banner_background;   font-weight: 300;   line-height: 2;   padding: 0.21em 0.512em;   width: 100%;++  @media (prefers-color-scheme: dark) {+    border-color: @dark_banner_background;+    background-color: @dark_background;+    color: @dark_foreground;+  } }  .top-banner__actions {@@ -721,11 +864,19 @@  .top-banner__actions__item a, .top-banner__actions__item a:visited {-  color: @dark_foreground;+  color: @dim_foreground;++  @media (prefers-color-scheme: dark) {+    color: @dark_dim_foreground;+  } }  .top-banner__actions__item a:hover {   color: @link;++  @media (prefers-color-scheme: dark) {+    color: @dark_link;+  } }  @media (min-width: 38em) {@@ -780,6 +931,11 @@   border-top: 1px solid darken(@background, 20%);   border-bottom: 1px solid darken(@background, 20%);   padding: 0.328em 0;++  @media (prefers-color-scheme: dark) {+    border-top-color: lighten(@dark_background, 20%);+    border-bottom-color: lighten(@dark_background, 20%);+  } }  .result__signature code {@@ -864,6 +1020,10 @@   padding: 0 1em;   color: #777;   border-left: 0.25em solid #ddd;++  @media (prefers-color-scheme: dark) {+    border-left-color: #444;+  } }  .markdown-body blockquote>:first-child {@@ -882,6 +1042,10 @@ .markdown-body .pl-k {   /* Keyword */   color: #a0a0a0;++  @media (prefers-color-scheme: dark) {+    color: #676767;+  } }  .markdown-body .pl-c1,
purescript.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.4 name:               purescript-version:            0.15.7+version:            0.15.8 license:            BSD-3-Clause license-file:       LICENSE copyright:@@ -552,7 +552,7 @@         witherable >=0.4.2 && <0.5,         purescript,         generic-random >=1.5.0.1 && <1.6,-        hspec ==2.9.2,+        hspec >=2.10.7 && <3,         HUnit >=1.6.2.0 && <1.7,         newtype >=0.2.2.0 && <0.3,         QuickCheck >=2.14.2 && <2.15,
src/Language/PureScript/AST/Declarations.hs view
@@ -66,6 +66,7 @@   | ErrorInModule ModuleName   | ErrorInInstance (Qualified (ProperName 'ClassName)) [SourceType]   | ErrorInSubsumption SourceType SourceType+  | ErrorInRowLabel Label   | ErrorCheckingAccessor Expr PSString   | ErrorCheckingType Expr SourceType   | ErrorCheckingKind SourceType SourceType
src/Language/PureScript/AST/Utils.hs view
@@ -39,11 +39,21 @@ unguarded :: Expr -> [GuardedExpr] unguarded e = [MkUnguarded e] -unwrapTypeConstructor :: SourceType -> Maybe (Qualified (ProperName 'TypeName), [SourceType], [SourceType])+data UnwrappedTypeConstructor = UnwrappedTypeConstructor+  { utcModuleName :: ModuleName+  , utcTyCon :: ProperName 'TypeName+  , utcKindArgs :: [SourceType]+  , utcArgs :: [SourceType]+  }++utcQTyCon :: UnwrappedTypeConstructor -> Qualified (ProperName 'TypeName)+utcQTyCon UnwrappedTypeConstructor{..} = Qualified (ByModuleName utcModuleName) utcTyCon++unwrapTypeConstructor :: SourceType -> Maybe UnwrappedTypeConstructor unwrapTypeConstructor = go [] []   where   go kargs args = \case-    TypeConstructor _ tyCon -> Just (tyCon, kargs, args)+    TypeConstructor _ (Qualified (ByModuleName mn) tyCon) -> Just (UnwrappedTypeConstructor mn tyCon kargs args)     TypeApp _ ty arg -> go kargs (arg : args) ty     KindApp _ ty karg -> go (karg : kargs) args ty     _ -> Nothing
src/Language/PureScript/Errors.hs view
@@ -1433,6 +1433,12 @@                                                    , markCodeBox $ typeAsBox prettyDepth t2                                                    ]             ]+    renderHint (ErrorInRowLabel lb) detail =+      paras [ detail+            , Box.hsep 1 Box.top [ line "while matching label"+                                 , markCodeBox $ line $ prettyPrintObjectKey (runLabel lb)+                                 ]+            ]     renderHint (ErrorInInstance nm ts) detail =       paras [ detail             , line "in type class instance"
src/Language/PureScript/Sugar/BindingGroups.hs view
@@ -9,7 +9,7 @@   ) where  import Prelude-import Protolude (ordNub)+import Protolude (ordNub, swap)  import Control.Monad ((<=<), guard) import Control.Monad.Error.Class (MonadError(..))@@ -21,6 +21,7 @@ import Data.Functor (($>)) import Data.Maybe (isJust, mapMaybe) import qualified Data.List.NonEmpty as NEL+import qualified Data.Map as M import qualified Data.Set as S  import Language.PureScript.AST@@ -103,9 +104,24 @@           in (d, (name, vty), self ++ deps)         dataVerts = fmap mkVert allDecls     dataBindingGroupDecls <- parU (stronglyConnCompR dataVerts) toDataBindingGroup-    let allIdents = fmap valdeclIdent values-        valueVerts = fmap (\d -> (d, valdeclIdent d, usedIdents moduleName d `intersect` allIdents)) values-    bindingGroupDecls <- parU (stronglyConnComp valueVerts) (toBindingGroup moduleName)+    let+      -- #4437+      --+      -- The idea here is to create a `Graph` whose `key` is a tuple: `(Bool, Ident)`,+      -- where the `Bool` encodes the absence of a type hole. This relies on an implementation+      -- detail for `stronglyConnComp` which allows identifiers with no type holes to "float"+      -- and get checked before those that do, while preserving reverse topological sorting.+      makeValueDeclarationKey = (,) <$> exprHasNoTypeHole . valdeclExpression <*> valdeclIdent+      valueDeclarationKeys = makeValueDeclarationKey <$> values++      valueDeclarationInfo = M.fromList $ swap <$> valueDeclarationKeys+      findDeclarationInfo i = (M.findWithDefault False i valueDeclarationInfo, i)+      computeValueDependencies = (`intersect` valueDeclarationKeys) . fmap findDeclarationInfo . usedIdents moduleName +  +      makeValueDeclarationVert = (,,) <$> id <*> makeValueDeclarationKey <*> computeValueDependencies+      valueDeclarationVerts = makeValueDeclarationVert <$> values++    bindingGroupDecls <- parU (stronglyConnComp valueDeclarationVerts) (toBindingGroup moduleName)     return $ filter isImportDecl ds ++              dataBindingGroupDecls ++              filter isTypeClassInstanceDecl ds ++@@ -115,6 +131,19 @@     where       extractGuardedExpr [MkUnguarded expr] = expr       extractGuardedExpr _ = internalError "Expected Guards to have been desugared in handleDecls."++      exprHasNoTypeHole :: Expr -> Bool+      exprHasNoTypeHole = not . exprHasTypeHole+        where+        exprHasTypeHole :: Expr -> Bool+        (_, exprHasTypeHole, _, _, _) = everythingOnValues (||) goDefault goExpr goDefault goDefault goDefault+          where+          goExpr :: Expr -> Bool+          goExpr (Hole _) = True+          goExpr _ = False++          goDefault :: forall a. a -> Bool+          goDefault = const False  -- | -- Collapse all binding groups to individual declarations
src/Language/PureScript/Sugar/TypeClasses/Deriving.hs view
@@ -49,10 +49,10 @@       binaryWildcardClass :: (Declaration -> [SourceType] -> m ([Declaration], SourceType)) -> m Declaration       binaryWildcardClass f = case tys of         [ty1, ty2] -> case unwrapTypeConstructor ty1 of-          Just (Qualified (ByModuleName mn') tyCon, _, args) | mn == mn' -> do-            checkIsWildcard ss tyCon ty2-            tyConDecl <- findTypeDecl ss tyCon ds-            (members, ty2') <- f tyConDecl args+          Just UnwrappedTypeConstructor{..} | mn == utcModuleName -> do+            checkIsWildcard ss utcTyCon ty2+            tyConDecl <- findTypeDecl ss utcTyCon ds+            (members, ty2') <- f tyConDecl utcArgs             pure $ TypeInstanceDeclaration sa na ch idx nm deps className [ty1, ty2'] (ExplicitInstance members)           _ -> throwError . errorMessage' ss $ ExpectedTypeConstructor className tys ty1         _ -> throwError . errorMessage' ss $ InvalidDerivedInstance className tys 2
src/Language/PureScript/TypeChecker/Deriving.hs view
@@ -42,7 +42,7 @@ -- we just match the newtype name. extractNewtypeName :: ModuleName -> [SourceType] -> Maybe (ModuleName, ProperName 'TypeName) extractNewtypeName mn-  = fmap (\(n, _, _) -> qualify mn n)+  = fmap (qualify mn . utcQTyCon)   . (unwrapTypeConstructor <=< lastMay)  deriveInstance@@ -58,7 +58,8 @@ deriveInstance instType className strategy = do   mn <- unsafeCheckCurrentModule   env <- getEnv-  (fmap coerceProperName -> ctorName, _, tys) <- maybe (internalCompilerError "invalid instance type") pure $ unwrapTypeConstructor instType+  instUtc@UnwrappedTypeConstructor{ utcArgs = tys } <- maybe (internalCompilerError "invalid instance type") pure $ unwrapTypeConstructor instType+  let ctorName = coerceProperName <$> utcQTyCon instUtc    TypeClassData{..} <-     note (errorMessage . UnknownName $ fmap TyClassName className) $@@ -66,15 +67,15 @@    case strategy of     KnownClassStrategy -> let-      unaryClass :: (ModuleName -> ProperName 'TypeName -> m [(PSString, Expr)]) -> m Expr+      unaryClass :: (UnwrappedTypeConstructor -> m [(PSString, Expr)]) -> m Expr       unaryClass f = case tys of         [ty] -> case unwrapTypeConstructor ty of-          Just (Qualified (ByModuleName mn') tyCon, _, _) | mn == mn' -> do+          Just utc | mn == utcModuleName utc -> do             let superclassesDicts = flip map typeClassSuperclasses $ \(Constraint _ superclass _ suTyArgs _) ->                   let tyArgs = map (replaceAllTypeVars (zip (map fst typeClassArguments) tys)) suTyArgs                   in lam UnusedIdent (DeferredDictionary superclass tyArgs)             let superclasses = map mkString (superClassDictionaryNames typeClassSuperclasses) `zip` superclassesDicts-            App (Constructor nullSourceSpan ctorName) . mkLit . ObjectLiteral . (++ superclasses) <$> f mn tyCon+            App (Constructor nullSourceSpan ctorName) . mkLit . ObjectLiteral . (++ superclasses) <$> f utc           _ -> throwError . errorMessage $ ExpectedTypeConstructor className tys ty         _ -> throwError . errorMessage $ InvalidDerivedInstance className tys 1 @@ -86,11 +87,11 @@         Libs.Bitraversable -> unaryClass' $ deriveTraversable True         Libs.Contravariant -> unaryClass' $ deriveFunctor Nothing True Libs.S_cmap         Libs.Eq -> unaryClass deriveEq-        Libs.Eq1 -> unaryClass $ \_ _ -> deriveEq1+        Libs.Eq1 -> unaryClass $ const deriveEq1         Libs.Foldable -> unaryClass' $ deriveFoldable False         Libs.Functor -> unaryClass' $ deriveFunctor Nothing False Libs.S_map         Libs.Ord -> unaryClass deriveOrd-        Libs.Ord1 -> unaryClass $ \_ _ -> deriveOrd1+        Libs.Ord1 -> unaryClass $ const deriveOrd1         Libs.Profunctor -> unaryClass' $ deriveFunctor (Just True) False Libs.S_dimap         Libs.Traversable -> unaryClass' $ deriveTraversable False         -- See L.P.Sugar.TypeClasses.Deriving for the classes that can be@@ -99,9 +100,9 @@      NewtypeStrategy ->       case tys of-        _ : _ | Just (Qualified (ByModuleName mn') tyCon, kargs, args) <- unwrapTypeConstructor (last tys)-              , mn == mn'-              -> deriveNewtypeInstance mn className tys tyCon kargs args+        _ : _ | Just utc <- unwrapTypeConstructor (last tys)+              , mn == utcModuleName utc+              -> deriveNewtypeInstance className tys utc               | otherwise -> throwError . errorMessage $ ExpectedTypeConstructor className tys (last tys)         _ -> throwError . errorMessage $ InvalidNewtypeInstance className tys @@ -110,14 +111,11 @@    . MonadError MultipleErrors m   => MonadState CheckState m   => MonadWriter MultipleErrors m-  => ModuleName-  -> Qualified (ProperName 'ClassName)-  -> [SourceType]-  -> ProperName 'TypeName-  -> [SourceType]+  => Qualified (ProperName 'ClassName)   -> [SourceType]+  -> UnwrappedTypeConstructor   -> m Expr-deriveNewtypeInstance mn className tys tyConNm dkargs dargs = do+deriveNewtypeInstance className tys (UnwrappedTypeConstructor mn tyConNm dkargs dargs) = do     verifySuperclasses     (dtype, tyKindNames, tyArgNames, ctors) <- lookupTypeDecl mn tyConNm     go dtype tyKindNames tyArgNames ctors@@ -190,17 +188,33 @@             $ dicts       in lookIn suModule || lookIn newtypeModule +data TypeInfo = TypeInfo+  { tiTypeParams :: [Text]+  , tiCtors :: [(ProperName 'ConstructorName, [SourceType])]+  , tiArgSubst :: [(Text, SourceType)]+  }++lookupTypeInfo+  :: forall m+   . MonadError MultipleErrors m+  => MonadState CheckState m+  => UnwrappedTypeConstructor+  -> m TypeInfo+lookupTypeInfo UnwrappedTypeConstructor{..} = do+  (_, kindParams, map fst -> tiTypeParams, tiCtors) <- lookupTypeDecl utcModuleName utcTyCon+  let tiArgSubst = zip tiTypeParams utcArgs <> zip kindParams utcKindArgs+  pure TypeInfo{..}+ deriveEq   :: forall m    . MonadError MultipleErrors m   => MonadState CheckState m   => MonadSupply m-  => ModuleName-  -> ProperName 'TypeName+  => UnwrappedTypeConstructor   -> m [(PSString, Expr)]-deriveEq mn tyConNm = do-  (_, _, _, ctors) <- lookupTypeDecl mn tyConNm-  eqFun <- mkEqFunction ctors+deriveEq utc = do+  TypeInfo{..} <- lookupTypeInfo utc+  eqFun <- mkEqFunction tiCtors   pure [(Libs.S_eq, eqFun)]   where     mkEqFunction :: [(ProperName 'ConstructorName, [SourceType])] -> m Expr@@ -233,7 +247,7 @@       let tests = zipWith3 toEqTest (map mkVar identsL) (map mkVar identsR) tys'       return $ CaseAlternative [caseBinder identsL, caseBinder identsR] (unguarded (conjAll tests))       where-      caseBinder idents = mkCtorBinder mn ctorName $ map mkBinder idents+      caseBinder idents = mkCtorBinder (utcModuleName utc) ctorName $ map mkBinder idents      conjAll :: [Expr] -> Expr     conjAll = \case@@ -257,12 +271,11 @@    . MonadError MultipleErrors m   => MonadState CheckState m   => MonadSupply m-  => ModuleName-  -> ProperName 'TypeName+  => UnwrappedTypeConstructor   -> m [(PSString, Expr)]-deriveOrd mn tyConNm = do-  (_, _, _, ctors) <- lookupTypeDecl mn tyConNm-  compareFun <- mkCompareFunction ctors+deriveOrd utc = do+  TypeInfo{..} <- lookupTypeInfo utc+  compareFun <- mkCompareFunction tiCtors   pure [(Libs.S_compare, compareFun)]   where     mkCompareFunction :: [(ProperName 'ConstructorName, [SourceType])] -> m Expr@@ -315,6 +328,7 @@              : extras        where+      mn = utcModuleName utc       caseBinder idents = mkCtorBinder mn ctorName $ map mkBinder idents       nullCaseBinder = mkCtorBinder mn ctorName $ replicate (length tys) NullBinder @@ -426,32 +440,31 @@    . MonadError MultipleErrors m   => MonadState CheckState m   => Qualified (ProperName 'ClassName)-  -> ModuleName-  -> ProperName 'TypeName+  -> UnwrappedTypeConstructor   -> Bool   -> CovariantClasses   -> Maybe (ContravarianceSupport c)   -> m [(ProperName 'ConstructorName, [Maybe (ParamUsage c)])]-validateParamsInTypeConstructors derivingClass mn tyConNm isBi CovariantClasses{..} contravarianceSupport = do-  (_, _, tyArgNames, ctors) <- lookupTypeDecl mn tyConNm+validateParamsInTypeConstructors derivingClass utc isBi CovariantClasses{..} contravarianceSupport = do+  TypeInfo{..} <- lookupTypeInfo utc   (mbLParam, param) <- liftEither . first (errorMessage . flip KindsDoNotUnify kindType . (kindType -:>)) $-    case (isBi, reverse $ map fst tyArgNames) of+    case (isBi, reverse tiTypeParams) of       (False, x : _)    -> Right (Nothing, x)       (False, _)        -> Left kindType       (True, y : x : _) -> Right (Just x, y)       (True, _ : _)     -> Left kindType       (True, _)         -> Left $ kindType -:> kindType-  ctors' <- traverse (traverse $ traverse replaceAllTypeSynonyms) ctors+  ctors <- traverse (traverse $ traverse replaceAllTypeSynonyms) tiCtors   tcds <- getTypeClassDictionaries-  let (ctorUsages, problemSpans) = runWriter $ traverse (traverse . traverse $ typeToUsageOf tcds (maybe That These mbLParam param) False) ctors'+  let (ctorUsages, problemSpans) = runWriter $ traverse (traverse . traverse $ typeToUsageOf tcds tiArgSubst (maybe That These mbLParam param) False) ctors   let relatedClasses = [monoClass, biClass] ++ ([contraClass, proClass] <*> (contravariantClasses <$> toList contravarianceSupport))   for_ (nonEmpty $ ordNub problemSpans) $ \sss ->     throwError . addHint (RelatedPositions sss) . errorMessage $ CannotDeriveInvalidConstructorArg derivingClass relatedClasses (isJust contravarianceSupport)   pure ctorUsages    where-  typeToUsageOf :: InstanceContext -> These Text Text -> Bool -> SourceType -> Writer [SourceSpan] (Maybe (ParamUsage c))-  typeToUsageOf tcds = fix $ \go params isNegative -> let+  typeToUsageOf :: InstanceContext -> [(Text, SourceType)] -> These Text Text -> Bool -> SourceType -> Writer [SourceSpan] (Maybe (ParamUsage c))+  typeToUsageOf tcds subst = fix $ \go params isNegative -> let     goCo = go params isNegative     goContra = go params $ not isNegative @@ -482,6 +495,9 @@       | otherwise         = assertNoParamUsedIn tyArg $> Nothing +    headOfTypeWithSubst :: SourceType -> Qualified (Either Text (ProperName 'TypeName))+    headOfTypeWithSubst = headOfType . replaceAllTypeVars subst+     in \case       ForAll _ name _ ty _ ->         fmap join . traverse (\params' -> go params' isNegative ty) $ filterThese (/= name) params@@ -494,10 +510,10 @@           fmap (lbl, ) <$> goCo ty        TypeApp _ (TypeApp _ tyFn tyLArg) tyArg ->-        assertNoParamUsedIn tyFn *> tryBiClasses (headOfType tyFn) tyLArg tyArg+        assertNoParamUsedIn tyFn *> tryBiClasses (headOfTypeWithSubst tyFn) tyLArg tyArg        TypeApp _ tyFn tyArg ->-        assertNoParamUsedIn tyFn *> tryMonoClasses (headOfType tyFn) tyArg+        assertNoParamUsedIn tyFn *> tryMonoClasses (headOfTypeWithSubst tyFn) tyArg        TypeVar (ss, _) name -> mergeTheseWith (checkName lparamIsContra IsLParam) (checkName paramIsContra IsParam) (liftA2 (<|>)) params         where@@ -636,17 +652,16 @@   -> Bool -- is the (right) parameter contravariant?   -> PSString -- name of the map function for this functor type   -> Qualified (ProperName 'ClassName)-  -> ModuleName-  -> ProperName 'TypeName+  -> UnwrappedTypeConstructor   -> m [(PSString, Expr)]-deriveFunctor mbLParamIsContravariant paramIsContravariant mapName nm mn tyConNm = do-  ctors <- validateParamsInTypeConstructors nm mn tyConNm isBi functorClasses $ Just $ ContravarianceSupport+deriveFunctor mbLParamIsContravariant paramIsContravariant mapName nm utc = do+  ctors <- validateParamsInTypeConstructors nm utc isBi functorClasses $ Just $ ContravarianceSupport     { contravarianceWitness = ()     , paramIsContravariant     , lparamIsContravariant = or mbLParamIsContravariant     , contravariantClasses     }-  mapFun <- mkTraversal mn isBi mapExprs (const cmapExprs) (TraversalOps identity identity) ctors+  mapFun <- mkTraversal (utcModuleName utc) isBi mapExprs (const cmapExprs) (TraversalOps identity identity) ctors   pure [(mapName, mapFun)]   where   isBi = isJust mbLParamIsContravariant@@ -681,11 +696,10 @@   => MonadSupply m   => Bool -- is there a left parameter (are we deriving Bifoldable)?   -> Qualified (ProperName 'ClassName)-  -> ModuleName-  -> ProperName 'TypeName+  -> UnwrappedTypeConstructor   -> m [(PSString, Expr)]-deriveFoldable isBi nm mn tyConNm = do-  ctors <- validateParamsInTypeConstructors nm mn tyConNm isBi foldableClasses Nothing+deriveFoldable isBi nm utc = do+  ctors <- validateParamsInTypeConstructors nm utc isBi foldableClasses Nothing   foldlFun <- mkAsymmetricFoldFunction False foldlExprs ctors   foldrFun <- mkAsymmetricFoldFunction True foldrExprs ctors   foldMapFun <- mkTraversal mn isBi foldMapExprs absurd foldMapOps ctors@@ -695,6 +709,7 @@     , (if isBi then Libs.S_bifoldMap else Libs.S_foldMap, foldMapFun)     ]   where+  mn = utcModuleName utc   foldableClasses = CovariantClasses Libs.Foldable Libs.Bifoldable   foldlExprs = TraversalExprs     { recurseVar = mkRef Libs.I_foldl@@ -778,12 +793,11 @@   => MonadSupply m   => Bool -- is there a left parameter (are we deriving Bitraversable)?   -> Qualified (ProperName 'ClassName)-  -> ModuleName-  -> ProperName 'TypeName+  -> UnwrappedTypeConstructor   -> m [(PSString, Expr)]-deriveTraversable isBi nm mn tyConNm = do-  ctors <- validateParamsInTypeConstructors nm mn tyConNm isBi traversableClasses Nothing-  traverseFun <- mkTraversal mn isBi traverseExprs absurd traverseOps ctors+deriveTraversable isBi nm utc = do+  ctors <- validateParamsInTypeConstructors nm utc isBi traversableClasses Nothing+  traverseFun <- mkTraversal (utcModuleName utc) isBi traverseExprs absurd traverseOps ctors   sequenceFun <- usingLamIdent $ pure . App (App (if isBi then App bitraverseVar identityVar else traverseVar) identityVar)   pure     [ (if isBi then Libs.S_bitraverse else Libs.S_traverse, traverseFun)
src/Language/PureScript/TypeChecker/Entailment.hs view
@@ -751,7 +751,7 @@     typeHeadsAreEqual r1@RCons{} r2@RCons{} =         foldr both (uncurry go rest) common       where-        (common, rest) = alignRowsWith typeHeadsAreEqual r1 r2+        (common, rest) = alignRowsWith (const typeHeadsAreEqual) r1 r2          go :: ([RowListItem a], Type a) -> ([RowListItem a], Type a) -> (Matched (), Matching [Type a])         go (l,  KindedType _ t1 _) (r,  t2)                            = go (l, t1) (r, t2)@@ -796,7 +796,7 @@       typesAreEqual (KindApp _ h1 t1)      (KindApp _ h2 t2)      = typesAreEqual h1 h2 <> typesAreEqual t1 t2       typesAreEqual (REmpty _)             (REmpty _)             = Match ()       typesAreEqual r1                     r2                     | isRCons r1 || isRCons r2 =-          let (common, rest) = alignRowsWith typesAreEqual r1 r2+          let (common, rest) = alignRowsWith (const typesAreEqual) r1 r2           in fold common <> uncurry go rest         where           go :: ([RowListItem a], Type a) -> ([RowListItem a], Type a) -> Matched ()
src/Language/PureScript/TypeChecker/Entailment/Coercible.hs view
@@ -584,7 +584,7 @@   -> MaybeT m Canonicalized canonRow a b   | RCons{} <- a =-      case alignRowsWith (,) a b of+      case alignRowsWith (const (,)) a b of         -- We throw early when a bare unknown remains on either side after         -- aligning the rows because we don't know how to canonicalize them yet         -- and the unification error thrown when the rows are misaligned should
src/Language/PureScript/TypeChecker/Kinds.hs view
@@ -419,6 +419,7 @@   -> m () unifyKindsWithFailure onFailure = go   where+  goWithLabel l t1 t2 = withErrorMessageHint (ErrorInRowLabel l) $ go t1 t2   go = curry $ \case     (TypeApp _ p1 p2, TypeApp _ p3 p4) -> do       go p1 p3@@ -444,7 +445,7 @@       onFailure w1 w2    unifyRows r1 r2 = do-    let (matches, rest) = alignRowsWith go r1 r2+    let (matches, rest) = alignRowsWith goWithLabel r1 r2     sequence_ matches     unifyTails rest 
src/Language/PureScript/TypeChecker/Subsumption.hs view
@@ -103,7 +103,8 @@   let addDicts val = App val (TypeClassDictionary con dicts hints)   return (elaborate . addDicts) subsumes' mode (TypeApp _ f1 r1) (TypeApp _ f2 r2) | eqType f1 tyRecord && eqType f2 tyRecord = do-    let (common, ((ts1', r1'), (ts2', r2'))) = alignRowsWith (subsumes' SNoElaborate) r1 r2+    let goWithLabel l t1 t2 = withErrorMessageHint (ErrorInRowLabel l) $ subsumes' SNoElaborate t1 t2+    let (common, ((ts1', r1'), (ts2', r2'))) = alignRowsWith goWithLabel r1 r2     -- For { ts1 | r1 } to subsume { ts2 | r2 } when r1 is empty (= we're working with a closed row),     -- every property in ts2 must appear in ts1. If not, then the candidate expression is missing a required property.     -- Conversely, when r2 is empty, every property in ts1 must appear in ts2, or else the expression has@@ -114,6 +115,7 @@       (for_ (firstMissingProp ts1' ts2') (throwError . errorMessage . AdditionalProperty . rowListLabel))     -- Check subsumption for common labels     sequence_ common+    -- Inject the info here     unifyTypes (rowFromList (ts1', r1')) (rowFromList (ts2', r2'))     -- Nothing was elaborated, return the default coercion     return (defaultCoercion mode)
src/Language/PureScript/TypeChecker/Unify.hs view
@@ -162,7 +162,9 @@ -- trailing row unification variable, if appropriate. unifyRows :: forall m. (MonadError MultipleErrors m, MonadState CheckState m) => SourceType -> SourceType -> m () unifyRows r1 r2 = sequence_ matches *> uncurry unifyTails rest where-  (matches, rest) = alignRowsWith unifyTypes r1 r2+  unifyTypesWithLabel l t1 t2 = withErrorMessageHint (ErrorInRowLabel l) $ unifyTypes t1 t2++  (matches, rest) = alignRowsWith unifyTypesWithLabel r1 r2    unifyTails :: ([RowListItem SourceAnn], SourceType) -> ([RowListItem SourceAnn], SourceType) -> m ()   unifyTails ([], TUnknown _ u)    (sd, r)               = solveType u (rowFromList (sd, r))
src/Language/PureScript/Types.hs view
@@ -443,7 +443,7 @@ -- -- Note: importantly, we preserve the order of the types with a given label. alignRowsWith-  :: (Type a -> Type a -> r)+  :: (Label -> Type a -> Type a -> r)   -> Type a   -> Type a   -> ([r], (([RowListItem a], Type a), ([RowListItem a], Type a)))@@ -453,10 +453,11 @@    go [] r = ([], (([], tail1), (r, tail2)))   go r [] = ([], ((r, tail1), ([], tail2)))-  go lhs@(RowListItem a1 l1 t1 : r1) rhs@(RowListItem a2 l2 t2 : r2)-    | l1 < l2 = (second . first . first) (RowListItem a1 l1 t1 :) (go r1 rhs)-    | l2 < l1 = (second . second . first) (RowListItem a2 l2 t2 :) (go lhs r2)-    | otherwise = first (f t1 t2 :) (go r1 r2)+  go lhs@(RowListItem a1 l1 t1 : r1) rhs@(RowListItem a2 l2 t2 : r2) = +    case compare l1 l2 of+      LT -> (second . first . first) (RowListItem a1 l1 t1 :) (go r1 rhs)+      GT -> (second . second . first) (RowListItem a2 l2 t2 :) (go lhs r2)+      EQ -> first (f l1 t1 t2 :) (go r1 r2)  -- | Check whether a type is a monotype isMonoType :: Type a -> Bool
stack.yaml view
@@ -1,6 +1,6 @@ # Please update Haskell image versions under .github/workflows/ci.yml together to use the same GHC version # (or the CI build will fail)-resolver: nightly-2022-11-12+resolver: lts-20.9 pvp-bounds: both packages: - '.'@@ -18,15 +18,15 @@ - process-1.6.13.1 # The Cabal library is not in Stackage - Cabal-3.6.3.0-# Protolude is not yet in resolver snapshot-- protolude-0.3.1-# hspec@2.9.3 is the first version that starts depending on ghc+# hspec versions 2.9.3 to 2.10.6 depend on ghc # ghc depends on terminfo by default, but that can be ignored # if one uses the '-terminfo' flag. # Unfortunately, hspec doesn't expose a similar flag.-- hspec-2.9.2-- hspec-core-2.9.2-- hspec-discover-2.9.2+#+# Using hspec >= 2.10.7 addresses this.+- hspec-2.10.9+- hspec-core-2.10.9+- hspec-discover-2.10.9 nix:   packages:   - zlib
+ tests/purs/failing/4408Acyclic.out view
@@ -0,0 +1,22 @@+Error found:+in module [33mMain[0m+at tests/purs/failing/4408Acyclic.purs:16:9 - 16:14 (line 16, column 9 - line 16, column 14)++  Hole '[33mhelp[0m' has the inferred type+  [33m          [0m+  [33m  Int -> K[0m+  [33m          [0m+  You could substitute the hole with one of these values:+  [33m                                                                    [0m+  [33m  Main.aRinku                 :: Int -> K                           [0m+  [33m  Main.cMuni                  :: Int -> K                           [0m+  [33m  Safe.Coerce.coerce          :: forall a b. Coercible a b => a -> b[0m+  [33m  Unsafe.Coerce.unsafeCoerce  :: forall a b. a -> b                 [0m+  [33m  Main.K                      :: Int -> K                           [0m+  [33m                                                                    [0m++in value declaration [33mbMaho[0m++See https://github.com/purescript/documentation/blob/master/errors/HoleInferredType.md for more information,+or to contribute content related to this error.+
+ tests/purs/failing/4408Acyclic.purs view
@@ -0,0 +1,22 @@+-- @shouldFailWith HoleInferredType+module Main where++-- Expected:+--+-- aRinku+cMuni -> bMaho -> dRei+--+-- Both aRinku and cMuni is suggested++newtype K = K Int++aRinku :: Int -> K+aRinku = K++bMaho :: K+bMaho = ?help 0++cMuni :: Int -> K+cMuni = K++dRei :: Int -> K+dRei _ = bMaho
+ tests/purs/failing/4408AcyclicRecursive.out view
@@ -0,0 +1,23 @@+Error found:+in module [33mMain[0m+at tests/purs/failing/4408AcyclicRecursive.purs:17:11 - 17:16 (line 17, column 11 - line 17, column 16)++  Hole '[33mhelp[0m' has the inferred type+  [33m          [0m+  [33m  Int -> K[0m+  [33m          [0m+  You could substitute the hole with one of these values:+  [33m                                                                    [0m+  [33m  Main.aRinku                 :: Int -> K                           [0m+  [33m  Main.bMaho                  :: Int -> K                           [0m+  [33m  Main.cMuni                  :: Int -> K                           [0m+  [33m  Safe.Coerce.coerce          :: forall a b. Coercible a b => a -> b[0m+  [33m  Unsafe.Coerce.unsafeCoerce  :: forall a b. a -> b                 [0m+  [33m  Main.K                      :: Int -> K                           [0m+  [33m                                                                    [0m++in value declaration [33mbMaho[0m++See https://github.com/purescript/documentation/blob/master/errors/HoleInferredType.md for more information,+or to contribute content related to this error.+
+ tests/purs/failing/4408AcyclicRecursive.purs view
@@ -0,0 +1,23 @@+-- @shouldFailWith HoleInferredType+module Main where++-- Expected:+--+-- aRinku+cMuni -> bMaho -> dRei+--+-- aRinku, cMuni, and bMaho are all suggested.+-- bMaho can be aware of itself during checking.++newtype K = K Int++aRinku :: Int -> K+aRinku = K++bMaho :: Int -> K+bMaho _ = ?help 0++cMuni :: Int -> K+cMuni = K++dRei :: Int -> K+dRei _ = bMaho
+ tests/purs/failing/4408Cyclic.out view
@@ -0,0 +1,31 @@+Error found:+in module [33mMain[0m+at tests/purs/failing/4408Cyclic.purs:23:29 - 23:34 (line 23, column 29 - line 23, column 34)++  Hole '[33mhelp[0m' has the inferred type+  [33m          [0m+  [33m  Int -> K[0m+  [33m          [0m+  You could substitute the hole with one of these values:+  [33m                                                                    [0m+  [33m  Main.aSaki                  :: Int -> K                           [0m+  [33m  Main.bNoa                   :: forall a. a -> K                   [0m+  [33m  Main.cTowa                  :: forall a. a -> K                   [0m+  [33m  Main.eSaki                  :: Int -> K                           [0m+  [33m  Safe.Coerce.coerce          :: forall a b. Coercible a b => a -> b[0m+  [33m  Unsafe.Coerce.unsafeCoerce  :: forall a b. a -> b                 [0m+  [33m  Main.K                      :: Int -> K                           [0m+  [33m                                                                    [0m+  in the following context:++    a :: [33ma0[0m+++in binding group cTowa, bNoa++where [33ma0[0m is a rigid type variable+        bound at (line 0, column 0 - line 0, column 0)++See https://github.com/purescript/documentation/blob/master/errors/HoleInferredType.md for more information,+or to contribute content related to this error.+
+ tests/purs/failing/4408Cyclic.purs view
@@ -0,0 +1,29 @@+-- @shouldFailWith HoleInferredType+module Main where++-- Expected:+--+-- aSaki/eSaki -> bNoa~cTowa -> dIbuki+--+-- Only aSaki/eSaki, bNoa, and cTowa is suggested.+--+-- The mutual recursion between bNoa and cTowa+-- ensures they exist "at the same time". dIbuki+-- depends on cTowa, so it's checked much later.++newtype K = K Int++aSaki :: Int -> K+aSaki = K++bNoa :: forall a. a -> K+bNoa a = let _ = cTowa a in K 0++cTowa :: forall a. a -> K+cTowa a = let _ = bNoa a in ?help 0++dIbuki :: Int -> K+dIbuki = bNoa++eSaki :: Int -> K+eSaki = K
+ tests/purs/failing/4408CyclicTail.out view
@@ -0,0 +1,26 @@+Error found:+in module [33mMain[0m+at tests/purs/failing/4408CyclicTail.purs:22:11 - 22:16 (line 22, column 11 - line 22, column 16)++  Hole '[33mhelp[0m' has the inferred type+  [33m          [0m+  [33m  Int -> K[0m+  [33m          [0m+  You could substitute the hole with one of these values:+  [33m                                                                    [0m+  [33m  Main.aKyoko                 :: Int -> K                           [0m+  [33m  Main.bShinobu               :: forall a. a -> K                   [0m+  [33m  Main.cEsora                 :: forall a. a -> K                   [0m+  [33m  Main.dYuka                  :: Int -> K                           [0m+  [33m  Main.eShinobu               :: forall a. a -> K                   [0m+  [33m  Main.fEsora                 :: forall a. a -> K                   [0m+  [33m  Safe.Coerce.coerce          :: forall a b. Coercible a b => a -> b[0m+  [33m  Unsafe.Coerce.unsafeCoerce  :: forall a b. a -> b                 [0m+  [33m  Main.K                      :: Int -> K                           [0m+  [33m                                                                    [0m++in value declaration [33mdYuka[0m++See https://github.com/purescript/documentation/blob/master/errors/HoleInferredType.md for more information,+or to contribute content related to this error.+
+ tests/purs/failing/4408CyclicTail.purs view
@@ -0,0 +1,28 @@+-- @shouldFailWith HoleInferredType+module Main where++-- Expected:+--+-- aKyoko -> bShinobu~cEsora/eShinobu~fEsora -> dYuka+--+-- All are suggested, as dYuka is also recursive.++newtype K = K Int++aKyoko :: Int -> K+aKyoko = K++bShinobu :: forall a. a -> K+bShinobu a = let _ = cEsora a in K 0++cEsora :: forall a. a -> K+cEsora a = let _ = bShinobu a in K 0++dYuka :: Int -> K+dYuka _ = ?help 0++eShinobu :: forall a. a -> K+eShinobu a = let _ = fEsora a in K 0++fEsora :: forall a. a -> K+fEsora a = let _ = eShinobu a in K 0
+ tests/purs/failing/4408CyclicTriple.out view
@@ -0,0 +1,32 @@+Error found:+in module [33mMain[0m+at tests/purs/failing/4408CyclicTriple.purs:22:33 - 22:38 (line 22, column 33 - line 22, column 38)++  Hole '[33mhelp[0m' has the inferred type+  [33m          [0m+  [33m  Int -> K[0m+  [33m          [0m+  You could substitute the hole with one of these values:+  [33m                                                                    [0m+  [33m  Main.aHaruna                :: Int -> K                           [0m+  [33m  Main.bMiyu                  :: forall a. a -> K                   [0m+  [33m  Main.cKurumi                :: forall a. a -> K                   [0m+  [33m  Main.dMiiko                 :: forall a. a -> K                   [0m+  [33m  Main.eHaruna                :: Int -> K                           [0m+  [33m  Safe.Coerce.coerce          :: forall a b. Coercible a b => a -> b[0m+  [33m  Unsafe.Coerce.unsafeCoerce  :: forall a b. a -> b                 [0m+  [33m  Main.K                      :: Int -> K                           [0m+  [33m                                                                    [0m+  in the following context:++    a :: [33ma0[0m+++in binding group dMiiko, cKurumi, bMiyu++where [33ma0[0m is a rigid type variable+        bound at (line 0, column 0 - line 0, column 0)++See https://github.com/purescript/documentation/blob/master/errors/HoleInferredType.md for more information,+or to contribute content related to this error.+
+ tests/purs/failing/4408CyclicTriple.purs view
@@ -0,0 +1,25 @@+-- @shouldFailWith HoleInferredType+module Main where++-- Expected:+--+-- aHaruna/eHaruna -> bMiyu~cKurumi~dMiiko+--+-- All are suggested.++newtype K = K Int++aHaruna :: Int -> K+aHaruna = K++bMiyu :: forall a. a -> K+bMiyu a = let _ = dMiiko a in K 0++cKurumi :: forall a. a -> K+cKurumi a = let _ = bMiyu a in K 0++dMiiko :: forall a. a -> K+dMiiko a = let _ = cKurumi a in ?help 0++eHaruna :: Int -> K+eHaruna = K
+ tests/purs/failing/NestedRecordLabelOnTypeError.out view
@@ -0,0 +1,34 @@+Error found:+in module [33mNestedRecordLabelOnTypeError[0m+at tests/purs/failing/NestedRecordLabelOnTypeError.purs:8:9 - 8:15 (line 8, column 9 - line 8, column 15)++  Could not match type+  [33m     [0m+  [33m  Int[0m+  [33m     [0m+  with type+  [33m        [0m+  [33m  String[0m+  [33m        [0m++while matching label [33mc[0m+while matching label [33mb[0m+while matching label [33ma[0m+while checking that type [33m{ a :: { b :: { c :: Int[0m+                         [33m              }         [0m+                         [33m       }                [0m+                         [33m}                       [0m+  is at least as general as type [33m{ a :: { b :: { c :: String[0m+                                 [33m              }            [0m+                                 [33m       }                   [0m+                                 [33m}                          [0m+while checking that expression [33mrecord[0m+  has type [33m{ a :: { b :: { c :: String[0m+           [33m              }            [0m+           [33m       }                   [0m+           [33m}                          [0m+in value declaration [33merror[0m++See https://github.com/purescript/documentation/blob/master/errors/TypesDoNotUnify.md for more information,+or to contribute content related to this error.+
+ tests/purs/failing/NestedRecordLabelOnTypeError.purs view
@@ -0,0 +1,8 @@+-- @shouldFailWith TypesDoNotUnify+module NestedRecordLabelOnTypeError where++record :: { a :: { b :: { c :: Int } } }+record = { a: { b: { c: 1 } } }++error :: { a :: { b :: { c :: String } } }+error = record -- this should trigger an error, telling us there's a mismatch in the field `a > b > c`
+ tests/purs/failing/RecordLabelOnTypeError.out view
@@ -0,0 +1,26 @@+Error found:+in module [33mRecordLabelOnTypeError[0m+at tests/purs/failing/RecordLabelOnTypeError.purs:8:5 - 8:6 (line 8, column 5 - line 8, column 6)++  Could not match type+  [33m     [0m+  [33m  Int[0m+  [33m     [0m+  with type+  [33m        [0m+  [33m  String[0m+  [33m        [0m++while matching label [33mfield[0m+while checking that type [33m{ field :: Int[0m+                         [33m}             [0m+  is at least as general as type [33m{ field :: String[0m+                                 [33m}                [0m+while checking that expression [33ma[0m+  has type [33m{ field :: String[0m+           [33m}                [0m+in value declaration [33mb[0m++See https://github.com/purescript/documentation/blob/master/errors/TypesDoNotUnify.md for more information,+or to contribute content related to this error.+
+ tests/purs/failing/RecordLabelOnTypeError.purs view
@@ -0,0 +1,8 @@+-- @shouldFailWith TypesDoNotUnify+module RecordLabelOnTypeError where++a :: { field :: Int }+a = { field: 1 }++b :: { field :: String }+b = a -- this should trigger an error, telling us the `field` tag where the type discrepancy happened
+ tests/purs/failing/RecordLabelOnTypeErrorImmediate.out view
@@ -0,0 +1,22 @@+Error found:+in module [33mNestedRecordLabelOnTypeError[0m+at tests/purs/failing/RecordLabelOnTypeErrorImmediate.purs:5:15 - 5:18 (line 5, column 15 - line 5, column 18)++  Could not match type+  [33m        [0m+  [33m  String[0m+  [33m        [0m+  with type+  [33m     [0m+  [33m  Int[0m+  [33m     [0m++while checking that type [33mString[0m+  is at least as general as type [33mInt[0m+while checking that expression [33m"a"[0m+  has type [33mInt[0m+in value declaration [33mrecord[0m++See https://github.com/purescript/documentation/blob/master/errors/TypesDoNotUnify.md for more information,+or to contribute content related to this error.+
+ tests/purs/failing/RecordLabelOnTypeErrorImmediate.purs view
@@ -0,0 +1,5 @@+-- @shouldFailWith TypesDoNotUnify+module NestedRecordLabelOnTypeError where++record :: { a :: Int }+record = { a: "a" } -- Triggers an error, but the label is explicitly not added since it caused other errors to be worse. See https://github.com/purescript/purescript/pull/4411 for more information.
+ tests/purs/passing/4431-2.purs view
@@ -0,0 +1,12 @@+module Main where++import Prelude+import Data.Const (Const)+import Effect.Console (log)++data TypedCache :: (Type -> Type) -> Type -> Type+data TypedCache key a = Get (key a)++derive instance Functor (TypedCache (Const k))++main = log "Done"
+ tests/purs/passing/4431.purs view
@@ -0,0 +1,11 @@+module Main where++import Prelude+import Effect.Console (log)++data TypedCache :: (Type -> Type) -> Type -> Type+data TypedCache key a = Get (key a)++derive instance Functor k => Functor (TypedCache k)++main = log "Done"
tests/purs/publish/basic-example/output/Data.Ord/docs.json view
@@ -1,1 +1,1 @@-{"comments":null,"declarations":[{"children":[{"comments":null,"info":{"declType":"typeClassMember","type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Data","Ordering"],"Ordering"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[49,32],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[49,3]},"title":"compare"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[52,36],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[51,1]},"title":"ordBoolean"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[55,32],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[54,1]},"title":"ordInt"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Number"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[58,35],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[57,1]},"title":"ordNumber"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"String"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[61,35],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[60,1]},"title":"ordString"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Char"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[64,33],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[63,1]},"title":"ordChar"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Unit"],"Unit"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[67,19],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[66,1]},"title":"ordUnit"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Void"],"Void"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[70,19],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[69,1]},"title":"ordVoid"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Type","Proxy"],"Proxy"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[73,19],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[72,1]},"title":"ordProxy"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[82,17],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[75,1]},"title":"ordArray"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Ordering"],"Ordering"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[133,20],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[126,1]},"title":"ordOrdering"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"row","tag":"TypeVar"},{"annotation":[],"contents":"list","tag":"TypeVar"}],"constraintClass":[["Prim","RowList"],"RowToList"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"list","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"OrdRecord"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[264,48],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[259,1]},"title":"ordRecord"}],"comments":"The `Ord` type class represents types which support comparisons with a\n_total order_.\n\n`Ord` instances should satisfy the laws of total orderings:\n\n- Reflexivity: `a <= a`\n- Antisymmetry: if `a <= b` and `b <= a` then `a = b`\n- Transitivity: if `a <= b` and `b <= c` then `a <= c`\n\n**Note:** The `Number` type is not an entirely law abiding member of this\nclass due to the presence of `NaN`, since `NaN <= NaN` evaluates to `false`\n","info":{"arguments":[["a",null]],"declType":"typeClass","fundeps":[],"superclasses":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Eq"],"Eq"],"constraintData":null,"constraintKindArgs":[]}]},"kind":null,"sourceSpan":{"end":[49,32],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[48,1]},"title":"Ord"},{"children":[{"comments":null,"info":{"declType":"typeClassMember","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Data","Ordering"],"Ordering"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"sourceSpan":{"end":[232,56],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[232,3]},"title":"compare1"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord1"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[235,21],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[234,1]},"title":"ord1Array"}],"comments":"The `Ord1` type class represents totally ordered type constructors.\n","info":{"arguments":[["f",null]],"declType":"typeClass","fundeps":[],"superclasses":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"f","tag":"TypeVar"}],"constraintClass":[["Data","Eq"],"Eq1"],"constraintData":null,"constraintKindArgs":[]}]},"kind":{"keyword":"class","kind":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Constraint"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[232,56],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[231,1]},"title":"Ord1"},{"children":[],"comments":"Test whether one value is _strictly less than_ another.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[136,49],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[136,1]},"title":"lessThan"},{"children":[],"comments":null,"info":{"alias":[["Data","Ord"],{"Right":{"Left":{"Ident":"lessThan"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":4}},"kind":null,"sourceSpan":{"end":[159,23],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[159,1]},"title":"(<)"},{"children":[],"comments":"Test whether one value is _non-strictly less than_ another.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[148,53],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[148,1]},"title":"lessThanOrEq"},{"children":[],"comments":null,"info":{"alias":[["Data","Ord"],{"Right":{"Left":{"Ident":"lessThanOrEq"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":4}},"kind":null,"sourceSpan":{"end":[160,28],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[160,1]},"title":"(<=)"},{"children":[],"comments":"Test whether one value is _strictly greater than_ another.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[142,52],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[142,1]},"title":"greaterThan"},{"children":[],"comments":null,"info":{"alias":[["Data","Ord"],{"Right":{"Left":{"Ident":"greaterThan"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":4}},"kind":null,"sourceSpan":{"end":[161,26],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[161,1]},"title":"(>)"},{"children":[],"comments":"Test whether one value is _non-strictly greater than_ another.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[154,56],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[154,1]},"title":"greaterThanOrEq"},{"children":[],"comments":null,"info":{"alias":[["Data","Ord"],{"Right":{"Left":{"Ident":"greaterThanOrEq"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":4}},"kind":null,"sourceSpan":{"end":[162,31],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[162,1]},"title":"(>=)"},{"children":[],"comments":"Compares two values by mapping them to a type with an `Ord` instance.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":["b",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"b","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},"tag":"ParensInType"}],"tag":"TypeApp"},{"annotation":[],"contents":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Data","Ordering"],"Ordering"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"tag":"ParensInType"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[165,67],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[165,1]},"title":"comparing"},{"children":[],"comments":"Take the minimum of two values. If they are considered equal, the first\nargument is chosen.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[170,38],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[170,1]},"title":"min"},{"children":[],"comments":"Take the maximum of two values. If they are considered equal, the first\nargument is chosen.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[179,38],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[179,1]},"title":"max"},{"children":[],"comments":"Clamp a value between a minimum and a maximum. For example:\n\n``` purescript\nlet f = clamp 0 10\nf (-5) == 0\nf 5    == 5\nf 15   == 10\n```\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[194,45],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[194,1]},"title":"clamp"},{"children":[],"comments":"Test whether a value is between a minimum and a maximum (inclusive).\nFor example:\n\n``` purescript\nlet f = between 0 10\nf 0    == true\nf (-5) == false\nf 5    == true\nf 10   == true\nf 15   == false\n```\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[208,53],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[208,1]},"title":"between"},{"children":[],"comments":"The absolute value function. `abs x` is defined as `if x >= zero then x\nelse negate x`.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ring"],"Ring"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"ConstrainedType"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[216,43],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[216,1]},"title":"abs"},{"children":[],"comments":"The sign function; returns `one` if the argument is positive,\n`negate one` if the argument is negative, or `zero` if the argument is `zero`.\nFor floating point numbers with signed zeroes, when called with a zero,\nthis function returns the argument in order to preserve the sign.\nFor any `x`, we should have `signum x * abs x == x`.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ring"],"Ring"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"ConstrainedType"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[224,46],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[224,1]},"title":"signum"},{"children":[{"comments":null,"info":{"declType":"typeClassMember","type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Type","Proxy"],"Proxy"],"tag":"TypeConstructor"},{"annotation":[],"contents":"rowlist","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Data","Ordering"],"Ordering"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[239,73],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[239,3]},"title":"compareRecord"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"OrdRecord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim","RowList"],"Nil"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}},"sourceSpan":{"end":[242,27],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[241,1]},"title":"ordRecordNil"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"rowlistTail","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"OrdRecord"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"key","tag":"TypeVar"},{"annotation":[],"contents":"focus","tag":"TypeVar"},{"annotation":[],"contents":"rowTail","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"constraintClass":[["Prim","Row"],"Cons"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"key","tag":"TypeVar"}],"constraintClass":[["Data","Symbol"],"IsSymbol"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"focus","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"OrdRecord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim","RowList"],"Cons"],"tag":"TypeConstructor"},{"annotation":[],"contents":"key","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"focus","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"rowlistTail","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}},"sourceSpan":{"end":[257,57],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[244,1]},"title":"ordRecordCons"}],"comments":null,"info":{"arguments":[["rowlist",null],["row",null]],"declType":"typeClass","fundeps":[],"superclasses":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"rowlist","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"constraintClass":[["Data","Eq"],"EqRecord"],"constraintData":null,"constraintKindArgs":[]}]},"kind":{"keyword":"class","kind":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim","RowList"],"RowList"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Row"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Constraint"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[239,73],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[238,1]},"title":"OrdRecord"}],"name":"Data.Ord","reExports":[]}+{"comments":null,"declarations":[{"children":[{"comments":null,"info":{"declType":"typeClassMember","type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Data","Ordering"],"Ordering"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[49,32],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[49,3]},"title":"compare"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[52,36],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[51,1]},"title":"ordBoolean"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[55,32],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[54,1]},"title":"ordInt"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Number"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[58,35],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[57,1]},"title":"ordNumber"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"String"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[61,35],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[60,1]},"title":"ordString"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Char"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[64,33],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[63,1]},"title":"ordChar"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Unit"],"Unit"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[67,19],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[66,1]},"title":"ordUnit"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Void"],"Void"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[70,19],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[69,1]},"title":"ordVoid"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Type","Proxy"],"Proxy"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[73,19],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[72,1]},"title":"ordProxy"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[82,17],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[75,1]},"title":"ordArray"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Ordering"],"Ordering"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[133,20],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[126,1]},"title":"ordOrdering"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"row","tag":"TypeVar"},{"annotation":[],"contents":"list","tag":"TypeVar"}],"constraintClass":[["Prim","RowList"],"RowToList"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"list","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"OrdRecord"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[264,48],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[259,1]},"title":"ordRecord"}],"comments":"The `Ord` type class represents types which support comparisons with a\n_total order_.\n\n`Ord` instances should satisfy the laws of total orderings:\n\n- Reflexivity: `a <= a`\n- Antisymmetry: if `a <= b` and `b <= a` then `a == b`\n- Transitivity: if `a <= b` and `b <= c` then `a <= c`\n\n**Note:** The `Number` type is not an entirely law abiding member of this\nclass due to the presence of `NaN`, since `NaN <= NaN` evaluates to `false`\n","info":{"arguments":[["a",null]],"declType":"typeClass","fundeps":[],"superclasses":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Eq"],"Eq"],"constraintData":null,"constraintKindArgs":[]}]},"kind":null,"sourceSpan":{"end":[49,32],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[48,1]},"title":"Ord"},{"children":[{"comments":null,"info":{"declType":"typeClassMember","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Data","Ordering"],"Ordering"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"sourceSpan":{"end":[232,56],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[232,3]},"title":"compare1"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"Ord1"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[235,21],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[234,1]},"title":"ord1Array"}],"comments":"The `Ord1` type class represents totally ordered type constructors.\n","info":{"arguments":[["f",null]],"declType":"typeClass","fundeps":[],"superclasses":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"f","tag":"TypeVar"}],"constraintClass":[["Data","Eq"],"Eq1"],"constraintData":null,"constraintKindArgs":[]}]},"kind":{"keyword":"class","kind":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Constraint"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[232,56],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[231,1]},"title":"Ord1"},{"children":[],"comments":"Test whether one value is _strictly less than_ another.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[136,49],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[136,1]},"title":"lessThan"},{"children":[],"comments":null,"info":{"alias":[["Data","Ord"],{"Right":{"Left":{"Ident":"lessThan"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":4}},"kind":null,"sourceSpan":{"end":[159,23],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[159,1]},"title":"(<)"},{"children":[],"comments":"Test whether one value is _non-strictly less than_ another.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[148,53],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[148,1]},"title":"lessThanOrEq"},{"children":[],"comments":null,"info":{"alias":[["Data","Ord"],{"Right":{"Left":{"Ident":"lessThanOrEq"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":4}},"kind":null,"sourceSpan":{"end":[160,28],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[160,1]},"title":"(<=)"},{"children":[],"comments":"Test whether one value is _strictly greater than_ another.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[142,52],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[142,1]},"title":"greaterThan"},{"children":[],"comments":null,"info":{"alias":[["Data","Ord"],{"Right":{"Left":{"Ident":"greaterThan"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":4}},"kind":null,"sourceSpan":{"end":[161,26],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[161,1]},"title":"(>)"},{"children":[],"comments":"Test whether one value is _non-strictly greater than_ another.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[154,56],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[154,1]},"title":"greaterThanOrEq"},{"children":[],"comments":null,"info":{"alias":[["Data","Ord"],{"Right":{"Left":{"Ident":"greaterThanOrEq"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":4}},"kind":null,"sourceSpan":{"end":[162,31],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[162,1]},"title":"(>=)"},{"children":[],"comments":"Compares two values by mapping them to a type with an `Ord` instance.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":["b",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"b","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},"tag":"ParensInType"}],"tag":"TypeApp"},{"annotation":[],"contents":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Data","Ordering"],"Ordering"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"tag":"ParensInType"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[165,67],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[165,1]},"title":"comparing"},{"children":[],"comments":"Take the minimum of two values. If they are considered equal, the first\nargument is chosen.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[170,38],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[170,1]},"title":"min"},{"children":[],"comments":"Take the maximum of two values. If they are considered equal, the first\nargument is chosen.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[179,38],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[179,1]},"title":"max"},{"children":[],"comments":"Clamp a value between a minimum and a maximum. For example:\n\n``` purescript\nlet f = clamp 0 10\nf (-5) == 0\nf 5    == 5\nf 15   == 10\n```\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[194,45],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[194,1]},"title":"clamp"},{"children":[],"comments":"Test whether a value is between a minimum and a maximum (inclusive).\nFor example:\n\n``` purescript\nlet f = between 0 10\nf 0    == true\nf (-5) == false\nf 5    == true\nf 10   == true\nf 15   == false\n```\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[208,53],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[208,1]},"title":"between"},{"children":[],"comments":"The absolute value function. `abs x` is defined as `if x >= zero then x\nelse negate x`.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ring"],"Ring"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"ConstrainedType"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[216,43],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[216,1]},"title":"abs"},{"children":[],"comments":"The sign function; returns `one` if the argument is positive,\n`negate one` if the argument is negative, or `zero` if the argument is `zero`.\nFor floating point numbers with signed zeroes, when called with a zero,\nthis function returns the argument in order to preserve the sign.\nFor any `x`, we should have `signum x * abs x == x`.\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ring"],"Ring"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"ConstrainedType"}],"tag":"ConstrainedType"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[224,46],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[224,1]},"title":"signum"},{"children":[{"comments":null,"info":{"declType":"typeClassMember","type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Type","Proxy"],"Proxy"],"tag":"TypeConstructor"},{"annotation":[],"contents":"rowlist","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Data","Ordering"],"Ordering"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[239,73],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[239,3]},"title":"compareRecord"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"OrdRecord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim","RowList"],"Nil"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}},"sourceSpan":{"end":[242,27],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[241,1]},"title":"ordRecordNil"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"rowlistTail","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"OrdRecord"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"key","tag":"TypeVar"},{"annotation":[],"contents":"focus","tag":"TypeVar"},{"annotation":[],"contents":"rowTail","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"constraintClass":[["Prim","Row"],"Cons"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"key","tag":"TypeVar"}],"constraintClass":[["Data","Symbol"],"IsSymbol"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"focus","tag":"TypeVar"}],"constraintClass":[["Data","Ord"],"Ord"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ord"],"OrdRecord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim","RowList"],"Cons"],"tag":"TypeConstructor"},{"annotation":[],"contents":"key","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"focus","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"rowlistTail","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}},"sourceSpan":{"end":[257,57],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[244,1]},"title":"ordRecordCons"}],"comments":null,"info":{"arguments":[["rowlist",null],["row",null]],"declType":"typeClass","fundeps":[],"superclasses":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"rowlist","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"constraintClass":[["Data","Eq"],"EqRecord"],"constraintData":null,"constraintKindArgs":[]}]},"kind":{"keyword":"class","kind":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim","RowList"],"RowList"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Row"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Constraint"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[239,73],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs","start":[238,1]},"title":"OrdRecord"}],"name":"Data.Ord","reExports":[]}
tests/purs/publish/basic-example/output/Data.Show/docs.json view
@@ -1,1 +1,1 @@-{"comments":null,"declarations":[{"children":[{"comments":null,"info":{"declType":"typeClassMember","type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"String"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[21,22],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[21,3]},"title":"show"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[25,23],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[23,1]},"title":"showBoolean"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[28,21],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[27,1]},"title":"showInt"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Number"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[31,24],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[30,1]},"title":"showNumber"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Char"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[34,22],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[33,1]},"title":"showChar"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"String"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[37,24],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[36,1]},"title":"showString"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Show"],"Show"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[40,28],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[39,1]},"title":"showArray"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Type","Proxy"],"Proxy"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[43,19],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[42,1]},"title":"showProxy"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"rs","tag":"TypeVar"},{"annotation":[],"contents":"rs","tag":"TypeVar"}],"constraintClass":[["Prim","Row"],"Nub"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"rs","tag":"TypeVar"},{"annotation":[],"contents":"ls","tag":"TypeVar"}],"constraintClass":[["Prim","RowList"],"RowToList"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"ls","tag":"TypeVar"},{"annotation":[],"contents":"rs","tag":"TypeVar"}],"constraintClass":[["Data","Show"],"ShowRecordFields"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"rs","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[53,68],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[45,1]},"title":"showRecord"}],"comments":"The `Show` type class represents those types which can be converted into\na human-readable `String` representation.\n\nWhile not required, it is recommended that for any expression `x`, the\nstring `show x` be executable PureScript code which evaluates to the same\nvalue as the expression `x`.\n","info":{"arguments":[["a",null]],"declType":"typeClass","fundeps":[],"superclasses":[]},"kind":null,"sourceSpan":{"end":[21,22],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[20,1]},"title":"Show"},{"children":[{"comments":null,"info":{"declType":"typeClassMember","type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Type","Proxy"],"Proxy"],"tag":"TypeConstructor"},{"annotation":[],"contents":"rowlist","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"String"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[59,66],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[59,3]},"title":"showRecordFields"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"ShowRecordFields"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim","RowList"],"Nil"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}},"sourceSpan":{"end":[62,28],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[61,1]},"title":"showRecordFieldsNil"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"key","tag":"TypeVar"}],"constraintClass":[["Data","Symbol"],"IsSymbol"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"rowlistTail","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"constraintClass":[["Data","Show"],"ShowRecordFields"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"focus","tag":"TypeVar"}],"constraintClass":[["Data","Show"],"Show"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"ShowRecordFields"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim","RowList"],"Cons"],"tag":"TypeConstructor"},{"annotation":[],"contents":"key","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"focus","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"rowlistTail","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}},"sourceSpan":{"end":[74,64],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[64,1]},"title":"showRecordFieldsCons"}],"comments":"A class for records where all fields have `Show` instances, used to\nimplement the `Show` instance for records.\n","info":{"arguments":[["rowlist",null],["row",null]],"declType":"typeClass","fundeps":[],"superclasses":[]},"kind":{"keyword":"class","kind":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim","RowList"],"RowList"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Row"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Constraint"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[59,66],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[58,1]},"title":"ShowRecordFields"}],"name":"Data.Show","reExports":[]}+{"comments":null,"declarations":[{"children":[{"comments":null,"info":{"declType":"typeClassMember","type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"String"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[24,22],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[24,3]},"title":"show"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Unit"],"Unit"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[27,18],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[26,1]},"title":"showUnit"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[31,23],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[29,1]},"title":"showBoolean"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[34,21],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[33,1]},"title":"showInt"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Number"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[37,24],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[36,1]},"title":"showNumber"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Char"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[40,22],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[39,1]},"title":"showChar"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"String"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[43,24],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[42,1]},"title":"showString"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Show"],"Show"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[46,28],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[45,1]},"title":"showArray"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Type","Proxy"],"Proxy"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[49,19],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[48,1]},"title":"showProxy"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Void"],"Void"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[52,16],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[51,1]},"title":"showVoid"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"rs","tag":"TypeVar"},{"annotation":[],"contents":"rs","tag":"TypeVar"}],"constraintClass":[["Prim","Row"],"Nub"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"rs","tag":"TypeVar"},{"annotation":[],"contents":"ls","tag":"TypeVar"}],"constraintClass":[["Prim","RowList"],"RowToList"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"ls","tag":"TypeVar"},{"annotation":[],"contents":"rs","tag":"TypeVar"}],"constraintClass":[["Data","Show"],"ShowRecordFields"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"rs","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[60,74],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[54,1]},"title":"showRecord"}],"comments":"The `Show` type class represents those types which can be converted into\na human-readable `String` representation.\n\nWhile not required, it is recommended that for any expression `x`, the\nstring `show x` be executable PureScript code which evaluates to the same\nvalue as the expression `x`.\n","info":{"arguments":[["a",null]],"declType":"typeClass","fundeps":[],"superclasses":[]},"kind":null,"sourceSpan":{"end":[24,22],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[23,1]},"title":"Show"},{"children":[{"comments":null,"info":{"declType":"typeClassMember","type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Type","Proxy"],"Proxy"],"tag":"TypeConstructor"},{"annotation":[],"contents":"rowlist","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"String"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[66,60],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[66,3]},"title":"showRecordFields"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"ShowRecordFields"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim","RowList"],"Nil"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}},"sourceSpan":{"end":[69,28],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[68,1]},"title":"showRecordFieldsNil"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"key","tag":"TypeVar"}],"constraintClass":[["Data","Symbol"],"IsSymbol"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"focus","tag":"TypeVar"}],"constraintClass":[["Data","Show"],"Show"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"ShowRecordFields"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim","RowList"],"Cons"],"tag":"TypeConstructor"},{"annotation":[],"contents":"key","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"focus","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim","RowList"],"Nil"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}},"sourceSpan":{"end":[79,42],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[71,1]},"title":"showRecordFieldsConsNil"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"key","tag":"TypeVar"}],"constraintClass":[["Data","Symbol"],"IsSymbol"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"rowlistTail","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"constraintClass":[["Data","Show"],"ShowRecordFields"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"focus","tag":"TypeVar"}],"constraintClass":[["Data","Show"],"Show"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"ShowRecordFields"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim","RowList"],"Cons"],"tag":"TypeConstructor"},{"annotation":[],"contents":"key","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"focus","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"rowlistTail","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}},"sourceSpan":{"end":[91,64],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[81,1]},"title":"showRecordFieldsCons"}],"comments":"A class for records where all fields have `Show` instances, used to\nimplement the `Show` instance for records.\n","info":{"arguments":[["rowlist",null],["row",null]],"declType":"typeClass","fundeps":[],"superclasses":[]},"kind":{"keyword":"class","kind":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim","RowList"],"RowList"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Row"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Constraint"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[66,60],"name":"../../../support/bower_components/purescript-prelude/src/Data/Show.purs","start":[65,1]},"title":"ShowRecordFields"}],"name":"Data.Show","reExports":[]}
tests/purs/publish/basic-example/output/Data.Unit/docs.json view
@@ -1,1 +1,1 @@-{"comments":null,"declarations":[{"children":[{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Unit"],"Unit"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[19,18],"name":"../../../support/bower_components/purescript-prelude/src/Data/Unit.purs","start":[18,1]},"title":"showUnit"}],"comments":"The `Unit` type has a single inhabitant, called `unit`. It represents\nvalues with no computational content.\n\n`Unit` is often used, wrapped in a monadic type constructor, as the\nreturn type of a computation where only the _effects_ are important.\n\nWhen returning a value of type `Unit` from an FFI function, it is\nrecommended to use `undefined`, or not return a value at all.\n","info":{"dataDeclType":"data","declType":"data","roles":[],"typeArguments":[]},"kind":null,"sourceSpan":{"end":[13,33],"name":"../../../support/bower_components/purescript-prelude/src/Data/Unit.purs","start":[13,1]},"title":"Unit"},{"children":[],"comments":"`unit` is the sole inhabitant of the `Unit` type.\n","info":{"declType":"value","type":{"annotation":[],"contents":[["Data","Unit"],"Unit"],"tag":"TypeConstructor"}},"kind":null,"sourceSpan":{"end":[16,28],"name":"../../../support/bower_components/purescript-prelude/src/Data/Unit.purs","start":[16,1]},"title":"unit"}],"name":"Data.Unit","reExports":[]}+{"comments":null,"declarations":[{"children":[],"comments":"The `Unit` type has a single inhabitant, called `unit`. It represents\nvalues with no computational content.\n\n`Unit` is often used, wrapped in a monadic type constructor, as the\nreturn type of a computation where only the _effects_ are important.\n\nWhen returning a value of type `Unit` from an FFI function, it is\nrecommended to use `undefined`, or not return a value at all.\n","info":{"dataDeclType":"data","declType":"data","roles":[],"typeArguments":[]},"kind":null,"sourceSpan":{"end":[11,33],"name":"../../../support/bower_components/purescript-prelude/src/Data/Unit.purs","start":[11,1]},"title":"Unit"},{"children":[],"comments":"`unit` is the sole inhabitant of the `Unit` type.\n","info":{"declType":"value","type":{"annotation":[],"contents":[["Data","Unit"],"Unit"],"tag":"TypeConstructor"}},"kind":null,"sourceSpan":{"end":[14,28],"name":"../../../support/bower_components/purescript-prelude/src/Data/Unit.purs","start":[14,1]},"title":"unit"}],"name":"Data.Unit","reExports":[]}
tests/purs/publish/basic-example/output/Data.Void/docs.json view
@@ -1,1 +1,1 @@-{"comments":null,"declarations":[{"children":[{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Show"],"Show"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Void"],"Void"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[25,16],"name":"../../../support/bower_components/purescript-prelude/src/Data/Void.purs","start":[24,1]},"title":"showVoid"}],"comments":"An uninhabited data type. In other words, one can never create\na runtime value of type `Void` because no such value exists.\n\n`Void` is useful to eliminate the possibility of a value being created.\nFor example, a value of type `Either Void Boolean` can never have\na Left value created in PureScript.\n\nThis should not be confused with the keyword `void` that commonly appears in\nC-family languages, such as Java:\n```\npublic class Foo {\n  void doSomething() { System.out.println(\"hello world!\"); }\n}\n```\n\nIn PureScript, one often uses `Unit` to achieve similar effects as\nthe `void` of C-family languages above.\n","info":{"dataDeclType":"newtype","declType":"data","roles":[],"typeArguments":[]},"kind":null,"sourceSpan":{"end":[22,25],"name":"../../../support/bower_components/purescript-prelude/src/Data/Void.purs","start":[22,1]},"title":"Void"},{"children":[],"comments":"Eliminator for the `Void` type.\nUseful for stating that some code branch is impossible because you've\n\"acquired\" a value of type `Void` (which you can't).\n\n```purescript\nrightOnly :: forall t . Either Void t -> t\nrightOnly (Left v) = absurd v\nrightOnly (Right t) = t\n```\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Void"],"Void"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[36,30],"name":"../../../support/bower_components/purescript-prelude/src/Data/Void.purs","start":[36,1]},"title":"absurd"}],"name":"Data.Void","reExports":[]}+{"comments":null,"declarations":[{"children":[],"comments":"An uninhabited data type. In other words, one can never create\na runtime value of type `Void` because no such value exists.\n\n`Void` is useful to eliminate the possibility of a value being created.\nFor example, a value of type `Either Void Boolean` can never have\na Left value created in PureScript.\n\nThis should not be confused with the keyword `void` that commonly appears in\nC-family languages, such as Java:\n```\npublic class Foo {\n  void doSomething() { System.out.println(\"hello world!\"); }\n}\n```\n\nIn PureScript, one often uses `Unit` to achieve similar effects as\nthe `void` of C-family languages above.\n","info":{"dataDeclType":"newtype","declType":"data","roles":[],"typeArguments":[]},"kind":null,"sourceSpan":{"end":[20,25],"name":"../../../support/bower_components/purescript-prelude/src/Data/Void.purs","start":[20,1]},"title":"Void"},{"children":[],"comments":"Eliminator for the `Void` type.\nUseful for stating that some code branch is impossible because you've\n\"acquired\" a value of type `Void` (which you can't).\n\n```purescript\nrightOnly :: forall t . Either Void t -> t\nrightOnly (Left v) = absurd v\nrightOnly (Right t) = t\n```\n","info":{"declType":"value","type":{"annotation":[],"contents":["a",{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Void"],"Void"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},null],"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[31,30],"name":"../../../support/bower_components/purescript-prelude/src/Data/Void.purs","start":[31,1]},"title":"absurd"}],"name":"Data.Void","reExports":[]}
tests/purs/publish/basic-example/output/cache-db.json view
@@ -1,1 +1,1 @@-{"Control.Applicative":{"../../../support/bower_components/purescript-prelude/src/Control/Applicative.purs":["2022-04-27T13:37:39Z","5889c8a23c34d2d9c7d1fe41df1512314055fafda79900099b37a76451fb6394dac06633caf5c206c432817a9c07b892b18c3b99d1013a298acc85a579aee2f1"]},"Control.Apply":{"../../../support/bower_components/purescript-prelude/src/Control/Apply.js":["2022-04-27T13:37:39Z","73ee829e5dfad80f1d5f957d0e52b1d069ea798919d608b4733cedda4736681ec26d7e33501428966bf213b8a344c1272f7658867780c7237baf90da4c9d5ad3"],"../../../support/bower_components/purescript-prelude/src/Control/Apply.purs":["2022-04-27T13:37:39Z","524e797c42f16dbc375aa2403a4867a5744116d9302bda790333251ccf88d773e079fb8c3af1f87eccdc0c0bbf682b932a48506ca5f51ef441832177fafd4eb0"]},"Control.Bind":{"../../../support/bower_components/purescript-prelude/src/Control/Bind.js":["2022-04-27T13:37:39Z","abbbecd9697ae2109a9b74f70bfce37c0589e0d99b10e090660e1c76a491744c84fd459c53172256c70cdaffde3f0dc1abe0464fa32b977cf71e789425ca8bfe"],"../../../support/bower_components/purescript-prelude/src/Control/Bind.purs":["2022-04-27T13:37:39Z","27f217ea2d5e4ab2745ad05b6d0aa36ee8809dc9d5c22162f722b2f003cf140bb18747f158daeca469a1083b7b054f9a6a9681d092598b3ea25cada7fe510d75"]},"Control.Category":{"../../../support/bower_components/purescript-prelude/src/Control/Category.purs":["2022-04-27T13:37:39Z","6431719d022f6d4230f338935381a7e116a18cdf80c67bdf76d87a7624518bc9fd1e4adfe45c8a59d77f07caf7c8e9faae741e99fada42455143c4fb924e7988"]},"Control.Monad":{"../../../support/bower_components/purescript-prelude/src/Control/Monad.purs":["2022-04-27T13:37:39Z","5d13918b1f360fb201125c334399566fdef398f1b44af0754cb261b6e514481b26a0d4ad892944d4a52d513c41a20702d9973be000d9e2436c4fb48940cc07ca"]},"Control.Semigroupoid":{"../../../support/bower_components/purescript-prelude/src/Control/Semigroupoid.purs":["2022-04-27T13:37:39Z","f5b1e9fdd81471d37f763b7fff8bd94f2111fd9ad6092bc925e409d5c69261860045230cde5c95ebbb3141acce54372bcf4d01c9b044fd59959822c9576135e8"]},"Data.Boolean":{"../../../support/bower_components/purescript-prelude/src/Data/Boolean.purs":["2022-04-27T13:37:39Z","aa81cf83948d1c45051dcfb835b0caef7a8ed8a39c58d8126f4efde1973880dbcd169d36bbe8c82a62586c386810bf0824f018674a93c606e43bc451fb6c3819"]},"Data.BooleanAlgebra":{"../../../support/bower_components/purescript-prelude/src/Data/BooleanAlgebra.purs":["2022-04-27T13:37:39Z","464f2df7f5bc3fc5e64cb0462c841f93fa2a609545e10f0adce637185e345aa45eed2a7e164ba648bb947168279c999ef8cd9f5dab9fce9af3b9329a8829b971"]},"Data.Bounded":{"../../../support/bower_components/purescript-prelude/src/Data/Bounded.js":["2022-04-27T13:37:39Z","8bfa62b2e886ce6d58793d840513c68cefc1fa0c4a15a5e6a0c0ee5d607fea425f8080365c0f3f421116c4362eba447617cd65a221ee1e4cc0a75610752d3b75"],"../../../support/bower_components/purescript-prelude/src/Data/Bounded.purs":["2022-04-27T13:37:39Z","36762aa05b71843e1d2f23cc64b1a17ea3acf91745de39e8723a04f3cc12f50c83e6a9b8a58c0463eaed0e93dfe3112e1f896130bab0660a5a009391f00ed468"]},"Data.Bounded.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Bounded/Generic.purs":["2022-04-27T13:37:39Z","15f4f3499dd9c2a1f37345357db2f131cc57e37a4ddfaa8497dabd3d123abd8b9670bdd3910b84b6c44c8b63bf1873af783adb1edc8455985f244b6ecbef733b"]},"Data.CommutativeRing":{"../../../support/bower_components/purescript-prelude/src/Data/CommutativeRing.purs":["2022-04-27T13:37:39Z","c8bf53bf06454a74ba3a605d100b59bb5ba9111dd20e073713422c080075555b653bcaddde078d55130e737de30ba336920a099a6016fd4158af88b1f430b631"]},"Data.DivisionRing":{"../../../support/bower_components/purescript-prelude/src/Data/DivisionRing.purs":["2022-04-27T13:37:39Z","1f3c74ecd87798ace30371f036ef1590f7e4dbc5be05f51162f9b3700d61c0befd6a5b53ace34626103e500043de3b67225de2c442841106f6d8960658355aae"]},"Data.Eq":{"../../../support/bower_components/purescript-prelude/src/Data/Eq.js":["2022-04-27T13:37:39Z","6718a356e77f3fe29c3f353f02fd94583b4edf5a0a0d7bdfdbcb046e7ef3440781aaa466ee88f12be6a72f274eb9c51d4d051673f4893fc408e9053bb8d84368"],"../../../support/bower_components/purescript-prelude/src/Data/Eq.purs":["2022-04-27T13:37:39Z","65598d7093548c9848e1c661bb778ebd402f09b4584570c09082d765997056b335bf0f05397cd788c44bb2f00b3bd2115cba2ed45033ade9ac40d91efd64301d"]},"Data.Eq.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Eq/Generic.purs":["2022-04-27T13:37:39Z","88d9841c3e55b1063721bc8ff168aa8b53cd3581a8c3ffee6ed71a96ba4d2d20b7b454cb0e7f13b2fa7a6bcaf4ca0dfc609ce624f5ad74eece1e13a93b0a121d"]},"Data.EuclideanRing":{"../../../support/bower_components/purescript-prelude/src/Data/EuclideanRing.js":["2022-04-27T13:37:39Z","9bf37abbb8d5c826e2152f62c99251e9cfeac8226ead81262527a2c544765336b6a0a8df731664d1b7d7804ad821ddfb0bd2c58d91d61fea6232d6adaeb6fc69"],"../../../support/bower_components/purescript-prelude/src/Data/EuclideanRing.purs":["2022-04-27T13:37:39Z","252c8162d273ea69e96619d760b48f7302ad048ed2bdd542695fbf0489948d24369b2bd40addd7fa505e810cf411727fe9fd57546a3011ebe1fa3c534beac414"]},"Data.Field":{"../../../support/bower_components/purescript-prelude/src/Data/Field.purs":["2022-04-27T13:37:39Z","21c8a682ad74b9389e1c538ca1dbc5cc4da34b13945a1bd11812631f8f56e723e65f9452eba5b43ea8209f88c57e8566529667673b6b78ade1a08350a28b04cc"]},"Data.Function":{"../../../support/bower_components/purescript-prelude/src/Data/Function.purs":["2022-04-27T13:37:39Z","42320940aa4cdbab54308acc9ad8eac48cb3facf1f695eeb32c8473bdf31e6d51e9d689bd256c833cedd3cf40882c484153f56e8582bfc1353cc0f3b7867aa0f"]},"Data.Functor":{"../../../support/bower_components/purescript-prelude/src/Data/Functor.js":["2022-04-27T13:37:39Z","889e7781cb01bcb3007c8400d844b250905a7cc893d0391a09c2f907c8993271b0daf081548206d4c5a3948fdc7a51df5a99c6fe38c61a90ccdcb38f22886ae7"],"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs":["2022-04-27T13:37:39Z","077d9d6d3e754807e5200b970988daf12894942995bb7f8698c0e0a2d08b64842dc5257efe088c045d7d0a6de2a10cb6c58b976b26243f66f69d0fa9791f60e7"]},"Data.Generic.Rep":{"../../../support/bower_components/purescript-prelude/src/Data/Generic/Rep.purs":["2022-04-27T13:37:39Z","69c6cac0ae8035b7a0bad28c1fb8c0c0d99bc93087392f5dbebac6a30bca3b5fa352741f93f432b7aa4c617e1f23d59939a69c716775e84375e112b4bb9175d1"]},"Data.HeytingAlgebra":{"../../../support/bower_components/purescript-prelude/src/Data/HeytingAlgebra.js":["2022-04-27T13:37:39Z","3603479b96cd22a9b312ef922b95d5b342ecd8d4b1b8984a15fcfa64b92ec66128f14fdc795c2c525c9b6e6912934f2ea542df9f30b3caac3bbb085ba3326265"],"../../../support/bower_components/purescript-prelude/src/Data/HeytingAlgebra.purs":["2022-04-27T13:37:39Z","d8942636d4f1804c94eb7527b48f48f500843d34e2ec0b45515f4d5c836ce4437806feb4a603735f1a799243f244a72c6fda218ffe5d58f7f0cbbcbfadb01bbd"]},"Data.HeytingAlgebra.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/HeytingAlgebra/Generic.purs":["2022-04-27T13:37:39Z","ea49a37bf16af73cb930d0eb573bca8cc8e63de0a796c504f531f05d503976a59f464fa5a039a2ae9b486c9ba70857008bfb06acaaeaad6ee0f9f429355043e2"]},"Data.Monoid":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid.purs":["2022-04-27T13:37:39Z","172ecdf1da579ac35b44cb9d87424b7bb45f27b2f49a0e51be34cc1d2863a15929436321b8ed46059601b3ba171053b4129067066be0596da42607d697d8d484"]},"Data.Monoid.Additive":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Additive.purs":["2022-04-27T13:37:39Z","514e26851127fb9b52c618a36f17758513d9a7ea6724866b208e2c2447c3c3b3a9a18218b715b765e5e1e00908e2ebc0d9f2e67171ab3e46543a01508b54de67"]},"Data.Monoid.Conj":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Conj.purs":["2022-04-27T13:37:39Z","441eb08d322aa39654f68fe39676ba5fe470252adc4da087c590245ff7b0b624885c57ade6e66f24485862873767198678a219afbd7c2fc68f2ca59978d7d9c2"]},"Data.Monoid.Disj":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Disj.purs":["2022-04-27T13:37:39Z","f38cea70c5a7216b6b17c796dfbc8b08d9f05bed22d81d3784322f9f06f127435b4c9009a2027c24efc998c781796b9007bc70bc3bd1eee935b1a9695077bc7a"]},"Data.Monoid.Dual":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Dual.purs":["2022-04-27T13:37:39Z","54058218c4c5323d42e95d54a1c64b9e2ded8afdaeef2f846ef123bd4fd6772551e2158a6a9802ca327bbc4fb995f4fd5d416fd59c7a6efc8f8fe9bc5e7dc709"]},"Data.Monoid.Endo":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Endo.purs":["2022-04-27T13:37:39Z","543f16c8df42353334deddd7e25a58340aaa3f4a902a997d6b08e3128ca0afb82b3ac720e8ca8d4475cfc063906df1439afd3f2e22f7684aeb9ee0bc2992e774"]},"Data.Monoid.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Generic.purs":["2022-04-27T13:37:39Z","9e2ef0cf0469c1e798f8767cb472ee1b0103dfd6b08ed0a777c89d5043358b70cf14c2784ea59f05795f648daf80e11b2150fa89a05bc8c0afa6dafeb2fc09ac"]},"Data.Monoid.Multiplicative":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Multiplicative.purs":["2022-04-27T13:37:39Z","f0c40f939ed3a3f00712fc7485926733668101c201e5d57e19d72ce6be84455b7b2d7360d747154a9d071df9b72e4e5ad2ac2a36db093a1b702fed4e6f4de9e3"]},"Data.NaturalTransformation":{"../../../support/bower_components/purescript-prelude/src/Data/NaturalTransformation.purs":["2022-04-27T13:37:39Z","6b9fc42ec524a517d464dea99867c64345cdbcbada4260a772373a956961ad1c9a4a3a4f8ed4a0c7c7f3e36120068954141841c5d6bdc4e5898ea06435104bb7"]},"Data.Newtype":{"../../../support/bower_components/purescript-newtype/src/Data/Newtype.purs":["2022-04-27T15:04:33Z","4289a67b60c9760f41b6fb86b71bb0bb2c576b279ae447be7fe4c3ff408ea4705ca17522647bcd8da582ef646a4abfd53fc3310d4d9d6c68816a8ccd480140be"]},"Data.Ord":{"../../../support/bower_components/purescript-prelude/src/Data/Ord.js":["2022-04-27T13:37:39Z","d3f620d4e07a9ce41745d2df0c43701dc41726e4be601b790bb054089ca52d97380299b90fe88f166e2195d76c4cbe195d941e8619fd2d14242a6a347881b1a9"],"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs":["2022-04-27T13:37:39Z","f622298f91432fabf4a9b79f8ffc449a50a074d991ac8bafe19458bb8befc9377865359de1d612f156f3a3bc4b024f0eca3c758f6ce8dc1328e5a519de673f31"]},"Data.Ord.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Ord/Generic.purs":["2022-04-27T13:37:39Z","d566cfa79ec03e335f632d3edc3b913081583188d8496897c1b0904c1895525caeb5b0464b76d40ae5ef79e5c7b516ad061c1d98aa6e1c649f555be4c839087e"]},"Data.Ordering":{"../../../support/bower_components/purescript-prelude/src/Data/Ordering.purs":["2022-04-27T13:37:39Z","321b8de9b25c2616a3dbc6bff2e2def1cf7592ad54e575bd2b62d440d5dd88d7b5332f6c68fc010424e36ac13d61b5bcaadcf619ff940c667360b2c102f6e2af"]},"Data.Reflectable":{"../../../support/bower_components/purescript-prelude/src/Data/Reflectable.js":["2022-04-27T13:37:39Z","1bbaef3b7bb472cbc13eb30d9a75f2d580d5950fe692a3e137322558a651d0352f8a7499538028404a611afecde17f551b7cbc4030bdaf0b50e6828362cf29bd"],"../../../support/bower_components/purescript-prelude/src/Data/Reflectable.purs":["2022-04-27T13:37:39Z","02beca227031091fd31673ff64153c2f84ba22c61f362acc88411643233fe91d8cabf6206319785f7b910d8dff7c81528ca7e05048e284bfc720e71f804f7a6c"]},"Data.Ring":{"../../../support/bower_components/purescript-prelude/src/Data/Ring.js":["2022-04-27T13:37:39Z","bce8767b39bf1d9af8182f80f91e376db07ae8912b991fcea6eaf37900f91c6b6ede6fb874c40ff5b3d40fc6a893468d0f0cb31106f6188ca52514ae0a081da6"],"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs":["2022-04-27T13:37:39Z","4e727f1f786ced8ce8202805713a9a2810c6ef9522694535c219ce22f66e032ca374163c82db137dd7d2ded6ae4dc2786ee8b6efd1df810d5cbda9c7e2c0832e"]},"Data.Ring.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Ring/Generic.purs":["2022-04-27T13:37:39Z","8c94b1a5765b99950600e690e01e3da65cd7e43fe78f651f8531c45d41775572af47e62f21705857c82ae52251626c34f0f41180ee0563115f749c7bc0459324"]},"Data.Semigroup":{"../../../support/bower_components/purescript-prelude/src/Data/Semigroup.js":["2022-04-27T13:37:39Z","fb416511575b93baf1081317aba42e97da52fdb724c07110a05c360e5254528f54715a47fa22ed4298bbdfb62c8641c8ea5ef92af9a259d51164cf541026fabc"],"../../../support/bower_components/purescript-prelude/src/Data/Semigroup.purs":["2022-04-27T13:37:39Z","43c3fbd4ab0a7a5346bdc69ce26ad3e6143f1f0e92bf8e7601af43d2ad68cfe4080411029ba3a9f29592f75e139a8fb923e67237b8e1cee3024c54b32ccf0b5d"]},"Data.Semigroup.First":{"../../../support/bower_components/purescript-prelude/src/Data/Semigroup/First.purs":["2022-04-27T13:37:39Z","8ff357056284af9050954e7695babcc76f5f632019b66f635a49502170508a37b2cb20a2e863f022bf077726480d2cc32951fb910c80559806e50830f25e884e"]},"Data.Semigroup.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Semigroup/Generic.purs":["2022-04-27T13:37:39Z","8c07803971e03a3c3d4a617198eae5a3e825c411fd17af68eee57571717a2301eaf5ec5bd34bfddf14da1f1c40d780ab9538d02f22d1d19117135388c848ca89"]},"Data.Semigroup.Last":{"../../../support/bower_components/purescript-prelude/src/Data/Semigroup/Last.purs":["2022-04-27T13:37:39Z","75b3660341f9c0570031d2304c83eb8592098e2d96577c030ae969b3b958d00b21234c2c836377e7b338e4323fa4aa0c97a4a8abb7ed49e2741907a411eb0b08"]},"Data.Semiring":{"../../../support/bower_components/purescript-prelude/src/Data/Semiring.js":["2022-04-27T13:37:39Z","71c1f69848adaf5667acc7668bb53b42a14dd64f559e72d88ae879f123aa9d5892debb1758067b8c48bfcdbbd7392e2e9ea0e5d18603ab62dbdde5032662cf33"],"../../../support/bower_components/purescript-prelude/src/Data/Semiring.purs":["2022-04-27T13:37:39Z","70fe8b0c9eb461a6058b6c89ad182fb99d4e930f158b015a386ee67ece2445b5e7aba5e539dd7377822de1b045b80d1e439f191a2274c6e95c7fb3dba535d8c0"]},"Data.Semiring.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Semiring/Generic.purs":["2022-04-27T13:37:39Z","e1aeb61208e3b96999f07cc41307d50fa8025c2f688e9dc24d7286933a11cc1ec253375e10e25fb578801bcda7b18b7342bb13275f4ca72478a2aff9ea872799"]},"Data.Show":{"../../../support/bower_components/purescript-prelude/src/Data/Show.js":["2022-04-27T13:37:39Z","2a936ee3c9835b353e0e23d37709f80dbf675fd6a3761f48a61c15db808b36f50cb4c758f7710ce7bf7e72389a9e51b1cd605ea793a30565de0f02a5866a91c4"],"../../../support/bower_components/purescript-prelude/src/Data/Show.purs":["2022-04-27T13:37:39Z","e846644987565d11a205b5f5c1ba8349a057c9710c88a461ebf2ab0bfe2f83a4f1de8c1a5653d33eca13d00fd65a086caf28ea0498c974a1fc3e7619a719a1b8"]},"Data.Show.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Show/Generic.js":["2022-04-27T13:37:39Z","f8b9a3c651ceb9e8f2ee15ae532ecd371794b4e9f3b14eb0508656c1ae853654d7e3d3c719a9a98f0dcbc81df3b03266c05d3bc01c9b62d6d8ce29d4794e4b1b"],"../../../support/bower_components/purescript-prelude/src/Data/Show/Generic.purs":["2022-04-27T13:37:39Z","37b5a1168cd88f5f6f2d2a584cfe2c69e326b9f3e62291ec607c6e4a12da144450088fe65e95cbd04204d9c616a04696b5b3d0d7e444e8628b4a1eb3597c534d"]},"Data.Symbol":{"../../../support/bower_components/purescript-prelude/src/Data/Symbol.js":["2022-04-27T13:37:39Z","c980adfe8e297bfe8e257903de3ac13f5675c6f52ed95e8c2786fcacc52adde10b5de56c9432859c3c7c8f51d1866f2e8d4a961d60e1bff656def39e3b3cdcf7"],"../../../support/bower_components/purescript-prelude/src/Data/Symbol.purs":["2022-04-27T13:37:39Z","579409ca0036164a1a0534b266cc1c90de7b020ecea470cdedf0a97cc34ae1f25ab441df9789798dc30f6a4c8f6c6368c79dc5523d9de336e57dcc6325127cb2"]},"Data.Unit":{"../../../support/bower_components/purescript-prelude/src/Data/Unit.js":["2022-04-27T13:37:39Z","d7185d75aa1f2fe353e4e200ab4181472e354d6295cb2e6587a56636b1bc733be77b2f5616b20275fe7be0138a6442b2979864b1b234a813f8d9237baa4cd5f3"],"../../../support/bower_components/purescript-prelude/src/Data/Unit.purs":["2022-04-27T13:37:39Z","a4bfca3ddacfc9d1e09019819fd94325c0fe756cb6d7e35c07a8bb6bb6c8bc6cca55a22b72f641b9fac6e5c09cae29cec932c847bdb34298310a161ee3fcfc92"]},"Data.Void":{"../../../support/bower_components/purescript-prelude/src/Data/Void.purs":["2022-04-27T13:37:39Z","a9d41b27b3dc34c74df497c4563d9c8fbe6b04ee1ee4cc32e18c3649972c84a5d330087cd3732b2cbbda204558fa79a8eea2bbba7e64916e45c49745af27d739"]},"Effect":{"../../../support/bower_components/purescript-effect/src/Effect.js":["2022-04-27T14:04:24Z","9683b917c04f50b5b8a41d8294b101d7787cd0a742840e6f05ec143f881bfb51807a2efd29a9296def2676e7c1860352f3d89f78f9205567575c5040f790da32"],"../../../support/bower_components/purescript-effect/src/Effect.purs":["2022-04-27T14:04:24Z","25ea461900466a6aade8a56c20921d46eb037a71efb12c4265dd378e760843e5793efb9f7cb47322511459136d9d4ecd6d09e5a089a432d96ef4af4530ad8e8d"]},"Effect.Class":{"../../../support/bower_components/purescript-effect/src/Effect/Class.purs":["2022-04-27T14:04:24Z","47e0114539e25826ffba341faf99133ed2499027f0955fa606d563d3504c6b41dc9d425dfa619c0c83b5fc2ab8dbb3c1bf2166b5980c5674fb93560c9b80d585"]},"Effect.Class.Console":{"../../../support/bower_components/purescript-console/src/Effect/Class/Console.purs":["2022-04-27T14:11:24Z","5a3a1a7efb4ca9d61673d954d5bed9be6eec0b512fcdffdbcca411b0fe10353da1ec9ac9e32d19f6ffe3ccb358a177cc6238064ae7dee8dfce2363ec26600edc"]},"Effect.Console":{"../../../support/bower_components/purescript-console/src/Effect/Console.js":["2022-04-27T14:11:24Z","37d5914c1c03387fb61991fa0c7273560b38a9cca1ab22a5a1071f58fb5e3cc41952c87e404f22a928e674c04fce0fa18d469b2481d6078645d20650280c9a84"],"../../../support/bower_components/purescript-console/src/Effect/Console.purs":["2022-04-27T14:11:24Z","71c92750574fc7e669d3e0a7d0f40101b91836e69275074eaf3b534fe5f68a6f3b4ebc1dc1f950f89a381996f8bdca297eac522893733bc0fd5ef2ce790af8c7"]},"Effect.Uncurried":{"../../../support/bower_components/purescript-effect/src/Effect/Uncurried.js":["2022-04-27T14:04:24Z","4c6c5db78b72ff3b84623d894b05dd916cc0732dc08d1fd45d8b0768983fdd7377b7299add3c70475459d0e190af99e2176e4c17a8cfbf295c675456bd5ba7d2"],"../../../support/bower_components/purescript-effect/src/Effect/Uncurried.purs":["2022-04-27T14:04:24Z","a948cb1cab11f5019fe20dd697b5c6e248c3b29c7ab332c2cb9d792cfcb58021a77c0f4f71e1c8d7c0b3b9cb18bd1497a0d2f40680926390f3303ecb1fe25beb"]},"Effect.Unsafe":{"../../../support/bower_components/purescript-effect/src/Effect/Unsafe.js":["2022-04-27T14:04:24Z","e66a1117e55534d61b7cd8e1859b54ef97446e0374116867383d2027bd85b73e510cbd1e4e74067b740fffb66c11e243af8d0976b2dc225d9865d882486cccdd"],"../../../support/bower_components/purescript-effect/src/Effect/Unsafe.purs":["2022-04-27T14:04:24Z","c112c559df0f177472e96655b09165d5535f68caddc2b419b4cdfe796af19b962b0659cb609a2ce501002da7de34e66592b5491ebe6f538824c2db8a1e800ea7"]},"Main":{"src/Main.purs":["2021-10-25T20:49:21Z","55bdd6dd11fb1679cb11793dd2996de21972f7aa53826557273bd649004f5907ff8cf6dff840718a12084c421529c9da7d70f698689d3923ab4ae3d608591c66"]},"Prelude":{"../../../support/bower_components/purescript-prelude/src/Prelude.purs":["2022-04-27T13:37:39Z","c67b6a882790c17476eb477da2cfc71dc4c26f297e7b4581b5ae9b0d08040ea7c7b55ed3afb3e824806e573ea4dd307eaa7cb49cfb2a756973b226ee1023e6fc"]},"Record.Unsafe":{"../../../support/bower_components/purescript-prelude/src/Record/Unsafe.js":["2022-04-27T13:37:39Z","667d613a0e1265a710e98c9f6e64ff791b9e9b7227cdf699c3a25724077c02e42726c807c0387ca4484454fd853d5b41522bf2e048887f22a894413ef80cbb92"],"../../../support/bower_components/purescript-prelude/src/Record/Unsafe.purs":["2022-04-27T13:37:39Z","af8a7c83127f5e61853ad0e572be799c04e321562a375d51ab133706ac6a6777e169b057f01a709ad7aae2d8c7a5ae8daa28eae8793c4fe92e2e8f0cfaecf870"]},"Safe.Coerce":{"../../../support/bower_components/purescript-safe-coerce/src/Safe/Coerce.purs":["2022-04-27T14:56:52Z","595abade13e21ed7893a92b338d9e7c7bf56e9067d51ca25c387d6d93a1c5542925f062e282602e89476a45501645c76dbd57eac31cc4e5c1cf341e2902beb89"]},"Type.Proxy":{"../../../support/bower_components/purescript-prelude/src/Type/Proxy.purs":["2022-04-27T13:37:39Z","333d0ae90b05098eada860ad476ed9e1eacd67d969dc1573c74375610cf8de22e85a358a7783a0a461d7ffa6fe322d8c3e90696be02555a02793ac99aba687f2"]},"Unsafe.Coerce":{"../../../support/bower_components/purescript-unsafe-coerce/src/Unsafe/Coerce.js":["2022-04-27T14:15:44Z","031c3187f7ce65110a359260041309506e1ff39a97b6eb22c9a8f2e5c14b35db87d509bb5929f245c5d80df6ccd6dadf83579ebe4ac46650acdfa34a493cfc0d"],"../../../support/bower_components/purescript-unsafe-coerce/src/Unsafe/Coerce.purs":["2022-04-27T14:15:44Z","04b214d9cbbf0c438bb2af4b25f8db5d04f247059241982f718c6d83322c3180f0eced0eb5c410860dcdb35650e9129a1cffe87f7279308cc4cf6c6570bba74f"]}}+{"Control.Applicative":{"../../../support/bower_components/purescript-prelude/src/Control/Applicative.purs":["2022-08-18T20:04:00Z","5889c8a23c34d2d9c7d1fe41df1512314055fafda79900099b37a76451fb6394dac06633caf5c206c432817a9c07b892b18c3b99d1013a298acc85a579aee2f1"]},"Control.Apply":{"../../../support/bower_components/purescript-prelude/src/Control/Apply.js":["2022-08-18T20:04:00Z","73ee829e5dfad80f1d5f957d0e52b1d069ea798919d608b4733cedda4736681ec26d7e33501428966bf213b8a344c1272f7658867780c7237baf90da4c9d5ad3"],"../../../support/bower_components/purescript-prelude/src/Control/Apply.purs":["2022-08-18T20:04:00Z","524e797c42f16dbc375aa2403a4867a5744116d9302bda790333251ccf88d773e079fb8c3af1f87eccdc0c0bbf682b932a48506ca5f51ef441832177fafd4eb0"]},"Control.Bind":{"../../../support/bower_components/purescript-prelude/src/Control/Bind.js":["2022-08-18T20:04:00Z","abbbecd9697ae2109a9b74f70bfce37c0589e0d99b10e090660e1c76a491744c84fd459c53172256c70cdaffde3f0dc1abe0464fa32b977cf71e789425ca8bfe"],"../../../support/bower_components/purescript-prelude/src/Control/Bind.purs":["2022-08-18T20:04:00Z","27f217ea2d5e4ab2745ad05b6d0aa36ee8809dc9d5c22162f722b2f003cf140bb18747f158daeca469a1083b7b054f9a6a9681d092598b3ea25cada7fe510d75"]},"Control.Category":{"../../../support/bower_components/purescript-prelude/src/Control/Category.purs":["2022-08-18T20:04:00Z","6431719d022f6d4230f338935381a7e116a18cdf80c67bdf76d87a7624518bc9fd1e4adfe45c8a59d77f07caf7c8e9faae741e99fada42455143c4fb924e7988"]},"Control.Monad":{"../../../support/bower_components/purescript-prelude/src/Control/Monad.purs":["2022-08-18T20:04:00Z","5d13918b1f360fb201125c334399566fdef398f1b44af0754cb261b6e514481b26a0d4ad892944d4a52d513c41a20702d9973be000d9e2436c4fb48940cc07ca"]},"Control.Semigroupoid":{"../../../support/bower_components/purescript-prelude/src/Control/Semigroupoid.purs":["2022-08-18T20:04:00Z","f5b1e9fdd81471d37f763b7fff8bd94f2111fd9ad6092bc925e409d5c69261860045230cde5c95ebbb3141acce54372bcf4d01c9b044fd59959822c9576135e8"]},"Data.Boolean":{"../../../support/bower_components/purescript-prelude/src/Data/Boolean.purs":["2022-08-18T20:04:00Z","aa81cf83948d1c45051dcfb835b0caef7a8ed8a39c58d8126f4efde1973880dbcd169d36bbe8c82a62586c386810bf0824f018674a93c606e43bc451fb6c3819"]},"Data.BooleanAlgebra":{"../../../support/bower_components/purescript-prelude/src/Data/BooleanAlgebra.purs":["2022-08-18T20:04:00Z","464f2df7f5bc3fc5e64cb0462c841f93fa2a609545e10f0adce637185e345aa45eed2a7e164ba648bb947168279c999ef8cd9f5dab9fce9af3b9329a8829b971"]},"Data.Bounded":{"../../../support/bower_components/purescript-prelude/src/Data/Bounded.js":["2022-08-18T20:04:00Z","8bfa62b2e886ce6d58793d840513c68cefc1fa0c4a15a5e6a0c0ee5d607fea425f8080365c0f3f421116c4362eba447617cd65a221ee1e4cc0a75610752d3b75"],"../../../support/bower_components/purescript-prelude/src/Data/Bounded.purs":["2022-08-18T20:04:00Z","36762aa05b71843e1d2f23cc64b1a17ea3acf91745de39e8723a04f3cc12f50c83e6a9b8a58c0463eaed0e93dfe3112e1f896130bab0660a5a009391f00ed468"]},"Data.Bounded.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Bounded/Generic.purs":["2022-08-18T20:04:00Z","15f4f3499dd9c2a1f37345357db2f131cc57e37a4ddfaa8497dabd3d123abd8b9670bdd3910b84b6c44c8b63bf1873af783adb1edc8455985f244b6ecbef733b"]},"Data.CommutativeRing":{"../../../support/bower_components/purescript-prelude/src/Data/CommutativeRing.purs":["2022-08-18T20:04:00Z","c8bf53bf06454a74ba3a605d100b59bb5ba9111dd20e073713422c080075555b653bcaddde078d55130e737de30ba336920a099a6016fd4158af88b1f430b631"]},"Data.DivisionRing":{"../../../support/bower_components/purescript-prelude/src/Data/DivisionRing.purs":["2022-08-18T20:04:00Z","1f3c74ecd87798ace30371f036ef1590f7e4dbc5be05f51162f9b3700d61c0befd6a5b53ace34626103e500043de3b67225de2c442841106f6d8960658355aae"]},"Data.Eq":{"../../../support/bower_components/purescript-prelude/src/Data/Eq.js":["2022-08-18T20:04:00Z","6718a356e77f3fe29c3f353f02fd94583b4edf5a0a0d7bdfdbcb046e7ef3440781aaa466ee88f12be6a72f274eb9c51d4d051673f4893fc408e9053bb8d84368"],"../../../support/bower_components/purescript-prelude/src/Data/Eq.purs":["2022-08-18T20:04:00Z","65598d7093548c9848e1c661bb778ebd402f09b4584570c09082d765997056b335bf0f05397cd788c44bb2f00b3bd2115cba2ed45033ade9ac40d91efd64301d"]},"Data.Eq.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Eq/Generic.purs":["2022-08-18T20:04:00Z","88d9841c3e55b1063721bc8ff168aa8b53cd3581a8c3ffee6ed71a96ba4d2d20b7b454cb0e7f13b2fa7a6bcaf4ca0dfc609ce624f5ad74eece1e13a93b0a121d"]},"Data.EuclideanRing":{"../../../support/bower_components/purescript-prelude/src/Data/EuclideanRing.js":["2022-08-18T20:04:00Z","9bf37abbb8d5c826e2152f62c99251e9cfeac8226ead81262527a2c544765336b6a0a8df731664d1b7d7804ad821ddfb0bd2c58d91d61fea6232d6adaeb6fc69"],"../../../support/bower_components/purescript-prelude/src/Data/EuclideanRing.purs":["2022-08-18T20:04:00Z","252c8162d273ea69e96619d760b48f7302ad048ed2bdd542695fbf0489948d24369b2bd40addd7fa505e810cf411727fe9fd57546a3011ebe1fa3c534beac414"]},"Data.Field":{"../../../support/bower_components/purescript-prelude/src/Data/Field.purs":["2022-08-18T20:04:00Z","21c8a682ad74b9389e1c538ca1dbc5cc4da34b13945a1bd11812631f8f56e723e65f9452eba5b43ea8209f88c57e8566529667673b6b78ade1a08350a28b04cc"]},"Data.Function":{"../../../support/bower_components/purescript-prelude/src/Data/Function.purs":["2022-08-18T20:04:00Z","42320940aa4cdbab54308acc9ad8eac48cb3facf1f695eeb32c8473bdf31e6d51e9d689bd256c833cedd3cf40882c484153f56e8582bfc1353cc0f3b7867aa0f"]},"Data.Functor":{"../../../support/bower_components/purescript-prelude/src/Data/Functor.js":["2022-08-18T20:04:00Z","889e7781cb01bcb3007c8400d844b250905a7cc893d0391a09c2f907c8993271b0daf081548206d4c5a3948fdc7a51df5a99c6fe38c61a90ccdcb38f22886ae7"],"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs":["2022-08-18T20:04:00Z","077d9d6d3e754807e5200b970988daf12894942995bb7f8698c0e0a2d08b64842dc5257efe088c045d7d0a6de2a10cb6c58b976b26243f66f69d0fa9791f60e7"]},"Data.Generic.Rep":{"../../../support/bower_components/purescript-prelude/src/Data/Generic/Rep.purs":["2022-08-18T20:04:00Z","69c6cac0ae8035b7a0bad28c1fb8c0c0d99bc93087392f5dbebac6a30bca3b5fa352741f93f432b7aa4c617e1f23d59939a69c716775e84375e112b4bb9175d1"]},"Data.HeytingAlgebra":{"../../../support/bower_components/purescript-prelude/src/Data/HeytingAlgebra.js":["2022-08-18T20:04:00Z","3603479b96cd22a9b312ef922b95d5b342ecd8d4b1b8984a15fcfa64b92ec66128f14fdc795c2c525c9b6e6912934f2ea542df9f30b3caac3bbb085ba3326265"],"../../../support/bower_components/purescript-prelude/src/Data/HeytingAlgebra.purs":["2022-08-18T20:04:00Z","d8942636d4f1804c94eb7527b48f48f500843d34e2ec0b45515f4d5c836ce4437806feb4a603735f1a799243f244a72c6fda218ffe5d58f7f0cbbcbfadb01bbd"]},"Data.HeytingAlgebra.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/HeytingAlgebra/Generic.purs":["2022-08-18T20:04:00Z","ea49a37bf16af73cb930d0eb573bca8cc8e63de0a796c504f531f05d503976a59f464fa5a039a2ae9b486c9ba70857008bfb06acaaeaad6ee0f9f429355043e2"]},"Data.Monoid":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid.purs":["2022-08-18T20:04:00Z","172ecdf1da579ac35b44cb9d87424b7bb45f27b2f49a0e51be34cc1d2863a15929436321b8ed46059601b3ba171053b4129067066be0596da42607d697d8d484"]},"Data.Monoid.Additive":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Additive.purs":["2022-08-18T20:04:00Z","514e26851127fb9b52c618a36f17758513d9a7ea6724866b208e2c2447c3c3b3a9a18218b715b765e5e1e00908e2ebc0d9f2e67171ab3e46543a01508b54de67"]},"Data.Monoid.Conj":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Conj.purs":["2022-08-18T20:04:00Z","441eb08d322aa39654f68fe39676ba5fe470252adc4da087c590245ff7b0b624885c57ade6e66f24485862873767198678a219afbd7c2fc68f2ca59978d7d9c2"]},"Data.Monoid.Disj":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Disj.purs":["2022-08-18T20:04:00Z","f38cea70c5a7216b6b17c796dfbc8b08d9f05bed22d81d3784322f9f06f127435b4c9009a2027c24efc998c781796b9007bc70bc3bd1eee935b1a9695077bc7a"]},"Data.Monoid.Dual":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Dual.purs":["2022-08-18T20:04:00Z","54058218c4c5323d42e95d54a1c64b9e2ded8afdaeef2f846ef123bd4fd6772551e2158a6a9802ca327bbc4fb995f4fd5d416fd59c7a6efc8f8fe9bc5e7dc709"]},"Data.Monoid.Endo":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Endo.purs":["2022-08-18T20:04:00Z","543f16c8df42353334deddd7e25a58340aaa3f4a902a997d6b08e3128ca0afb82b3ac720e8ca8d4475cfc063906df1439afd3f2e22f7684aeb9ee0bc2992e774"]},"Data.Monoid.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Generic.purs":["2022-08-18T20:04:00Z","9e2ef0cf0469c1e798f8767cb472ee1b0103dfd6b08ed0a777c89d5043358b70cf14c2784ea59f05795f648daf80e11b2150fa89a05bc8c0afa6dafeb2fc09ac"]},"Data.Monoid.Multiplicative":{"../../../support/bower_components/purescript-prelude/src/Data/Monoid/Multiplicative.purs":["2022-08-18T20:04:00Z","f0c40f939ed3a3f00712fc7485926733668101c201e5d57e19d72ce6be84455b7b2d7360d747154a9d071df9b72e4e5ad2ac2a36db093a1b702fed4e6f4de9e3"]},"Data.NaturalTransformation":{"../../../support/bower_components/purescript-prelude/src/Data/NaturalTransformation.purs":["2022-08-18T20:04:00Z","6b9fc42ec524a517d464dea99867c64345cdbcbada4260a772373a956961ad1c9a4a3a4f8ed4a0c7c7f3e36120068954141841c5d6bdc4e5898ea06435104bb7"]},"Data.Newtype":{"../../../support/bower_components/purescript-newtype/src/Data/Newtype.purs":["2022-04-27T15:04:33Z","4289a67b60c9760f41b6fb86b71bb0bb2c576b279ae447be7fe4c3ff408ea4705ca17522647bcd8da582ef646a4abfd53fc3310d4d9d6c68816a8ccd480140be"]},"Data.Ord":{"../../../support/bower_components/purescript-prelude/src/Data/Ord.js":["2022-08-18T20:04:00Z","d3f620d4e07a9ce41745d2df0c43701dc41726e4be601b790bb054089ca52d97380299b90fe88f166e2195d76c4cbe195d941e8619fd2d14242a6a347881b1a9"],"../../../support/bower_components/purescript-prelude/src/Data/Ord.purs":["2022-08-18T20:04:00Z","f0ca6f6131e2699584e55846fb9f4300b778c12f39f0c5a19286081c39c537c1a511c69d01ca6d7216776c73daeeced9ae0b6e1281d4b2e39abb4cc5432e6b75"]},"Data.Ord.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Ord/Generic.purs":["2022-08-18T20:04:00Z","d566cfa79ec03e335f632d3edc3b913081583188d8496897c1b0904c1895525caeb5b0464b76d40ae5ef79e5c7b516ad061c1d98aa6e1c649f555be4c839087e"]},"Data.Ordering":{"../../../support/bower_components/purescript-prelude/src/Data/Ordering.purs":["2022-08-18T20:04:00Z","321b8de9b25c2616a3dbc6bff2e2def1cf7592ad54e575bd2b62d440d5dd88d7b5332f6c68fc010424e36ac13d61b5bcaadcf619ff940c667360b2c102f6e2af"]},"Data.Reflectable":{"../../../support/bower_components/purescript-prelude/src/Data/Reflectable.js":["2022-08-18T20:04:00Z","1bbaef3b7bb472cbc13eb30d9a75f2d580d5950fe692a3e137322558a651d0352f8a7499538028404a611afecde17f551b7cbc4030bdaf0b50e6828362cf29bd"],"../../../support/bower_components/purescript-prelude/src/Data/Reflectable.purs":["2022-08-18T20:04:00Z","02beca227031091fd31673ff64153c2f84ba22c61f362acc88411643233fe91d8cabf6206319785f7b910d8dff7c81528ca7e05048e284bfc720e71f804f7a6c"]},"Data.Ring":{"../../../support/bower_components/purescript-prelude/src/Data/Ring.js":["2022-08-18T20:04:00Z","bce8767b39bf1d9af8182f80f91e376db07ae8912b991fcea6eaf37900f91c6b6ede6fb874c40ff5b3d40fc6a893468d0f0cb31106f6188ca52514ae0a081da6"],"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs":["2022-08-18T20:04:00Z","4e727f1f786ced8ce8202805713a9a2810c6ef9522694535c219ce22f66e032ca374163c82db137dd7d2ded6ae4dc2786ee8b6efd1df810d5cbda9c7e2c0832e"]},"Data.Ring.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Ring/Generic.purs":["2022-08-18T20:04:00Z","8c94b1a5765b99950600e690e01e3da65cd7e43fe78f651f8531c45d41775572af47e62f21705857c82ae52251626c34f0f41180ee0563115f749c7bc0459324"]},"Data.Semigroup":{"../../../support/bower_components/purescript-prelude/src/Data/Semigroup.js":["2022-08-18T20:04:00Z","fb416511575b93baf1081317aba42e97da52fdb724c07110a05c360e5254528f54715a47fa22ed4298bbdfb62c8641c8ea5ef92af9a259d51164cf541026fabc"],"../../../support/bower_components/purescript-prelude/src/Data/Semigroup.purs":["2022-08-18T20:04:00Z","43c3fbd4ab0a7a5346bdc69ce26ad3e6143f1f0e92bf8e7601af43d2ad68cfe4080411029ba3a9f29592f75e139a8fb923e67237b8e1cee3024c54b32ccf0b5d"]},"Data.Semigroup.First":{"../../../support/bower_components/purescript-prelude/src/Data/Semigroup/First.purs":["2022-08-18T20:04:00Z","8ff357056284af9050954e7695babcc76f5f632019b66f635a49502170508a37b2cb20a2e863f022bf077726480d2cc32951fb910c80559806e50830f25e884e"]},"Data.Semigroup.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Semigroup/Generic.purs":["2022-08-18T20:04:00Z","8c07803971e03a3c3d4a617198eae5a3e825c411fd17af68eee57571717a2301eaf5ec5bd34bfddf14da1f1c40d780ab9538d02f22d1d19117135388c848ca89"]},"Data.Semigroup.Last":{"../../../support/bower_components/purescript-prelude/src/Data/Semigroup/Last.purs":["2022-08-18T20:04:00Z","75b3660341f9c0570031d2304c83eb8592098e2d96577c030ae969b3b958d00b21234c2c836377e7b338e4323fa4aa0c97a4a8abb7ed49e2741907a411eb0b08"]},"Data.Semiring":{"../../../support/bower_components/purescript-prelude/src/Data/Semiring.js":["2022-08-18T20:04:00Z","71c1f69848adaf5667acc7668bb53b42a14dd64f559e72d88ae879f123aa9d5892debb1758067b8c48bfcdbbd7392e2e9ea0e5d18603ab62dbdde5032662cf33"],"../../../support/bower_components/purescript-prelude/src/Data/Semiring.purs":["2022-08-18T20:04:00Z","70fe8b0c9eb461a6058b6c89ad182fb99d4e930f158b015a386ee67ece2445b5e7aba5e539dd7377822de1b045b80d1e439f191a2274c6e95c7fb3dba535d8c0"]},"Data.Semiring.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Semiring/Generic.purs":["2022-08-18T20:04:00Z","e1aeb61208e3b96999f07cc41307d50fa8025c2f688e9dc24d7286933a11cc1ec253375e10e25fb578801bcda7b18b7342bb13275f4ca72478a2aff9ea872799"]},"Data.Show":{"../../../support/bower_components/purescript-prelude/src/Data/Show.js":["2022-08-18T20:04:00Z","588e533a8d2dce9eb3815e58e38fe06ac7758adb50295d4325c47db26031d0ea48cb341d5e3d7caaeae40f4d95a9c3c5381feba3a50653d1a76e3835b0628f0d"],"../../../support/bower_components/purescript-prelude/src/Data/Show.purs":["2022-08-18T20:04:00Z","b52834da5151dffab06693e15efb93608a43ab7866901f86ee47191f085fade2d7ebbad800aff8ad7d7171d349e312bfc01dd4e8cad4eb6c12eacd50d9381764"]},"Data.Show.Generic":{"../../../support/bower_components/purescript-prelude/src/Data/Show/Generic.js":["2022-08-18T20:04:00Z","f8b9a3c651ceb9e8f2ee15ae532ecd371794b4e9f3b14eb0508656c1ae853654d7e3d3c719a9a98f0dcbc81df3b03266c05d3bc01c9b62d6d8ce29d4794e4b1b"],"../../../support/bower_components/purescript-prelude/src/Data/Show/Generic.purs":["2022-08-18T20:04:00Z","37b5a1168cd88f5f6f2d2a584cfe2c69e326b9f3e62291ec607c6e4a12da144450088fe65e95cbd04204d9c616a04696b5b3d0d7e444e8628b4a1eb3597c534d"]},"Data.Symbol":{"../../../support/bower_components/purescript-prelude/src/Data/Symbol.js":["2022-08-18T20:04:00Z","c980adfe8e297bfe8e257903de3ac13f5675c6f52ed95e8c2786fcacc52adde10b5de56c9432859c3c7c8f51d1866f2e8d4a961d60e1bff656def39e3b3cdcf7"],"../../../support/bower_components/purescript-prelude/src/Data/Symbol.purs":["2022-08-18T20:04:00Z","579409ca0036164a1a0534b266cc1c90de7b020ecea470cdedf0a97cc34ae1f25ab441df9789798dc30f6a4c8f6c6368c79dc5523d9de336e57dcc6325127cb2"]},"Data.Unit":{"../../../support/bower_components/purescript-prelude/src/Data/Unit.js":["2022-08-18T20:04:00Z","d7185d75aa1f2fe353e4e200ab4181472e354d6295cb2e6587a56636b1bc733be77b2f5616b20275fe7be0138a6442b2979864b1b234a813f8d9237baa4cd5f3"],"../../../support/bower_components/purescript-prelude/src/Data/Unit.purs":["2022-08-18T20:04:00Z","425d50d748941435bf7f4d6b61769e2b0931973280ba6dd91dcca3f963cc9223b2a7ccd5827611182348041c0813b3be828e2dacc54933ddc152d6e50f7f2f3d"]},"Data.Void":{"../../../support/bower_components/purescript-prelude/src/Data/Void.purs":["2022-08-18T20:04:00Z","28ae6f4ecd4ee9a07dc5c034f189a8740a9e14bef332d6bab73b8e3b2ea51ed2bec88d84862ff4cd989e671be324b019282a2678a6d73e59f05af414705bd47e"]},"Effect":{"../../../support/bower_components/purescript-effect/src/Effect.js":["2022-04-27T14:04:24Z","9683b917c04f50b5b8a41d8294b101d7787cd0a742840e6f05ec143f881bfb51807a2efd29a9296def2676e7c1860352f3d89f78f9205567575c5040f790da32"],"../../../support/bower_components/purescript-effect/src/Effect.purs":["2022-04-27T14:04:24Z","25ea461900466a6aade8a56c20921d46eb037a71efb12c4265dd378e760843e5793efb9f7cb47322511459136d9d4ecd6d09e5a089a432d96ef4af4530ad8e8d"]},"Effect.Class":{"../../../support/bower_components/purescript-effect/src/Effect/Class.purs":["2022-04-27T14:04:24Z","47e0114539e25826ffba341faf99133ed2499027f0955fa606d563d3504c6b41dc9d425dfa619c0c83b5fc2ab8dbb3c1bf2166b5980c5674fb93560c9b80d585"]},"Effect.Class.Console":{"../../../support/bower_components/purescript-console/src/Effect/Class/Console.purs":["2022-04-27T14:11:24Z","5a3a1a7efb4ca9d61673d954d5bed9be6eec0b512fcdffdbcca411b0fe10353da1ec9ac9e32d19f6ffe3ccb358a177cc6238064ae7dee8dfce2363ec26600edc"]},"Effect.Console":{"../../../support/bower_components/purescript-console/src/Effect/Console.js":["2022-04-27T14:11:24Z","37d5914c1c03387fb61991fa0c7273560b38a9cca1ab22a5a1071f58fb5e3cc41952c87e404f22a928e674c04fce0fa18d469b2481d6078645d20650280c9a84"],"../../../support/bower_components/purescript-console/src/Effect/Console.purs":["2022-04-27T14:11:24Z","71c92750574fc7e669d3e0a7d0f40101b91836e69275074eaf3b534fe5f68a6f3b4ebc1dc1f950f89a381996f8bdca297eac522893733bc0fd5ef2ce790af8c7"]},"Effect.Uncurried":{"../../../support/bower_components/purescript-effect/src/Effect/Uncurried.js":["2022-04-27T14:04:24Z","4c6c5db78b72ff3b84623d894b05dd916cc0732dc08d1fd45d8b0768983fdd7377b7299add3c70475459d0e190af99e2176e4c17a8cfbf295c675456bd5ba7d2"],"../../../support/bower_components/purescript-effect/src/Effect/Uncurried.purs":["2022-04-27T14:04:24Z","a948cb1cab11f5019fe20dd697b5c6e248c3b29c7ab332c2cb9d792cfcb58021a77c0f4f71e1c8d7c0b3b9cb18bd1497a0d2f40680926390f3303ecb1fe25beb"]},"Effect.Unsafe":{"../../../support/bower_components/purescript-effect/src/Effect/Unsafe.js":["2022-04-27T14:04:24Z","e66a1117e55534d61b7cd8e1859b54ef97446e0374116867383d2027bd85b73e510cbd1e4e74067b740fffb66c11e243af8d0976b2dc225d9865d882486cccdd"],"../../../support/bower_components/purescript-effect/src/Effect/Unsafe.purs":["2022-04-27T14:04:24Z","c112c559df0f177472e96655b09165d5535f68caddc2b419b4cdfe796af19b962b0659cb609a2ce501002da7de34e66592b5491ebe6f538824c2db8a1e800ea7"]},"Main":{"src/Main.purs":["2021-10-25T20:49:21Z","55bdd6dd11fb1679cb11793dd2996de21972f7aa53826557273bd649004f5907ff8cf6dff840718a12084c421529c9da7d70f698689d3923ab4ae3d608591c66"]},"Prelude":{"../../../support/bower_components/purescript-prelude/src/Prelude.purs":["2022-08-18T20:04:00Z","c67b6a882790c17476eb477da2cfc71dc4c26f297e7b4581b5ae9b0d08040ea7c7b55ed3afb3e824806e573ea4dd307eaa7cb49cfb2a756973b226ee1023e6fc"]},"Record.Unsafe":{"../../../support/bower_components/purescript-prelude/src/Record/Unsafe.js":["2022-08-18T20:04:00Z","667d613a0e1265a710e98c9f6e64ff791b9e9b7227cdf699c3a25724077c02e42726c807c0387ca4484454fd853d5b41522bf2e048887f22a894413ef80cbb92"],"../../../support/bower_components/purescript-prelude/src/Record/Unsafe.purs":["2022-08-18T20:04:00Z","af8a7c83127f5e61853ad0e572be799c04e321562a375d51ab133706ac6a6777e169b057f01a709ad7aae2d8c7a5ae8daa28eae8793c4fe92e2e8f0cfaecf870"]},"Safe.Coerce":{"../../../support/bower_components/purescript-safe-coerce/src/Safe/Coerce.purs":["2022-04-27T14:56:52Z","595abade13e21ed7893a92b338d9e7c7bf56e9067d51ca25c387d6d93a1c5542925f062e282602e89476a45501645c76dbd57eac31cc4e5c1cf341e2902beb89"]},"Type.Proxy":{"../../../support/bower_components/purescript-prelude/src/Type/Proxy.purs":["2022-08-18T20:04:00Z","333d0ae90b05098eada860ad476ed9e1eacd67d969dc1573c74375610cf8de22e85a358a7783a0a461d7ffa6fe322d8c3e90696be02555a02793ac99aba687f2"]},"Unsafe.Coerce":{"../../../support/bower_components/purescript-unsafe-coerce/src/Unsafe/Coerce.js":["2022-04-27T14:15:44Z","031c3187f7ce65110a359260041309506e1ff39a97b6eb22c9a8f2e5c14b35db87d509bb5929f245c5d80df6ccd6dadf83579ebe4ac46650acdfa34a493cfc0d"],"../../../support/bower_components/purescript-unsafe-coerce/src/Unsafe/Coerce.purs":["2022-04-27T14:15:44Z","04b214d9cbbf0c438bb2af4b25f8db5d04f247059241982f718c6d83322c3180f0eced0eb5c410860dcdb35650e9129a1cffe87f7279308cc4cf6c6570bba74f"]}}