module HelloWorld where import Prelude import Data.Maybe (Maybe(..)) helloWorld :: Maybe String -> String helloWorld Nothing = "Hello, World!" helloWorld (Just x) = "Hello, " <> x <> "!"
PureScript is a purely functional, statically-typed programming language with global type inference.
Functional means that functions are first-class values. Functions are an important and powerful tool for abstraction. In PureScript, computation is modeled as the evaluation of expressions made up of function applications, rather than as the execution of a sequence of instructions.
Purely Functional means that it is possible to tell if a computation has side-effects or not, meaning that if a computation changes a global variable, reads from input, writes to a socket, etc. it will be reflected in the type of the computation.
Statically-typed means that all computations have a type that is known before running the program.
Global type inference means that the compiler can figure out the type of computations in the entire program without needing the programmer to specify the type.Join the PureScript track
The reviews are incredibly helpful because they help me see things that I missed, learn about new ways and sometimes interesting discussions that can add a fun twist to maybe a simple problem.
Once you join the PureScript language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.
These are a few of the 28 exercises on the PureScript track. You can see all the exercises here.