Canterbury, UK

Dominic Orchard

Elite
@dorchard

Co-director of Institute of Computing for Climate Science, University of Cambridge and Senior Lecturer at the School of Computing, University of Kent

effect-monad. Provides 'graded monads' and 'parameterised monads' to Haskell, enabling fine-grained reasoning about effects.

101

type-level-sets. Type-level sets for Haskell (with value-level counterparts and various operations)

65

navier. Navier-Stokes fluid simulation in various languages (C, Fortran, and Haskell using Repa)

54

effects-as-sessions. Formalised embedding of an imperative language with effect system into session-typed pi calculus.

29

codo-notation. Codo notation for programming with comonads in Haskell

26

co519-logic. Some accompanying lectures notes and resources for CO519 - Theory of Computing (Logic) at the School of Computing, University of Kent.

18

effectful-explanations-talk. "Programs that explain their effects" talk material

17

sessions-in-haskell. Artefact from the POPL'16 paper "Effects as Sessions, Sessions as Effects"

15

ypnos. EDSL for Stencil Computations in Haskell

12

fibonacci_crisis. Source-code from Fibonacci Crisis performances and practises (written in Sonic Pi v2.0)

12

betty-book-haskell-sessions. Collects examples used to produce the paper 'Session Types with Linearity in Haskell' by Orchard and Yoshida (2017).

12

FirstPrelude. A replacement for Haskell's Prelude library (the standard library) designed for teaching beginners, developed at the University of Kent.

12

lambda-club. Material from presentations at the University of Kent's LambdaClub meetings

8

coeffects-experiments. Experimenting with coeffect and comonadic semantics embedded in Haskell

8

pde-specs. Reproducible PDE models (SSI Collaborations Workshop 2014 Hackday)

7

computational-semantics. Fork of the code examples from "Computational Semantics with Functional Programming" (Eijck, Unger) http://www.computational-semantics.eu/

7

array-memoize. Memoize discrete functions (restricted to a finite domain) using arrays

7

temporal-monad. The 'temporal monad' gives a model of the actual-and-virtual-time semantics of the Sonic Pi language

6

language-fortran. Haskell parser and manipulation functions for Fortran code

5

co661-notes. Notes to accompany the lectures of CO661 - Theory and Practice of Concurrency at the University of Kent

5

unfix. Takes a recursive function and syntactically unties the recursive knot

5

camfort. Light-weight verification and transformation tools for Fortran

4

zipper-solver. A zipper based data structure for rearranging formulae

4

lcore. lcore (Lambda Core) A minimal functional programming language based on the lambda calculus and various minimal extensions (developed for 'Lambda Club' at the University of Kent).

4

mucell. mucell: Multi-cellular, spatial, modelling and simulation tool

3

stencil-algebra. An (abstract) algebra for stencil computations

3

dataflow-effects-as-grades. Classical data-flow analysis (specialised to live-variables) modelled as a graded monads

3

parsec2D. Adds a 2D parser combinator to Haskell's Parsec library of monadic parser combinators

3

constraintTermExtensions. Prototype implementation of type constraint-term extensions for GHC, accompanying the "Haskell Type Constraints Unleahsed" paper

3

constrained-normal. Fork of Neil Sculthorpe's constrained-normal package (http://hackage.haskell.org/package/constrained-normal)

2

generic-annotate. Data.Generics.Annotate

2

datapar. Library implementation of the Cambridge Data Parallel Model

2

stencil-specs. Specifications using Haskell types and constraints for "stencil"-style computations on arrays

2

gen-type-list. Macro pre-processor that, given a recursive function on lists in Haskell, generates a type-level reification using HLists.

2

comonad. Haskell 98 comonads

1

predicting-cat-5-damage-to-buildings. Python

1

containers. Haskell

1

effect-handlers. Haskell

1

popl2016-papers. Links to publicly available preprints for the POPL'16 conference

1
39
Apply