purescript-bundle-fast alternatives and similar packages
Based on the "Development" category.
Alternatively, view purescript-bundle-fast alternatives based on common mentions on social networks and blogs.
stack10.0 6.0 purescript-bundle-fast VS stackThe Haskell Tool Stack
hadolint10.0 6.8 purescript-bundle-fast VS hadolintDockerfile linter, validate inline bash, written in Haskell
ShellCheck10.0 8.3 purescript-bundle-fast VS ShellCheckShellCheck, a static analysis tool for shell scripts
ihaskell10.0 5.7 purescript-bundle-fast VS ihaskellA Haskell kernel for the Jupyter project.
haddockHaskell Documentation Tool
ghcide9.9 9.0 purescript-bundle-fast VS ghcideA library for building Haskell IDE tooling
ghci-ngNext generation GHCi
shake9.9 0.0 purescript-bundle-fast VS shakeShake build system
intero9.9 0.4 purescript-bundle-fast VS interoComplete interactive development program for Haskell
niv9.9 2.1 purescript-bundle-fast VS nivEasy dependency management for Nix projects
hlint9.9 8.8 purescript-bundle-fast VS hlintHaskell source code suggestions
ghcid9.9 0.0 purescript-bundle-fast VS ghcidVery low feature GHCi based IDE
ormolu9.9 6.7 purescript-bundle-fast VS ormoluA formatter for Haskell source code
ghc-modHappy Haskell Programming
haddock-apiHaskell Documentation Tool
leksah9.9 2.5 purescript-bundle-fast VS leksahHaskell IDE
hoogle9.9 4.0 purescript-bundle-fast VS hoogleHaskell API search engine
hie-coreThe Daml smart contract language
hpack9.8 5.0 purescript-bundle-fast VS hpackhpack: A modern format for Haskell packages
stan9.8 3.9 purescript-bundle-fast VS stan🕵️ Haskell STatic ANalyser
criterionA powerful but simple library for measuring the performance of Haskell code.
haskell-lspHaskell library for the Microsoft Language Server Protocol
hindentHaskell pretty printer
cabal-install-parsersScripts and instructions for using CI services (e.g. Travis CI or Appveyor) with multiple GHC configurations
stgi9.8 0.0 purescript-bundle-fast VS stgiA user-centric visual STG implementation to help understand GHC/Haskell's execution model.
structured-haskell-modeStructured editing minor mode for Haskell in Emacs
retrie9.8 1.6 purescript-bundle-fast VS retrieRetrie is a powerful, easy-to-use codemodding tool for Haskell.
H9.8 0.0 purescript-bundle-fast VS HThe full power of R in Haskell.
shelly9.8 2.7 purescript-bundle-fast VS shellyHaskell shell scripting
inline-cWrite Haskell source files including C code inline. No FFI required.
inline-javaHaskell/Java interop via inline Java code in Haskell modules.
alex9.7 2.8 purescript-bundle-fast VS alexA lexical analyser generator for Haskell
happy9.7 1.6 purescript-bundle-fast VS happyThe Happy parser generator for Haskell
elm-makeA build tool for Elm projects
gi-atk9.7 0.0 purescript-bundle-fast VS gi-atkGenerate Haskell bindings for GObject-Introspection capable libraries
nixfmt9.7 1.0 purescript-bundle-fast VS nixfmtA formatter for Nix code
gtk2hs-buildtoolsGUI library for Haskell based on GTK+
curryrsBridge the gap between Haskell and Rust
lambdabot-coreA friendly IRC bot and apprentice coder, written in Haskell.
fourmoluA fourk of ormolu that uses four space indentation and allows arbitrary configuration. Don't like it? PRs welcome!
c2hs9.6 2.0 purescript-bundle-fast VS c2hsc2hs is a pre-processor for Haskell FFI bindings to C libraries
halive9.6 0.0 purescript-bundle-fast VS haliveLive recompiler for Haskell
scion9.6 0.0 purescript-bundle-fast VS scionOLD, DEPRECATED: Use this instead https://github.com/haskell/haskell-ide-engine
lit9.6 0.0 purescript-bundle-fast VS litA modern tool for literate programming
hie-biosSet up a GHC API session for various Haskell Projects
lambdabotA friendly IRC bot and apprentice coder, written in Haskell.
git-gpushMore intelligent push-to-GitHub utility.
threadscopeA graphical tool for profiling parallel Haskell programs
Clean code begins in your IDE with SonarLint
Do you think we are missing an alternative of purescript-bundle-fast or a related project?
Tested with PureScript version 0.7.1.0
A fast alternative to Purescript's
psc-bundle to be used during development.
With PureScript, you must go through a compilation process. Even if it only takes a few seconds, the lag becomes frustrating when trying to iterate rapidly.
But we can try to bring the compilation time down to almost nothing! This
project manages to do so for the
psc-bundle stage of compilation. It is a
psc-bundle-fast that replaces the official
psc-bundle tool that
comes with PureScript.
psc-bundle-fast should be used only during development. For production you
should still use the official
psc-bundle since it does dead code elimination
and will produce smaller output files.
So how much faster is it? Results for a sample project:
|Command||Time||Output .js Size|
That's 16x faster! It's bigger because it contains lots of library code that is
not being used (regular
psc-bundle strips this out). But for local
development, the larger file size has negligible impact on load time, and no
impact on performance.
What about browserify and webpack?
They are even slower than PureScript's
psc-bundle. Feel free to run your own
benchmarks (and tell us the results!)
You need GHC and cabal.
$ cabal update $ cabal install purescript-bundle-fast
psc as usual to compile your program:
$ psc './bower_components/**/src/*.purs' \ --ffi './bower_components/**/src/*.js' \ './src/**/*.purs' \ --ffi './src/**/*.js' \ -o output
Now, just for a comparison, here is how we'd use the regular
$ psc-bundle './output/**/*.js' -m Main --main Main -o app.js
And here is how you would use
psc-bundle-fast instead of the previous step:
$ psc-bundle-fast -i output -m Main --main Main -o app.js
psc-bundle and limitations
It is not able to perform dead code elimination the way that
psc-bundledoes, so it will produce output files that are larger.
It will not detect syntax errors in
foreign.jsfiles. (This is actually an advantage since the error messages that
psc-bundlegenerates are confusing. It's more helpful to see the error that the browser shows).
foreign.jsfiles that use
foreign.jsfiles will load, but if they are executed then an error will be triggered. If you need to a PureScript library that has such
The custom parser that
psc-bundle-fastuses is brittle and relies on the specific format that
pscever makes (even slight) changes to its output then
psc-bundle-fast - Bundles compiled PureScript modules for the browser (fast version, for development) Usage: psc-bundle-fast (-i|--input-dir DIR) [-o|--output FILE] (-m|--module MODULE) [--main MODULE] [-n|--namespace ARG] Available options: --version Show the version number -h,--help Show this help text -i,--input-dir DIR The directory containing the compiled modules. This directory should contain a subdirectory for each compiled module(with the name of the module), and within each of those there should be an index.js (and optional foreign.js) file. The psc compiler usually calls the desired directory "output" -o,--output FILE The output .js file (Default is stdout) -m,--module MODULE Entry point module name(s). All code which is not a transitive dependency of an entry point module will be removed. --main MODULE Generate code to run the main method in the specified module. -n,--namespace ARG Specify the namespace that PureScript modules will be exported to when running in the browser. (default: "PS")