reasonml / reasonml/reason

Fast-pipe + labeled arguments

Open
#2,229 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
OCaml
Stars
10.3k
Forks
438
PR merge metrics
No merged PRs in 30d

Description

let fn1 = (~foo=?, ()) => 1;
let fn2 = (~bar=?, x) => 2;

/* Ok */
fn1(~foo=1, ())->(fn2(~bar=2))

/* Error: This expression has type int. It is not a function. */
fn1(~foo=1, ())->fn2(~bar=2)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by reproducing the shown fast-pipe example with labeled arguments in the project's Reason toolchain, comparing the parenthesized and unparenthesized forms. Trace the relevant compiler handling and consider the issue done when the demonstrated behavior is resolved and covered by a regression test.

Written by the indexing model from the issue text.

Assessment

Tech stack
ocaml
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.