Unpacking Software Livestream

Join our monthly Unpacking Software livestream to hear about the latest news, chat and opinion on packaging, software deployment and lifecycle management!

Learn More

Chocolatey Product Spotlight

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Learn More

Chocolatey Coding Livestream

Join us for the Chocolatey Coding Livestream, where members of our team dive into the heart of open source development by coding live on various Chocolatey projects. Tune in to witness real-time coding, ask questions, and gain insights into the world of package management. Don't miss this opportunity to engage with our team and contribute to the future of Chocolatey!

Learn More

Calling All Chocolatiers! Whipping Up Windows Automation with Chocolatey Central Management

Webinar from
Wednesday, 17 January 2024

We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we'll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!

Watch On-Demand
Chocolatey Community Coffee Break

Join the Chocolatey Team as we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Watch The Replays
Chocolatey and Intune Overview

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Watch On-Demand
Chocolatey For Business. In Azure. In One Click.

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Watch On-Demand
The Future of Chocolatey CLI

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Watch On-Demand
Hacktoberfest Tuesdays 2022

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Watch On-Demand

Downloads:

6,553

Downloads of v 0.12.0:

330

Last Update:

29 Jun 2018

Package Maintainer(s):

Software Author(s):

  • The Purescript community

Tags:

purescript haskell javascript typed-language alt-js

purescript

This is not the latest version of purescript available.

  • 1
  • 2
  • 3

0.12.0 | Updated: 29 Jun 2018

Downloads:

6,553

Downloads of v 0.12.0:

330

Software Author(s):

  • The Purescript community

purescript 0.12.0

This is not the latest version of purescript available.

  • 1
  • 2
  • 3

All Checks are Passing

3 Passing Tests


Validation Testing Passed


Verification Testing Passed

Details

Scan Testing Successful:

No detections found in any package files

Details
Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

To install purescript, run the following command from the command line or from PowerShell:

>

To upgrade purescript, run the following command from the command line or from PowerShell:

>

To uninstall purescript, run the following command from the command line or from PowerShell:

>

Deployment Method:

NOTE

This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)


2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade purescript -y --source="'INTERNAL REPO URL'" --version="'0.12.0'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade purescript -y --source="'INTERNAL REPO URL'" --version="'0.12.0'" 
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Install purescript
  win_chocolatey:
    name: purescript
    version: '0.12.0'
    source: INTERNAL REPO URL
    state: present

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.


chocolatey_package 'purescript' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '0.12.0'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


