Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Facets 2005-10-30
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  10 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Trans  
View profile  
 More options Oct 28 2005, 5:15 pm
Newsgroups: comp.lang.ruby
From: "Trans" <transf...@gmail.com>
Date: 28 Oct 2005 14:15:52 -0700
Local: Fri, Oct 28 2005 5:15 pm
Subject: [ANN] Facets 2005-10-30

                       A N N O U N C I N G

                    Ruby Facets, v 2005-10-30

                The Proverbial Zoo-of-More for Ruby

ABSTRACT: Ruby Facets is a cornicopia of extension methods and
module/class
additions for the Ruby programming language. The extensions, known as
the
the Atomic Library, is unique by virtue of thier atomicity. Methods are
stored in their own files, allowing for highly granular control of
requirements. In addition Facets includes a large selection of useful
classes, modules and microframeworks (once known as Calibre Classes).

                       For More Information
                    http://facets.rubyforge.org

                 ALL YOUR BASE ARE BELONG TO RUBY!

------------------------------------------------------------------------
(from ANN)

I'm pleased to finally announce the next major release of Facets
--the Halloween release (2005-10-30). Baring any signifficant
issues arising in Novemeber, this release will be stamped "Stable"
on the first of December.

If you'll recall, our last release was a brief flirt with new names
Nano Methods and Mega Modules. With this release we've decided to
go back to the original name Facets, having deemed it in the interm
to be the better course, and to which it will *stay for good*.
Namespace compatability is being maintained with this release, so
all the following will work as expected:

  require 'facet/...'
  require 'nano/...'
  require 'mega/...'

This release also begins a transition to a more robust require
mechanism. You should require the main facitlity before utilizing
the rest of Facets with:

  require 'facets'

This loads all base methods (about a two dozen very basic methods)
and the Facets module. Then, where you would have used the
Kernel#require method like so:

  require 'facet/time/stamp'    # to be deprecated

You should instead begin transitioning to:

  Time.use Facets, :stamp

Using this method allows Facets to work more perceisely and
efficiently.
For instance one of the clear advantages of this method is that Facets
can search the class hierarchy for a method. For example if you wanted
to use #each_permutation on an Array.

  Array.use Facets, :each_permutation

And even though #each_permutation is an Enumerable method this will
still work. It also allows for the use operators without special
recourse. For instance, the Proc composition operator can be required
simply:

  Proc.use Facets, :*

The reason the Facets module is specified is because #use is a general
method. Anyone can easily take advantage of this functionality by
utilizing Facets Module Code Package system (package.rb). See the API
Documentation for further details of putting this to use in your
programs.

All in all, there's plently of new stuff in here and a good bit of code
clean-up. Some of the most notable additions include:

  * annotation.rb - An advance annotations system George Moschovitis
    and I developed.

  * units.rb - An extensive SI Units system by Peter Vanbreokhoven.

  * class_inherit - THE way to have modules include class methods when
    inherited. This takes the next step beyond ClassMethods.

  * inheritor.rb - A neat and useful way to inherit data through the
    class heirarchy.

For the rest please see the Website, CHANGELOG and the API Docs.

*** Extra special thanks to Peter and George! ***

Thanks,

  trans.

