Metadata-Version: 2.1
Name: acalang
Version: 0.1.4
Summary: Aca, a functional programming language, and shitty toy
Home-page: https://github.com/anqurvanillapy/acalang
Author: AnqurVanillapy
Author-email: anqurvanillapy@gmail.com
License: MIT
Description: # Aca
        
        > *Aca, a functional programming language, and shitty toy.*
        
        Aca is a toy functional programming language initially inspired by ISWIM.  The
        interpreter is currently written in Python.
        
        ## Install
        
        ```bash
        $ pip install acalang
        ```
        
        ## Example
        
        1. Command line usage
        
        ```bash
        $ cat foo.aca
        let main =
            dechurch 3
        $ aca foo.aca
        3
        $ aca foo.aca -S
        (lambda x: dechurch(x))((lambda x: x)((lambda f: lambda x: (f(f(f(x)))))))
        ```
        
        2. Lambda calculus
        
        ```
        let main =
            (\x y f. f x y)
        ```
        
        3. Sugar for Church numerals
        
        ```
        let main = 0
        ```
        
        ... is identical to
        
        ```
        let main =
            (\x . x)
        ```
        
        4. Builtin function `dechurch` for trying to decoding a natural number
        
        ```
        let main =
            dechurch 42
        ```
        
        ... will not yield any lambdas but value `42` on the screen
        
        ## Already done
        
        * Lambda calculus
        * Encoding and decoding of Church numerals
        * Local declarations
        
        ## Goals
        
        - Before `v1.0.0`:
            + Untyped lambda calculus
            + Standard library for basic datatypes and operations
        - `v1.0.0`:
            + Builtin binary operators
        - `v2.0.0`:
            + System F
        
        ## License
        
        MIT
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
