[#93964] perl6 grammar rules in ruby — Charles Comstock <cc1@...>

Has anyone taken a look at the idea of having embedded grammars in ruby

21 messages 2004/03/01

[#94023] Why's (Poignant) Guide to Ruby, Chapter Four: Little Leaves of Code — why the lucky stiff <ruby-talk@...>

Just wanted everyone to know that Chapter Four of the (Poignant) Guide

15 messages 2004/03/01

[#94037] Rubyx OS (Ruby oriented linux distro) — Andrew Walrond <andrew@...>

I am pleased to announce the first public release of Rubyx, codename

39 messages 2004/03/02

[#94062] pickaxe with pics? — Dick Davies <rasputnik@...>

17 messages 2004/03/02

[#94068] dynamic assignment of instance variables — gv@... (Gerard A.W. Vreeswijk)

$ cat try.rb

19 messages 2004/03/02

[#94110] why are Hashes so unsorted? what's your solution? — Ruby Baby <ruby@...>

I try to avoid questions like "Why doesn't Ruby do what ___ does?"

14 messages 2004/03/03

[#94144] Mozilla gets support for other client-side languages in the future, how about Ruby? — Erik Terpstra <erik@...>

Interesting slides:

9 messages 2004/03/03

[#94190] rescue inside block -> syntax error — Simon Strandgaard <neoneye@...>

While reading this message:

15 messages 2004/03/04

[#94424] random range — Charles Comstock <cc1@...>

Why doesn't rand take an integer range and then generate a random number

23 messages 2004/03/06
[#94432] Re: random range — Hal Fulton <hal9000@...> 2004/03/06

Charles Comstock wrote:

[#94434] Re: random range — Joel VanderWerf <vjoel@...> 2004/03/06

Hal Fulton wrote:

[#94436] Re: random range — "David A. Black" <dblack@...> 2004/03/06

Hi --

[#94487] Looking for HTML templating system — Andreas Schwarz <usenet@...>

I am looking for a templating system for my forum

19 messages 2004/03/07

[#94517] proposal: class<<obj to invoke extend_object — Simon Strandgaard <neoneye@...>

'obj.extend' and 'class<<obj' are close cousins..

22 messages 2004/03/07

[#94612] RedCloth 2.0.2 -- A Textile Humane Web Text Generator — why the lucky stiff <ruby-talk@...>

For your immediate perusal and swift renouncement:

10 messages 2004/03/09

[#94672] saving array — mopthisandthat@... (Phidippus)

After I do bunch of computations and create a huge array with bunch of

18 messages 2004/03/10

[#94686] Possibility of 2nd edition of _The Ruby Way_ — Hal Fulton <hal9000@...>

Hello, all.

17 messages 2004/03/10

[#94760] convincing a webhost to support ruby — Mark Hubbart <discord@...>

Hi all,

15 messages 2004/03/11

[#94813] Jruby 0.7.0 — Thomas E Enebo <enebo@...>

20 messages 2004/03/12
[#94815] Re: [ANN] Jruby 0.7.0 — gabriele renzi <surrender_it@...1.vip.ukl.yahoo.com> 2004/03/12

il Sat, 13 Mar 2004 02:33:49 +0900, Thomas E Enebo <enebo@acm.org> ha

[#94817] Re: [ANN] Jruby 0.7.0 — Thomas E Enebo <enebo@...> 2004/03/12

On Sat, 13 Mar 2004, gabriele renzi defenestrated me:

[#94935] RubyGems 0.2.0 — Chad Fowler <chad@...>

The first public release of RubyGems (http://rubygems.rubyforge.org)

26 messages 2004/03/14

[#94985] GUI testing on unix — Simon Strandgaard <neoneye@...>

I am curious to if there exists any GUI testing packages for unix.

17 messages 2004/03/16

[#94998] RAA trouble and maintenance — "NAKAMURA, Hiroshi" <nahi@...>

Hi,

14 messages 2004/03/16

[#95014] RAA - So much is broken — Lothar Scholz <mailinglists@...>

Hello,

15 messages 2004/03/16

[#95060] YAML tutorial — Matt Lawrence <matt@...>

Ok, I am so not a Ruby wizard. In fact, I don't do much development at

15 messages 2004/03/17

[#95098] groovy — David Garamond <lists@...6.isreserved.com>

Groovy, a scripting language targeted for JVM, was mentioned in Slashdot

14 messages 2004/03/17

[#95155] Installer packages for MacOSX — Mark Hubbart <discord@...>

Hi, all

18 messages 2004/03/17

[#95190] Thinking about a date-matching algorithm... — Hal Fulton <hal9000@...>

I did a little swapping of ideas with dblack on this. Now I'm

22 messages 2004/03/18

[#95200] Log4r 1.0.5 now with RubyGems option — Leon Torres <leon@...>

Greetings, I'm pleased to announce the release of Log4r 1.0.5. The

11 messages 2004/03/18

[#95230] Ruby and Mozilla — paul vudmaska <paul@...>

--- Simon Strandgaard <neoneye@adslhome.dk <http://us.f104.mail.yahoo.com/ym/Compose?To=neoneye@adslhome.dk&YY=90525&order=down&sort=date&pos=0&view=a&head=b>> wrote:

12 messages 2004/03/18

[#95290] calling outer-scope method of same name — "Bill Kelly" <billk@...>

Hi all!

16 messages 2004/03/18
[#95292] Re: calling outer-scope method of same name — "David A. Black" <dblack@...> 2004/03/18

Hi --

[#95340] Kwartz (2004-03-19) released — Makoto Kuwata <kwa@...>

Hi folks,

31 messages 2004/03/19
[#95367] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/19

Hi,

[#95405] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/19

Makoto Kuwata wrote:

[#95412] Re: [ANN] Kwartz (2004-03-19) released — Makoto Kuwata <kwa@...> 2004/03/19

Andreas,

[#95453] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/20

Makoto Kuwata wrote:

[#95484] Re: [ANN] Kwartz (2004-03-19) released — Makoto Kuwata <kwa@...> 2004/03/21

[#95490] Re: [ANN] Kwartz (2004-03-19) released — Thomas Fini Hansen <beast@...> 2004/03/21

On Sun, Mar 21, 2004 at 11:39:26AM +0900, Makoto Kuwata wrote:

[#95518] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/21

Makoto Kuwata wrote:

[#95553] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/22

Makoto Kuwata wrote:

[#95386] Can $LOAD_PATH be relative? — ptkwt@... (Phil Tomson)

24 messages 2004/03/19
[#95389] Re: Can $LOAD_PATH be relative? — ptkwt@... (Phil Tomson) 2004/03/19

In article <wsqk71gd188.fsf@io.com>, Jim Menard <jimm@io.com> wrote:

[#95398] Re: Can $LOAD_PATH be relative? — Patrick Bennett <patrick.bennett@...> 2004/03/19

Phil Tomson wrote:

[#95400] Re: Can $LOAD_PATH be relative? — "David A. Black" <dblack@...> 2004/03/19

Hi --

[#95403] Re: Can $LOAD_PATH be relative? — Patrick Bennett <patrick.bennett@...> 2004/03/19

[#95434] converting javascript to ruby (nested methods) — yvon.thoravalNO-SPAM@... (Yvon Thoraval)

i have a script written in javascript and want to translate it into ruby

10 messages 2004/03/20

[#95517] What to gem? — Robert Feldt <feldt@...>

Hi,

14 messages 2004/03/21

[#95560] Need some advice on PickAxe II — Dave Thomas <dave@...>

Folks:

74 messages 2004/03/22

[#95636] Tempfile consuming a lot of memory — thomass@... (Thomas)

I'm using a lot of Tempfile's and I have been made aware that they

17 messages 2004/03/23

[#95693] proposal - enforce lower_case for variables and methods — Simon Strandgaard <neoneye@...>

Ruby does already enforce CamelCase for class/modules.

29 messages 2004/03/24

[#95769] File.stat.size errors with file sizes over 2Gigs. — walter@...

File.stat('file_name').size returns erroneous file sizes when the

16 messages 2004/03/24

[#95782] Quick Introduction to RubyGems — Gavin Sinclair <gsinclair@...>

Hi folks,

17 messages 2004/03/24

[#95875] Errors with "make" step, while compiling ruby under AIX 5.2 — Ruby Ruby <ruby4lover@...>

I am wanted to install ruby 1.8.1 under AIX 5.2. During the installation, while doing the "make" part of it, the process abruptily ended with the following errors:

15 messages 2004/03/25
[#95883] Re: Errors with "make" step, while compiling ruby under AIX 5.2 — nobu.nokada@... 2004/03/26

Hi,

[#95918] Re: Errors with "make" step, while compiling ruby under AIX 5.2 — Ruby Ruby <ruby4lover@...> 2004/03/26

I am sorry to insist but this is important to me.

[#95960] Status of AOP in Ruby — Markus Jais <markusjais@...>

Hello

22 messages 2004/03/27

[#95984] deciding between ruby and python — "Serve Lau" <ik@...>

I'm trying to decide to learn either python or ruby. Are there fundamental

119 messages 2004/03/28
[#96006] Re: deciding between ruby and python — klausm0762@... (Klaus Momberger) 2004/03/28

"Serve Lau" <ik@detongiser.com> wrote in message news:<106dlen5mr97q76@corp.supernews.com>...

[#96503] Re: deciding between ruby and python — Ville Vainio <ville@...> 2004/04/04

>>>>> "James" == James Britt <jamesUNDERBARb@neurogami.com> writes:

[#96508] Re: deciding between ruby and python — Dan Doel <djd15@...> 2004/04/04

As you say, this whole thread has been done many times before.

[#96566] Re: deciding between ruby and python — Ville Vainio <ville@...> 2004/04/05

[#96691] Re: deciding between ruby and python — gabriele renzi <surrender_it@...1.vip.ukl.yahoo.com> 2004/04/07

il Wed, 07 Apr 2004 05:35:39 GMT, dagbrown@LART.ca (Dave Brown) ha

[#95992] Madeleine 0.6 — Anders Bengtsson <ndrsbngtssn@...>

23 messages 2004/03/28

possible Time & DateTime RCR: reconciling and extending their apis

From: Sam Roberts <sroberts@...>
Date: 2004-03-29 21:20:11 UTC
List: ruby-talk #96071
(Maybe this should be 3 emails... there are 3 issues, but I will try one
and see if it sparks any discussion.)

What's the difference between Time and DateTime?

Time is in absolute seconds since some start date (jan 1, 1970).

  **Also** it inherits the C libraries knowledge of the local timezone, as well
  as of daylight savings time.

  It can only be used for date/times in 1970 and later.

DateTime is in absolute days since some start date, with the hour/min/sec
within that day.

  **Also** it implements the Julian and Gregorian calendar conversion,
  and can have arbitrary offsets from UTC specified.

  It can be used for the last few thousand years (in places where it was
  used, basically that means Europe), but there is no knowledge of
  daylight savings time changes.


The situation is a little confusing because the diffences in the APIs
are reflections of the underlying implementation technique, not of a
conceptual difference between a Time and a DateTime:

  - seconds vs. days as the absolute time measure
  - implemented in ruby or uses the C library


I have 3 suggestions/requests, described in more detail below:

1 - that DateTime support all the methods of Time, so that it can be used
anywhere a Time can, with the the magic of DuckTyping, the only
difference will be that DateTime has a larger range

2 - that using times (both Time and DateTime) be made easier by adding some
methods to one or both classes

3 - that a way of making DateTime aware of daylight savings time be thought up

These 3 are all independent suggestions.


** 1

I would like to request that DateTime be "duck type" compatible with
Time, so a DateTime can be dropped into any ruby API that accepts a
Time.

This may not be entirely possible in ruby 1.x, since they share some
method names, but the methods behave differently. Perhaps these can be
deprecated, or the docs can mark them as non-compatible, and methods
that do the same thing with the same name can be added?

The following methods are missing in DateTime, but I think would be trivial
to implement:

Instance methods --

  aTime.methods - aDateTime.methods =>
  [
    "dst?"
    "getgm"
    "getlocal"
    "getutc"
    "gmt?"
    "gmt_offset"
    "gmtime"
    "gmtoff"
    "isdst"
    "localtime"
    "to_f"
    "to_i"
    "tv_sec"
    "tv_usec"
    "usec"
    "utc"
    "utc?"
    "utc_offset"
  ]

Class methods --

  Time.methods - DateTime.methods =>

    "local"
    "times" --> DEPRECATED
    "mktime"
    "at"
    "utc"
    "gm"


Notes:

  dst?/isdst is one exception to the "its easy to do" statement.
  DateTime only knows the offset, it can't know if it is DST, so perhaps
  it should always return false?

  #zone()
    Time -> some local nickname for the timezone ("EST"), useful only
      within a country
    DateTime -> an RFC822 style string ("+0530") of the hour and minute
      offset from UTC
  #to_s()
    Time -> "Mon Mar 29 13:19:05 EST 2004"
    DateTime -> "2004-03-29T13:18:58-0500"
  +/-
    Time -> add/sub a second
    DateTime -> add/sub a day
  succ
    Time -> add a second
    DateTime -> add a day

  #parse()
    DateParse#parse(), Time#parse(), and DateTime#parse() all appear to
    do basically the same thing, with some API differences. The
    heuristics aren't documented, so its hard to know if there is a more
    fundamental difference.

    Time -> uses DateParse.parse, but adds some logic to do 2 digit year
    to 4 digit conversion, and accepts a Time to use to fill in any
    defaults

    DateTime -> implements its own heuristics, are they better or
    different than DateParse?


** 2

* date/time arithmetic

It's hard to do things like add a week, or add a day, to a Time, or even
a DateTime.

I think the Time and DateTime construction methods should allow objects
like this to be constructed more flexibly. They already wrap
out-of-range values to the next valid value, in some cases, but not all:

[ensemble] ~/p/ruby/vcard $ ruby -r date -e  "p (Date.civil(2004, 1, 31) >> 1).to_s"
"2004-02-29"

[ensemble] ~/p/ruby/vcard $ ruby -r date -e  "p (Date.civil(2004, 2, 31) >> 1).to_s"
/usr/local/lib/ruby/1.8/date.rb:591:in `civil': invalid date (ArgumentError)


There should be ways to add

  years,
  months,
  days,
  hour
  min
  sec

to both Time and DateTime, and support for these 6 are partial in both
Time and DateTime.

* using Time and DateTime together

Things to add that would help using DateTime and Time together:

  Date#to_time - raises ArgumentError if not representable, or should it return
  a negative number?

  Time#to_datetime - maybe only defined if you require 'date'?

  Time#to_date - useful?

  eql?, <=> - should allow comparisons between Time and DateTime

* mutating methods should have a bang

Operations that modify a Time or a DateTime could have a bang:

  Time#gmtime
  Time#utc
  Time#localtime

* DateTime has more manipulations in its API than Time

A number of methods of DateTime aren't in Time, perhaps they can be
added?

Many of the methods are useful, but you have to convert your Time to a
DateTime to use them. Maybe Time is supposed to be "lighter weight" than
DateTime?

That would be OK, the docs could say that Time is a light-weight
date/time representation, with only the range of the system time, and
that for a more powerful representation, and many useful utility
functions, require 'date', and convert your aTime object to a  DateTime
using Time#to_datetime().

But, minus the lightweight argument, there is no reason they can't both
support exactly the same methods, both object and class!

** 3

Daylight savings time is painful to deal with, but it is important! Not all
mornings in Ontario have a 2:30 AM, sometimes there are 25 hours between
10AM one day and 10AM the next! Even if its messy, its true.

This isn't such an issue with static DateTime objects, but when you
start to do arithmetic with them, to add days and months, you quickly
run into the DST problem.

It would be really powerful if you could tell DateTime what timezone it
is in, not just the current offset, but the rule for how the offset
changes (if it does) with DST. Currently, ruby is as weak (or weaker)
than  ANSI C in dealing with multiple timezones, that are NOT your own
local timezone, simultaneously in a single application.

This is probably a just a dream... but here's my request:

I'd like to see it possible for a DateTime could have it's timezone set,
where the timezone consists of:

  std -> standard offset from UTC
  dst -> optional, DST offset from UTC, and some way of specifying the changeover

This information could be in some kind of raw format, or could even be a
string timezone name. In that case, perhaps DateTime could have a class
variable that mapped strings to the std/dst definition.

Here's a reference to a textual notation that seems good enough to
specify most STD/DST time zone transitions, perhaps an equivalent
programmatic representation would be enough:

  http://www.qnx.com/developers/docs/qnx_6.1_docs/neutrino/lib_ref/global.html#TheTZEnvironmentVariable

I don't know if this is widely used, or is just a QNX extension. I know
OS X (from BSD?) has a zone info compiler, where you can compile textual
definitions of timezones into a binary format.



Thanks,
Sam


In This Thread

Prev Next