Skip to content
View lukstafi's full-sized avatar

Sponsoring

@panglesd

Block or report lukstafi

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
lukstafi/README.md
Prior to 2014, I contributed to the Toss games modeling system

Toss: General Game Playing and Hybrid Modelling. Paper highlight: First-Order Logic with Counting for General Game Playing.

February 2012 - March 2013, I created slides on FP topics in OCaml; now converted to a textbook and modernized! HTML version: https://lukstafi.github.io/curious-ocaml/new_book.html

PDF version: https://github.com/lukstafi/curious-ocaml/blob/main/pdfs/new_book.pdf

Original slides below. I used slide decks (1) - (8) in a 14-week course.

(1) Logic, (2) Algebra (exercises), (3) Computation (exercises), (4) Functions (exercises), (5) Polymorphism & ADTs (exercises), (6) Folding and Backtracking (exercises), (7) Laziness (exercises), (8) Monads (exercises), (9) Compiler (exercises), (10) FRP (exercises), (11) The Expression Problem (exercises); (at a glance except 11).

In 2015, I defended my PhD thesis on a system InvarGenT for inferring the properties of programs

Introduction slides -- good to check first, thesis GADTs for Reconstruction of Invariants and Postconditions.

Between 2015-2021 I worked at Google I worked on knowledge representation and semantic parsing (in C++), then briefly on deep reinforcement learning (Python/JAX).
OCANNL: a from-scratch deep learning framework fully in OCaml

OCANNL is my main project currently. Highlights: slides Shapes and Einsum, migration guide from PyTorch to OCANNL.

Since April 2024, my work on OCANNL is sponsored by Ahrefs! Visit the Ahrefs website.

Pinned Loading

  1. ahrefs/ocannl ahrefs/ocannl Public

    OCANNL: OCaml Compiles Algorithms for Neural Networks Learning

    OCaml 116 8

  2. curious-ocaml curious-ocaml Public

    A curious book about OCaml: logic (types), algebra (values), computation (semantics), functions (lambda calculus), constraints, monads, algebraic effects, expression.

    HTML 44 1

  3. ppx_minidebug ppx_minidebug Public

    Formatted logs of type-annotated let-bound values, function arguments and results, `if` and `match` branches taken. Optionally, as collapsible HTML or Markdown trees with highlights.

    OCaml 31 1

  4. ludics ludics Public

    Personal task manager

    TypeScript 1

  5. ocaml-cudajit ocaml-cudajit Public

    Bindings to the `cuda` and `nvrtc` libraries with a unified interface

    OCaml 25 2

  6. invargent invargent Public

    Invariant Generation as Type Inference with GADTs and Existentials

    OCaml 18 1