2025-12-23

[Caml-list] Attn: Development Editor, Latest OCaml Weekly News

OCaml Weekly News

Previous Week Up Next Week

Hello

Here is the latest OCaml Weekly News, for the week of December 16 to 23, 2025.

Camp, the Caml Amp

Andreas Rossberg announced

Happy to share "Camp", the Caml Amp — an old-school music player heavily inspired by good old Winamp, with a focus on decent music library and playlist handling.

I was fed up with Winamp being dead and lacking features I wanted, so I went into full-on nerd mode and implemented my own opinionated replacement, all in OCaml using the Raylib library:

https://mpi-sws.org/~rossberg/camp/

If you have not yet been sucked in by the streaming cartels, you might find it useful.

  • Runs on Windows, Mac, and Linux
  • Support for WAV, FLAC, MP3, OGG, QOA, MOD, and XM
  • Advanced music library management with many browse and search features
  • Elaborate playlist manipulation and query-based "smart" playlists
  • Animated user interface styled after hifi when it still looked good (no corners were rounded in the making of this app)

Enjoy, /Andreas

Ahrefs Grant Program for OCaml

Louis Roché announced

Ahrefs is excited to announce a new Ahrefs Grant Program for OCaml to support projects in the OCaml ecosystem. This effort comes in addition to the other sponsorships we do (such as the OCSF, the ICFP and Fun OCaml conferences, github sponsoring, and various other projects) We are allocating money to fund one or multiple initiatives that help advance OCaml and its tooling.

You can learn more about our engineering culture and opensource support work at https://ahrefs.com/tech

Call for Applications

We invite individuals, teams, and organizations working with OCaml to submit proposals for funding. Our goal is to support meaningful, practical improvements to the ecosystem, whether through new tools, libraries, infrastructure, education, or long‑term maintenance of existing projects.

Applications should be submitted through this google form.

The deadline for submissions is January 20th 2026.

What We Are Looking For

We welcome proposals that:

  • Strengthen the OCaml compiler or core libraries
  • Improve developer experience (tooling, documentation, debugging, profiling, packaging, …)
  • Expand the OCaml ecosystem through new libraries or modernization of key dependencies
  • Enhance reliability, performance, or safety of OCaml‑based systems
  • Support education, community infrastructure, or long‑term maintenance

Both small and large initiatives are welcome. We will prioritize projects that will have lasting impact and will be maintained.

The selection of proposal will necessarily be subjective and depend on our priorities and interests.

Funding

Applicants may request up to USD 50,000 in support per project. We may award a single project or distribute among several proposals.

How to Apply

Your application should follow the format below and be sent through this google form.

Please be short and to the point in your answers; focus primarily on the what and how, not so much on the why. If English isn't your first language, don't worry — our reviewers don't care about spelling errors, only about great ideas. You can be as technical as you need to be. Do stay specific.

  • 1. Contact Information
    • Name
    • Organization (if applicable)
    • Email address
    • Country
  • 2. General Project Information
    • Title
    • Abstract (up to 1200 characters) Explain the whole project and its expected outcome(s).
    • Yourself or the team (2500 characters) Who is participating? Have you been involved with similar or related projects? Please provide background information and describe your past contributions.
    • Website (if any)
    • License Under which license will the project be distributed? It must be an open source license.
  • 3. Requested Support
    • Requested Amount (up to USD 50,000)
    • Budget and Breakdown (up to 2500 characters) Explain what the budget will be used for. Are there other funding sources? Include a breakdown of tasks, estimated effort, and explicit rates.
    • Describe your project and its technical challenges (up to 5000 characters) What are significant technical challenges you expect to solve during the project, if any? Compare your own project with existing or historical efforts. E.g. what is new, more thorough or otherwise different.
    • Ecosystem and Outreach (up to 1200 characters) Describe the project ecosystem and how you will engage with relevant actors or promote the adoption.

Questions

If you have questions prior to submitting an application, feel free to reach out at grants@ahrefs.com.

