Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Fuzion - Safety through Simplicity

Published: 31 October 2022 Publication History

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.

References

[1]
B. Meyer, "Applying "design by contract"," Computer, vol. 25, p. 40--51, Oct. 1992.
[2]
W. D. Clinger, "Proper tail recursion and space efficiency," SIGPLAN Not., vol. 33, p. 174--185, May 1998.
[3]
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.
[4]
"Use of uninitialized final field - with/without 'this.' qualifier." https://stackoverflow.com/ questions/13864464/, 2012.
[5]
S. Klabnik and C. Nichols, The Rust Programming Language: Ch. 16 Fearless Concurrenty. USA: No Starch Press, 2018.
[6]
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.
[7]
B. Beckert, R. Hähnle, and P. H. Schmitt, Verification of Object-Oriented Software: The KeY Approach. Berlin, Heidelberg: Springer-Verlag, 2007.
[8]
"FOSDEM." https://fosdem.org, 2021.
[9]
"Fuzion Souces." https://github.com/fridis/ fuzion.
[10]
"Fuzion Portal." https://flang.dev, 2021.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGAda Ada Letters
ACM SIGAda Ada Letters  Volume 41, Issue 1
June 2021
48 pages
ISSN:1094-3641
DOI:10.1145/3570315
Issue’s Table of Contents
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 October 2022
Published in SIGADA Volume 41, Issue 1

Check for updates

Author Tags

  1. certification
  2. programming language
  3. safety
  4. static analysis

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 14
    Total Downloads
  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)1
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media