In this thesis, we apply cochain complexes as an algebraic model of space in a diverse range of mathematical and scientific settings. We begin with an algebraic-discrete Morse theory model of auto-encoding cochain data, connecting the homotopy theory of d ...
In this thesis, we study the homotopical relations of 2-categories, double categories, and their infinity-analogues. For this, we construct homotopy theories for the objects of interest, and show that there are homotopically full embeddings of 2-categories ...
To do homological algebra with unbounded chain complexes one needs to first find a way of constructing resolutions. Spal-tenstein solved this problem for chain complexes of R-modules by truncating further and further to the left, resolving the pieces, and ...
A scalable programming language is one in which the same concepts can describe small as well as large parts. Towards this goal, Scala unifies concepts from object and module systems. In particular, objects can contain type members, which can be selected as ...
dotty is a new, experimental Scala compiler based on DOT, the calculus of Dependent Object Types. Higher-kinded types are a natural extension of first-order lambda calculus, and have been a core construct of Haskell and Scala. As long as such types are jus ...
Statically typed languages verify programs at compile-time. As a result many programming mistakes are detected at an early stage of development. A programmer does not have to specify types for every single term manually, however. Many programming languages ...
Algebraic data types and pattern matching are key features of functional programming languages. Exhaustivity checking of pattern matching is a safety belt that defends against unmatched exceptions at runtime and boosts type safety. However, the presence of ...
Let K be a comonad on a model category M. We provide conditions under which the associated category of K-coalgebras admits a model category structure such that the forgetful functor to M creates both cofibrations and weak equivalences. We provide concrete ...
A scalable programming language is one in which the same concepts can describe small as well as large parts. Towards this goal, Scala unifies concepts from object and module systems. An essential ingredient of this unification is the concept of objects wit ...