Trending
Journal of Functional Programming's Avatar

Journal of Functional Programming

@journal-of-fp

Design, implementation & application of functional programming languages from mathematical theory to industrial practice. Posts by @liamoc.net

155
Followers
2
Following
24
Posts
13.11.2024
Joined
Posts Following

Latest posts by Journal of Functional Programming @journal-of-fp

Program Calculation Welcome to Cambridge Core

We're delighted to announce that the JFP Special Issue on Program Calculation is now complete, and contains eleven papers that are freely available to read online from the link below.

11.11.2025 23:42 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Call-by-value and call-by-name: A simple proof of a classic theorem | Journal of Functional Programming | Cambridge Core Call-by-value and call-by-name: A simple proof of a classic theorem - Volume 35

Biernacki, McKinna and Sieczkowski present a simple new proof of the classic theorem that call-by-value evaluation can be simulated by call-by-name evaluation.

04.11.2025 05:39 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Tail recursion modulo context: An equational approach (extended version) | Journal of Functional Programming | Cambridge Core Tail recursion modulo context: An equational approach (extended version) - Volume 35

From Daan Leijen and Anton Lorenzen: an extended version of their POPL 2023 paper, "Tail Recursion Modulo Context: An Equational Approach", which calculates a generalisation of the "tail recursion modulo cons" optimisation from its specification.

04.11.2025 05:36 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Automatically testing console I/O behavior of student submissions in Haskell | Journal of Functional Programming | Cambridge Core Automatically testing console I/O behavior of student submissions in Haskell - Volume 35

Oliver Westphal and Janis VoigtlΓ€nder present a formal specification language and automated testing framework for the console I/O behaviour of student-submitted programs.

16.09.2025 00:07 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
PhD Abstracts | Journal of Functional Programming | Cambridge Core PhD Abstracts - Volume 35

Last month we published our PhD abstracts in FP from the last year.

Congratulations to Fahad Alhabardi, Colm Baston, Daniel Britten, Joris Ceulemans, Lawrence Dunn, Yuning Feng, Kiran Gopinathan, Sebastian Graf, Jason Z. S. Hu, Joomy Korkut, Daniele Pautasso and Jui-Hsuan Wu!

10.08.2025 10:07 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
OCaml Blockly | Journal of Functional Programming | Cambridge Core OCaml Blockly - Volume 35

In Education Matters, Kenichi Asai presents OCaml Blockly -- an educational block-based programming environment for beginners, like Google Blockly -- but for OCaml!

10.08.2025 10:01 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Binary searchβ€”think positive | Journal of Functional Programming | Cambridge Core Binary searchβ€”think positive - Volume 35

Alexander Dinges and Ralf Hinze present a dramatic pearl about binary search with Agda.

10.08.2025 09:59 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
The graphical theory of monads | Journal of Functional Programming | Cambridge Core The graphical theory of monads - Volume 35

Ralf Hinze and Dan Marsden present a graphical calculational technique based on string diagrams, and use it to explain the theory of monads.

10.08.2025 09:55 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Domain-specific tensor languages | Journal of Functional Programming | Cambridge Core Domain-specific tensor languages - Volume 35

J.P. Bernardy and P. Jansson present a new Haskell-embedded domain specific language for naturally expressing tensor computations using natural index notation.

10.08.2025 09:52 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Recursive subtyping for all | Journal of Functional Programming | Cambridge Core Recursive subtyping for all - Volume 35

Litao Zhou, Yaoda Zhou, Qianyong Wan and Bruno C.D.S. Oliveira present a new core calculus that extends F_≀ (a well known polymorphic calculus with bounded quantification) with isorecursive types, tackling the tricky combination of subtyping, recursive types, and bounded quantification.

01.03.2025 10:33 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
How much is in a square? Calculating functional programs with squares | Journal of Functional Programming | Cambridge Core How much is in a square? Calculating functional programs with squares - Volume 35

JosΓ© Nuno Oliveira writes this pearl exploring "magic squares" --- (semi-)commutative squares. These squares underpin much of what we do in logic, FP, database modelling, formal semantics and so on.

01.03.2025 10:26 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Review of β€œHaskell in Depth” by Vitaly Bragilevsky, Manning Publications, 2021 | Journal of Functional Programming | Cambridge Core Review of β€œHaskell in Depth” by Vitaly Bragilevsky, Manning Publications, 2021 - Volume 35

