# Re: Eating CPAN - Was Port A Library

**URL:** <https://www.ruby-forum.com/t/re-eating-cpan-was-port-a-library/71574>\
**Category:** Ruby\
**Created:** [February 21, 2006, 9:37pm UTC](https://www.ruby-forum.com/t/re-eating-cpan-was-port-a-library/71574 "2006-02-21T21:37:39Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![MolitorS\_Stephen\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e480ec/32.png) [@MolitorS\_Stephen\_L](https://www.ruby-forum.com/u/MolitorS_Stephen_L)\
**Post date:** [February 21, 2006, 9:37pm UTC](https://www.ruby-forum.com/t/re-eating-cpan-was-port-a-library/71574/1 "2006-02-21T21:37:39Z")

</div>

On 2/20/06, Edgardo H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> having Ruby rewrites of the important/useful libraries would be  
> _much_ better.

Which are the most important/useful libraries? I might like to try my  
hand at one.

Steve

---

<div class="post-metadata">

**Author:** ![MolitorS\_Stephen\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e480ec/32.png) [@MolitorS\_Stephen\_L](https://www.ruby-forum.com/u/MolitorS_Stephen_L)\
**Post date:** [February 21, 2006, 9:52pm UTC](https://www.ruby-forum.com/t/re-eating-cpan-was-port-a-library/71574/2 "2006-02-21T21:52:55Z")

</div>

I would also like to know the answer to that question

---

<div class="post-metadata">

**Author:** ![MolitorS\_Stephen\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e480ec/32.png) [@MolitorS\_Stephen\_L](https://www.ruby-forum.com/u/MolitorS_Stephen_L)\
**Post date:** [February 21, 2006, 9:56pm UTC](https://www.ruby-forum.com/t/re-eating-cpan-was-port-a-library/71574/3 "2006-02-21T21:56:09Z")

</div>

On Wed, 22 Feb 2006 05:35:17 +0900, Molitor, Stephen L  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> On 2/20/06, Edgardo H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:=20
> 
> > having Ruby rewrites of the important/useful libraries would be  
> > _much_ better.
> 
> Which are the most important/useful libraries? I might like to  
> try my hand at one.

In all honesty, and without being snide or facetious – the most  
import/useful libraries are the ones _you_ think are. Hop on over to  
CPAN and when you see something important/useful to you that doesn’t  
exist on RAA, there you go 🙂

andrew

---

<div class="post-metadata">

**Author:** ![MolitorS\_Stephen\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e480ec/32.png) [@MolitorS\_Stephen\_L](https://www.ruby-forum.com/u/MolitorS_Stephen_L)\
**Post date:** [February 21, 2006, 10:02pm UTC](https://www.ruby-forum.com/t/re-eating-cpan-was-port-a-library/71574/4 "2006-02-21T22:02:19Z")

</div>

On 2/21/06, Molitor, Stephen L [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> On 2/20/06, Edgardo H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > having Ruby rewrites of the important/useful libraries would be  
> > _much_ better.
> 
> Which are the most important/useful libraries? I might like to try my  
> hand at one.

Maybe someone should start with

> **[CPAN::Dependency - Analyzes CPAN modules and generates their dependency tree...](https://metacpan.org/dist/CPAN-Dependency/view/lib/CPAN/Dependency.pm)**
>
> Analyzes CPAN modules and generates their dependency tree

(which won’t help many rubyists directly, but would be a good  
way to start a project like this.)

---

<div class="post-metadata">

**Author:** ![MolitorS\_Stephen\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e480ec/32.png) [@MolitorS\_Stephen\_L](https://www.ruby-forum.com/u/MolitorS_Stephen_L)\
**Post date:** [February 22, 2006, 12:14am UTC](https://www.ruby-forum.com/t/re-eating-cpan-was-port-a-library/71574/5 "2006-02-22T00:14:31Z")

</div>

On Wed, 22 Feb 2006 06:43:01 +0900, henon man [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> > On 2/20/06, Edgardo H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:=3D20  
> > Which are the most important/useful libraries? I might like to  
> > try my hand at one.
> 
> well because you asked, there are soo many useful libs/tools @ CPAN: i.e.
> 
> - UML::Sequence =09- =09draws sequence diagrams by running the code

don’t know about that one …

> - Algorithm::Diff =09Rpdfp =09Diff (also Longest Common Subsequence)
> - Algorithm::Merge =09bpdfp =09Implements 3-way merge and diff algorithms

But you might find these useful:  
[http://raa.ruby-lang.org/project/diff-lcs/](http://raa.ruby-lang.org/project/diff-lcs/)  
[http://rubyforge.org/projects/merge3/](http://rubyforge.org/projects/merge3/)

andrew

---

<div class="post-metadata">

**Author:** ![MolitorS\_Stephen\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e480ec/32.png) [@MolitorS\_Stephen\_L](https://www.ruby-forum.com/u/MolitorS_Stephen_L)\
**Post date:** [February 21, 2006, 10:45pm UTC](https://www.ruby-forum.com/t/re-eating-cpan-was-port-a-library/71574/6 "2006-02-21T22:45:33Z")

</div>

> On 2/20/06, Edgardo H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:=20  
> Which are the most important/useful libraries? I might like to  
> try my hand at one.

well because you asked, there are soo many useful libs/tools @ CPAN:  
i.e.

- UML::Sequence - draws sequence diagrams by running the code
- Algorithm::Diff Rpdfp Diff (also Longest Common Subsequence)
- Algorithm::Merge bpdfp Implements 3-way merge and diff algorithms  
… etc.

😉

---

<div class="post-metadata">

**Author:** ![MolitorS\_Stephen\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e480ec/32.png) [@MolitorS\_Stephen\_L](https://www.ruby-forum.com/u/MolitorS_Stephen_L)\
**Post date:** [February 23, 2006, 7:25pm UTC](https://www.ruby-forum.com/t/re-eating-cpan-was-port-a-library/71574/7 "2006-02-23T19:25:38Z")

</div>

On 2/21/06, Andrew J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> On Wed, 22 Feb 2006 06:43:01 +0900, henon man [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > - Algorithm::Diff =09Rpdfp =09Diff (also Longest Common Subsequence)
> > - Algorithm::Merge =09bpdfp =09Implements 3-way merge and diff algorithms
> 
> But you might find these useful:  
> [http://raa.ruby-lang.org/project/diff-lcs/](http://raa.ruby-lang.org/project/diff-lcs/)  
> [http://rubyforge.org/projects/merge3/](http://rubyforge.org/projects/merge3/)

I did a port of Algorithm::Merge for the recent RubyQuiz #64. [  
[http://www.ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/177618](http://www.ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/177618) ]  
My port had some odd behaviour when running diff3 on a  
character-by-character basis, but I wasn’t able to confirm if it was a  
porting bug or a problem with the original algorithm. I stopped  
working on it when I discovered merge3, which seems to offer better  
merging logic anyway, but if anyone is interested in it, I could put  
it on rubyforge, I guess.

-Adam