cChocoPackageInstaller purescript
{
    Name     = "purescript"
    Version  = "0.12.0"
    Source   = "INTERNAL REPO URL"
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'purescript':
  ensure   => '0.12.0',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

NOTE

Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...

Package Approved

This package was approved by moderator gep13 on 17 Jul 2018.

Description

A small strongly typed programming language with expressive types that compiles to JavaScript, written in and inspired by Haskell.


tools\chocolateyinstall.ps1
$ErrorActionPreference = 'Stop';

$version     = $env:chocolateyPackageVersion
$packageName = $env:chocolateyPackageName
$url64       = ("https://github.com/purescript/purescript/releases/download/v{0}/win64.tar.gz" -f $version)

$packageArgs = @{
    packageName    = $packageName
    unzipLocation  = Split-Path $MyInvocation.MyCommand.Definition
    url64bit       = $url64
    checksum64     = "594c41bf9090bd01dfce32a0d29c6b700f06cf5b"
    checksumType64 = "sha1"
}

Install-ChocolateyZipPackage @packageArgs
$File = Get-ChildItem -File -Path $env:ChocolateyInstall\lib\$packageName\tools\ -Filter *.tar
Get-ChocolateyUnzip -fileFullPath $File.FullName -destination $env:ChocolateyInstall\lib\$packageName\tools\

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status
purescript 0.15.7 50 Tuesday, January 3, 2023 Approved
purescript 0.15.6 58 Wednesday, November 9, 2022 Approved
purescript 0.15.4 57 Thursday, September 8, 2022 Approved
purescript 0.15.3 69 Friday, June 24, 2022 Approved
purescript 0.15.2 69 Thursday, May 19, 2022 Approved
purescript 0.15.0 56 Tuesday, May 3, 2022 Approved
purescript 0.14.7 68 Monday, February 28, 2022 Approved
purescript 0.14.5 95 Wednesday, November 17, 2021 Approved
purescript 0.14.4 97 Thursday, August 26, 2021 Approved
purescript 0.14.3 94 Thursday, July 8, 2021 Approved
purescript 0.14.2 104 Monday, June 14, 2021 Approved
purescript 0.14.1 100 Tuesday, April 20, 2021 Approved
purescript 0.14.0 115 Monday, March 1, 2021 Approved
purescript 0.13.8 275 Wednesday, May 27, 2020 Approved
purescript 0.13.6 387 Monday, January 20, 2020 Approved
purescript 0.13.5 172 Thursday, November 14, 2019 Approved
purescript 0.13.4 187 Monday, October 21, 2019 Approved
purescript 0.13.3 168 Monday, August 19, 2019 Approved
purescript 0.12.5 362 Monday, April 15, 2019 Approved
purescript 0.12.4 187 Friday, April 12, 2019 Approved
purescript 0.12.3 341 Tuesday, February 26, 2019 Approved
purescript 0.12.1 269 Wednesday, November 14, 2018 Approved
purescript 0.12.0 330 Friday, June 29, 2018 Approved
PureScript 0.7.4.1 726 Monday, August 31, 2015 Approved
PureScript 0.7.3 443 Monday, August 17, 2015 Approved
PureScript 0.7.2 459 Wednesday, August 5, 2015 Approved
PureScript 0.7.1 434 Friday, July 31, 2015 Approved
PureScript 0.6.9.3 614 Thursday, March 19, 2015 Approved

Breaking changes

  • Added applicative-do notation; ado is now a keyword. An full explanation of the behaviour and usage of ado is available in a comment on the issue. (#2889, @rightfold)

  • Removed wrapper scripts for the old binary names (psc, psci, etc.) (#2993, @hdgarrood)

  • Removed compiler support for deriving purescript-generics. purescript-generics-rep is still supported. (#3007, @paf31)

  • Instances with just one method now require the method to be indented (bug fix, but potentially breaking) (#2947, @quesebifurcan)

  • Overlapping instances are now an error rather than a warning, but can be resolved with the new instance chain groups feature (#2315, @LiamGoodacre)

  • Reworked the CoreFn json representation. This change enables use of the Zephyr tree shaking tool for PureScript. (#3049, #3342, @coot)

  • It is no longer possible to export a type class that has superclasses that are not also exported (bug fix, but potentially breaking) (#3132, @parsonsmatt)

  • Eq and Ord deriving will now rely on Eq1 and Ord1 constraints as necessary where sometimes previously Eq (f _) would be required. Eq1 and Ord1 instances can also be derived. (#3207, @garyb)

  • Some Prim type classes have been renamed/moved, so will require explicit importing (#3176, @parsonsmatt):

    • RowCons is now Prim.Row.Cons

    • Union is now Prim.Row.Union

    • Fail is now Prim.TypeError.Fail

    • Warn is now Prim.TypeError.Warn

  • Users can no longer specify modules under the Prim namespace (#3291, @parsonsmatt)

  • TypeConcat and TypeString have been replaced because they were in kind Symbol but weren't literals. The Prim.TypeError.Doc kind and related constructors (Text, Quote, Beside, Above) have been added in their place. The Fail and Warn type classes now accept a Doc instead of a Symbol.

(#3134, @LiamGoodacre)

  • In simple cases instance overlaps are now checked at declaration time rather than being deferred until an attempt is made to use them. (#3129, @LiamGoodacre)

  • Chaining non-associative or mixed associativity operators of the same precedence is no longer allowed (#3315, @garyb)

  • The --dump-corefn and --source-maps arguments to purs compile have been removed. There is now a --codegen argument that allows the specific codegen targets to be specified - for example, --codegen corefn will not produce JS files, --codgen js,corefn will produce both. If the sourcemaps target is used js will be implied, so there's no difference between --codegen js,sourcemaps and --codegen sourcemaps). If no targets are specified the default is js. (#3196, @garyb, @gabejohnson)

  • Exported types that use foreign kinds now require the foreign kinds to be exported too (bug fix, but potentially breaking) (#3331, @garyb)

  • The pursuit commands were removed from purs ide due to lack of use and editor tooling implementing the features instead (#3355, @kRITZCREEK)

Enhancements

  • Added Cons compiler-solved type class for Symbol (#3054, @kcsongor)

  • The Append compiler-solved type class for Symbol can now be run in reverse (#3025, @paf31)

  • Find Usages for values and constructors in purs ide (#3206, @kRITZCREEK)

  • purs ide treats hiding imports the same as open imports when sorting (#3069, @kRITZCREEK)

  • Added inlining for fully saturated usages of runEffFn/mkEffFn (#3026, @nwolverson)

  • Improved explanation of UnusableDeclaration error (#3088, #3304, @i-am-tom)

  • Improved rendering of comments in generated JavaScript by removing additional newlines (#3096, @brandonhamilton)

  • Instance chain support. (#2315, @LiamGoodacre)

    > We can now express an explicit ordering on instances that would previously have been overlapping.

    > For example we could now write an IsEqual type class to compute if two types are equal or apart:

    > ```

    > class IsEqual (l :: Type) (r :: Type) (o :: Boolean) | l r -> o

    > instance isEqualRefl :: IsEqual x x True

    > else instance isEqualContra :: IsEqual l r False

    > ```

    > Note the else keyword that links the two instances together.

    > The isEqualContra will only be up for selection once the compiler knows it couldn't possible select isEqualRefl - i.e that l and r are definitely not equal.

  • Improved orphan instance error to include locations where the instance would be valid (#3106, @i-am-tom)

  • Added an explicit error for better explanation of duplicate type class or instance declarations (#3093, @LiamGoodacre)

  • purs ide now provide documentation comments (#2349, @nwolverson)

  • Clarified meaning of duplicate labels in a Record row (#3143, @paf31)

  • Explicit import suggestions consistently use (..) for constructors now (#3142, @nwolverson)

  • Improved tab completion in purs repl (#3227, @rndnoise)

  • Large compiler perfomance improvement in some cases by skipping source spans in Eq, Ord for binders (#3265, @bitemyapp)

  • Added support for error/warning messages to carry multiple source spans (#3255, @garyb)

  • Improved tab completion in purs repl when parens and brackets are involved (#3236, @rndnoise)

  • Improved completion in purs repl after :kind and :type (#3237, @rndnoise)

  • Added the "magic do" optimisation for the new simplified Effect type (Control.Monad.Eff is still supported) (#3289, @kRITZCREEK, #3301, @garyb)

  • Improvide build startup times when resuming a build with incremental results (#3270, @kRITZCREEK)

  • Added compiler-solved Prim.Row.Nub type class (#3293, @natefaubion)

  • Improved docs for Prim.Row.Cons and Prim.Row.Union (#3292, @vladciobanu)

  • Functor can now be derived when quantifiers are used in constructors (#3232, @i-am-tom)

  • purs repl will now complete types after :: (#3239, @rndnoise)

  • Added compiler-solved Prim.Row.Lacks type class (#3305, @natefaubion)

  • Added current output path to missing output error message from purs ide (#3311, @rgrinberg)

  • Improved parser error messages for .purs-repl (#3248, @rndnoise)

  • require in generated JavaScript now includes full index.js file paths (#2621, @chexxor)

  • Added more compiler-solved type classes and supporting types and kinds to Prim:

    • Prim.Ordering module with kind Ordering, type LT, type EQ, type GT

    • Prim.RowList module with class RowToList, kind RowList, type Nil, type Cons

    • Prim.Symbol module with class Compare, class Append, class Cons

    (#3312, @LiamGoodacre, @kRITZCREEK)

  • Generated code for closed records now explicitly reconstructs the record rather than looping (#1493, @fehrenbach, blog post with more details)

  • Enhanced purs --help message to include hint about using --help with commands (#3344, @hdgarrood)

  • IncorrectConstructorArity error message now includes a hint of how many arguments are expected for the constructor (#3353, @joneshf)

  • purs ide now uses absolute locations for file paths for better experience in some editors (#3363, @kRITZCREEK)

Bug fixes

  • Fixed a bug with names cause by Prim always being imported unqualified (#2197, @LightAndLight)

  • Fixed overlapping instances error message to reflect its new status as an error (#3084, @drets)

  • Added source position to TypeClassDeclaration errors (#3109, @b123400)

  • Fixed entailment issues with skolems and matches in the typechecker (#3121, @LiamGoodacre)

  • Fixed multiple parentheses around a type causing a crash (#3085, @MonoidMusician)

  • Fixed purs ide inserting conflicting imports for types (#3131, @nwolverson)

  • Fixed constraints being inferred differently for lambda expressions compared with equational declarations (#3125, @LiamGoodacre)

  • Updated glob handling to prevent excessive memory usage (#3055, @hdgarrood)

  • Added position information to warnings in type declarations (#3174, @b123400)

  • Fixed documentation generated for Pursuit rendering functional dependency variables as identifier links (#3180, @houli)

  • Naming a function argument __unused no longer breaks codegen (#3187, @matthewleon)

  • Added position information to ShadowedName warning (#3213, @garyb)

  • Added position information to UnusedTypeVar warning (#3214, @garyb)

  • Added position information to MissingClassMember, ExtraneousClassMember, ExpectedWildcard errors (#3216, @garyb)

  • Added position information to ExportConflict errors (#3217, @garyb)

  • Fixed ctags and etags generation when explicit exports are involved (#3204, @matthewleon)

  • Added position information to ScopeShadowing warning (#3219, @garyb)

  • Added position information for various FFI related errors and warnings (#3276, @garyb)

  • Added all available positions to CycleInModule and DuplicateModule errors (#3273, @garyb)

  • Added position information for IntOutOfRange errors (#3277, @garyb, @kRITZCREEK)

  • Warnings are now raised when a module re-exports a qualified module with implicit import (#2726, @garyb)

  • purs repl now shows results for :browse Prim (#2672, @rndnoise)

  • Added position information to ErrorParsingFFIModule (#3307, @nwolverson)

  • Added position information for ScopeConflict cause by exports (#3318, @garyb)

  • Added position information to errors that occur in binding groups and data binding groups (#3275, @garyb)

  • Fixed a scoping issue when resolving operators (#2803, @kRITZCREEK, @LightAndLight)

  • Type synonyms are now desugared earlier when newtype deriving (#3325, @LiamGoodacre)

  • Fixed subgoals of compiler-solved type classes being ignored (#3333, @LiamGoodacre)

  • Added position information to type operator associativity errors (#3337, @garyb)

  • Updated description of purs docs command (#3343, @hdgarrood)

  • Fixed purs docs issue with re-exporting from Prim submodules (#3347, @hdgarrood)

  • Enabled purs ide imports for Prim submodules (#3352, @kRITZCREEK)

  • Fixed purs bundle failing to bundle in the 0.12-rc1 (#3359, @garyb)

  • Enabled :browse for Prim submodules in purs repl (#3364, @kRITZCREEK)

Other

  • Updated installation information to include details about prebuild binaries (#3167, @MiracleBlue)

  • Test suite now prints output when failing cases are encountered (#3181, @parsonsmatt)

  • Updated test suite to use tasty (#2848, @kRITZCREEK)

  • Improved performance of repl test suite (#3234, @rndnoise)

  • Refactored let pattern desugaring to be less brittle (#3268, @kRITZCREEK)

  • Added makefile with common tasks for contributors (#3266, @bitemyapp)

  • Added ghcid and testing commands to makefile (#3290, @parsonsmatt)

  • Removed old unused MultipleFFIModules error (#3308, @nwolverson)

  • mod and div for Int are no longer inlined as their definition has changed in a way that makes their implementation more complicated - purescript/purescript-prelude#161 (#3309, @garyb)

  • The test suite now checks warnings and errors have position information (#3211, @garyb)

  • The AST was updated to be able to differentiate between let and where clauses (#3317, @joneshf)

  • Support for an optimization pass on CoreFn was added (#3319, @matthewleon)

  • Clarified note in the purs ide docs about the behaviour of --editor-mode (#3350, @chexxor)

  • Updated bundle/install docs for 0.12 (#3357, @hdgarrood)

  • Removed old readme for psc-bundle (a leftover from before the unified purs binary) (#3356, @Cmdv)


This package has no dependencies.

Discussion for the purescript Package

Ground Rules:

  • This discussion is only about purescript and the purescript package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or purescript, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus