(no title)
zverok | 2 years ago
That being said, there are a few problems on this road, that make it less probable to be followed. First, as Ruby doesn't have first-class Method objects (e.g. object corresponding to `File.method(:read)` doesn't exist until you call `method(:name)` explicitly), this style being popularized will either bring a lot of subtle performance problems, or will require redesign of Ruby's internals.
Second, if we'll make an example _a bit_ more complicated, say:
ENV.fetch('CONFIG_PATH')
.then { File.read(_1, encoding: 'KOI8-U')
.then { JSON.parse(_1, symbolize_names: true) }
.dig('metadata', 'created_at')
.then { Time.new(_1, in: CURRENT_TIMEZONE) }
...it would be impossible to rewrite with `method`, until currying would be signficantly improved (currently it can only be applied to first arguments, not tail ones, and even then looks horrible). So it is not impossible, and it is a turn of the language I'd like to see in the future, but it is not as straightforward as I once imagined.1: https://zverok.space/blog/2022-01-13-it-evolves.html#taking-...
No comments yet.