3 research outputs found
An Ecosystem Architecture for the Magnolia Programming Language
We describe our envisioned architecture for an ecosystem built around the Magnolia research programming language. The compiler for the language is built by interconnecting a core monolithic chunk with modular, extensible program transformations. "Plugins" are then constructed around a common input format, including composable program transformations|both at the syntactic and semantic level. This submission is a poster submission
Exploring Hardware Agnostic Multiarrays in Magnolia
We present a specification and implementation of a generic multiarray API based on A Mathematics of Arrays in the general purpose research language Magnolia. We show how we can lift the reasoning on arrays to a more abstract level, and how this enables us to precisely manipulate arrays independent of hardware memory layouts.Masteroppgave i informatikkINF399MAMN-PROGMAMN-IN
Testing with Axioms in C++ 2011
Abstract Unit testing is an important part of modern software development, where individual code units are tested in isolation. Such tests are typically case-based, checking a likely error scenario or an error that has previously been identified and fixed. Coming up with good test cases is challenging, particularly when testing generic code, and focusing on individual tests can distract from creating tests that cover the full functionality. Concepts provide a generic way of describing code interfaces for generic code. Together with axioms, program behaviour can be specified algebraically in a formal or semi-formal way. In this paper we show how concepts and axioms can be expressed in standard C++ 2011, and explore how to generate generic unit tests, by treating the axioms as code to be evaluated with test data. We also show a generic way to generate test data for axiom-based testing in C++ 2011