[#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:22562] Re: On the consideration of macros

From: "Jg W Mittag" <joergwmittag@...>
Date: 2009-02-27 00:07:41 UTC
List: ruby-core #22562
James M. Lawrence wrote:
> On Tue, Feb 24, 2009 at 12:29 AM, Yehuda Katz <wycats@gmail.com>
wrote:
>> Matz has repeatedly and explicitly expressed that he did not want
Ruby to
>> have macros. That might have changed, but I believe he repeated it
recently
>> at LoneStar RubyConf. I believe Matz has argued that macros are too
complex
>> for the average programmer...

I would argue that the workarounds that are currently used to get 
macro-like functionality are even more complex.

> I have been specifically talking about a simple string-based macro
> system which does not modify Ruby syntax.  It is not susceptible to
> all the criticism Matz has given toward macros in general.  I should
> have been more explicit about this, but my post was already too
long.

I'm curious: have you ever looked at the way macro-like 
functionality for a dynamic language with rich, complex, 
irregular syntax is implemented via compile-time metaprogramming 
in Converge (<http://ConvergePL.Org/>)?

I quite like it, if only because I *am* an average programmer and 
I *don't* find it too complex.

The basic idea is that you use the actual *concrete* syntax of 
the programming language to build abstract syntax trees. And 
where that doesn't work, you can alternatively build ASTs with an 
abstract, generic, compiler API. The trick is that in both cases, 
you don't have to (and should not!) know what the actual AST 
looks like. All you know, is, that when you use this "magic" 
syntax or call this method, you get back some opaque object which 
you can compose with other ASTs (again by calling the abstract 
compiler API) or feed back into the compiler.

Neither the internal compiler/interpreter/parser implementation 
nor the internal AST is exposed to the programmer.

Here's how it works.

Quasi-quotes are used to turn concrete syntax into ASTs. Converge 
uses [| and |] as delimiters. For example, this:

	def foo
	  return [| 1+1 |]
	end

is equivalent to

	def foo
	  return [:call, [:lit, 1], :+, [:arglist, [:lit, 1]]]
	end

except that the latter requires intimate knowledge of the AST.

Splices are used to splice AST fragments back into the AST. 
Converge's syntax for splices is $< and >

	def bar
	  return $<foo> # Evaluates foo and splices its value in the
AST
	end

The third piece of the puzzle is called inserts. Those are used 
to insert expressions into quasi-quotes. They use ${ and }

This example is stolen directly from the Converge documentation, 
which in turn takes it from the Template Haskell whitepaper:

	def expand_power(n, x)
	  if n == 0
	    return [| 1 |]
	  else
	    return [| $c{x} * $c{expand_power(n - 1, x)} |]
	    # The 'c' modifier means "capture" or IOW "unhygienic", so

	    # we can access the 'n' and 'x' variables.
	    # By default everything is hygienic.
	  end
	end

	def mk_power(n)
	  return [| -> (x) { return $c{expand_power(n, [| x |])} } |]
	end

	power3 = $<mk_power(3)>

This is equivalent to

	power3 = -> (x) { return x * x * x * 1 }

This is obviously not a very compelling example.

Compared to Lisp, the main difference is that in Lisp, *macro 
definitions* are special, but *macro calls* look like ordinary 
function calls, whereas in Converge *macro definitions* are just 
ordinary methods, but *macro calls* have special syntax.

BTW: I think this syntax is quite scary and ugly ... and that is 
actually a good thing! Unlike Lisp, macros *should* be scary 
looking in Ruby.

> From 2004:
> 
> http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/108143
> 
> Matz wrote on Tue, 3 Aug 2004
>> * Lisp does not have syntax.  They only have meta syntax
>>   (i.e. S-expression), Lisp macro do not change its (meta) syntax
to
>>   rely on (I'm ignoring reader macro here).  In comparison, Ruby
>>   does have syntax but no meta syntax, so that you can easily loose
>>   syntax to rely on by macros in Ruby.  You will feel like a
stranger
>>   when you see Ruby programs with a lot of macros.  I don't think
>>   you feel same way when you see Lisp programs with macros.
> Agreed, and this is not relevant to my macro proposal.  I said both
> the initial code and the substituted code must be valid Ruby syntax.
> It will always look like Ruby, though some of it will look like Ruby
> inside a string.

... or inside $i||y [hara<ters.

>> * macro system more than simplest one (e.g. C preprocessor macro)
is
>>   VERY difficult to design and implement for languages with usual
>>   syntax.  If you are curious, see Dylan's macro.
> Agreed, and this is not my proposal.  String substitutions are easy,
> yet hugely better than a C preprocessor since arbitrary code can run
> before producing the final code string.  I showed an example of a
> recursive macro which generates Fibonacci numbers at parse time.

This is an alternative implementation of computing the 30th 
Fibonacci number at compile-time, Converge-style:

	def fib(n)
	  if n == 0
	    return 0
	  elsif n == 1
	    return 1
	  else
	    return fib(n - 1) + fib(n - 2)
	  end
	end

	fib30 = $<CEI.lift(fib(30))>

This is an example of the standard compiler API (Compiler 
External Interface - CEI): since a splice can only take an AST, 
but fib(30) returns an Integer, we need to "lift" that Integer to 
an AST. Note again that the lift method neither exposes internal 
compiler implementation details nor AST implementation details.

>> * I admit disclosing abstract syntax tree to Ruby programs can open
>>   new possibilities.  it's good for users at the moment, I guess.
>>   but it is very bad in a long run unless I design it perfectly.
>>   I'm sure I will change my mind in AST design and alas, here comes
>>   another big field of incompatibility.
> Agreed.  I said that implementations should not disclose their AST.

And with this, they don't need to.

jwm


In This Thread

Prev Next