Skip to content

Instantly share code, notes, and snippets.

@gabejohnson
Created December 21, 2017 01:37
Show Gist options
  • Save gabejohnson/1b6f5a2cf123f48ddbe2b2362b67e700 to your computer and use it in GitHub Desktop.
Save gabejohnson/1b6f5a2cf123f48ddbe2b2362b67e700 to your computer and use it in GitHub Desktop.
Contents of the PureScript Wikipedia article https://en.wikipedia.org/wiki/PureScript_(programming_language)
<!-- Please do not remove or change this AfD message until the discussion has been closed. -->
{{Article for deletion/dated|page=PureScript (programming language)|timestamp=20171220235206|year=2017|month=December|day=20|substed=yes|help=off}}
<!-- Once discussion is closed, please place on talk page: {{Old AfD multi|page=PureScript (programming language)|date=20 December 2017|result='''keep'''}} -->
<!-- End of AfD message, feel free to edit beyond this point -->
{{multiple issues|
{{notability|Products|date=December 2017}}
{{refimprove|date=December 2017}}
{{third-party|date=December 2017}}
}}
{{Infobox programming language
| name = PureScript
| logo = [[File:PureScript Logo.png|frameless]]
| logo caption =
| screenshot = <!-- (filename) -->
| screenshot caption =
| paradigm = [[functional programming|functional]], [[purely functional|pure]], [[strict evaluation|strict]], [[modular programming|modular]]
| family = [[:Category:Haskell programming language family|Haskell]]
| designer = Phil Freeman
| developer = Phil Freeman, Gary Burgess
| released = {{start date and age|2013|09|30}}
| latest release version = 0.11.7
| latest release date = {{start date and age|2017|11|15}}
| latest preview version =
| latest preview date = <!-- {{start date and age|YYYY|MM|DD|df=yes/no}} -->
| typing = [[static typing|static]], [[strong typing|strong]], [[type inference|inferred]]
| scope =
| programming language =
| discontinued =
| platform =
| operating system = [[cross-platform]]
| license = [[MIT License]]
| file ext = .purs
| file format = <!-- or: | file formats = -->
| website = {{url|www.purescript.org}}
| implementations = PureScript ([[JavaScript]]), Pure11 ([[C++11]])
| dialects =
| influenced by = [[Haskell (programming language)|Haskell]], [[TypeScript]], Roy, Koka, [[Idris (programming language)|Idris]]
| influenced = Shem
}}
'''PureScript''' is a [[strict evaluation|strict]], [[purely functional programming|purely functional]] [[programming language]] inspired by [[Haskell (programming language)|Haskell]] which [[Source-to-source compiler|compiles]] to readable [[JavaScript]] with a simple [[foreign function interface]] and no runtime dependency.<ref>{{cite web|url=http://www.purescript.org/|title=PureScript|website=Purescript.org|accessdate=20 December 2017}}</ref><ref>{{cite web|url=https://github.com/purescript/purescript|title=purescript: A strongly-typed language that compiles to Javascript|date=20 December 2017|accessdate=20 December 2017|publisher=[[GitHub]]}}</ref><ref>{{cite web|url=https://www.youtube.com/watch?v=LqYfdmb0eUU|title=Learn Functional Programming with PureScript|date=21 May 2015|publisher=[[YouTube]]}}</ref>
==Hello World==
<pre>
import Prelude
import Control.Monad.Eff.Console (log)
greet :: String -> String
greet name = "Hello, " <> name <> "!"
main = log (greet "World")
</pre>
== Features ==
PureScript has support for [[algebraic data type|algebraic data types]], [[polymorphism (computer science)#Row Polymorphism|row polymorphism]], [[type class|type classes]], [[type class#Higher-kinded polymorphism|higher-kinded]] types, and [[parametric polymorphism#Rank-n ("higher-rank") polymorphism|higher-rank polymorphism]].
==References==
{{Reflist}}
[[Category:Functional languages]]
{{compu-prog-stub}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment