Skip to main content

The Coconut Programming Language.

Project description

Coconut is a simple, modern, developer-friendly scripting language that compiles to Python, built for functional programming.

https://travis-ci.org/evhub/coconut.svg?branch=master

Installation

Enter in console:

pip install coconut

Command Line

Usage:

coconut [-h] [-v] [-s] [-r] [-i] [-d [level]] [-c code] [--autopep8 ...] [source] [dest]

Positional Arguments:

source                path to the coconut file/module to compile
dest                  destination directory for compiled files (defaults to the source directory)

Optional Arguments:

-h, --help            show this help message and exit
-v, --version         print coconut and python version information
-s, --strict          enforce code cleanliness standards
-r, --run             run the compiled source instead of writing it
-i, --interact        force the interpreter to start (otherwise starts if no other command is given)
-d, --debug           enable debug output (level: 0 is off, no arg defaults to 1, max is 2)
-c, --code            run a line of coconut passed in as a string
--autopep8            use autopep8 to format compiled code (remaining args passed to autopep8)

Syntax

Coconut is based on Python 3 syntax and compiles to Python 3 code. Coconut makes significant changes from Python 3 syntax, however:

  • New operators:
    • compose: .. (in-place: ..=)

    • partial/islice: $

    • pipeline: |> (in-place: |>=)

    • lambda: ->

    • chain: :: (in-place: ::=)

  • New syntax:
    • infix function calling: new 6 `mod` 3 syntax

    • operator functions: new (+) syntax

    • function definition: alternative f(x) = x syntax

    • non-decimal integers: alternative 10110_2 syntax

  • Changed syntax:
    • unicode symbols: supports unicode alternatives for most symbols

    • lambda keyword: removed (use the lambda operator instead)

  • New built-ins:
    • right reduce: reduce

    • zip with function: zipwith

    • tail recursion elimination: recursive

  • New constructs: (planned)
    • operator [re]definition

    • pattern matching

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coconut-0.1.0.tar.gz (15.2 kB view hashes)

Uploaded Source

Built Distribution

coconut-0.1.0-py2.py3-none-any.whl (19.1 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page