ats-pkg: A build tool for ATS

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

A collection of scripts to simplify building ATS projects.


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.2.0.0, 0.2.0.1, 0.3.0.1, 0.3.0.2, 1.0.0.0, 1.1.0.0, 1.1.0.1, 1.1.0.2, 1.1.0.3, 1.2.0.0, 1.2.0.1, 1.2.0.2, 1.2.0.3, 1.2.0.4, 1.2.0.5, 1.2.0.6, 1.2.0.7, 1.2.0.8, 1.2.1.0, 1.2.1.3, 1.3.0.0, 1.4.0.0, 1.4.0.1, 1.4.0.3, 1.4.0.6, 2.0.0.2, 2.0.0.4, 2.0.0.6, 2.0.0.7, 2.0.0.8, 2.0.0.9, 2.0.0.10, 2.0.0.11, 2.0.0.12, 2.0.0.13, 2.1.0.0, 2.1.0.3, 2.1.0.5, 2.1.0.6, 2.1.0.7, 2.1.0.8, 2.1.0.9, 2.1.0.10, 2.2.0.0, 2.2.0.1, 2.2.0.2, 2.2.0.5, 2.2.0.6, 2.2.0.7, 2.2.0.8, 2.2.0.11, 2.2.0.15, 2.2.0.16, 2.2.0.17, 2.2.0.18, 2.2.1.0, 2.2.1.1, 2.3.0.0, 2.3.0.3, 2.3.0.6, 2.4.0.0, 2.4.0.3, 2.4.0.6, 2.4.1.0, 2.4.1.6, 2.4.2.0, 2.4.2.7, 2.4.2.8, 2.4.2.9, 2.4.2.18, 2.4.2.19, 2.5.0.3, 2.6.0.0, 2.6.0.1, 2.6.0.2, 2.6.0.3, 2.6.1.0, 2.6.1.1, 2.6.1.2, 2.6.1.3, 2.6.1.11, 2.6.1.16, 2.7.0.10, 2.7.0.22, 2.7.1.0, 2.7.1.1, 2.7.1.2, 2.8.0.0, 2.8.0.8, 2.9.0.0, 2.9.0.1, 2.9.0.2, 2.10.0.0, 2.10.0.2, 2.10.0.8, 2.10.0.11, 2.10.0.17, 2.10.0.20, 2.10.1.5, 2.10.1.8, 2.10.2.0, 2.10.2.2, 2.10.2.5, 2.11.0.1, 2.11.0.7, 2.11.0.8, 2.11.0.9, 2.11.0.10, 3.0.0.0, 3.0.0.1, 3.0.0.2, 3.0.0.4, 3.0.0.10, 3.0.0.11, 3.1.0.2, 3.1.0.6, 3.1.0.12, 3.2.1.2, 3.2.1.8, 3.2.2.0, 3.2.2.2, 3.2.2.3, 3.2.3.0, 3.2.4.0, 3.2.4.2, 3.2.4.4, 3.2.4.5, 3.2.4.6, 3.2.5.3, 3.2.5.6, 3.2.5.10, 3.2.5.11, 3.2.5.12, 3.2.5.13, 3.2.5.16, 3.2.5.17, 3.2.5.18, 3.2.6.0, 3.2.6.1, 3.2.6.2, 3.2.6.3, 3.2.6.4, 3.3.0.0, 3.3.0.1, 3.3.0.4, 3.3.0.4, 3.3.0.5, 3.3.0.6, 3.3.0.7, 3.4.0.0, 3.4.0.1, 3.4.0.3, 3.4.0.4, 3.4.0.5, 3.4.0.6, 3.4.0.7, 3.4.0.8, 3.5.0.0, 3.5.0.1, 3.5.0.2
Change log CHANGELOG.md
Dependencies ansi-wl-pprint, ats-pkg, base (>=4.10 && <5), binary, bytestring, bzlib, Cabal (>=2.2.0.0), cli-setup, composition-prelude (>=1.3.0.3), containers (>=0.6), dependency (>=1.2.0.0), dhall (>=1.27.0), directory (>=1.2.3.0), file-embed (>=0.0.9), filemanip, filepath, http-client, http-client-tls, language-ats (>=1.7.4.0), lzma, microlens, mtl, optparse-applicative, parallel-io, process, shake (>=0.17), shake-ats (>=1.10.2.0), shake-c (>=0.4.0.0), shake-ext (>=3.0.0.0), tar, temporary, text, unix, unix-compat, zip-archive, zlib [details]
License BSD-3-Clause
Copyright Copyright: (c) 2018-2019 Vanessa McHale
Author Vanessa McHale
Maintainer vamchale@gmail.com
Category Development, ATS
Bug tracker https://github.com/vmchale/atspkg/issues
Source repo head: git clone git@github.com:vmchale/atspkg.git(ats-pkg)
Uploaded by vmchale at 2019-11-07T17:18:31Z

Modules

Manual Flags

NameDescriptionDefault
development

Enable `-Werror`

Disabled
Automatic Flags
NameDescriptionDefault

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for ats-pkg-3.3.0.4

[back to package description]

ATSPackage

Build Status Windows build status Hackage CI Hackage Dependencies of latest version on Hackage

This is a build system for ATS written in Haskell and configured with Dhall. It is not fully working, but the configuration format is now stable.

atspkg works quite well as a build system, and acceptably well as a package manager.

Features & Non-Features

Things that atspkg will do for you:

Things that atspkg will not do for you:

Example

As an example, the following will install polyglot:

atspkg remote https://github.com/vmchale/polyglot/archive/master.zip

As you can see, this greatly simplifies distribution and testing of programs written in ATS.

Installation

Script

The easiest way to install is via a script, viz.

curl -sSl https://raw.githubusercontent.com/vmchale/atspkg/master/bash/install.sh | sh -s

Thereafter, you can run

atspkg upgrade

to upgrade to the latest release.

Source

If that doesn't work, you can download Cabal and GHC and install with

cabal update
cabal new-install ats-pkg --symlink-bindir ~/.local/bin --happy-options='-gcsa' --alex-options='-g'

Note that $HOME/.local/bin will need to be on your PATH.

Quick Start

Install pi with

curl -LSfs https://japaric.github.io/trust/install.sh | sh -s -- --git vmchale/project-init

Initialize an ATS project with

pi new ats project

Then build & run it:

cd project
atspkg run

Examples

You can find several examples with explanation here.

Global Configuration

atspkg is configured via a file in $HOME/.config/atspkg/config.dhall. You can set a custom package set as follows:

let version = "master"
in

let cfg =
  { defaultPkgs = "https://raw.githubusercontent.com/vmchale/atspkg/${version}/ats-pkg/pkgs/pkg-set.dhall"
  , path = ([] : Optional Text)
  , githubUsername = "vmchale"
  , filterErrors = False
  }
in cfg

I recommend setting version to whichever branch your version of atspkg was built from.