[#46049] [ruby-trunk - Feature #6590] Dealing with bigdecimal, etc gems in JRuby — "mrkn (Kenta Murata)" <muraken@...>
[#46078] [ruby-trunk - Feature #2565] adding hooks for better tracing — "mame (Yusuke Endoh)" <mame@...>
On Mon, Jul 02, 2012 at 03:06:59AM +0900, mame (Yusuke Endoh) wrote:
[#46127] [ruby-trunk - Feature #2565] adding hooks for better tracing — "vo.x (Vit Ondruch)" <v.ondruch@...>
[#46160] [ruby-trunk - Feature #6693][Open] Don't warn for unused variables starting with _ — "marcandre (Marc-Andre Lafortune)" <ruby-core@...>
[#46163] [ruby-trunk - Feature #6695][Open] Configuration for Thread/Fiber creation — "ko1 (Koichi Sasada)" <redmine@...>
[#46172] [ruby-trunk - Feature #6697][Open] [PATCH] Add Kernel#Symbol conversion method like String(), Array() etc. — "madeofcode (Mark Dodwell)" <mark@...>
[#46236] [ruby-trunk - Bug #6704][Open] Random core dump — "trans (Thomas Sawyer)" <transfire@...>
[#46248] building ruby-1.9.3-p194 on AIX 6.1 TL05 SP06 — Perry Smith <pedzsan@...>
I am just now starting to debug this but hoped someone has already =
Hi Perry
Hi Perry,
[#46262] [ruby-trunk - Feature #6710][Open] new special binding specifier :isolated — "ko1 (Koichi Sasada)" <redmine@...>
[#46276] Lambdaification of Method Calls — Robert Klemme <shortcutter@...>
Hi,
[#46320] [ruby-trunk - Feature #6721][Open] Object#yield_self — "alexeymuranov (Alexey Muranov)" <redmine@...>
[#46339] [ruby-trunk - Bug #6724][Open] waaaaaaant! ( — "zenspider (Ryan Davis)" <redmine@...>
On Thu, Jul 12, 2012 at 08:58:36AM +0900, zenspider (Ryan Davis) wrote:
On Tue, Jul 17, 2012 at 6:27 PM, Aaron Patterson
[#46377] [ruby-trunk - Feature #6727][Open] Add Array#rest (with implementation) — "duckinator (Nick Markwell)" <nick@...>
[#46420] [ruby-trunk - Feature #6731][Open] add new method "Object.present?" as a counter to #empty? — "rogerdpack (Roger Pack)" <rogerpack2005@...>
[#46500] [ruby-trunk - Feature #6739][Open] One-line rescue statement should support specifying an exception class — Quintus (Marvin Gülker) <sutniuq@...>
[#46535] [ruby-trunk - Bug #6749][Open] rdoc of Time class (incorrect explanation of leap seconds) — "stomar (Marcus Stollsteimer)" <redmine@...>
Hi Eric,
On Jul 23, 2012, at 11:52 PM, [email protected] wrote:
Am 24.07.2012 19:44, schrieb Eric Hodel:
[#46546] Fwd: [ruby-cvs:43609] ko1:r36433 (trunk): * thread.c (rb_thread_call_without_gvl2): added. — SASADA Koichi <ko1@...>
Hi,
SASADA Koichi <[email protected]> wrote:
[#46553] [ruby-trunk - Feature #2565] adding hooks for better tracing — "tenderlovemaking (Aaron Patterson)" <aaron@...>
[#46564] Ruby under CI - Windows — Luis Lavena <luislavena@...>
Hello,
[#46574] [ruby-trunk - Feature #6762][Open] Control interrupt timing — "ko1 (Koichi Sasada)" <redmine@...>
I was suggesting "interruptible" as a better alternative for
[#46577] [ruby-trunk - Feature #6763][Open] Introduce Flonum technique to speedup floating computation on th 64bit environment — "ko1 (Koichi Sasada)" <redmine@...>
[#46586] [ruby-trunk - Bug #6764][Open] IO#read(size, buf) causes can't set length of shared string in trunk (2.0.0dev) — "nahi (Hiroshi Nakamura)" <nakahiro@...>
[#46641] [ruby-trunk - Bug #6780][Open] cannot compile zlib module, when cross-compiling. — "jinleileiking (lei king)" <jinleileiking@...>
[#46686] [ruby-trunk - Bug #6784][Open] Test failures related to numeric with x64 mingw — "h.shirosaki (Hiroshi Shirosaki)" <h.shirosaki@...>
[#46741] [ruby-trunk - Bug #6789][Open] parse.y compilation error due not updated id.h — "luislavena (Luis Lavena)" <luislavena@...>
[#46744] [ruby-trunk - Bug #6791][Open] ext/js on/generator/generator.c fails to compile on nightly build (AIX 6.1) — "pedz (Perry Smith)" <pedz@...>
Hi Perry,
[#46772] Ruby 1.9.3 release? — Charles Oliver Nutter <headius@...>
JRuby will soon release 1.7.0pre2, the second preview of 1.7. Perhaps
(2012/07/26 7:07), Charles Oliver Nutter wrote:
On Sat, Jul 28, 2012 at 10:59 PM, NARUSE, Yui <[email protected]> wrote:
[#46792] [ruby-trunk - Bug #6799][Open] Digest::*.hexdigest returns an ASCII-8BIT String — "Eregon (Benoit Daloze)" <redmine@...>
[#46832] [ruby-trunk - Bug #6807][Open] Can't compile ruby without ruby — "devcurmudgeon (Paul Sherwood)" <storitel@...>
[#46834] [ruby-trunk - Feature #6808][Open] Implicit index for enumerations — "trans (Thomas Sawyer)" <transfire@...>
[#46838] [ruby-trunk - Bug #6810][Open] `module A::B; end` is not equivalent to `module A; module B; end; end` with respect to constant lookup (scope) — "alexeymuranov (Alexey Muranov)" <redmine@...>
[#46854] [ruby-trunk - Feature #6811][Open] File, Dir and FileUtils should have bang-versions of singleton methods that fails silently — "prijutme4ty (Ilya Vorontsov)" <prijutme4ty@...>
[#46896] (Half-baked DRAFT) new `require' framework — SASADA Koichi <ko1@...>
Hi,
2012/7/31 SASADA Koichi <[email protected]>
On 31/07/12 13:29, SASADA Koichi wrote:
On Tue, Jul 31, 2012 at 12:07 PM, Alex Young <[email protected]> wrote:
On 01/08/2012, at 5:59 AM, Trans wrote:
(2012/07/31 21:29), SASADA Koichi wrote:
If one is considering importing archive files like zip, tar, jar, or gem, I
On Tue, Aug 7, 2012 at 8:48 AM, Rocky Bernstein <[email protected]> wrote:
[ruby-core:46300] [ruby-trunk - Feature #6711] Optional typing and method overloading
Issue #6711 has been updated by rosenfeld (Rodrigo Rosenfeld Rosas).
matz (Yukihiro Matsumoto) wrote:
> Good try, but:
>
> * You cannot use # sign as type specifier, since it's already used as a comment sign.
Wow, how did I completely forget about this?! :P
Well, I need to spend some time thinking in some valid syntax that won't conflict with named arguments.
> * You didn't defined how type match should be done, but simple class hierarchy match would hinder duck typing.
I've defined how type match works. It is just a matter that you don't agree with it :)
The motivation about simple class hierarchy (and not caring about duck typing) is for the usual cases I have in mind like a generic Numeric and specifics Float, Integer and BigDecimal.
Duck typing is simply ortogonal to typed arguments in my opinion.
Could you please elaborate on your opinions about typed arguments and duck typing? I couldn't understand your comment concerning this in #5583 either.
But I agree that I wasn't specific about the rules for included modules ("multiple inheritance"). The problem is that I don't have a real use case for this so this is a bit hard for me to define those rules at this point. I'll have to think more about this.
----------------------------------------
Feature #6711: Optional typing and method overloading
https://bugs.ruby-lang.org/issues/6711#change-27922
Author: rosenfeld (Rodrigo Rosenfeld Rosas)
Status: Rejected
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: 3.0
Today I woke up with some ideas to overcome some of the features I miss in Ruby. I've searched for similar issues and I found this #5583, which was rejected.
But my idea is a bit different and also concerns about method overloading. So I decided to open a new issue. I'll be also creating another feature request soon for introducing super! keyword for overrides of methods by reopening classes.
#5583 wants the checks to be made at compile time, while I think it should be a dynamic check instead.
For example:
class A
def some_method(a)
"a"
end
def some_method(a # Numeric)
"a is a number"
end
def some_method(a, b)
"untyped a and b"
end
def some_method(a, b # String)
"typed b"
end
def some_method(a # String, b = 2)
"typed a"
end
end
class B < A
def! some_method(*args) # overrides all overloaded methods - *args is not required for this
if args[0].is_a? Number
super(args[0])
else
'do something else'
end
end
end
The rule to decide over multiple alternatives should be by order:
1 - max number of better matched argument types # Float is a better match for 1.2 than Numeric
2 - max number of matched argument types
3 - max number of consecutive matched argument types
Example:
a = A.new
b = B.new
b.some_method == 'do something else'
b.some_method(1.3) == 'a is a number'
b.some_method('s') == 'do something else'
a.some_method('s') == 'typed a'
a.some_method('s', 's') == 'typed a'
a.some_method(:s, 's') == 'typed b'
a.some_method(:s) == 'a'
a.some_method(1, :s) == 'untyped a and b'
Current method and send are not affected. Argument-matching checks would happen at runtime
The goal is to make programmers happier, not be perform better.
m = a.method :some_method
m.call # raise arguments mismatch exception
m.call(:a) == 'a'
To get a specific method one could ask for it like:
m = a.method :some_method, nil, String # some_method(a, b # String)
We should also introduce "methods" for getting a list of all named methods defined:
# HTTP server dispatcher class example:
def handle_http_request(params)
methods = controller.methods :some_method
raise "Overloaded actions are not supported" unless methods.size == 1
action = methods.first
method_arguments = []
action.arguments.each do |name, type, default_value = nil|
hk = params.has_key? name
(method_arguments << hk ? params[name] : default_value; next) unless hk && !type.nil?
method_arguments << method(:bind_value, type).call params[name], type
end
action.call *method_arguments
end
def bind_value(value, type)
value
end
def bind_value(value, type # Integer)
value.to_i
end
def bind_value(value, type # Float)
value.to_f
end
def bind_value(value, type # Numeric) # BigDecimal and Numeric would match for instance
BigDecimal.new value
end
def bind_value(value, type # Date)
Date.parse value
end
#...
--
http://bugs.ruby-lang.org/