We look forward to support the work that will move the OCaml ecosystem forward.

Call for Contributions: Caml in the Capital (Feb 26)

"Alistair O'Brien announced

Hey all 👋,

A quick follow-up on Caml in the Capital: the first meetup is now confirmed 🎉.

When: Thursday 26th February 2026, 6:30-8:30pm

Where: Imperial College London, Flowers Building

Thanks to everyone who helped settle on a date!

Call for contributions

We're still looking for presenters! Talks are workshop-style: anything from an accessible introduction of your work or research, a deep dive into your library, a live demo, or a tutorial.

If you'd like to give a talk, please message me or @giltho directly with:

  • A title
  • Short abstract
  • Expected time slot

Deadline: 1st February 2026

We've set a deadline so we have enough time to finalize the programme and handle the practical organisation (room setup, schedule, announcements, etc.).

Call for participation

You're very welcome to attend even if you're not presenting. If you plan to attend, please register here.

Many thanks to Imperial College for hosting us and OCaml Software Foundation for funding us!! :raised_hands:

Alistair & Sacha

Sacha Ayoun later added

If there are any additional questions on registration, organisation, logistics, feel free to ask questions in this thread, or in the [dedicated Zulip channel]( https://ocaml.zulipchat.com/#narrow/channel/553375-Caml-In-The-Capital) 🙂

Dream – looking for maintainers to take ownership

Anton Bachin announced

Dream, the Web framework, is looking for a maintenance team!

I originally wrote Dream in 2021, and actively maintained it for several years. It has gotten many great contributions from other authors since its first release, for which I am very grateful!

At the present time, I am no longer in a position to sustainably maintain Dream. I'd like to yield it to one or several maintainers, who would have the ability to pursue their vision, bring their ideas, credibly seek funding for work that substantially affects it, and cite it on their resume or elsewhere. In other words, to take ownership of it. I would stay on in an advisory role, to transfer knowledge, help negotiate, and assist in various ways, as a volunteer.

We've already been having Dream community development meetings over on Discord since August, which have been very helpful. Last month, I transferred Dream to an org on GitHub. It's ready for the next step :slight_smile:

Dream has a very large amount of interesting work to do. The original motivation was not only to create a modern, highly ergonomic Web framework in a minimal sense, but to do a whole tour through the OCaml Web development ecosystem and address every other place where a major library is missing, or where quality of life can be improved. See the roadmap for some of the many ideas.

In fact, we had started working on this back in 2022 with a small team of people, and created an OAuth library. That enterprise was unfortunately terminated by events outside our control, and the logical step now is for me to yield control of Dream itself to a differently structured team, for its natural development :slight_smile:

If you're interested, please DM me here on Discuss! If you have such, please link your projects related to Web development, or where you have been a maintainer. Let me know if you're a user of Dream, and what you'd like to see in Web development in OCaml.

Thank you!

QCheck 0.90: The Great Renaming

Jan Midtgaard announced

It is my pleasure to announce release 0.90 of the QCheck packages. QCheck is an OCaml library for randomized property-based testing in the style of Haskell's QuickCheck.

https://github.com/c-cube/qcheck/releases/tag/v0.90

It has been over 12 years and 40 releases since @c-cube released version 0.1 back in October 2013. Over this period QCheck has grown organically

  • with new combinators on a "by-need" basis and
  • with a separate QCheck2 module offering generators with integrated shrinking.

This has unfortunately resulted in a bit of a naming mess with inconsistent generator names. For example, the (now deprecated) small_int combinator will generate only small non-negative numbers, and a combinator for generating positive integers uniformly is named either pint or pos_int across different QCheck modules.

The 0.90 release thus takes on a cleanup under the heading "The Great Renaming". To guide the renaming process, we have assembled a list of hard-learned naming principles:

  • Generator names should align with type names (bool, char, … list, option) to be as predictable as possible
  • We should have short, unparameterized generators (int, string, …) to lower the barrier to entry
  • Specialized generators also start with the type name, but use a consistent suffix (_pos, _neg, _size, _of, …) to help find them, e.g., with tab-completion
  • We may include a few shorthand names for convenience (e.g., nat)
  • Overall we aim to be as consistent as possible, e.g., offering similar signatures across generator interfaces (QCheck.Gen, QCheck.arbitrary, and QCheck2.Gen)

The 0.90 release thus both

  • introduces a range of new (and hopefully more consistent) combinator names and
  • deprecates a sizable number of old, inconsistent combinator names

The deprecated combinators have been annotated with @@deprecated attributes.

Rather than let a couple more years pass with an even bigger and more confusing name pool, we are using this opportunity to prepare a long overdue 1.0.0 release, where we will remove the old, deprecated combinator names.

We understand that updating existing tests to the new names takes some effort, but appeal to users that this should be a one-time investment to

  • offer more consistent and easier to recall combinator names and simultaneously
  • let us clean up QCheck tech debt and address a long-time pain point.

The changes are summarized in a record-long CHANGELOG section for the release:

https://github.com/c-cube/qcheck/blob/v0.90/CHANGELOG.md

and c-cube/qcheck#366 provides a run down of the renaming process.

For more details, see the following list of PRs:

Finally, on behalf of the maintainers I would like to thank

  • the various folks contributing to QCheck over the past 12 years and
  • the OCaml Software Foundation for financially supporting the work on these past three releases.

Merry Christmas and happy testing! :evergreen_tree: :wrapped_gift:

Old CWN

If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.

If you also wish to receive it every week by mail, you may subscribe to the caml-list.

2025-12-16

[Caml-list] Attn: Development Editor, Latest OCaml Weekly News

OCaml Weekly News

Previous Week Up Next Week

Hello

Here is the latest OCaml Weekly News, for the week of December 09 to 16, 2025.

Software Engineer (OCaml) – LexiFi, Paris

Alain Frisch announced

Hi all,

LexiFi is looking for a Software Engineer to join our development team in Paris. The work is primarily in OCaml, contributing to our codebase across core components, tooling, and product features.

If you're interested in working on a large, long-lived OCaml system used in production by financial institutions, you can find the full job description here: https://www.lexifi.com/careers/software_engineer/

Happy to answer any questions!

Opam repository archival, next run (scheduled 2026-01-01)

Hannes Mehnert announced

Dear everyone,

we did another run of the archival based on the x-maintenance-intent of opam packages. The run was using opam-repository at commit d684c896eb6f7e6030d6ee65338d9db22a612f01 (Dec 9th, 20:00:00 CET).

The tool used is maintenance-intent-filter with opam 2.5 and OCaml 5.4. It took around 1GB of memory and around 100h of CPU time (donations welcome).

In total, 4510 packages were candidates, out of which 3361 are scheduled for archival.

Testing

To test whether your CI / lock / environment will be affected by the removal of packages, you can create a fresh opam switch and use the opam-repository from the branch:

  $ opam repository add archival-20260101 https://github.com/hannesm/opam-repository.git#archival-20260101  $ opam switch create archival-20260101  --repositories archival-20260101  $ eval `opam env`  

Alternatively, in CI systems you can do temporarily for testing:

  $ opam repo set-url default https://github.com/hannesm/opam-repository.git#archival-20260101  

Reverting archival

If you want to preserve a package, please don't hesitate to comment on the issue https://github.com/ocaml/opam-repository/pull/29058

It is important that you include the package name and its version, as well as where it is used (preferably a URL), and a contact (email address).

Editor's note: please follow the archive link for the list of packages to be archived.

blame, a simple webapp as an unikernel

Calascibetta Romain announced

I am pleased to announce the development of blame, a unikernel that provides a search engine in the form of a web interface based on an email archive.

This work is sponsored by NLnet as part of our PTT project. For more details on the unikernel, our archive system, and our search engine, we recommend reading our article available here. This project is the synthesis of several projects on the subject:

  • mrmime to parse/encode emails
  • carton to archive emails
  • stem to search emails
  • blaze like a Swiss Army knife for manipulating emails and archives
  • and of course some of our projects like miou, utcp or vif

If you like our work, you can sponsor us via GitHub or by following the instructions available here. Thank you to everyone who has participated in the development of these projects, whether directly or indirectly.

So, happy hacking "discriminating hackers" :) !

