Clean – A functional programming language
It&#x27;s kind of a bummer to me that the one of the top comments here is about the syntax.<p>I get that people have syntax preferences and that there&#x27;s a certain level of &quot;sniff&quot; test that goes along with these things, but as a fan of programming languages I am always interested in the semantics. That is, I&#x27;m interested in what&#x27;s different about this language and its combination of features and goals:<p><a href="http:&#x2F;&#x2F;clean.cs.ru.nl&#x2F;Language_features" rel="nofollow">http:&#x2F;&#x2F;clean.cs.ru.nl&#x2F;Language_features</a><p>&gt; The uniqueness typing system of Clean makes it possible to develop efficient applications. In particular, it allows a refined control over the single-threaded use of objects which can influence the time and space behavior of programs. Uniqueness typing can also be used to incorporate destructive updates of objects within a pure functional framework. It allows destructive transformation of state information and enables efficient interfacing to the nonfunctional world (to C but also to I&#x2F;O systems like X-Windows) offering direct access to file systems and operating systems.<p>When I read that I think, &quot;Wow! That seems really neat and reminds me of linear types, and I should check this out&quot;. Maybe that&#x27;s just me though.<p>It&#x27;s also worth noting that the features page does not mention the word syntax. That&#x27;s not a deep insight or strong evidence for anything really but it suggests that the designer was interested in the semantics too and that the syntax was a secondary concern.