[#21709] [Feature #1084] request for: Array#sort_by! — Radosław Bułat <redmine@...>

Feature #1084: request for: Array#sort_by!

15 messages 2009/02/01

[#21714] [BUG:trunk] Got the error message, after run 'gem install --test'. — Takao Kouji <kouji@...7.net>

Hi, Ryan.

14 messages 2009/02/01

[#21715] New documentation system! — Luiz Vitor Martinez Cardoso <grabber@...>

People,

35 messages 2009/02/01
[#21716] Re: New documentation system! — Austin Ziegler <halostatue@...> 2009/02/01

On Sun, Feb 1, 2009 at 10:51 AM, Luiz Vitor Martinez Cardoso

[#21717] Re: New documentation system! — znmeb@... 2009/02/01

Quoting Austin Ziegler <halostatue@gmail.com>:

[#21718] Re: New documentation system! — Luiz Vitor Martinez Cardoso <grabber@...> 2009/02/01

People,

[#21719] Re: New documentation system! — Yehuda Katz <wycats@...> 2009/02/01

One project that has been in the works for a while and shows a lot of

[#21731] Re: New documentation system! — Charles Oliver Nutter <charles.nutter@...> 2009/02/02

I'd love to see a documentation system similar to what python has, and

[#21746] Re: New documentation system! — Luiz Vitor Martinez Cardoso <grabber@...> 2009/02/02

People,

[#21754] Re: New documentation system! — Charles Oliver Nutter <charles.nutter@...> 2009/02/02

Luiz Vitor Martinez Cardoso wrote:

[#21802] [Bug #1098] Unclear encoding error: #<Encoding::UndefinedConversionError: "\xE2\x96\x80" from UTF-8 to ISO-8859-1 in conversion from CP850 to ISO-8859-1> — Tom Link <redmine@...>

Bug #1098: Unclear encoding error: #<Encoding::UndefinedConversionError: "\xE2\x96\x80" from UTF-8 to ISO-8859-1 in conversion from CP850 to ISO-8859-1>

6 messages 2009/02/03

[#21893] [Feature #1122] request for: Object#try — Narihiro Nakamura <redmine@...>

Feature #1122: request for: Object#try

30 messages 2009/02/06
[#21907] Re: [Feature #1122] request for: Object#try — Yusuke ENDOH <mame@...> 2009/02/07

Hi,

[#21909] Re: [Feature #1122] request for: Object#try — "David A. Black" <dblack@...> 2009/02/07

Hi --

[#21923] Re: [Feature #1122] request for: Object#try — Yusuke ENDOH <mame@...> 2009/02/08

Hi,

[#21932] Re: [Feature #1122] request for: Object#try — "David A. Black" <dblack@...> 2009/02/08

Hi--

[#21968] Re: [Feature #1122] request for: Object#try — Michal Babej <calcifer@...> 2009/02/10

Hi,

[#21972] Re: [Feature #1122] request for: Object#try — "David A. Black" <dblack@...> 2009/02/10

Hi --

[#21973] Re: [Feature #1122] request for: Object#try — =?ISO-8859-2?Q?Rados=B3aw_Bu=B3at?= <radek.bulat@...> 2009/02/11

Providing new syntax change for such a small thing is IMHO

[#22165] Re: [Feature #1122] request for: Object#try — Yehuda Katz <wycats@...> 2009/02/15

Count me in as a +1 on foo.?bar(baz). I'm on the fence about whether ?bar

[#22177] Re: [Feature #1122] request for: Object#try — Daniel Luz <dev@...> 2009/02/16

2009/2/15 Yehuda Katz <wycats@gmail.com>:

[#22219] Re: [Feature #1122] request for: Object#try — Roger Pack <rogerdpack@...> 2009/02/18

> IMHO, foo.?bar should behave as "call-except-if-nil". Not only it

[#22226] Re: [Feature #1122] request for: Object#try — =?ISO-8859-2?Q?Rados=B3aw_Bu=B3at?= <radek.bulat@...> 2009/02/18

On Wed, Feb 18, 2009 at 6:29 PM, Roger Pack <rogerdpack@gmail.com> wrote:

[#22230] Re: [Feature #1122] request for: Object#try — Roger Pack <rogerdpack@...> 2009/02/18

> Then how it is different from

[#21903] [Bug #1127] error while compiling Win32API under MinGW — Luis Lavena <redmine@...>

Bug #1127: error while compiling Win32API under MinGW

15 messages 2009/02/07

[#21937] [Bug #1131] String#unpack("V") does not work correctly is linux on s390x — Ittay Dror <redmine@...>

Bug #1131: String#unpack("V") does not work correctly is linux on s390x

13 messages 2009/02/08

[#21946] New hash : syntax for the 1.8 series? — Brent Roman <brent@...>

36 messages 2009/02/10
[#21949] Re: New hash : syntax for the 1.8 series? — "Akinori MUSHA" <knu@...> 2009/02/10

At Tue, 10 Feb 2009 16:30:55 +0900,

[#21952] Re: New hash : syntax for the 1.8 series? — "David A. Black" <dblack@...> 2009/02/10

Hi --

[#21963] Re: New hash : syntax for the 1.8 series? — "Akinori MUSHA" <knu@...> 2009/02/10

At Tue, 10 Feb 2009 22:32:19 +0900,

[#21977] Re: New hash : syntax for the 1.8 series? — Evan Phoenix <evan@...> 2009/02/11

[#21980] Re: New hash : syntax for the 1.8 series? — Yukihiro Matsumoto <matz@...> 2009/02/11

Hi,

[#21997] 1.8.7 Specifics — John Barnette <jbarnette@...>

There's a fair amount of talk lately about release management and

80 messages 2009/02/11
[#21999] Re: 1.8.7 Specifics — Luis Lavena <luislavena@...> 2009/02/11

On Wed, Feb 11, 2009 at 4:42 PM, John Barnette <jbarnette@gmail.com> wrote:

[#22004] Re: 1.8.7 Specifics — Charles Oliver Nutter <charles.nutter@...> 2009/02/11

Luis Lavena wrote:

[#22005] Re: 1.8.7 Specifics — Luis Lavena <luislavena@...> 2009/02/11

On Wed, Feb 11, 2009 at 5:55 PM, Charles Oliver Nutter

[#22007] Re: 1.8.7 Specifics — Pit Capitain <pit.capitain@...> 2009/02/11

2009/2/11 Luis Lavena <luislavena@gmail.com>:

[#22008] Re: 1.8.7 Specifics — Yukihiro Matsumoto <matz@...> 2009/02/11

Hi,

[#22024] Re: 1.8.7 Specifics — Brent Roman <brent@...> 2009/02/12

[#22025] Re: 1.8.7 Specifics — Yukihiro Matsumoto <matz@...> 2009/02/12

Hi,

[#22028] Re: 1.8.7 Specifics — Ezra Zygmuntowicz <ezmobius@...> 2009/02/12

[#22048] Re: 1.8.7 Specifics — Urabe Shyouhei <shyouhei@...> 2009/02/13

Hello Ezra,

[#22049] Re: 1.8.7 Specifics — Ezra Zygmuntowicz <ezmobius@...> 2009/02/13

[#22051] A short memorandum (Re: 1.8.7 Specifics) — Urabe Shyouhei <shyouhei@...> 2009/02/13

Let me leave a memo to remember issues I can think of.

[#22054] Re: A short memorandum (Re: 1.8.7 Specifics) — Charles Oliver Nutter <charles.nutter@...> 2009/02/13

Urabe Shyouhei wrote:

[#22055] Re: A short memorandum (Re: 1.8.7 Specifics) — Charles Oliver Nutter <charles.nutter@...> 2009/02/13

Charles Oliver Nutter wrote:

[#22079] Re: A short memorandum (Re: 1.8.7 Specifics) — Eero Saynatkari <ruby-ml@...> 2009/02/14

Excerpts from Headius: Charles Oliver Nutter's message of Sat Feb 14 00:53:17 +0200 2009:

[#22091] Re: A short memorandum (Re: 1.8.7 Specifics) — Charles Oliver Nutter <charles.nutter@...> 2009/02/14

Eero Saynatkari wrote:

[#22101] Re: A short memorandum (Re: 1.8.7 Specifics) — Urabe Shyouhei <shyouhei@...> 2009/02/14

Charles Oliver Nutter wrote:

[#22107] Re: A short memorandum (Re: 1.8.7 Specifics) — Ezra Zygmuntowicz <ezmobius@...> 2009/02/14

[#22123] Re: A short memorandum (Re: 1.8.7 Specifics) — Urabe Shyouhei <shyouhei@...> 2009/02/14

Ezra Zygmuntowicz wrote:

[#22128] Re: A short memorandum (Re: 1.8.7 Specifics) — Nobuyoshi Nakada <nobu@...> 2009/02/15

Hi,

[#22132] Re: A short memorandum (Re: 1.8.7 Specifics) — Brent Roman <brent@...> 2009/02/15

[#22139] Re: A short memorandum (Re: 1.8.7 Specifics) — Charles Oliver Nutter <charles.nutter@...> 2009/02/15

Brent Roman wrote:

[#22145] Re: A short memorandum (Re: 1.8.7 Specifics) — Brent Roman <brent@...> 2009/02/15

[#22152] Re: A short memorandum (Re: 1.8.7 Specifics) — Charles Oliver Nutter <charles.nutter@...> 2009/02/15

Brent Roman wrote:

[#22065] Dir.glob and duplicates? — Charles Oliver Nutter <charles.nutter@...>

I was fixing a JRuby Dir.glob spec failure where we produced a duplicate

28 messages 2009/02/14
[#22066] Re: Dir.glob and duplicates? — Tanaka Akira <akr@...> 2009/02/14

In article <4996749D.7050009@sun.com>,

[#22116] [Bug #1162] Build Assertion Failure with VC+++ - Incorrect flushing of stdout/stderr — Charlie Savage <redmine@...>

Bug #1162: Build Assertion Failure with VC+++ - Incorrect flushing of stdout/stderr

11 messages 2009/02/14

[#22206] ruby-1.9.1-p0 build failure on i586 — "Jeroen van Meeuwen (Fedora Project)" <kanarip@...>

Hi there,

12 messages 2009/02/18

[#22212] [Bug #1172] [sparc] *** glibc detected *** ruby1.9: free(): invalid pointer: 0xf7ef6a54 *** — Lucas Nussbaum <redmine@...>

Bug #1172: [sparc] *** glibc detected *** ruby1.9: free(): invalid pointer: 0xf7ef6a54 ***

12 messages 2009/02/18

[#22246] YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...>

The idea is to make selectors like optional versions of Python imports.

137 messages 2009/02/19
[#22251] Re: YASNP (Yet Another Selector Namespace Proposal) — Charles Oliver Nutter <charles.nutter@...> 2009/02/19

Yehuda Katz wrote:

[#22252] Re: YASNP (Yet Another Selector Namespace Proposal) — Charles Oliver Nutter <charles.nutter@...> 2009/02/19

Charles Oliver Nutter wrote:

[#22262] Re: YASNP (Yet Another Selector Namespace Proposal) — Florian Gilcher <flo@...> 2009/02/19

[#22267] Re: YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...> 2009/02/19

2009/2/19 Florian Gilcher <flo@andersground.net>

[#22285] Re: YASNP (Yet Another Selector Namespace Proposal) — Florian Gilcher <flo@...> 2009/02/20

[#22295] Re: YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...> 2009/02/20

Ok, based on a bunch of comments I got from Aaron Patterson and John

[#22316] Re: YASNP (Yet Another Selector Namespace Proposal) — Jim Weirich <jim.weirich@...> 2009/02/21

On Feb 20, 2009, at 8:39 AM, Yehuda Katz wrote:

[#22322] Re: YASNP (Yet Another Selector Namespace Proposal) — Aaron Patterson <aaron@...> 2009/02/22

On Sun, Feb 22, 2009 at 04:34:18AM +0900, Jim Weirich wrote:

[#22330] Re: YASNP (Yet Another Selector Namespace Proposal) — Eero Saynatkari <ruby-ml@...> 2009/02/22

Excerpts from Aaron Patterson's message of Sun Feb 22 04:35:41 +0200 2009:

[#22409] Re: YASNP (Yet Another Selector Namespace Proposal) — Yukihiro Matsumoto <matz@...> 2009/02/24

Hi,

[#22427] Re: YASNP (Yet Another Selector Namespace Proposal) — Brian Ford <brixen@...> 2009/02/24

On Feb 24, 2:07=A0am, Yukihiro Matsumoto <m...@ruby-lang.org> wrote:

[#22433] Re: YASNP (Yet Another Selector Namespace Proposal) — Eero Saynatkari <ruby-ml@...> 2009/02/24

Excerpts from brixen's message of Wed Feb 25 00:04:34 +0200 2009:

[#22435] Re: YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...> 2009/02/24

2009/2/24 Eero Saynatkari <ruby-ml@kittensoft.org>

[#22441] Re: YASNP (Yet Another Selector Namespace Proposal) — Brian Ford <brixen@...> 2009/02/25

On Feb 24, 3:17=A0pm, Yehuda Katz <wyc...@gmail.com> wrote:

[#22442] Re: YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...> 2009/02/25

2009/2/24 Brian Ford <brixen@gmail.com>

[#22446] Re: YASNP (Yet Another Selector Namespace Proposal) — Jim Deville <jdeville@...> 2009/02/25

I agree that this will be used in ways other than just framework creators. =

[#22448] Re: YASNP (Yet Another Selector Namespace Proposal) — Jim Weirich <jim.weirich@...> 2009/02/25

[#22449] Re: YASNP (Yet Another Selector Namespace Proposal) — Jim Deville <jdeville@...> 2009/02/25

[#22450] Re: YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...> 2009/02/25

I'm also in favor of discussing this, but all I hear so far in opposition is

[#22460] Re: YASNP (Yet Another Selector Namespace Proposal) — Florian Gilcher <flo@...> 2009/02/25

[#22471] Re: YASNP (Yet Another Selector Namespace Proposal) — Brian Ford <brixen@...> 2009/02/25

On Feb 24, 9:17=A0pm, Yehuda Katz <wyc...@gmail.com> wrote:

[#22490] Re: YASNP (Yet Another Selector Namespace Proposal) — Ola Bini <ola.bini@...> 2009/02/25

Yehuda Katz wrote:

[#22495] Re: YASNP (Yet Another Selector Namespace Proposal) — Yukihiro Matsumoto <matz@...> 2009/02/25

Hi,

[#22506] Re: YASNP (Yet Another Selector Namespace Proposal) — Ola Bini <ola.bini@...> 2009/02/25

Yukihiro Matsumoto wrote:

[#22510] Re: YASNP (Yet Another Selector Namespace Proposal) — Charles Oliver Nutter <charles.nutter@...> 2009/02/25

Ola Bini wrote:

[#22514] Re: YASNP (Yet Another Selector Namespace Proposal) — Ola Bini <ola.bini@...> 2009/02/25

Charles Oliver Nutter wrote:

[#22521] Re: YASNP (Yet Another Selector Namespace Proposal) — Charles Oliver Nutter <charles.nutter@...> 2009/02/25

Ola Bini wrote:

[#22522] Re: YASNP (Yet Another Selector Namespace Proposal) — Gary Wright <gwtmp01@...> 2009/02/25

[#22523] Re: YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...> 2009/02/25

2009/2/25 Gary Wright <gwtmp01@mac.com>

[#22501] Re: YASNP (Yet Another Selector Namespace Proposal) — Jim Weirich <jim.weirich@...> 2009/02/25

[#22325] suggestions for float — Roger Pack <rogerdpack@...>

Floating point rounding errors are common and "annoying"

20 messages 2009/02/22
[#22595] Re: suggestions for float — Roger Pack <rogerdpack@...> 2009/02/28

On Sat, Feb 21, 2009 at 11:59 PM, Roger Pack <rogerdpack@gmail.com> wrote:

[#22621] Re: suggestions for float — Yukihiro Matsumoto <matz@...> 2009/03/02

Hi,

[#22624] Re: suggestions for float — Eero Saynatkari <ruby-ml@...> 2009/03/02

Excerpts from Yukihiro Matsumoto's message of Mon Mar 02 12:46:27 +0200 2009:

[#22629] Re: suggestions for float — Kurt Stephens <kurt@...> 2009/03/02
[#22631] Re: suggestions for float — Eero Saynatkari <ruby-ml@...> 2009/03/02

Excerpts from Kurt Stephens's message of Mon Mar 02 20:27:09 +0200 2009:

[#22336] Floats are freezeable and taintable? — Charles Oliver Nutter <charles.nutter@...>

In adding an optimization for Float I realized that Float objects are

13 messages 2009/02/22

[#22353] [Bug #1195] String#% does not include prefix before zero value for # versions of numeric formats — Charles Nutter <redmine@...>

Bug #1195: String#% does not include prefix before zero value for # versions of numeric formats

10 messages 2009/02/23
[#22397] Re: [Bug #1195] String#% does not include prefix before zero value for # versions of numeric formats — Tanaka Akira <akr@...> 2009/02/24

In article <49a25ec0ce233_84c7e8c1f8909a@redmine.ruby-lang.org>,

[#22543] [Feature #1218] New method needed to set and get the current recursion limit — Conrad Taylor <redmine@...>

Feature #1218: New method needed to set and get the current recursion limit

12 messages 2009/02/26

[#22584] MBARI8 patch fixes bugs caused by incorrect volatile variable declarations — Brent Roman <brent@...>

16 messages 2009/02/28
[#22587] Re: MBARI8 patch fixes bugs caused by incorrect volatile variable declarations — Nobuyoshi Nakada <nobu@...> 2009/02/28

Hi,

[#22590] Re: MBARI8 patch fixes bugs caused by incorrect volatile variable declarations — Tanaka Akira <akr@...> 2009/02/28

In article <49a9024b.0e0d6e0a.11f5.ffffee2f@mx.google.com>,

[#22599] Re: MBARI8 patch fixes bugs caused by incorrect volatile variable declarations — Brent Roman <brent@...> 2009/02/28

[#22667] Re: MBARI8 patch fixes bugs caused by incorrect volatile variable declarations — Michael King <kingmt@...> 2009/03/04

I am having an issue with the MBARI patches. In our app the test suite has a

[ruby-core:22347] On the consideration of macros

From: "James M. Lawrence" <quixoticsycophant@...>
Date: 2009-02-23 05:52:41 UTC
List: ruby-core #22347
In a previous thread Charles Oliver Nutter had suggested the removal
of Proc#binding.  In response I showed my workaround for the lack of
keyword arguments in Ruby:

def f(opts)
  a, b, c = nil
  hash_to_locals { opts }
  p [a, b, c]
end

f(:a => 33, :b => 44, :c => 55)  #=> [33, 44, 55]

Charles said this is scary--that it should be written: hash_to_locals
opts, binding.

I later realized that I was being scary on purpose.  locals_to_hash is
not intended to be understood as a normal function.  I am trying to
squeeze out some macro-like behavior from Ruby.

How many times have you seen code like this:

database << {
  :address => address,
  :city => city,
  :phone => phone,
  :email => email,
  :number_of_digits => number_of_digits,
}

A macro could fix the redundancy, but using (or abusing) the proc
binding gets us halfway there,

database << locals_to_hash {%{address city phone email number_of_digits}}

If locals_to_hash needed a second binding parameter, this expression
would require parentheses and incidentally push it to two lines.  That
would not be so bad, it's just a slightly more concussive head-bonking
against the ceiling of possible abstractions in Ruby.

The abuse of Proc#binding is a symptom of something.  Whether
knowingly or not, people use it to simulate macros.  If Ruby supported
some kind of macro behavior, there would be no need for Proc#binding.
I could write a clean locals_to_hash without {%{}}, and the door would
be open for the optimizations sought by our preeminent jruby
developer.

Another example: in order to send functions over the wire, a lambda
definition must be given as a string (ParseTree is for MRI-1.8 only).
This is very awkward.  The practical outcome is that a given Rakefile
cannot be parallelized across machines.  The choices are (1) replace
the nice DSL-like Rakefile syntax with something hideous, (2) retain
the current Rakefile format by using macros, or (3) give up on the
possibility of distributed builds based on a simple Rakefile.

Given a Ruby with macros, proposals such as the current one for
selector namespaces could be implemented without changes to the
language.  If people could experiment with competing implementations
written in pure Ruby, the final outcome (if any) would likely be
better.

I don't know how seriously people will consider the idea of macros in
Ruby.  I would only suggest that it shouldn't be dismissed outright.
The following is my loosely held opinion on the matter.

Ruby syntax should not be mutable, only the generated meaning after
the initial parse--which should also be valid Ruby syntax.  This would
be in contrast to Perl 6, which from my understanding allows the
creation of new syntax.

I do not believe an implementation should expose its AST.  Even in
Common Lisp an implementation is free to ignore
function-lambda-expression.

Instead, macro transforms could be done with strings, allowing
implementations free reign to change their ASTs on a whim.  It is much
easier (and more rubyish) to generate strings than to wade through
s-exp data.  The author of ruby-rewrite says, "writing new features is
torturous."  And it is, if you must juggle s-exps.  For more complex
transforms, an implementation-neutral s-exp format could be generated
like the one used by ruby_parser.   But for most cases simple string
generation is sufficient.

After looking at a few ruby_parser examples, in just 40 lines of code
I was able to write a transformer which allowed me to define the
seamless locals_to_hash I wanted.  This runs on 1.8, 1.9, and jruby --
anything which runs ruby_parser (and limited to syntax supported by
ruby_parser).

% ./macroruby locals_to_hash.rb
------------------------------------------------------------
* original code:

def macro_locals_to_hash(receiver, *args)
  args.inject("{") { |acc, arg|
    acc << ":#{arg}=>#{arg},"
  } << "}"
end

a = 33
b = 44
h = locals_to_hash(a, b)
p h  # => { :a => 33, :b => 44 }
------------------------------------------------------------
* transformed code:
# do nothing
a = 33
b = 44
h = { :a => (a), :b => (b) }
p(h)
------------------------------------------------------------
* run:
{:a=>33, :b=>44}

http://github.com/quix/macroruby/tree/master

In This Thread

Prev Next