What is psc-package?
“psc-package is an executable which helps manage PureScript dependencies
using Git.”
Alternatively, it is:
● A Bower replacement, and/or
● A Pulp replacement
● The default package manager for pure11/purerl
(depending on your workflow)
Slide 3
Slide 3 text
Quick Start Guide
$ psc-package init
Initializing new project in current directory
Using the default package set for PureScript compiler version 0.10.7
Quick Start Guide
$ psc-package install psci-support
$ psc-package repl
…
PSCi, version 0.10.7
Type :? for help
>
Slide 8
Slide 8 text
Other Commands
● available list all available packages
● dependencies list all transitive dependencies
● sources list all active source paths
● uninstall uninstall a package
Slide 9
Slide 9 text
Package Sets
How does psc-package know which package versions to use?
It depends on which package set you use.
This is configured in your psc-package.json file.
Package Sets
A package set is just a mapping from package names to
● Git repository
● Package version and
● Dependencies
Slide 12
Slide 12 text
Package Sets
Package sets are stored in Git repositories.
There is a default repository at purescript/package-sets.
Tools for maintainers:
● updates Check all packages for updates
● verify-set Verify the entire set builds correctly
Slide 13
Slide 13 text
Caveats
● No constraint solving
● Cannot customize package versions
Slide 14
Slide 14 text
Contributing
● Help maintain the package set
● Add missing packages
● Try it out and report bugs
● Help write documentation
● Contribute to psc-package development:
○ Build with stack
○ Uses the turtle shell scripting library
○ Straightforward Haskell code
Slide 15
Slide 15 text
Future Work
● More integrations:
○ purs publish
○ purs docs
○ purs bundle
○ Pursuit / type search
○ Try PureScript
● Performance improvements
○ Caching cloned repos