Skip to main content

Showing 1–7 of 7 results for author: Ostermann, K

Searching in archive cs. Search in all archives.
.
  1. arXiv:2406.14719  [pdf, other

    cs.PL

    Grokking the Sequent Calculus (Functional Pearl)

    Authors: David Binder, Marco Tzschentke, Marius Müller, Klaus Ostermann

    Abstract: The sequent calculus is a proof system which was designed as a more symmetric alternative to natural deduction. The λμμ-calculus is a term assignment system for the sequent calculus and a great foundation for compiler intermediate languages due to its first-class representation of evaluation contexts. Unfortunately, only experts of the sequent calculus can appreciate its beauty. To remedy this, we… ▽ More

    Submitted 20 June, 2024; originally announced June 2024.

    Comments: Preprint of the paper accepted at ICFP '24

  2. Deriving Dependently-Typed OOP from First Principles -- Extended Version with Additional Appendices

    Authors: David Binder, Ingo Skupin, Tim Süberkrüb, Klaus Ostermann

    Abstract: The expression problem describes how most types can easily be extended with new ways to produce the type or new ways to consume the type, but not both. When abstract syntax trees are defined as an algebraic data type, for example, they can easily be extended with new consumers, such as print or eval, but adding a new constructor requires the modification of all existing pattern matches. The expres… ▽ More

    Submitted 11 March, 2024; originally announced March 2024.

    Comments: This extended version contains additional appendices not contained in the published version. The published version will be available in the ACM DL as part of the PACMPL issue for OOPSLA 2024

  3. arXiv:2211.13004  [pdf, ps, other

    cs.PL

    Data-Codata Symmetry and its Interaction with Evaluation Order

    Authors: David Binder, Julian Jabs, Ingo Skupin, Klaus Ostermann

    Abstract: Data types and codata types are, as the names suggest, often seen as duals of each other. However, most programming languages do not support both of them in their full generality, or if they do, they are still seen as distinct constructs with separately defined type-checking, compilation, etc. Rendel et al. were the first to propose variants of two standard program transformations, de- and refunct… ▽ More

    Submitted 23 November, 2022; originally announced November 2022.

    Comments: 23 pages, 11 figures

    ACM Class: D.3.1

  4. Denotational validation of higher-order Bayesian inference

    Authors: Adam Ścibior, Ohad Kammar, Matthijs Vákár, Sam Staton, Hongseok Yang, Yufei Cai, Klaus Ostermann, Sean K. Moss, Chris Heunen, Zoubin Ghahramani

    Abstract: We present a modular semantic account of Bayesian inference algorithms for probabilistic programming languages, as used in data science and machine learning. Sophisticated inference algorithms are often explained in terms of composition of smaller parts. However, neither their theoretical justification nor their implementation reflects this modularity. We show how to conceptualise and analyse such… ▽ More

    Submitted 8 November, 2017; originally announced November 2017.

    Journal ref: Proc. ACM Program. Lang. 2, POPL, Article 60 (January 2018)

  5. A Module-System Discipline for Model-Driven Software Development

    Authors: Sebastian Erdweg, Klaus Ostermann

    Abstract: Model-driven development is a pragmatic approach to software development that embraces domain-specific languages (DSLs), where models correspond to DSL programs. A distinguishing feature of model-driven development is that clients of a model can select from an open set of alternative semantics of the model by applying different model transformation. However, in existing model-driven frameworks, de… ▽ More

    Submitted 31 March, 2017; originally announced March 2017.

    Journal ref: The Art, Science, and Engineering of Programming, 2017, Vol. 1, Issue 2, Article 9

  6. arXiv:1312.0658  [pdf, other

    cs.PL

    A Theory of Changes for Higher-Order Languages - Incrementalizing λ-Calculi by Static Differentiation

    Authors: Yufei Cai, Paolo G. Giarrusso, Tillmann Rendel, Klaus Ostermann

    Abstract: If the result of an expensive computation is invalidated by a small change to the input, the old result should be updated incrementally instead of reexecuting the whole computation. We incrementalize programs through their derivative. A derivative maps changes in the program's input directly to changes in the program's output, without reexecuting the original program. We present a program transfor… ▽ More

    Submitted 2 December, 2013; originally announced December 2013.

    Comments: 11 pages; unpublished preprint, under submission

  7. Reify Your Collection Queries for Modularity and Speed!

    Authors: Paolo G. Giarrusso, Klaus Ostermann, Michael Eichberg, Ralf Mitschke, Tillmann Rendel, Christian Kästner

    Abstract: Modularity and efficiency are often contradicting requirements, such that programers have to trade one for the other. We analyze this dilemma in the context of programs operating on collections. Performance-critical code using collections need often to be hand-optimized, leading to non-modular, brittle, and redundant code. In principle, this dilemma could be avoided by automatic collection-specifi… ▽ More

    Submitted 23 October, 2012; originally announced October 2012.

    Comments: 20 pages

    ACM Class: H.2.3; D.1.1; D.1.5

    Journal ref: Proceedings of the 12th annual international conference on Aspect-oriented software development (AOSD '13), 2013. ACM, New York, NY, USA, 1-12