Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 32
  1. An O(x)Caml book that runs

    I am building a course, “Functional Programming with OCaml”, for the NPTEL MOOC platform: twelve modules of recorded lectures.

  2. Shrinking the OxCaml js_of_ocaml bundle: 285 MB to 4 MB

    In the previous post on capsules, I cheated.

  3. Capsules: compile-time lock discipline in OxCaml

    In the previous post we fixed the racy gensym with Portable.Atomic.

  4. Data race freedom in OxCaml

    A while back I wired up x-ocaml so this blog could embed live, editable OCaml notebooks.

  5. From Convergence to Confidence: Push-button verification for RDTs

    What does it mean for a replicated data type to be correct?

  6. Foundations for hacking on OCaml

    How do you acquire the fundamental computer skills to hack on a complex systems project like OCaml?

  7. Testing x-ocaml, OCaml notebooks as a WebComponent

    Can we have OCaml notebooks as pure client-side code?

  8. Linearity and uniqueness

    In the last post, we looked at uniqueness mode and how uniqueness may be used to optimise.

  9. Uniqueness for Behavioural Types

    Jane Street has been developing modal types for OCaml – an extension to the type system where modes track properties of values, such as their scope, thread sharing, and aliasing.

  10. Joining my group

    Recently, I posted on X and LinkedIn that I am always looking for excellent people to join my group.

  11. Off-CPU-time analysis

    Off-CPU analysis is where the program behavior when it is not running is recorded and analysed.

  12. Getting Started with GDB on OCaml

    A number of folks who regularly use OCaml were surprised to learn that you can reasonably debug OCaml programs using gdb.

  13. Teaching OCaml and Prolog through Jupyter Notebooks

    Last semester at IIT Madras, I taught a revamped core course CS3100 Paradigms of Programming, which introduces 3rd-year students to functional and logic programming paradigms.

  14. Multicore OCaml Jobs

    Multiple Research Software Engineer positions are available in the Department of Computer Science and Engineering at the Indian Institute of Technology, Madras to develop Multicore OCaml and enable Tezos ecosystem to benefit from Multicore OCaml.

  15. Deterministically debugging concurrent GC bugs with rr

    Multicore OCaml comes with a concurrent garbage collector, where the garbage collector and the mutator threads run concurrently.

  16. ML Family Workshop 2019: Call for presentations

    I am chairing the PC for ML family workshop this year.

  17. OCaml on Baremetal Shakti RISC-V processor

    It has been 3 months since I joined IIT Madras and it has been good fun so far.

  18. Continuous Benchmarking & Call for Benchmarks

    Over the past few weeks, at OCaml Labs, we’ve deployed continuous benchmarking infrastructure for Multicore OCaml.

  19. JFP Special Issue on Algebraic Effects and Handlers

    Andrej Bauer and I are editing a special issue of JFP on the theory and practice of algebraic effects and handlers.

  20. A deep dive into Multicore OCaml garbage collector

    I recently gave a talk on the internals of multicore OCaml GC at Jane Street offices in NYC.

  21. (Monadic) Reflections on Concurrency

    We recently published a paper on concurrent system programming with effect handlers.

  22. Building and Publishing an OCaml Package: Q1 2017

    One of the key indicators of maturity of a language ecosystem is the ease of building, managing and publishing software packages in that language.

  23. Ezirmin : An easy interface to the Irmin library

    Ezirmin is an easy interface over the Irmin, a library database for building persistent mergeable data structures based on the principles of Git.

  24. Behavioural types

    Behavioural types such as session types, contracts and choreography describe the behaviour of a software entity as a sequence of operations on a resource such as a communication channel, web service session or a file descriptor.

  25. Lock-free programming for the masses

    Efficient concurrent programming libraries are essential for taking advantage of fine-grained parallelism on multicore hardware.

  26. Armed with Reason

    This is a short tutorial on how to build Reason apps for an ARM target with the help of Docker.

  27. Profiling the stack

    In the last post, I described a flat allocation profiler for OCaml 4.02 bytecode interpreter.

  28. An Allocation Profiler for OCaml Bytecode Interpreter

    This post describes a simple flat allocation profiler for OCaml 4.02 bytecode interpreter.

  29. Experiment with OCaml Multicore and Algebraic Effects

    I recently gave a talk on Algebraic Effects in OCaml at the OCaml Workshop 2015.

  30. Pearls of Algebraic Effects and Handlers

    In the previous post, I presented a simple cooperative multithreaded scheduler written using algebraic effects and their handlers.

  31. Effective Concurrency with Algebraic Effects

    Algebraic effects and handlers provide a modular abstraction for expressing effectful computation, allowing the programmer to separate the expression of an effectful computation from its implementation.

  32. Opam Switch to Multicore OCaml

    OPAM has a great compiler switch feature that lets you simultaneously host several OCaml installations, each with its own compiler version and a set of installed packages.