@Richard Feldman I meant to ask the other day about why you chose to go with |>
instead of .
as the pipe operator? Especially considering I've seen Koka mentioned in the GitHub repo at least once or twice.
|>
indicates direction, and we already use .
for record fields are two reasons
we use reference counting tricks implemented in koka, and later found out they also do what we call "backpassing" but I have to admit I never actually ran any koka code
|>
being the pipe operator is fairly common for FP languages. Elixir and Elm are two off the top of my head
purescript too I believe, at least you can use it there, f# is another example
yea it's an extensive list :p
.
in haskell is function composition if I remember correctly
yes
interestingly, Clean uses the letter o
for that purpose
one of its many quirks
I kinda guessed these were the reasons, but figured it was worth asking in case there was something else. Can likely add JS to the list of languages that use |>
too once the proposal gets fully accepted
yeah, I think that one seems to be well on the road to standardization...except when it comes to argument order :sweat_smile:
|>
in Elixir and Roc makes the preceding value be the first argument, whereas in Elm and F# it's the last argument. Last I heard, JS was debating between "first argument" and "explicit placeholder symbol for where you want it to go"
In gleam because function arguments are labeled, it's accidentally arbitrary
that wasn't planned, it was discovered after
This just popped up on Orange Website:
https://github.com/tc39/proposal-pipeline-operator
Last updated: Jul 05 2025 at 12:14 UTC