A new kind of knowledge-base for OCaml's doc

Mostafa Touny announced

Hello,

I have been following @sabine's post, https://discuss.ocaml.org/t/looking-for-maintainers-moderators-for-the-ocaml-cookbook/16497.

I really want to contribute but like any engineer, I am pressured on deadlines, which incentivizes me to ask here or in Discord. There are even wonderful books like Type Theory and Formal Proof, but I cannot allocate good time to read them.

That motivated me to think of a new mechanism, where documentations and question-answers are bridged, through Snippet project.

Someone asks a question like this. Instead of answering the question, you must contribute a self-contained paragraph, called "snippet", then cite it in the question. For example the question cites:

If some snippet gets a high number of citations, then that would be a signal to contribute it to OCaml's documentations or OCamlverse. In other words, OCaml's cookbooks will be naturally contributed as more people's questions get answered, and will be naturally certified as more people cite it!

The project is built on Dream, open-source, and CC 4.0 licensed. I'd be happy to see OCaml's maintainers self-host an instance of it in OCaml's official website. We could even design a voting mechanism to elect snippets for the official documentation.

For now, I am happy to listen to your feedback.

Serialport - new serial communication library

Mikhail announced

Hi there!

I'm happy to announce the first release of the serialport library. The library is planned to be a cross-platform library for serial port communication in OCaml, which supports both POSIX and Windows systems. It provides synchronous and asynchronous interfaces using various I/O libraries (like Lwt and other).

