OCaml good first issues

39 open OCaml issues currently match the default 10+ star filter. Scored difficulty: 5,947 at 1/5, 8,788 at 2/5, 12,702 at 3/5, 12,124 at 4/5, 857 at 5/5. This hub uses the same feed as the homepage, limited to repositories whose GitHub language is OCaml.

All languages · Browse projects · How to find good first issues

Active projects

Unique repos with open help-wanted issues updated in the last 30 days

Showing 30 of ~39 matching filters (OCaml · 10+ stars)

List

Use modulo constants as widening thresholds

AI summary

This issue proposes incorporating modulo constants (minus 1) as widening thresholds in the autotuner, inspired by a similar technique used in Astrée. The goal is to improve precision by leveraging the cyclical nature of modulo operations, particularly in scenarios like ring buffers. This change is considered a small addition with potentially significant benefits for static analysis.

precisiongood first issue
249
Difficulty
2/5
ocaml/ocaml

Parsing error and semantic incoherence

AI summary

The current parsing of constructors in OCaml modules leads to inconsistent behavior and errors, particularly when constructors like `M.true` are encountered. The issue proposes a partial fix to align the parsing of such cases with the expected behavior of unbound constructors, aiming to prevent parsing errors while maintaining backward compatibility.

good first issue
6.6K
Difficulty
3/5

Semgrep scan --test does not honor timeouts, jobs and memory limits

AI summary

The `semgrep scan --test` command does not correctly apply configured timeouts, job limits, or memory limits. These configurations are ignored when running tests in batch mode, leading to unexpected test execution times and resource consumption. The issue stems from the `commands/scan.py` file in the Semgrep Python library, which fails to propagate these settings to the underlying `semgrep-core` execution.

buggood first issuepriority:lowcli
16.4K
Difficulty
3/5

Ensure that `--test` works on windows

AI summary

This issue reports a bug on Windows where the `--test` command fails due to a permission error accessing the `.semgrep\settings.xml` file. The goal is to investigate and resolve this permission issue to ensure the `--test` functionality works correctly on Windows environments.

buggood first issuewindows
3.0K
Difficulty
2/5
ocaml/dune

Exit with code 0 when using —auto-promote

AI summary

The user is reporting that Dune exits with a non-zero status code even when the `--auto-promote` flag is used and a fixed point in the build is reached. This forces users to wrap Dune commands in `|| true` to prevent build failures in scripting contexts like opam files.

clihelp wanted
1.9K
Difficulty
2/5
ocaml/merlin

truncated error message with Emacs+Merlin on OCaml 5.04 and v5.7.1-504

AI summary

This issue describes a truncated error message in Emacs with Merlin when using OCaml 5.04 and Merlin v5.7.1-504. The provided OCaml code demonstrates a functor application that results in a type mismatch, but Merlin only displays the last line of the compiler's full error message, making debugging difficult.

Area/Emacsgood first issue
1.7K
Difficulty
2/5

Parameterisation support

AI summary

This issue proposes adding parameterization support to the system. The core components like process, type, and channel definitions have been addressed, with the remaining task being to implement lifetime management for these parameters.

enhancementgood first issuelow priority
32
Difficulty
3/5
ocaml/dune

dune fmt should be able to format single files

AI summary

This issue proposes enhancing the `dune fmt` command to allow formatting of individual files specified on the command line. This would require a more robust implementation than the current alias, enabling formatting of files that can be changed and handling unformattable files with an option to control behavior. This change would also facilitate future features like selective formatting based on version control status.

good first issue
1.9K
Difficulty
3/5

Missing taint findings, possibly due to `focus-metavariable`

AI summary

The user is reporting a regression where Semgrep is no longer finding taint findings, specifically when `focus-metavariable` is used. This issue is reproducible on the playground and locally, and it started occurring after upgrading from version 1.64.0. The user suspects a bug related to `focus-metavariable` is the cause.

good first issue
16.4K
Difficulty
3/5

Peephole optimization for commonly paired functions

AI summary

This issue proposes a performance optimization by detecting and replacing sequential calls to related Stan math functions with their combined, more efficient counterparts. The goal is to eliminate redundant computations when functions like `qr_Q` and `qr_R` are called consecutively, by instead using the single `qr` function. A warning mechanism is also suggested for models that continue to use the older, separate function calls.

help wantedfeatureperformanceoptimization
160
Difficulty
3/5

Be able to configure influx port

AI summary

This issue requests the ability to configure the InfluxDB port, as it is currently hardcoded. This would involve making the port a configurable parameter rather than a fixed value within the application.

good first issue
13
Difficulty
2/5

Allow using hostnames for influx

AI summary

This issue proposes adding support for using hostnames instead of only IP addresses when configuring InfluxDB connections. This would improve flexibility and usability by allowing users to leverage DNS for managing their InfluxDB instances.

good first issue
13
Difficulty
2/5

Delete unreferenced scratch module src/test.ml

AI summary

This issue proposes the deletion of an unreferenced and outdated scratch module `src/test.ml`. The module is not used, its name is misleading, and it unnecessarily contributes to the build process. The fix involves removing the file and updating the build configuration.

good first issue
15
Difficulty
1/5

README is a two-line stub — add quickstart and dev workflow

AI summary

The README file for the project is currently a minimal stub and lacks essential information for new users and contributors. This issue proposes expanding the README to include a project description, a quickstart guide for building and testing, details on the development workflow and test locations, and potentially a CONTRIBUTING.md file.

documentationgood first issue
15
Difficulty
2/5

Audit ~500 bare 'with _ ->' exception handlers

AI summary

This issue identifies approximately 500 instances of bare `with _ ->` exception handlers in the codebase, which can hide critical errors and make debugging difficult. The proposed solution involves an incremental approach: disallowing new bare handlers, routing 'best effort' exceptions through logging, and gradually refactoring existing offenders, particularly in frequently modified files.

help wanted
15
Difficulty
3/5

No test CI on GitHub: restore test workflow (only docs.yml remains)

AI summary

The repository has lost its automated testing CI on GitHub after a recent commit removed the test workflow. This means that build and test regressions can go unnoticed on the master branch. The issue proposes restoring a test workflow, potentially a simplified version of the previous one, to act as a fast gate for changes, while also suggesting updates to deprecated GitHub Actions versions in the existing documentation workflow.

enhancementhelp wanted
15
Difficulty
2/5
ocaml/dune

Formatting dune files on save while the build is running

AI summary

Users are reporting that formatting dune files on save, typically handled by editor extensions, is failing when Dune's build is running in watch mode. This is suspected to be a regression introduced around Dune version 3.21, likely due to conflicts with build locks.

good first issuerpc
1.9K
Difficulty
3/5

`sem.malloc.fail` makes memory leak analysis less precise

AI summary

The `sem.malloc.fail` option in memory leak analysis is causing a reduction in precision, particularly when `free` is called on pointers that might be NULL. This is because `free(NULL)` is a no-op and should not affect leak detection, but it appears to be causing discrepancies in the analysis results. This issue impacts a significant number of tasks within the sv-benchmarks suite.

sv-compprecisiongood first issue
249
Difficulty
3/5

`sem.malloc.fail` affects `alloca`

AI summary

This issue reports that enabling `sem.malloc.fail` in a benchmarking environment causes unexpected behavior in tasks that utilize `alloca`. The problem arises because `alloca` is documented to never return NULL, implying a potential conflict with the simulated malloc failure.

sv-compprecisiongood first issue
249
Difficulty
3/5

[Discussion] Ideal error handling.

AI summary

This issue is a discussion about the ideal error handling strategy for the 'wyzer' programming language. The author suggests deviating from Rust's approach to create a unique system that aligns with wyzer's core ideologies, aiming for a more enjoyable developer experience. It's labeled as an enhancement and a good first issue.

enhancementgood first issue
163
Difficulty
3/5

Also browsing: Python , TypeScript , JavaScript