Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


⚡️ A practical standard library for PureScript.

Subscribe to updates I use purescript-neon

Statistics on purescript-neon

Number of watchers on Github 37
Number of open issues 0
Average time to close an issue 17 days
Main language PureScript
Average time to merge a PR about 12 hours
Open pull requests 2+
Closed pull requests 4+
Last commit over 2 years ago
Repo Created over 4 years ago
Repo Last Updated over 2 years ago
Size 698 KB
Homepage http://pursuit.pu...
Organization / Authortfausak
Latest Releasev0.5.4
Page Updated
Do you use purescript-neon? Leave a review!
View purescript-neon activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating purescript-neon for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


Package version Build status

Neon is a practical standard library for PureScript.

-- Find the sum of all the multiples of 3 or 5 below 1000.
-- <https://projecteuler.net/problem=1>
import Neon
main :: Eff (console :: CONSOLE) Unit
main = 1
  :upTo 999
  :filter (divisibleBy 3 || divisibleBy 5)

Neon is written from the ground up to be useful and coherent. It has some guiding principles:

  • If something is possible in JavaScript (and not a terrible idea), it should be possible in Neon. This means you can do "ab" + "cd", but you can't do "ab" + 3.

  • Functions should take their subject last. This means add x y is really y + x. Consider calling functions with :, like y :add x.

  • Everything should be documented with examples. Type signatures are not a substitute for documentation.

  • Laws should not prohibit useful instances. This means you can use or on booleans and arrays.

  • There should be no type class hierarchy. This means HasZero does not imply HasAdd. If you need both, add both to your type signature.

  • There should be as few operators as possible. This means <$> does not exist. Use map instead.

  • There should be one obvious way to do things. This means return is not an alias for pure. In fact, it doesn't exist at all.

  • Functions should be defined in type classes. This means add can be used for both numbers and strings.

  • Type classes should be as small as possible. This means the Bounded type class is split into HasBottom and HasTop.

  • Type classes should be designed for programmers, not mathematicians. This means HasAdd is a semigroup, but it's not called Semigroup.

  • Neon should not define its own data types. That means you can use Maybe from Data.Maybe without translation.

  • Pure functions should not throw exceptions. This means fromInt returns a Maybe value. Pure functions that throw exceptions should be marked unsafe.

  • Qualified imports are annoying, and fewer imports are better. This mean import Neon is enough. No need for tens of lines of imports.

purescript-neon open issues Ask a question     (View All Issues)
  • almost 4 years Doc site down?
  • about 4 years Support PSCi
purescript-neon open pull requests (View All Pulls)
  • Add sets
  • Add principle about data types
purescript-neon list of languages used
purescript-neon latest release notes
v0.5.4 v0.5.4
  • #105: Fixed operator documentation.
v0.5.3 v0.5.3
  • Removed concat. Use sum instead; they're the same.
v0.5.2 v0.5.2
  • Didn't change anything. This version was released to fix documentation.
Other projects in PureScript