[#24648] [Bug #1852] Enumerable's #hash Raises ArgumentError When Recursive Values are Present — Run Paint Run Run <redmine@...>
Bug #1852: Enumerable's #hash Raises ArgumentError When Recursive Values are Present
In article <[email protected]>,
> Is it valuable to implement such function?
In article <[email protected]>,
> * several real applications are found
In article <[email protected]>,
>>> * several real applications are found
[#24650] [Bug #1853] Cannot make constants using upper-case extended characters? — Brian Candler <redmine@...>
Bug #1853: Cannot make constants using upper-case extended characters?
[#24666] request: include more headers/source in installations? — Roger Pack <rogerdpack@...>
Background:
[#24673] [Feature #1857] install *.h and *.inc — Roger Pack <redmine@...>
Feature #1857: install *.h and *.inc
Issue #1857 has been updated by Jason Roelofs.
Hi,
Issue #1857 has been updated by Mark Moseley.
[#24675] Include Order — James Gray <james@...>
I was surprised to find that:
[#24730] About An Imaginary Number Literal (Translation) — ujihisa <ujihisa@...>
This post is the summary of a recent discussion in [ruby-dev] about
[#24747] [Bug #1881] [PATCH] Build Documentation for Kernel#gem and Gem — Run Paint Run Run <redmine@...>
Bug #1881: [PATCH] Build Documentation for Kernel#gem and Gem
[#24775] [Feature #1889] Teach Onigurma Unicode 5.0 Character Properties — Run Paint Run Run <redmine@...>
Feature #1889: Teach Onigurma Unicode 5.0 Character Properties
Issue #1889 has been updated by Yui NARUSE.
Hi,
> |First, we should decide supporting Unicode version.
[#24786] [Bug #1893] Recursive Enumerable#join is surprising — Jeremy Kemper <redmine@...>
Bug #1893: Recursive Enumerable#join is surprising
Issue #1893 has been updated by Yusuke Endoh.
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
[#24791] [Bug #1898] Method#== for Methods with the Same Body — Run Paint Run Run <redmine@...>
Bug #1898: Method#== for Methods with the Same Body
[#24793] [Feature #1900] Suggestion: Encoding#ascii_compatible? — Brian Candler <redmine@...>
Feature #1900: Suggestion: Encoding#ascii_compatible?
[#24824] 1.9 gem env is far slower than on 1.8? — Roger Pack <rogerdpack@...>
Currently when I run "gem env" on a windows machine
[#24854] embedding ruby 1.9 frustration — Rolando Abarca <funkaster@...>
Hello,
> I'm getting really frustrated, because there's almost no documentation
> Perhaps try using only rb_thread_blocking_region()?
[#24862] [Bug #1925] Division of negative numbers — Roswitha Rissner <redmine@...>
Bug #1925: Division of negative numbers
[#24885] IDEA: Shortcut syntax for binary strings? — Gregory Brown <gregory.t.brown@...>
Hey folks,
On Aug 12, 2009, at 2:55 PM, Gary Wright wrote:
On Wed, Aug 12, 2009 at 4:53 PM, James Gray<[email protected]> wrot=
[#24921] regparse.c - patch to fix memory leak — Ralf Junker <ralfjunker@...>
There are several memory leaks in regparse.c. They all relate to incomplete pattern branches, where a branch node is not freed when branch parsing is aborted. I discovered this by successively shortening all patterns in my test suite (which is not in Ruby, nor in C, unfortunately) down to zero length.
[#24923] [Bug #1939] Ripper doesn't handle local variables — Magnus Holm <redmine@...>
Bug #1939: Ripper doesn't handle local variables
[#24927] [Bug #1940] Segmentation fault on TestFiber#test_many_fibers_with_threads (make check) — Luis Lavena <redmine@...>
Bug #1940: Segmentation fault on TestFiber#test_many_fibers_with_threads (make check)
[#24982] [Feature #1961] Kernel#__dir__ — Yutaka HARA <redmine@...>
Feature #1961: Kernel#__dir__
Wouldn't it be a little confusing to remember that __FILE__ is uppercase and
Issue #1961 has been updated by Roger Pack.
On 23.03.10 19:10, Roger Pack wrote:
Perhaps __FILE__ should not be a raw String object, but rather a =
This is nice but would not be backward compatible with code that
On 3/24/10, Charles Oliver Nutter <[email protected]> wrote:
Actually, I proposed that it be a String subclass, so it actually
[#24989] [Bug #1964] Compile Issue on Solaris 10 — Brian Toal <redmine@...>
Bug #1964: Compile Issue on Solaris 10
[#25010] [Bug #1972] Changing ENV['TZ'] of a running process should change behavior of Time — Shri Borde <redmine@...>
Bug #1972: Changing ENV['TZ'] of a running process should change behavior of Time
[#25025] [Backport #1975] Backport Dir.mktmpdir — Kirk Haines <redmine@...>
Backport #1975: Backport Dir.mktmpdir
In article <[email protected]>,
On Fri, Aug 21, 2009 at 8:17 PM, Tanaka Akira<[email protected]> wrote:
In article <[email protected]>,
[#25027] [Bug #1978] fixed crash in lib/logger.rb from dependency on svn keywork expansion — Stephen Bannasch <redmine@...>
Bug #1978: fixed crash in lib/logger.rb from dependency on svn keywork expansion
[#25032] [Bug #1979] parser confused by local variable assignment — caleb clausen <redmine@...>
Bug #1979: parser confused by local variable assignment
[#25039] [Bug #1982] Kernel.load(..., true) --> scope problem — Johan Holmberg <redmine@...>
Bug #1982: Kernel.load(..., true) --> scope problem
[#25041] Proposal: Simpler block format — Yehuda Katz <wycats@...>
I'd like to propose that we add the following syntax for procs in Ruby:
On Aug 22, 2009, at 7:04 PM, Yehuda Katz wrote:
Yehuda Katz wrote:
On Sat, Aug 22, 2009 at 7:38 PM, Caleb Clausen <[email protected]>wrote:
Yehuda Katz wrote:
On Sun, Aug 23, 2009 at 2:00 PM, Caleb Clausen <[email protected]>wrote:
Hi,
On Sun, Aug 23, 2009 at 3:33 PM, Yukihiro Matsumoto <[email protected]>wrote:
Hi --
Hi,
Hi,
Hi everyone,
[#25086] [Bug #1991] ruby should use twolevel namespace on OS X — Michal Suchanek <redmine@...>
Bug #1991: ruby should use twolevel namespace on OS X
Issue #1991 has been updated by Shyouhei Urabe.
Hi,
[#25139] Patch writer's guide to submit — Yukihiro Matsumoto <matz@...>
Hi,
Reducing the submitters' frustration by reducing the delay for
[#25143] Is this an intentional change in 1.9? — Rick DeNatale <rick.denatale@...>
This came up on the ruby lang forum.
Hi,
On Wed, Aug 26, 2009 at 7:25 PM, Yukihiro Matsumoto<[email protected]> wro=
[#25151] [Bug #2003] respond_to? not working 1.9.1p243 OSX — Adam Salter <redmine@...>
Bug #2003: respond_to? not working 1.9.1p243 OSX
[#25181] RegOOps: An Object-Oriented Approach to Pattern Matching — Run Paint Run Run <runrun@...>
Regexps in Ruby can feel like a jagged edge to the otherwise smooth
[#25191] [Feature #2012] Set event_flags on thread creation if hook exists — Mark Moseley <redmine@...>
Feature #2012: Set event_flags on thread creation if hook exists
[#25200] [Bug #2018] [irb] BasicObject.new doesn't have an inspect — Daniel Bovensiepen <redmine@...>
Bug #2018: [irb] BasicObject.new doesn't have an inspect
[#25208] Module#prepend and Array#prepend — Yehuda Katz <wycats@...>
Matz,
Yehuda Katz wrote:
On Sun, Aug 30, 2009 at 10:09 PM, Joel VanderWerf
Hi,
Yusuke,
[#25210] [Feature #2022] Patch for ruby-1.8.6 and openssl-1.0 — Jeroen van Meeuwen <redmine@...>
Feature #2022: Patch for ruby-1.8.6 and openssl-1.0
[#25217] [Bug #2025] problem with pthread handling on non NPTL platform — Petr Salinger <redmine@...>
Bug #2025: problem with pthread handling on non NPTL platform
[#25220] [Bug #2026] String encodings are not supported by most of IO on Linux — Vit Ondruch <redmine@...>
Bug #2026: String encodings are not supported by most of IO on Linux
Issue #2026 has been updated by Yui NARUSE.
2009/9/1 Yui NARUSE <[email protected]>:
[ruby-core:25181] RegOOps: An Object-Oriented Approach to Pattern Matching
Regexps in Ruby can feel like a jagged edge to the otherwise smooth
curves. For all the syntactical smarts we employ so as to avoid
Perl-like punctuation, regular expressions take us two steps back,
their readability deteriorating with their length. They pry us from
Ruby's embrace, requiring proficiency in a new language, bereft of
familiar idioms. Regexps are neither introspective, w.r.t the pattern
itself, nor extensible with inheritance, mixins, or new method
definitions. Put another way, they don't act like we expect objects to
act.
For some tasks, regexps are certainly the superior tool. When you
require lookahead, nested constructs, and other advanced features,
their worth is evident. However, most regular expressions are nowhere
near as complicated. They may be used to determine whether a String
contains a number, or to extract a YYYY/MM/DD-format date. So, I'm
wondering whether we can make the common case easier by creating a
Regexp-lite that follows Ruby semantics and style without the
unnecessary complexity/punctuation? Traditional regexps would, of
course, still be available for complex tasks.
Imagine a String as an Array of Char objects. The Char class would
define predicate methods corresponding to Unicode and regexp
properties. For instance Char#lowercase? or Char#digit?. The
implementation is trivial because Regexps are used internally.
Matching the String against a pattern is now a case of calling the
appropriate predicate methods on the underlying characters. For
example, match(/\w+/) could be expressed as match(:word). This would
succeed if at least one character in the string returns true for
Char#word?. Similarly, match(:hex, :blank, :digit) would:
* Call #hex? on each character until it succeeds then set a flag to
signify that the match has began.
* Once #hex? has returned true once, try calling #blank? for every
subsequent character.
* If it matches, #blank? becomes the current predicate;
* Otherwise #hex? remains the current predicate.
* Once #blank? is the current predicate, try calling #digit? for every
subsequent character
* If it matches, then the match has succeeded so we can stop.
* If it doesn't match, continue calling #blank? on each character
until its neighbor matches #digit?
IOW, it matches non-greedily, assuming each term should match as many
times as it can while still allowing the overall match to succeed. My
current mockup doesn't try backtracking, but it certainly could. I'm
using String#ematch to add implicit start/end anchors.
So even at this point we have a more Rubyish interface, with no line
noise, which can be extended by modifying the Char class.
Each term has an implicit capturing parentheses around it, and #match
will return MatchData[1] so numbered captures will work.
Wildcards can be supported with a Char#any? predicate that always returns true.
Even if you stop here, you have a reasonably capable Regexp subset. If
additional functionality is desired, we can support non-Symbol terms.
A Fixnum term could represent a back-reference. A Range argument could
represent a character class, e.g. match(:digit, 5..9) =>
match(/\d+[5-9]+/). A String could represent a literal String, e.g.
match('glark') => /glark/. An Array could be used for alternation such
that one of its elements are required to match. A Hash could be used
to support named captures such that {:name => :digit} matches a digit
and captures them to the :name group. And so on. The overarching
benefit is that patterns feel like Ruby.
I've so far talked in terms of matching against Strings, but the
generality of this approach suggests that it could be associated with
any enumerator. (I've overloaded String#chars to return Char objects
for String). This could allow functional-style matching against data
structures.
There are clearly a lot of unanswered questions to consider. Is there
any interest in a core implementation along these lines, or is the
status quo seen as ideal? :-)