Welcome to the June 2024 edition of the OCaml.org newsletter! This update has been compiled by the OCaml.org team. You can find previous updates on Discuss.
Our goal is to make OCaml.org the best resource for anyone who wants to get started and be productive in OCaml. The OCaml.org newsletter provides an update on our progress towards that goal and an overview of the changes we are working on.
We couldn’t do it without all the amazing people who help us review, revise, and create better OCaml documentation and work on issues. Your participation enables us to so much more than we could just by ourselves. Thank you!
This newsletter covers:
- Recipes for the OCaml Cookbook: Help us make the OCaml Cookbook really useful by contributing and reviewing recipes for common tasks!
- Community & Marketing Pages Rework: Implementation work in progress.
- General Improvements: As usual, we also worked on general maintenance and improvements, so we’re highlighting some of the work that happened below.
Open Issues for Contributors
You can find open issues for contributors here!
Recipes for the OCaml Cookbook
The OCaml Cookbook is a place where OCaml developers share how to solve common tasks using packages from the ecosystem.
A recipe is a code sample and explanations on how to perform a task using a combination of open-source libraries.
The Cookbook is live at ocaml.org/cookbook.
Here’s how you can help:
- Review, then open pull requests for cookbook recipes!
- Contribute new recipes and tasks for the cookbook!
Relevant PRs and Activities:
- (open) PR: Cookbook Extract Links From HTML ocaml/ocaml.org#2552 by @ggsmith842
- (open) PR: Cookbook Measures of Central Tendency ocaml/ocaml.org#2540 by @ggsmith842
- (open) PR: Cookbook Send a POST/PATCH Request w/ Authentication ocaml/ocaml.org#2534
- PR: Cookbook Normalise Vector ocaml/ocaml.org#2513 by @ggsmith842
- PR: (docs) Cookbook “Validate an Email Address” With
re
ocaml/ocaml.org#2518 by @ggsmith842
Community & Marketing Pages Rework
We have UI designs for the reworked and new pages of the community section, and implementation is in progress.
Relevant PRs and Activities:
- PR: Events feed ocaml/ocaml.org#2495 by @ishar19
- (open) PR: OCaml In Numbers: A dashboard with key metrics and statistics about the OCaml community ocaml/ocaml.org#2514 by @tmattio
- PR: Add fields professor, enrollment, and
last_check
to Academic ocaml/ocaml.org#2489 by @cuihtlauac - PR: Fix: render full title of OCaml Cookbook recipe as HTML page title ocaml/ocaml.org#2560 by @sabine
General Improvements and Data Additions
Summary:
- To reduce repetition of the module interface definitions relating to
ood-gen
(the tool that turns the files in thedata/
folder into OCaml modules), types have been factored out. This hopefully makes it simpler to contribute to changes to the data models. - Materials for some of the tutorials have been published under the ocaml-web · GitHub GitHub organisation: “Your First OCaml Program”, “Modules”, “Functors”, and “Libraries With Dune”.
- The OCamlFormat version used to format the project is now 0.26.2.
Relevant PRs and Activities:
- PR: Update code highlighting color scheme ocaml/ocaml.org#2496 by @Siddhant-K-code
- Data
- PR: (data) Add OCaml.org newsletter May 2024 ocaml/ocaml.org#2498 by @sabine
- PR: Add changelog entry for Merlin
4.15-414/501
ocaml/ocaml.org#2473 by @voodoos - PR: Add the announement for opam 2.2.0~beta3 ocaml/ocaml.org#2509 by @kit-ty-kate
- PR: Add missing changelog entries ocaml/ocaml.org#2476 by @tmattio
- PR: Add changelog entry for
ppxlib.0.32.1
release ocaml/ocaml.org#2479 by @NathanReb - PR: (data) add
odoc
dev meeting to governance ocaml/ocaml.org#2521 by @sabine - PR: (data) Update meeting link and frequency in governance for OCaml.org ocaml/ocaml.org#2542 by @sabine
- Documentation:
- PR: Prerequisites for Libraries With Dune ocaml/ocaml.org#2551 by @cuihtlauac
- Added repositories holding materials for some of the tutorials at https://github.com/ocalm-web
- PR:
ocaml-web
repo link ocaml/ocaml.org#2547 by @cuihtlauac - PR: Prerequisites and
ocaml-web
repo link ocaml/ocaml.org#2544 by @cuihtlauac - PR: Prerequisites and
ocaml-web
repo link ocaml/ocaml.org#2543 by @cuihtlauac - PR: Fix typo in
0it_00_values_functions.md
ocaml/ocaml.org#2548 by @boisgera - PR:
ocaml-web
tutorial material URLs ocaml/ocaml.org#2550 by @cuihtlauac
- PR:
- PR: In “Modules” tutorial: Fix
dune
files ocaml/ocaml.org#2535 by @cuihtlauac - PR: Fix typo in “Tour of OCaml” ocaml/ocaml.org#2519 by @blackwindforce
- PR: Clarification on pattern matching and definitions ocaml/ocaml.org#2500 by @cuihtlauac
- Refactoring / Code health:
- Factor out types on
ood-gen
tool that parses the files in thedata/
folder:- PR: Single data type definition for Outreachy ocaml/ocaml.org#2481 by @cuihtlauac
- PR: Single data type definition for Resource ocaml/ocaml.org#2533 by @cuihtlauac
- PR: Single data type defintion for Success_story ocaml/ocaml.org#2536 by @cuihtlauac
- PR: Single data type defintion for Tool ocaml/ocaml.org#2538 by @cuihtlauac
- PR: Single type for Tool_page ocaml/ocaml.org#2539 by @cuihtlauac
- PR: Single type for Book ocaml/ocaml.org#2488 by @cuihtlauac
- PR: Single data type definition for Exercise ocaml/ocaml.org#2497 by @cuihtlauac
- PR: Single data type definitions for Planet ocaml/ocaml.org#2529 by @cuihtlauac
- PR: Single data type definition for Release ocaml/ocaml.org#2531 by @cuihtlauac
- PR: Single data type definition for Changelog ocaml/ocaml.org#2492 by @cuihtlauac
- PR: Single data type definition for Cookbook ocaml/ocaml.org#2490 by @cuihtlauac
- PR: Single data type definition for Governance ocaml/ocaml.org#2504 by @cuihtlauac
- PR: Single data type definitions for Tutorial ocaml/ocaml.org#2555 by @cuihtlauac
- PR: Single data type definition for Event ocaml/ocaml.org#2559 by @cuihtlauac
- PR: Single data type definition for Industrial_user ocaml/ocaml.org#2505 by @cuihtlauac
- PR: Single type for Is_ocaml_yet ocaml/ocaml.org#2508 by @cuihtlauac
- PR: Single type definition for Job ocaml/ocaml.org#2516 by @cuihtlauac
- PR: Single data type definition for News ocaml/ocaml.org#2520 by @cuihtlauac
- PR: Single data type defintion for opam_user ocaml/ocaml.org#2522 by @cuihtlauac
- PR: Single data type definition for Workshop ocaml/ocaml.org#2541 by @cuihtlauac
- PR: Single data type defintion for Watch ocaml/ocaml.org#2545 by @cuihtlauac
- PR: Single data type definition for Page ocaml/ocaml.org#2524 by @cuihtlauac
- PR: Single data type definition for Paper ocaml/ocaml.org#2526 by @cuihtlauac
- PR: Single data type definition for Academic_Institution ocaml/ocaml.org#2477 by @cuihtlauac
- PR: Single data type definition for Code_examples ocaml/ocaml.org#2501 by @cuihtlauac
- PR: Remove redundant data type Watch ocaml/ocaml.org#2507 by @cuihtlauac
- Increase OCamlFormat version used to format the project from 0.25.1 to 0.26.2
- PR: Bringup OCamlFormat ocaml/ocaml.org#2482 by @cuihtlauac
- PR: Formatting ocaml/ocaml.org#2484 by @cuihtlauac
- PR: Add information on switch pin update ocaml/ocaml.org#2483 by @cuihtlauac
- PR: Bringup OCamlFormat in CI ocaml/ocaml.org#2485 by @cuihtlauac
- PR: Add information on switch pin update, cont’d ocaml/ocaml.org#2486 by @cuihtlauac
- PR: Rename Utils
map_files
intomap_md_files
ocaml/ocaml.org#2515 by @cuihtlauac - PR: Remove unused Video data ocaml/ocaml.org#2506 by @cuihtlauac
- PR: Remove unused
ood/video
files ocaml/ocaml.org#2546 by @cuihtlauac
- Factor out types on