Abstract
Fuzion is a modern, general purpose programming language that unifies concepts found in structured, functional and object-oriented programming languages into the concept of a Fuzion feature. It combines a powerful syntax and safety features based on the design-by-contract principle with a simple intermediate representation that enables powerful optimizing compilers and static analysis tools to verify correctness aspects.
Fuzion maps different concepts into the concept of a Fuzion feature and uses a simple intermediate language that is friendly for static analysis tools as well as for optimizing compilers.
Fuzion was influenced by many other languages including Java, Python, Eiffel, Rust, Ada, Go, Lua, Kotlin, C#, F#, Nim, Julia, Clojure, C/C++, Scala, and many more. The goal of Fuzion is to define a language that has the expressive power present in these languages and allow high-performance implementation and powerful analysis tools. Furthermore, Fuzion addresses requirements for safety-critical applications by adding support for contracts that enable formal specification and detailed control over runtime checks.
- B. Meyer, "Applying "design by contract"," Computer, vol. 25, p. 40--51, Oct. 1992.Google Scholar
Digital Library
- W. D. Clinger, "Proper tail recursion and space efficiency," SIGPLAN Not., vol. 33, p. 174--185, May 1998.Google Scholar
Digital Library
- F. Siebert, "Concurrent, parallel, real-time garbagecollection," in Proceedings of the 2010 International Symposium on Memory Management, ISMM '10, (New York, NY, USA), p. 11--20, Association for Computing Machinery, 2010.Google Scholar
- "Use of uninitialized final field - with/without 'this.' qualifier." https://stackoverflow.com/ questions/13864464/, 2012.Google Scholar
- S. Klabnik and C. Nichols, The Rust Programming Language: Ch. 16 Fearless Concurrenty. USA: No Starch Press, 2018.Google Scholar
- R. Rugina and M. C. Rinard, "Symbolic bounds analysis of pointers, array indices, and accessed memory regions," ACM Trans. Program. Lang. Syst., vol. 27, p. 185--235, Mar. 2005.Google Scholar
Digital Library
- B. Beckert, R. Hähnle, and P. H. Schmitt, Verification of Object-Oriented Software: The KeY Approach. Berlin, Heidelberg: Springer-Verlag, 2007.Google Scholar
Digital Library
- "FOSDEM." https://fosdem.org, 2021.Google Scholar
- "Fuzion Souces." https://github.com/fridis/ fuzion.Google Scholar
- "Fuzion Portal." https://flang.dev, 2021.Google Scholar
Index Terms
(auto-classified)Fuzion - Safety through Simplicity
Recommendations
Definitional Interpreters for Higher-Order Programming Languages
Higher-order programming languages (i.e., languages in which procedures or labels can occur as values) are usually defined by interpreters that are themselves written in a programming language based on the lambda calculus (i.e., an applicative language ...
The compiler as a static analysis tool
SIGAda '07This paper shows that a programming language compiler can perform many kinds of tasks that are generally viewed as the domain of separate static analysis tools and, in the other direction, identifies certain kinds of analysis that are best left to ...
Definitional interpreters for higher-order programming languages
ACM '72: Proceedings of the ACM annual conference - Volume 2Higher-order programming languages (i.e., languages in which procedures or labels can occur as values) are usually defined by interpreters which are themselves written in a programming language based on the lambda calculus (i.e., an applicative language ...






Comments