Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Le Futur is here

Name: Anonymous 2015-05-04 20:27

https://github.com/LuxLang/lux

What is Lux?

Lux is a new programming language in the making. It's meant to be a functional, statically-typed Lisp that will run on several platforms, such as the Java Virtual Machine and JavaScript interpreters.

Types

They are implemented as plain-old data-structures whose expressions get eval'ed by the compiler and integrated into the type-checker. That means it's actually possible to generate types via functions. However, most of the types in the prelude are generated via several macros that provide a more pleasant syntax to types.

Module system

The module system is heavily inspired by ML, and both signatures & structures are suported.

The main difference between Lux and ML is that ML separates signaturs & structures from the rest of the language, whereas Lux implements them on-top of the base language.

Functional programming

While the means to do Java-interop will be provided (and there are already a few ways to do it that you can look-up inside lux.lux), Lux is commited to functional programming.

Functions are curried and partial application is as simple as just applying a function to less arguments than it needs (as in Haskell).

Macros

Unlike in most other lisps, Lux macros are monadic. The (Lux a) type is the one responsibly for the magic by treading CompilerState instances through macros. Macros must have the Macro and then be declared as macros.

However, just using the defmacro macro will take care of it for you.

However, in an upcoming release you'll get another macro for defining macros. It will be named defsyntax and will use monadic parsing of AST tokens to parse the syntax.

Name: Anonymous 2015-05-04 21:30

There is [] syntax. No.

Name: Anonymous 2015-05-04 21:55

Another pet Lisp? And gosh that doc is long. It should be split up.

Name: Anonymous 2015-05-04 22:12

The Java-bytecode compiler is close to

next.

Name: Anonymous 2015-05-04 22:25

WHERE IS THE SPEC

Name: Anonymous 2015-05-04 22:35

>>3
Clojure is not a LISP.

Name: Anonymous 2015-05-04 23:05

>>6
I agree, Clojure is better than Lisp.

Name: Anonymous 2015-05-05 1:23

Functions are curried and partial application is as simple as just applying a function to less arguments than it needs (as in Haskell).
But what about my variable length argument lists? I want my variable length argument lists!

Name: Anonymous 2015-05-05 19:01

>>8
Whoa hello there, you're just in time to learn there is such a thing as folds!

Name: Anonymous 2015-05-06 1:08

>>8
who are you quoting?

Name: Anonymous 2015-05-06 1:12

before you wreck yourself

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List