RuMaxwell / rumlisp-hs

A Lisp dialect, with Haskell-interpreter and Python-preprocessor. Features expanding.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rumlisp-hs

A Lisp dialect, with Haskell-interpreter and Python-preprocessor. Features expanding.

Features

[+] Types
    [+] Numeric types
        Int
        -- Integer, Float [, Char]
    [ ] Basic functional types
        -- String [, Enum, Tuple], List [, Array]
    [ ] Combined types
        -- Union type and intersection type
    [ ] User-defined data types
        -- Object, arithmetic data type, record type
[+] Typing system
    [+] Dynamic, strong
        [*] Runtime simple type-checking
        [ ] Type inference
        [ ] Type synonym
[+] Functions
    [*] One-argument lambda function
    [ ] Multiple-argument lambda function (can be implemented by macros)
    [ ] Named-function
        [ ] Self-recursive function
    [*] Closure (enabling lexical-scoping)
    [*] Function as data
        [*] First-order function
        [*] Function passed as value
    [*] Types of a function
        [*] Dynamic argument types (Int or Lambda)
        [*] Dynamic evaluation type (Int or Lambda)
        [*] Dynamic function
[+] Practicability / IO / Operating Systems
    [*] Integral (64-bit) numeric computation
    [ ] Standard input / output
    [ ] File read / write
[+] Macros
    [*] Environment import
        Simple model substitution mechanism, which enables importing environment (`let` bindings) from multiple files.
    [ ] User-defined syntax
        -- Powerful code generator. Produce endless fun and flexibility.
[*] Characteristics
    [*] Immutable data
    [*] Functional programming

About

A Lisp dialect, with Haskell-interpreter and Python-preprocessor. Features expanding.


Languages

Language:Python 46.6%Language:Haskell 46.2%Language:Racket 3.9%Language:JavaScript 3.3%