Skip to content

Comment on The Lux Programming Languageparent

Comments

Your concerns are well founded but what's going on is this.

Import paths will be using / for the separation of the path, so you'll be writing things like: (import foo/bar/bar #as baz)

I haven't added imports yet, but they're coming for v0.2

Regarding ; as comments and not namespacing, I chose it mostly because:

a) Using / for namespacing leaves the / function in a weird position.

b) I originally wanted to use : for namespacing, but ended up choosing it for the type-annotating macro, so I settled for ;.

c) ## Was chosen for comments because I get to save on reserved characters. For instance, Clojure reserves an awful lot of characters (, . / ^ # @ ~ ' ` ; : \), whereas Lux only reserves 2 (# ;). So I chose ## to save on characters and because if you squint, ; kinda looks like :

d) Ultimately, there is nothing written in stone and I can change my mind about syntax, but I don't see how rocking the boat a little bit with the syntax will cause much trouble.

Syntax is always a prime candidate for bicycle shedding so they'll always be brought up but uncommon syntax is jarring at first.

One problem I see is how overloaded the `#` character is right now. I think one problem that Scala is stuck with is how many things for which `_` is used.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.