5 ms·
Citrine Programming Language
- nikolay 11y agoNice, but this is pretty ugly: {\ ^9. } I mean, the trailing "\" after "{" is just a terrible eyesore!
- marvy 11y agoI don't like it either. But what to do about it? It seems logical to use `{|` instead, but that's not much prettier. Presumably just a plain old open brace is hard to parse.
- dllthomas 11y agoI am unclear on why they switch from | to \ for the no argument case, but I don't find it especially ugly.
- marvy 11y agoI guess Citrine's creator feels the same way.
- nikolay 11y agoInconsistent = Ugly
- dllthomas 11y agoWhile there are certainly ugly inconsistencies, I disagree that this holds as a rule. This kind of inconsistency - sensitivity of a surface feature to some other attributes of the situation - has the effect of increasing the redundancy of the encoding. Redundancy can (it doesn't always!) help with comprehension and correctness; individual instances should be evaluated on their merits.
- gabordemooij 11y agoIt's documented. There's a visual clue: see the arguments as books on a shelf and the pipe | as a bookend, when you remove the books, the bookend falls over - it's a visual thing and it's my attempt to use humor, so dont invite me to any parties.
- ajarmst 11y agoSome interesting stuff---but I've developed a reflex aversion to languages that proclaim "everything is an object!" as though that were an unalloyed advantage.
- Rockslide 11y agoWhat would be disadvantageous about it? This facet makes Smalltalk (and Ruby) extremely consistent, I don't see how that would be a bad thing (as long as we are talking about an object-oriented language).
- rixed 11y agoThere should be a consensus by now about not creating any new languages with null/nil/undefined/whatever.
- PeCaN 11y agoAll its variables are dynamically scoped, the syntax is the worst of SmallTalk and Prolog, and you're worried about nil?!
- Rockslide 11y agonil in Smalltalk is an object itself, so if you want to build something Option-like with it, this is pretty straightforward to implement. Considering that Citrine claims that "everything is an object", this should also be the case there, so I don't really see a problem with that.
- WorldMaker 11y agoAdmittedly there aren't a lot of places to take a Smalltalk-inspired language, but my big question in skimming this is: what does it intend to solve that, as the big example in the Smalltalk-inspired space, Io (http://iolanguage.org/ http://iolanguage.org/) does not?
- gabordemooij 11y agoIt's simpler.
- yoklov 11y ago> Ruby, Smalltalk, JavaScript and C I don't see where C comes in here at all.
- gabordemooij 11y agoCurly braces for functions come from C, Smalltalk uses brackets [].