The library currently only supports POSIX systems.

serialport.svg

The main motivation behind creating this project is to address the lack of a comprehensive library for managing serial port communication in different environments, as well as the lack of an intuitive API for this task. The existing OSerial library has significant limitations in terms of functionality and future development, making it unsuitable for use in modern environments.

The serial port library is most inspired by similar implementations in other languages, such as Rust's serialport and Golang's bugst/go-serial.

Usage

Typically, an example of usage is communication between a PC and an Arduino board or other devices via an old-school serial port.

# #require "serialport.unix";;   (* #require "serialport.lwt";; *)    # let port_opts = Serialport.Port_options.make ~baud_rate:9600 ()    and port_name = "/dev/ttyUSB0" in      Serialport_unix.with_open_communication ~opts:port_opts port_name      begin fun ser_port ->        (* Get channels abstractions for high-level working with I/O without buffering. *)        let ic, oc = Serialport_unix.to_channels ser_port in        (* Wait until Arduino has been initialized. *)        Unix.sleep 2;        (* Send the message to the Arduino via the serial port. *)        Out_channel.output_string oc "Hello from PC!\n";        (* Read the response from the serial port. *)        In_channel.input_line ic      end  

Enjoy it!

Windows supports

I will be implementing Windows support in the next version (coming soon).

P.S.

I would be delighted to discuss your ideas and suggestion!

Lwt.6.0.0~beta (direct-style, multi-domain parallelism)

Raphaël Proust announced

lwt.6.0.0-beta01 has been released!

With this release comes a change in the title of this thread:

- [ANN] Lwt.6.0.0~beta (direct-style, multi-domain parallelism)  + [ANN] Lwt.6.0.0~beta (direct-style, runtime-event tracing)  

