Flix (programming language): Difference between revisions

Content deleted Content added
JorKadeen (talk | contribs)
No edit summary
JorKadeen (talk | contribs)
Line 104:
The Flix language design includes a collection of stated principles that shape the language<ref>{{cite web |title=The Flix Programming Language - Principles |url=https://flix.dev/#/principles/ |website=flix.dev |accessdate=28 August 2020}}</ref>. These include:
 
* Everything is an expression.
* Separation of pure and impure code.
* Closed-world assumption.
 
The principles alsostates listthat featuresdead thator haveredundant beencode deliberatelyis omitteda duecode tosmell theirand perceivedhence flawsdisallows:
 
* Unused functions.
* No null values
* Unused parameters, types, and variables.
* No implicit coercions
* No variableVariable shadowing.
* No reflection
 
* No compiler warnings, only compiler errors
The principles also list several programming language features have been deliberately omitted. In particular, Flix has:
* No dead or unreachable code
 
* No variable shadowing
* No [[Null_pointer|null]] values. Instead the use of the <code>Option</code> data type is recommended.
* No [[Type_conversion|implicit coercions]]. Instead type conversions must be inserted explicitly by the programmer.
* No [[Reflection_(computer_programming)|reflection]].
* No compiler warnings, only compiler errors.
 
== References ==