State of the practice for Lattice Boltzmann method software

S Smith, P Michalski, J Carette… - … Methods in Engineering, 2024‏ - Springer
We analyze the state of software development practice for Lattice Boltzmann solvers by
quantitatively and qualitatively measuring and comparing 24 software packages for 10 …

The design and implementation of BER MetaOCaml: System description

O Kiselyov - Functional and Logic Programming: 12th International …, 2014‏ - Springer
MetaOCaml is a superset of OCaml extending it with the data type for program code and
operations for constructing and executing such typed code values. It has been used for …

MetaOCaml: Ten Years Later: System Description

O Kiselyov - International Symposium on Functional and Logic …, 2024‏ - Springer
MetaOCaml is a superset of OCaml for convenient code generation with static guarantees:
the generated code is well-formed, well-typed and well-scoped, by construction. Not only the …

BuildIt: A type-based multi-stage programming framework for code generation in C++

A Brahmakshatriya… - 2021 IEEE/ACM …, 2021‏ - ieeexplore.ieee.org
The simplest implementation of a domain-specific language is to embed it in an existing
language using operator overloading. This way, the DSL can inherit parsing, syntax and …

Closure-free functional programming in a two-level type theory

A Kovács - Proceedings of the ACM on Programming Languages, 2024‏ - dl.acm.org
Many abstraction tools in functional programming rely heavily on general-purpose compiler
optimization to achieve adequate performance. For example, monadic binding is a higher …

Reconciling abstraction with high performance: A metaocaml approach

O Kiselyov - Foundations and Trends® in Programming …, 2018‏ - nowpublishers.com
A common application of generative programming is building highperformance
computational kernels highly tuned to the problem at hand. A typical linear algebra kernel is …

State of the practice for medical imaging software

WS Smith, A Dong, J Carette… - arxiv preprint arxiv …, 2024‏ - arxiv.org
We selected 29 medical imaging projects from 48 candidates, assessed 10 software
qualities by answering 108 questions for each software project, and interviewed 8 of the 29 …

Combinators for impure yet hygienic code generation

Y Kameyama, O Kiselyov, C Shan - Proceedings of the ACM SIGPLAN …, 2014‏ - dl.acm.org
Code generation is the leading approach to making high-performance software reusable.
Effects are indispensable in code generators, whether to report failures or to insert let …

Finally, a polymorphic linear algebra language (pearl)

A Shaikhha, L Parreaux - lipics, 2019‏ - ora.ox.ac.uk
Many different data analytics tasks boil down to linear algebra primitives. In practice, for
each different type of workload, data scientists use a particular specialised library. In this …

Shifting the stage: Staging with delimited control

Y Kameyama, O Kiselyov, C Shan - Proceedings of the 2009 ACM …, 2009‏ - dl.acm.org
It is often hard to write programs that are efficient yet reusable. For example, an efficient
implementation of Gaussian elimination should be specialized to the structure and known …