This is likely the last beta before the release of Lwt.6.0.0, please test and share your feedback. The highlights are

  • (compared to previous beta) no more multidomain-multischeduler parallelism
    • it was too buggy,
    • you can still use Lwt_domain
  • (compared to previous beta) runtime-events produce a trace of execution of your lwt program for better debugging
  • (compared to Lwt.5.9) direct-style with Lwt_direct
    • you can write direct-style lwt (within a given scope)
    • e.g., you can interact with libraries that only provide iter : ('a -> unit) -> 'a -> unit such as

      let iter_s f h =    Lwt_direct.spawn @@ fun () ->      Hashtbl.iter (fun k v -> Lwt_direct.await (f k v)) h  

Once again, thanks to @c-cube for the direct-style feature which makes it possible to use Lwt in conjunction with libraries even if they don't include special amenities for it.

Thanks again for @edwin for the bug report on multi-scheduler-related failures.

Call for Participation: BOB 2026 (Berlin, Mar 13)

Michael Sperber announced

Finally, lots of OCaml content at BOB!

"What happens when we use what's best for a change?"

BOB conference is a place for developers, architects, and decision-makers to explore technologies beyond the mainstream in software development and to find the best tools available to software developers today. Our goal is for all participants of BOB to return home with new insights that enable them to improve their own software development experience.

Program

The program features 16 talks and 8 tutorials on current topics.

Talk subjects includes functional programming, software architecture, formal methods, accessibility, UI programming, reactive systems, and domain-driven design.

BOB tutorial include sessions on TypeScript, OCaml, Haskell, Agda, accessibility, and reactive systems.

Stefan Kaufmann will give the keynote talk on digital sovereignty.

Registration

Registration is open - many discount options - including limited early-bird discounts - are available, as are grants for members of groups underrepresented in tech.

Old CWN

If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.

If you also wish to receive it every week by mail, you may subscribe to the caml-list.

2025-12-08

[Caml-list] POPL 2026 Second Call for Participation - Early registration: 12 December

=======================================

               Call for Participation
ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2026)
   January 11-17, 2026, Rennes, France.
            https://popl26.sigplan.org/

=======================================

- Early registration deadline: ** 12 December 2025 **

- Register here: https://popl26.sigplan.org/attending/registration

- The POPL program: https://popl26.sigplan.org/track/POPL-2026-popl-research-papers

=======================================

The 53rd ACM SIGPLAN Symposium on Principles of Programming Languages (POPL
2026) is a forum for the discussion of all aspects of programming languages and
programming systems.

Location: le Couvent des Jacobins, 20 place Saint-Anne, 35000 Rennes, France

Dates:
- Main conference: Wed 14 - Fri 16 January
- Workshops, tutorials, co-located events: Sun 11, Mon 12, Tue 13 and Sat 17 January

Keynote Speakers:
- Damien Pous, CNRS, Medium-scale automation for proof assistants
- Caroline Trippel, Stanford University, Hardware-Software Contracts for High
       Assurance with Applications to Side-Channel Security

Organizers:
- General Chair: Sandrine Blazy, University of Rennes
- PC Chair: Suresh Jagannathan, Purdue University

Full details of the conference and co-located events: https://popl26.sigplan.org/

2025-10-31

[Caml-list] POPL 2026 Call for Participation - Early registration: 12 December

=======================================

Call for Participation

ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2026) 

January 11-17, 2026, Rennes, France. 


=======================================

- Early registration deadline: ** 12 December 2025 **

- Register here: https://popl26.sigplan.org/attending/registration

=======================================

The 53rd ACM SIGPLAN Symposium on Principles of Programming Languages (POPL
2026) is a forum for the discussion of all aspects of programming languages and
programming systems.

Location: le Couvent des Jacobins, 20 place Saint-Anne, 35000 Rennes, France

Dates:
- Main conference: Wed 14 - Fri 16 January
- Workshops, tutorials, co-located events: Sun 11, Mon 12, Tue 13 and Sat 17 January

Full details of the conference and co-located events: https: //popl26.sigplan.org/

2025-10-08

[Caml-list] PEPM 2026: Second Call for Papers

CALL FOR PAPERS
The 2026 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
https://popl26.sigplan.org/home/pepm-2026

# Important Dates, AoE, UTC-12h

Paper due    Fri 25 Oct 2025
Notification Fri 28 Nov 2025
Workshop     Tue 13 Jan 2026

# About

