[#86787] [Ruby trunk Feature#14723] [WIP] sleepy GC — ko1@...

Issue #14723 has been updated by ko1 (Koichi Sasada).

13 messages 2018/05/01
[#86790] Re: [Ruby trunk Feature#14723] [WIP] sleepy GC — Eric Wong <normalperson@...> 2018/05/01

[email protected] wrote:

[#87095] [Ruby trunk Feature#14767] [PATCH] gc.c: use monotonic counters for objspace_malloc_increase — ko1@...

Issue #14767 has been updated by ko1 (Koichi Sasada).

9 messages 2018/05/17
[#87096] Re: [Ruby trunk Feature#14767] [PATCH] gc.c: use monotonic counters for objspace_malloc_increase — Eric Wong <normalperson@...> 2018/05/17

[email protected] wrote:

[ruby-core:87100] [Ruby trunk Feature#6284][Open] Add composition for procs

From: matz@...
Date: 2018-05-17 05:56:50 UTC
List: ruby-core #87100
Issue #6284 has been updated by matz (Yukihiro Matsumoto).

Status changed from Feedback to Open

Considering the combination of OOP and FP, it seems a good idea to adding both forward and reverse combination of procs. So we pick Groovy way (adding `<<` and `>>` methods to `Proc`).

We need more discussion if we would add combination methods to the `Symbol` class.

Matz.


----------------------------------------
Feature #6284: Add composition for procs
https://bugs.ruby-lang.org/issues/6284#change-72069

* Author: pabloh (Pablo Herrero)
* Status: Open
* Priority: Normal
* Assignee: matz (Yukihiro Matsumoto)
* Target version: 
----------------------------------------
It would be nice to be able to compose procs like functions in functional programming languages:

```ruby
to_camel = :capitalize.to_proc
add_header = ->val {"Title: " + val}

format_as_title = add_header << to_camel << :strip
```

instead of:

```ruby
format_as_title = lambda {|val| "Title: " + val.strip.capitalize }
```

It's pretty easy to implement in pure ruby:

```ruby
class Proc
  def << block
    proc { |*args| self.call( block.to_proc.call(*args) ) }
  end
end
```

---Files--------------------------------
0001-proc.c-Implement-Proc-for-Proc-composition.patch (3.65 KB)
0002-proc.c-Implement-Method-for-Method-composition.patch (2.67 KB)
0003-proc.c-Support-any-callable-when-composing-Procs.patch (3.97 KB)


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

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread