A curried functional lisp-like language
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Cedrice Ermineii 22c5242bfe rewrite notification 7 months ago
cl fix nested block comments 8 months ago
cnc add more, standard library (still non-functioning 9 months ago
doc PL checklist 8 months ago
img make logo more friendly for other background colors 8 months ago
lua organize files 9 months ago
LICENSE Artistic-2.0 9 months ago
README.md rewrite notification 7 months ago

README.md

Concurr is getting a rewrite for these reasons:

  • Make the syntax better
  • Change the name (Concurr isn't very related to concurrency)
  • Clean things up (the lua folder is pretty useless and stuff)
  • I know more about languages and design, so things will be fixed

The core evaluation strategy will not change. The rewrite will still be

  • Curried
  • Purely functional
  • Syntax similar to s-expressions
  • Awesome
  • RAWMEAT (Restrictions aren't worth my effort and time :)
  • Vegan :)

conCurr logo

Inspired by lisp (scheme, robin, and picolisp), (oca)ml, red, and logo. It also shares some features with hoon.

You can use paste to paste syntax-highlighted code.

Features

  • Currying
  • Homoiconicity -- that looks good
  • Pure Functional Programming
  • Free-form syntax
  • Pattern matching
  • Custom control structures
  • Macros?

Roadmap

  • Name, logo
  • Basic syntax
  • Solidify syntax -- probably finished
  • Working lexer and parser
  • Full specification
  • Basic tree-walk interpreter -- basics done, not all built-ins
  • Get people interested -- hard
  • Compile to scheme
  • Create a bytecode VM, compile to it
  • Self-host!
  • Compile to C, JS, WASM ...
  • Add some optimizations

Syntax

You can now find a tutorial in the tutorial.cnc file.