Brent Yorgey reviews Vitaly Bragilevsky's book, "Haskell in Depth"

17.02.2025 05:08 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Experiences of early assessment to teach functional programming | Journal of Functional Programming | Cambridge Core Experiences of early assessment to teach functional programming - Volume 35

In Education Matters, Peter Chapman reports on the use of Use-Modify-Create scaffolds to teach first-year undergraduate functional programming. This early assessment intervention showed promising improvements to student scores.

07.02.2025 23:52 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Turner, Bird, Eratosthenes: An eternal burning thread | Journal of Functional Programming | Cambridge Core Turner, Bird, Eratosthenes: An eternal burning thread - Volume 35

Read Jeremy Gibbons' pearl exploring Richard Bird's Sieve of Eratosthenes circular algorithm through the lens of Turner's Total Functional Programming.

07.02.2025 23:50 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
You could have invented Fenwick trees | Journal of Functional Programming | Cambridge Core You could have invented Fenwick trees - Volume 35

Read Brent Yorgey's functional pearl calculating an efficient implementation of Fenwick trees from a straightforward, purely functional segment tree.

24.01.2025 14:05 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
A practical formalization of monadic equational reasoning in dependent-type theory | Journal of Functional Programming | Cambridge Core A practical formalization of monadic equational reasoning in dependent-type theory - Volume 35

In this paper, Reynald Affeldt, Jacques Garrigue and Takafumi Saikawa present a framework embedded inside Rocq for practical equational reasoning about programs with effects using a formalisation of a hierarchy of effects.

13.01.2025 03:28 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Congratulations to Pedro Jorge Fernandes Γ‚ngelo, Leonhard Applis, Thiago Felicissimo, MatthΓ­as PΓ‘ll Gissurarson, Harrison Goldstein, Brandon Hewer, Jack Hughes, Eddie Jones, Jesse Sigal, and James Wood!

13.01.2025 03:23 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
PhD Abstracts | Journal of Functional Programming | Cambridge Core PhD Abstracts - Volume 35

We're delighted to publish ten PhD abstracts in this round. Topics range from types to tests, from synthesis to software engineering, from datatypes to differentiation. Have a look!

13.01.2025 03:23 πŸ‘ 10 πŸ” 3 πŸ’¬ 1 πŸ“Œ 1
From high to low: Simulating nondeterminism and state with state | Journal of Functional Programming | Cambridge Core From high to low: Simulating nondeterminism and state with state - Volume 34

Read Wenhao Tang and Tom Schrijvers' paper on simulating nondeterminism and state (high level effects) in terms of low-level state, proving each step of the refinement correct by program calculation.

13.01.2025 03:15 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
A simple blame calculus for explicit nulls | Journal of Functional Programming | Cambridge Core A simple blame calculus for explicit nulls - Volume 34

New paper: LhotΓ‘k and Wadler present a simpler blame calculus for gradual typing of languages where types explicitly indicate whether null values are permitted.

03.01.2025 14:17 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
An example of goal-directed, calculational proof | Journal of Functional Programming | Cambridge Core An example of goal-directed, calculational proof - Volume 34

Speaking of pearls, we also have Backhouse, Guttmann and Winter's pearl, showing a neat example of a goal-directed, calculational proof: constructing an equivalence relation from a given relation by way of a starth root construction.

16.12.2024 04:27 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Bottom-up computation using trees of sublists | Journal of Functional Programming | Cambridge Core Bottom-up computation using trees of sublists - Volume 34

Have a read of Shin-Cheng Mu's beautiful functional pearl on deriving an algorithm for bottom-up computation using trees of sublists.

16.12.2024 04:21 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Programming and reasoning about actors that share state | Journal of Functional Programming | Cambridge Core Programming and reasoning about actors that share state - Volume 34

New Paper: Caldwell, Garnock-Jones and Felleisen allow programmers to state temporal aspects of actor conversations in dataspace actor languages. They present a design of a language of _facets_ and a system for reasoning about their temporal behaviour.

06.12.2024 14:09 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

I've set up a bluesky account for the Journal of Functional Programming. Please follow for all our latest papers, news about special issues, and other announcements!

13.11.2024 14:02 πŸ‘ 7 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0