[#118180] [Ruby master Bug#20525] Percent string literal with indentation support — "bradgessler (Brad Gessler) via ruby-core" <ruby-core@...>

Issue #20525 has been reported by bradgessler (Brad Gessler).

8 messages 2024/06/04

[#118243] [Ruby master Feature#20564] Switch default parser to Prism — "kddnewton (Kevin Newton) via ruby-core" <ruby-core@...>

Issue #20564 has been reported by kddnewton (Kevin Newton).

11 messages 2024/06/07

[#118269] [Ruby master Bug#20570] Nokey behavior changed since 3.3. — "ksss (Yuki Kurihara) via ruby-core" <ruby-core@...>

Issue #20570 has been reported by ksss (Yuki Kurihara).

8 messages 2024/06/10

[#118279] [Ruby master Bug#20573] Warning.warn shouldn't be called for disabled warnings — "tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@...>

Issue #20573 has been reported by tenderlovemaking (Aaron Patterson).

10 messages 2024/06/10

[#118281] [Ruby master Misc#20574] DevMeeting-2024-07-11 — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

Issue #20574 has been reported by mame (Yusuke Endoh).

12 messages 2024/06/11

[#118346] [Ruby master Bug#20586] Some filesystem calls in dir.c are missing error handling and can return incorrect results if interrupted — "ivoanjo (Ivo Anjo) via ruby-core" <ruby-core@...>

Issue #20586 has been reported by ivoanjo (Ivo Anjo).

13 messages 2024/06/19

[#118347] [Ruby master Bug#20587] dir.c calls blocking system calls while holding the GVL — "ivoanjo (Ivo Anjo) via ruby-core" <ruby-core@...>

Issue #20587 has been reported by ivoanjo (Ivo Anjo).

7 messages 2024/06/19

[#118360] [Ruby master Bug#20588] RangeError: integer 132186463059104 too big to convert to 'int' since cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce with YJIT enabled — "yahonda (Yasuo Honda) via ruby-core" <ruby-core@...>

Issue #20588 has been reported by yahonda (Yasuo Honda).

10 messages 2024/06/20

[#118388] [Ruby master Feature#20594] A new String method to append bytes while preserving encoding — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

SXNzdWUgIzIwNTk0IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku

32 messages 2024/06/25

[ruby-core:118317] [Ruby master Feature#20580] Pipe Operator accepting lambda

From: "martinosis (Martin Chabot) via ruby-core" <ruby-core@...>
Date: 2024-06-13 17:02:22 UTC
List: ruby-core #118317
Issue #20580 has been updated by martinosis (Martin Chabot).

Subject changed from Pipe Operator accepting lamnda to Pipe Operator accepting lambda

Description

I think that the previously pipe operator suggested syntax was not reflecting the actual pipe operator in functional programming languages.

In Elixir, Elm, F# etc. The pipe operator takes a value and applies it on the lambda at the right of the operator. Example:

```
add_one = -> a { a + 1 }
add_two = -> a { a + 2 }

2 |> add_one |> add_two == 5
```

In combination with the >> operator, some interesting thing can be done.

```
2 |> add_one >> add_two
```

you can refactor to

```
add_tree = add_one >> add_two
2 |> add_tree
```

We can use the `then` method on Object to do the equivalent. However this takes more characters and you need to put the closing bracket at the end of the line.

```
2.then(&add_one >> add_tree)
```

The suggested syntax would support the actual meaning of the pipe operators in functional languages.




----------------------------------------
Feature #20580: Pipe Operator accepting lambda
https://bugs.ruby-lang.org/issues/20580#change-108823

* Author: martinosis (Martin Chabot)
* Status: Open
----------------------------------------
I think that the pipe operator was not reflecting the actual pipe operator in functional programming language. 

In Elixir, Elm, F# etc. The pipe operator takes a value and applies it on the lambda at the right of the operator. Example

```
add_one = -> a { a + 1 }
add_two = -> a { a + 2 }

2 |> add_one |> add_two == 5
```

In combination with the >> operator, some interesting thing can be done. 

```
2 |> add_one >> add_two
```

you can refactor to 

```
add_tree = add_one >> add_two
2 |> add_tree
```

I currently use the `then` method on Object to do the equivalent. However this takes more characters and you need to put the closing bracket at the end of the line.

```
2.then(&add_one >> add_tree)
```





-- 
https://bugs.ruby-lang.org/

In This Thread