------------------------------------------------------------------------
Generated by REAP, the Ruby Project Assistant.
(http://www.ruby-lang.org) Do you Ruby?


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
gabriele renzi  
View profile  
 More options Oct 28 2005, 7:54 pm
Newsgroups: comp.lang.ruby
From: gabriele renzi <surrender...@-remove-yahoo.it>
Date: Fri, 28 Oct 2005 23:54:17 GMT
Local: Fri, Oct 28 2005 7:54 pm
Subject: Re: [ANN] Facets 2005-10-30
Trans ha scritto:
<snipall>

first, let me say I find your work on facets/carats/nano/mega useful and
I thank you for this, but may I suggest a little more thinking is put on
radical changes like requiring logic and names?

AFAIR in most new releases there was a major change (naming scheme for
methods, require logic, module names etc).

I'm not trying to say you did not put reasoning behind this, but
somewhat I got the feeling that the whole thing seems fragile and non
dependable (is this a word?).


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Trans  
View profile  
 More options Oct 28 2005, 8:51 pm
Newsgroups: comp.lang.ruby
From: "Trans" <transf...@gmail.com>
Date: 28 Oct 2005 17:51:58 -0700
Local: Fri, Oct 28 2005 8:51 pm
Subject: Re: Facets 2005-10-30

gabriele renzi wrote:
> Trans ha scritto:
> <snipall>

> first, let me say I find your work on facets/carats/nano/mega useful and
> I thank you for this, but may I suggest a little more thinking is put on
> radical changes like requiring logic and names?

Try _too much_ thinking, not too little. Beleive me this hasn't been
easy for me and there are some circumstances regarding the name issue
that I'm won't go into b/c its long and boring. But the needless to
say, the naming issue is done.

> AFAIR in most new releases there was a major change (naming scheme for
> methods, require logic, module names etc).

For the last two release that's true. But Facets is beta on the whole.
It's getting more stable but it will still take a release or two before
to starts to really settle down.

> I'm not trying to say you did not put reasoning behind this, but
> somewhat I got the feeling that the whole thing seems fragile and non
> dependable (is this a word?).

I think that's overstating a bit. Facet's is simply going through an
important transition. (The naming issue aside which was unfortunate but
incidental) This is really a transition to something _more dependable_.
Why? Think about this new way to call on methods

  String.use Facets, :capitalized?

Notice there is no mention of any location in the file system. Consider
also the punctiuation mark being used and the fact that this can search
the class hierarcy for the method. This all adds up to a more robust,
more reliable system.

So yes, its a change and a transition. A different way of doing things.
But there is a great deal of benefit to gain from it. I'm trying to
make the transistion as gentle as possible.

T.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kirk Haines  
View profile  
 More options Oct 29 2005, 1:07 am
Newsgroups: comp.lang.ruby
From: Kirk Haines <khai...@enigo.com>
Date: Sat, 29 Oct 2005 14:07:31 +0900
Local: Sat, Oct 29 2005 1:07 am
Subject: Re: [ANN] Facets 2005-10-30
On Friday 28 October 2005 5:57 pm, gabriele renzi wrote:

> AFAIR in most new releases there was a major change (naming scheme for
> methods, require logic, module names etc).

> I'm not trying to say you did not put reasoning behind this, but
> somewhat I got the feeling that the whole thing seems fragile and non
> dependable (is this a word?).

These are reasons why, despite there being some things in Facets that are
quite similar to some code that I use, and despite me having some code that
might make sense as part of Facets, I have been very reluctant to use it or
contribute anything to it.  It seems like I'd be creating a lot more work for
myself to do so, right now.  I may well be wrong about that, but that's the
impression that I have.

Kirk Haines


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Trans  
View profile  
 More options Oct 29 2005, 2:06 am
Newsgroups: comp.lang.ruby
From: "Trans" <transf...@gmail.com>
Date: 28 Oct 2005 23:06:33 -0700
Local: Sat, Oct 29 2005 2:06 am
Subject: Re: Facets 2005-10-30

While I understand, I think maybe the concern is a bit over drawn. Yes,
there some transition going on right now with how requiring is done.
And in genreal Facets is still young so some things are still getting
settled. Using a young piece of software (especially one as vast as
Facets) means keeping pace with a more rapid growth until the software
matures. That's too be expected.

But if your just starting to use Facets, you have much less to worry
about --there will be one more significant transition with the next
release which will add built in versioning. But even then that won't be
as significant a change as this realease. And from there it's all
downhill, only getting more and more stable as time goes on.

T.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
George Moschovitis  
View profile  
 More options Oct 29 2005, 6:24 am
Newsgroups: comp.lang.ruby
From: George Moschovitis <george.moschovi...@gmail.com>
Date: Sat, 29 Oct 2005 19:24:15 +0900
Local: Sat, Oct 29 2005 6:24 am
Subject: Re: [ANN] Facets 2005-10-30
Hello Tom,

> Time.use Facets, :stamp

I would prefer this to be

Time.use :facets, :stamp
or
Time.use_facet : stamp

I also prefer the current form:

require 'facets/time/stamp'

regards,
George.

--
http://www.gmosx.com
http://www.navel.gr
http://www.nitrohq.com


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Trans  
View profile  
 More options Oct 29 2005, 8:25 am
Newsgroups: comp.lang.ruby
From: "Trans" <transf...@gmail.com>
Date: 29 Oct 2005 05:25:22 -0700
Local: Sat, Oct 29 2005 8:25 am
Subject: Re: Facets 2005-10-30

George Moschovitis wrote:
> Hello Tom,

> > Time.use Facets, :stamp

> I would prefer this to be

> Time.use :facets, :stamp

It is not right to "take-over" usage of #use just for Facets. This is a
method analogous to 'use' in Perl and I have generalize it's
applicaiton for everyone to use, working very much like
append_features:

  class Module

    def package( name, &block )
      @__package__ ||= {}
      return @__package__ unless block_given?
      @__package__[name.to_sym] = block
    end

    def provide_features( base, *selection )
      selection.each do |s|
        base.class_eval( &@__package__[s.to_sym] )
      end
    end

    def use( package, *selection )
      package.provide_features( self, *selection )
    end

  end

> or
> Time.use_facet : stamp

This is hardly any differnt, but it is too particular. The new solution
is something that can be commonly used theu is can become as
recognizable as #require itself.

> I also prefer the current form:

> require 'facets/time/stamp'

Me too --becuase we're accustom to it. But a new way is needed to
handle more advance fetures and it's not a good idea to hack require to
do this.

T.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Martin DeMello  
View profile  
 More options Oct 30 2005, 5:33 am
Newsgroups: comp.lang.ruby
From: Martin DeMello <martindeme...@yahoo.com>
Date: Sun, 30 Oct 2005 10:33:56 GMT
Local: Sun, Oct 30 2005 5:33 am
Subject: Re: Facets 2005-10-30

Trans <transf...@gmail.com> wrote:

> George Moschovitis wrote:
> > Hello Tom,

> > > Time.use Facets, :stamp

> > I would prefer this to be

> > Time.use :facets, :stamp

> It is not right to "take-over" usage of #use just for Facets. This is a

This is not taking over, just providing a mapping from the symbol
:facets to the class Facets for anyone who would prefer the look of the
former.

martin


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Trans  
View profile  
 More options Oct 30 2005, 6:45 am
Newsgroups: comp.lang.ruby
From: "Trans" <transf...@gmail.com>
Date: 30 Oct 2005 03:45:43 -0800
Local: Sun, Oct 30 2005 6:45 am
Subject: Re: Facets 2005-10-30

Ah, my bad. I glazed right over the fact that the first symbol was
:facets. I see your point. Unfortunately using lowercase causes an
assumpition on how to convert the symbol to the moudle name. But I can
add

  Time.use :Facets, :stamp

if that's helpful.

T.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Trans  
View profile  
 More options Oct 30 2005, 7:24 am
Newsgroups: comp.lang.ruby
From: "Trans" <transf...@gmail.com>
Date: 30 Oct 2005 04:24:24 -0800
Local: Sun, Oct 30 2005 7:24 am
Subject: Re: Facets 2005-10-30

Trans wrote:
> > This is not taking over, just providing a mapping from the symbol
> > :facets to the class Facets for anyone who would prefer the look of the
> > former.

> Ah, my bad. I glazed right over the fact that the first symbol was
> :facets. I see your point. Unfortunately using lowercase causes an
> assumpition on how to convert the symbol to the moudle name. But I can
> add

>   Time.use :Facets, :stamp

> if that's helpful.

I've added. It will be in final 05-12 release.

T.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google