The ACM SIGPLAN Workshop on Partial Evaluation and
Program Manipulation (PEPM) has a history going back
to 1991 and has been held in conjunction with POPL
every year since 2006.
The origin of PEPM is in the discoveries of practically
useful automated techniques for evaluating programs
with only partial input. Over time, PEPM has broadened
its scope to include a variety of research areas centered
around semantics-based program manipulation — the systematic
exploitation of treating programs not only as subject
to black-box execution, but also as data structures
that can be generated, analyzed, and transformed while
establishing or maintaining important semantic properties.

# Scope

Topics of interest for PEPM 2026 include, but are not limited to:

* Program and model manipulation techniques such as:
  supercompilation, partial evaluation, fusion, on-the-fly
  program adaptation, active libraries, program inversion,
  slicing, symbolic execution, refactoring, decompilation,
  and obfuscation.

* Techniques that treat programs/models as data objects
  including metaprogramming, generative programming,
  embedded domain-specific languages, program synthesis by sketching
  and inductive programming, staged computation, and
  model-driven program generation and transformation.

* Program analysis techniques that are used to drive
  program/model manipulation such as: abstract interpretation,
  termination checking, binding-time analysis, constraint solving,
  type systems, automated testing and test case generation.

* Application of the above techniques including case studies
  of program manipulation in real-world (industrial, open-source)
  projects and software development processes, descriptions of
  robust tools capable of effectively handling realistic applications,
  benchmarking. Examples of application domains include legacy
  program understanding and transformation, DSL implementations,
  visual languages and end-user programming, scientific computing,
  middleware frameworks and infrastructure needed for distributed
  and web-based applications, embedded and resource-limited computation,
  and security.

* Cross-fertilization with other fields, such as semantics based and
  machine-learning based program synthesis and program optimisation, and
  modeling, analysis, and transformation techniques for distributed and
  concurrent protocols and programs, such as session types, linear types,
  and contract specifications.

This list of categories is not exhaustive, and we encourage
submissions describing new theories and applications related
to semantics-based program manipulation in general. If you have
a question as to whether a potential submission is within the
scope of the workshop, please contact the programme co-chairs,
Yukiyoshi Kameyama (kameyama at acm.org)
and Ningning Xie (ningningxie at cs.toronto.edu).

# Submission Categories and Guidelines

Three kinds of submissions will be accepted:

1. Regular Research Papers should describe new results,
  and will be judged on originality, correctness, significance,
  and clarity. Regular research papers must not exceed 12 pages.

2. Short Papers may include tool demonstrations and presentations
  of exciting if not fully polished research, and of interesting
  academic, industrial, and open-source applications that are new
  or unfamiliar. Short papers must not exceed 6 pages.

3. Talk Proposals may propose lectures about topics of interest
  for PEPM, existing work representing relevant contributions,
  or promising contributions that are not mature enough to be
  proposed as papers of the other categories. Talk Proposals
  must not exceed 2 pages.

References and appendices are not included in page limits.
Appendices may not necessarily be read by reviewers.
All the submissions should be typeset using the two-column
'sigplan' sub-format of the new 'acmart' format available at:
https://sigplan.org/Resources/Author/
and submitted electronically via HotCRP: https://pepm26.hotcrp.com

Reviewing will be single-blind.

Submissions are welcome from PC members (except the two co-chairs).

Accepted regular research papers will appear in formal proceedings
published by ACM, and be included in the ACM Digital Library.
Accepted short papers do not constitute formal publications and
will not appear in the proceedings.

At least one author of each accepted contribution must attend
the workshop (physically or virtually) to present the work.
In the case of tool demonstration papers, a live demonstration
of the described tool is expected.

## Program co-chairs

Yukiyoshi Kameyama, University of Tsukuba, Japan
Ningning Xie, University of Toronto, Canada

## PC members

