skip to main content
article

Fuzion - Safety through Simplicity

Published:31 October 2022Publication History
Skip Abstract Section

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

Index Terms

(auto-classified)
  1. Fuzion - Safety through Simplicity

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Article Metrics

        • Downloads (Last 12 months)9
        • Downloads (Last 6 weeks)2

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!