<story><title>Flix – Next-generation reliable, concise, functional-first programming language</title><url>https://flix.dev/</url></story><parent_chain></parent_chain><comment><author>siraben</author><text>I&amp;#x27;m curious about the emphasis on fixpoints and lattices. These are two quite simple concepts often overlooked in CS and emphasized even less in programming languages. Lattices are natural to CS in that any time you have an order or even any binary relation, that imposes some structure on your values, and knowing the&amp;#x2F;solving for unique fixpoints (considering also continuity conditions) can be powerful, for instance the most general type of an expression, the &amp;quot;final&amp;quot; result of a recursive definition, infinite streams, final states of an imperative program and so on.&lt;p&gt;Seems to me that Flix would further blur the line between logic and functional programming (using what looks like some Prolog-esque search and datalog integration), amazing!</text></comment>
<story><title>Flix – Next-generation reliable, concise, functional-first programming language</title><url>https://flix.dev/</url></story><parent_chain></parent_chain><comment><author>grumpyprole</author><text>It&amp;#x27;s great to see structural typing in the form of polymorphic extensible records. But I am a bit disappointed they didn&amp;#x27;t go further, I would have at least liked to see extensible variants. The tuple-based syntax, also makes it rather noisy to use anonymous records as arguments (e.g. for named parameters).&lt;p&gt;If I was designing a new modern language, I would make the default types structural records and variants and use a single &amp;quot;new type&amp;quot; form for creating nominal types, when necessary. Compositional datatypes are much easier to achieve with structural records&amp;#x2F;variants (e.g. define a new enum set based on another). It is also trivial to make a structural type nominal, but not to go the other way. But having structural records as something special alongside nominal ADTs (like Flix, Elm and Purescript), does not exploit the duality and does not give a modern rethink that IMHO is needed.</text></comment>