Kenichi Asai, Ochanomizu University
Robert Atkey, University of Strathclyde
Stephanie Balzer, CMU
William J. Bowman, University of British Columbia
Paul Downen, University of Massachusetts, Lowell
Sebastian Erdweg, JGU Mainz
Robert Glück, University of Copenhagen
Zhenjiang Hu, Peking University
Yusuke Izawa, Tokyo Metropolitan University
Naoki Kobayashi, University of Tokyo
Geoffrey Mainland, Drexel University
Keisuke Nakano, Tohoku University
Lionel Parreaux, Hong Kong University of Science and Technology
Morten Rhiger, Roskilde University
Tom Schrijvers, KU Leuven
Guannan Wei, Tufts University
Leo White, Jane Street

2025-09-29

[Caml-list] TFPIE 2026 - Call for Papers

TFPIE 2026 Call for papers
https://wiki.tfpie.science.ru.nl/TFPIE2026
(January 26th 2026, Odense, Denmark, co-located with TFP 2026 at
University of Southern Denmark)

TFPIE 2026 welcomes submissions describing techniques used in the classroom,
tools used in and/or developed for the classroom and any creative use of
functional programming (FP) to aid education in or outside Computer Science.
Topics of interest include, but are not limited to:

- FP and beginning CS students
- FP and Computational Thinking
- FP and Artificial Intelligence
- FP in Robotics
- FP and Music
- Advanced FP for undergraduates
- FP in graduate education
- Engaging students in research using FP
- FP in Programming Languages
- FP in the high school curriculum
- FP as a stepping stone to other CS topics
- FP and Philosophy
- The pedagogy of teaching FP
- FP and e-learning: MOOCs, automated assessment etc.
- Best Lectures - more details below

In addition to papers, we are requesting best lecture presentations.
What's your best lecture topic in an FP related course? Do you have a
fun way to present FP concepts to novices or perhaps an especially
interesting presentation of a difficult topic? In either case, please
consider sharing it. Best lecture topics will be selected for
presentation based on a short abstract describing the lecture and its
interest to TFPIE attendees. The length of the presentation should be
comparable to that of a paper. In addition, the speaker can provide
commentary on effectiveness or student feedback.

## Submissions

Potential presenters are invited to submit an extended abstract (4-6
pages) or a draft paper (up to 20 pages) in EPTCS style. The authors
of accepted presentations will have their preprints and their slides
made available on the workshop's website.

Papers and abstracts can be submitted via easychair at the following link:

https://easychair.org/conferences/?conf=tfpie2026

After the workshop, presenters are invited to submit (a revised
version of) their article for the formal review. The PC will select
the best articles for publication in the Electronic Proceedings in
Theoretical Computer Science (EPTCS). Articles rejected for
presentation and extended abstracts will not be formally reviewed by
the PC.

## Important Dates

Submission deadline: December 26th 2023, Anywhere on Earth
Notification: by December 30th 2023 (Note: submissions will be
evaluated on a rolling basis, so earlier submissions will receive an
earlier response)
TFPIE Registration Deadline:
Workshop: January 26th 2026
Submission for formal review: April 22nd 2026, Anywhere on Earth
Notification of full article: May 27th 2026
Camera ready: June 24th 202

## Program Committee

Mart Lubbers, Radboud University, Nijmegen, Netherlands (PC Chair)

Tim Steenvoorden, Open Universitei, Heerlen, Netherlands
Marco T. Morazán, Seton Hall University, South Orange, NJ, USA
Guannan Wei, Tufts University, Medford, MA, USA
Marcos Viera, Universidad de la República, Montevideo, Uruguay
Johannes Åman Pohjola, Chalmers University of Technology, Götenburg, Sweden

## Registration information

See https://wiki.tfpie.science.ru.nl/TFPIE2026 for updated information.

Registration and attendance are mandatory for at least one author of
every paper that is presented at the workshop.

Only papers that have been presented at TFPIE may be submitted to the
post-reviewing process.

2025-09-05

[Caml-list] IFL2025 Call for Participation

==========================================================
Call for Participation


IFL 2025


37th Symposium on Implementation and Application of Functional Languages



Montevideo, Uruguay

October 1-3, 2025
(Tutorials September 29-30)


https://www.fing.edu.uy/inco/congresos/ifl2025


==========================================================

The goal of the IFL symposia is to bring together researchers actively
engaged in the implementation and application of functional and
function-based programming languages. IFL 2025 will be a venue for
researchers to present and discuss new ideas and concepts, work in
progress, and publication-ripe results related to the implementation and
application of functional languages and function-based programming.


### Registration


The registration fee covers use of facilities, participation in the
tutorials and symposium, lunches, coffee breaks, social outing,
symposium dinner and access to draft proceedings.
Early Bird Registration Deadline is Sep 5, 2025.

https://www.fing.edu.uy/inco/congresos/ifl2025/register.html

If you choose online payment at registration, you will receive payment
instructions during the week.

### Keynote speakers

Roberto Ierusalimschy
Departamento de Informática, PUC-Rio, Río de Janeiro, Brazil
Functions in Lua

Iván Pérez
NASA Ames Research Center, California, USA
Making Haskell Fly

https://www.fing.edu.uy/inco/congresos/ifl2025/keynotes.html


### Tutorials

On September 29 and 30, the two days prior to the symposium, four
tutorials will be held:

Gradual typing
Éric Tanter, University of Chile, Chile

Type Based Static Analysis
Jurriaan Hage, Heriot-Watt University, UK

Development of dApps in the UTxO model
TxPipe, Argentina

Programming-Based Automata Theory
Marco T. Morazán, Seton Hall University, USA

https://www.fing.edu.uy/inco/congresos/ifl2025/tutorials.html


### Accepted Papers

Regular Papers:
Compilation of the Stochastic Language ALEA, Baltasar Trancón Y
Widemann and Markus Lepper.
Design and Implementation of DSLs for Unit Testing, Marco T. Morazán
and Andres Garced.
Recipe-Based Errors: Methodology, Implementation, and Evaluation,
Marco T. Morazán, Shamil Dzhatdoyev, Josephine Des Rosiers, Rose
Bohrer, Andres Garced and David Anthony Fields.
Refinement-Types Driven Development: A study, Facundo Domínguez and
Arnaud Spiwack.

Draft Papers:


AI-Assisted Program Design Using Structural Recursion, Marco T. Morazán.
A Quantum-Control Lambda-Calculus with Multiple Measurement Bases,
Nicolas A. Monzon and Alejandro Díaz-Caro.
Automatic Testing for Finite-State Machines, Marco T. Morazán, Sophia
G. Turano, Andres Garced and David Anthony Fields.
Closures in a Higher-Order Polymorphic DSL for GPU programming, Andre
Rauber Du Bois, Henrique Gabriel Rodrigues and Rodrigo Geraldo
Ribeiro.
Energy-aware Data-Parallel Functional Array Processing for
Heterogeneous Platforms, Clemens Grelck.
Formalizating System I with type Top in Agda, Agustín Séttimo,
Cristian Sottile and Cecilia Manzino.
Foundations of Gradual Abstract Interpretation, Gaspar Ricci,
Sebastian Erdweg, Éric Tanter and Matías Toro.
Heuristics-based Type Error Diagnosis for Haskell: the case of type
families, Niels Kwadijk and Jurriaan Hage.
Higher-ranked region inference for polymorphic, lazy languages, Ivo
Gabe de Wolff and Jurriaan Hage.
Improving a Group Membership Protocol Implementation using Liquid
Haskell and QuickCheck, Jianhao Li and Viktoria Zsok.
List Fold Operators in Dafny, Juan Michelini, Nora Szasz and Alvaro Tasistro.
Reducibility candidates modulo isomorphisms, Cristian Sottile and
Alejandro Díaz-Caro.
Type Checking Dependently Sorted Nominal Signatures, Maribel
Fernandez, Miguel Pagano, Nora Szasz and Alvaro Tasistro.
Unrestricted Grammar Design and Visualization: A Design Recipe and
Dynamic Visualization Tool, Marco T. Morazán, Andres Garced and Tijana
Minić.