[#24183] "yield called out of block" — Mark Slagell <ms@...>

Having just talked with a nuby in email, I believe this error message

27 messages 2001/11/02
[#24243] Re: "yield called out of block" — matz@... (Yukihiro Matsumoto) 2001/11/03

Hi,

[#24223] Too much eval evil? (tell me why I shouldn't do this) — gandy@... (Thomas Gandy)

I've been doodling with Ruby (experimenting with it in order to figure

13 messages 2001/11/02

[#24335] Joys of eval — Albert Wagner <alwagner@...>

A few weeks ago I posted a request for help with regexp, split, scan, et.

30 messages 2001/11/04
[#24337] Re: Joys of eval — Sean Middleditch <elanthis@...> 2001/11/04

On Sun, 2001-11-04 at 13:29, Albert Wagner wrote:

[#24338] Re: Joys of eval — Albert Wagner <alwagner@...> 2001/11/04

On Sunday 04 November 2001 12:43 pm, you wrote:

[#24339] Re: Joys of eval — Sean Middleditch <elanthis@...> 2001/11/04

On Sun, 2001-11-04 at 14:01, Albert Wagner wrote:

[#24340] Re: Joys of eval — Todd Gillespie <toddg@...> 2001/11/04

On Mon, 5 Nov 2001, Sean Middleditch wrote:

[#24351] Re: Joys of eval — Sean Middleditch <elanthis@...> 2001/11/04

On Sun, 2001-11-04 at 14:31, Todd Gillespie wrote:

[#24466] Why is ruby slow (compared to perl) — "Aqil Azmi" <aazmi@...>

Hello,

29 messages 2001/11/06
[#24688] Re: Why is ruby slow (compared to perl) — Sean Russell <ser@...> 2001/11/08

Niko Schwarz wrote:

[#24694] Re: Why is ruby slow (compared to perl) — Robert Feldt <feldt@...> 2001/11/08

On Fri, 9 Nov 2001, Sean Russell wrote:

[#24511] kill rdtool? — Stefan Nobis <stefan@...>

Hi.

51 messages 2001/11/07
[#24530] RE: kill rdtool? — "Mark Hahn" <mchahn@...> 2001/11/07

[#24534] Re: kill rdtool? — Pierre-Charles David <Pierre-Charles.David@...> 2001/11/07

Mark Hahn wrote:

[#24535] Re: kill rdtool? — "Mark Hahn" <mchahn@...> 2001/11/07

[#24536] Re: kill rdtool? — Eric Lee Green <eric@...> 2001/11/07

On Wednesday 07 November 2001 09:34 am, Mark Hahn wrote:

[#24538] Re: kill rdtool? — "Mark Hahn" <mchahn@...> 2001/11/07

[#24540] Re: kill rdtool? — Eric Lee Green <eric@...> 2001/11/07

On Wednesday 07 November 2001 10:04 am, Mark Hahn wrote:

[#24541] Re: kill rdtool? — "Mark Hahn" <mchahn@...> 2001/11/07

[#24542] Re: kill rdtool? — Eric Lee Green <eric@...> 2001/11/07

On Wednesday 07 November 2001 10:14 am, Mark Hahn wrote:

[#24666] I've ported the python nntplib class to Ruby. I will be adding comments to it soon. Here it is for public commentary and criticism — jheard <jheard@...>

require 'socket'

9 messages 2001/11/08

[#24698] ruby and webservices — Markus Jais <info@...>

hello

46 messages 2001/11/08
[#24715] Re: ruby and webservices — ptkwt@...1.aracnet.com (Phil Tomson) 2001/11/09

In article <9setsu$1378d4$1@ID-75083.news.dfncis.de>,

[#24730] Re: ruby and webservices — "Rich Kilmer" <rich@...> 2001/11/09

Actually...its me.

[#24801] Re: XML libraries (Re: Re: ruby and webservices) — Tobias Reif <tobiasreif@...> 2001/11/09

Yukihiro Matsumoto wrote:

[#24861] Re: XML libraries (Re: Re: ruby and webservices) — TAKAHASHI Masayoshi <maki@...> 2001/11/11

Hi,

[#24877] Re: XML libraries (Re: Re: ruby and webservices) — Bob Hutchison <hutch@...> 2001/11/11

On 01/11/11 2:20 AM, "TAKAHASHI Masayoshi" <maki@open-news.com> wrote:

[#24700] Strange behaviour of Array#[] — Michael Neumann <neumann@...>

Hi,

12 messages 2001/11/08

[#24750] BUG: net/telnet.rb gives select invalid argument excepition — Ville Mattila <mulperi@...>

20 messages 2001/11/09

[#24810] Ruby-Tk; feature/bug/misunderstanding? mouse-location during when a key is pressed in the presence of TkMenubutton — Armin Roehrl <armin@...>

Hi,

8 messages 2001/11/09

[#24820] ANN: Triple-R - The Rubicon Results Repository — Dave Thomas <Dave@...>

16 messages 2001/11/10

[#24926] XML support in the standard lib — Tobias Reif <tobiasreif@...>

Hi,

128 messages 2001/11/12
[#24928] Re: XML support in the standard lib — Bob Hutchison <hutch@...> 2001/11/12

[#25011] Re: XML support in the standard lib; what exactly? — Tobias Reif <tobiasreif@...> 2001/11/13

PaulC wrote:

[#25014] Re: XML support in the standard lib; what exactly? — Tobias Reif <tobiasreif@...> 2001/11/13

P.S.

[#25023] Re: XML support in the standard lib; what exactly? — Bob Hutchison <hutch@...> 2001/11/13

On 01/11/13 9:56 AM, "Tobias Reif" <tobiasreif@pinkjuice.com> wrote:

[#25027] Re: XML support in the standard lib; what exactly? — Tobias Reif <tobiasreif@...> 2001/11/13

Bob Hutchison wrote:

[#25037] Re: XML support in the standard lib; what exactly? — Bob Hutchison <hutch@...> 2001/11/13

On 01/11/13 11:21 AM, "Tobias Reif" <tobiasreif@pinkjuice.com> wrote:

[#25018] Re: XML support in the standard lib; what exactly? — "Nat Pryce" <nat.pryce@...13media.com> 2001/11/13

The DOM is a pretty awkward API to both use and implement. An API based on

[#25126] Re: XML support in the standard lib; what exactly? — "James Britt (rubydev)" <james@...> 2001/11/14

>

[#25138] Re: XML support in the standard lib; what exactly? — "Simon St.Laurent" <simonstl@...> 2001/11/14

On Tue, 2001-11-13 at 20:53, James Britt (rubydev) wrote:

[#25151] Re: XML support in the standard lib; whatexactly? — "James Britt (rubydev)" <james@...> 2001/11/14

[#25202] Re: XML support in the standard lib;whatexactly? — "Nat Pryce" <nat.pryce@...13media.com> 2001/11/14

From: "Simon St.Laurent" <simonstl@simonstl.com>

[#25231] Re: XML support in the standard lib;whatexactly? — "James Britt (rubydev)" <james@...> 2001/11/15

[#25250] Re: XML support in the standard lib;whatexactly? — Tobias Reif <tobiasreif@...> 2001/11/15

James Britt (rubydev) wrote:

[#25251] Re: XML support in the standard lib;whatexactly? — Robert Feldt <feldt@...> 2001/11/15

On Thu, 15 Nov 2001, Tobias Reif wrote:

[#25020] Re: XML support in the standard lib; what exactly? — Robert Feldt <feldt@...> 2001/11/13

On Wed, 14 Nov 2001, Nat Pryce wrote:

[#25059] Re: XML support in the standard lib; what exactly? — Sean Russell <ser@...> 2001/11/13

Robert Feldt wrote:

[#25078] Re: XML support in the standard lib; what exactly? — Robert Feldt <feldt@...> 2001/11/13

On Wed, 14 Nov 2001, Sean Russell wrote:

[#25080] Re: XML support in the standard lib; what exactly? — Tobias Reif <tobiasreif@...> 2001/11/13

Hi all XMLers,

[#25102] Re: XML support in the standard lib; what exactly? — David Alan Black <dblack@...> 2001/11/13

Hello --

[#25157] Re: XML support in the standard lib; what exactly? — Tobias Reif <tobiasreif@...> 2001/11/14

Dave Thomas wrote:

[#25170] Re: XML support in the standard lib; what exactly? — chad fowler <chadfowler@...> 2001/11/14

[#24948] Refactoring tool for Ruby... — Stephan K舂per <Stephan.Kaemper@...>

Just being curious if someone has worked on a refactoring tool for

12 messages 2001/11/12

[#24955] Teach your kid math w/ruby — pete@... (Peter J. Kernan)

14 messages 2001/11/12

[#24958] Linux Magazine article — Dave Thomas <Dave@...>

53 messages 2001/11/12
[#26103] Re: Linux Magazine article — "Bill Kelly" <billk@...> 2001/11/22

[#26116] Re: Linux Magazine article — Jos Backus <josb@...> 2001/11/22

On Thu, Nov 22, 2001 at 10:20:04AM +0900, Bill Kelly wrote:

[#25029] Set class in Ruby — Yuri Leikind <YuriLeikind@...>

Hello all Ruby coders,

18 messages 2001/11/13

[#25082] exiting blox — Niko Schwarz <niko.schwarz@...>

Hi there,

17 messages 2001/11/13

[#25101] ANN: REXML 1.1a3 — Sean Russell <ser@...>

Hiho,

23 messages 2001/11/13

[#25276] GC question — Tony Smith <tony@...>

Hi there!

20 messages 2001/11/15
[#25777] Ruby in windows — "Mark Hahn" <mchahn@...> 2001/11/18

[#25788] RE: Ruby in windows — "Mark Hahn" <mchahn@...> 2001/11/18

This is what I get from command line:

[#25291] Re: ANN: REXML 1.1a3 — Ben Schumacher <BSchumacher@...>

Tobias Reif wrote:

24 messages 2001/11/15

[#25383] Arrays, iterators, and map/collect — "Hal E. Fulton" <hal9000@...>

Hello all...

12 messages 2001/11/16

[#25432] Why not xmlparser? (was: Re: XML support in the standard lib;whatexactly?) — "Christian Boos" <cboos@...>

32 messages 2001/11/16
[#25678] RE: Why not xmlparser? (was: Re: XML support in the standard lib;whatexactly?) — "James Britt (rubydev)" <james@...> 2001/11/16

> I may have missed something, but the original question that started the

[#25722] RE: Why not xmlparser? (was: Re: XML support in the standard lib;whatexactly?) — Sean Russell <ser@...> 2001/11/17

James Britt (rubydev) wrote:

[#25732] Re: Why not xmlparser? (was: Re: XML support in the standard lib;whatexactly?) — "James Britt (rubydev)" <james@...> 2001/11/17

>

[#25850] Re: Why not xmlparser? (was: Re: XML support in the standard lib;whatexactly?) — Sean Russell <ser@...> 2001/11/19

James Britt (rubydev) wrote:

[#25689] Would like feedback on script to remove unused import statements in java — "Thomas R. Corbin" <tc@...>

I use this script all the time when developing in java, it really helps a

20 messages 2001/11/17
[#25829] Re: Would like feedback on script to remove unused import statements in java — "Ralph Mason" <ralph.mason@...> 2001/11/19

Is there any documentation on this anywhere?

[#25830] Re: Would like feedback on script to remove unused import statements in java — ts <decoux@...> 2001/11/19

>>>>> "R" == Ralph Mason <ralph.mason@telogis.com> writes:

[#25916] Why the appended '\n' in IO.readlines — Jim Freeze <jim@...> 2001/11/20

Hi

[#25753] Misunderstanding or bug? — Dave Thomas <Dave@...>

18 messages 2001/11/18

[#25808] KDE or GNOME curiosity question... — Robert Hicks <bobhicks@...>

I was just curious which desktop (of the two mentioned in the subject)

80 messages 2001/11/19
[#26360] Re: [OT] Re: KDE or GNOME curiosity question... — "Bill Kelly" <billk@...> 2001/11/24

[#26374] Re: [OT] Re: KDE or GNOME curiosity question... — "Mark Hahn" <mchahn@...> 2001/11/24

[#26518] Re: [OT] Re: KDE or GNOME curiosity question... — Paul Brannan <pbrannan@...> 2001/11/26

> How hard would it be to have an option to use reference counting in a

[#26544] Re: [OT] Re: KDE or GNOME curiosity question... — "mark hahn" <mchahn@...> 2001/11/26

> Circular references will cause the object to stay around indefinitely

[#26746] Re: [OT] Re: KDE or GNOME curiosity question... — matz@... (Yukihiro Matsumoto) 2001/11/28

Hi,

[#26825] RE: Ref Counting (was KDE or GNOME curiosity question...) — "Mark Hahn" <mchahn@...> 2001/11/28

[#26827] Re: Ref Counting (was KDE or GNOME curiosity question...) — "Matt Armstrong" <matt+dated+1007407366.0f6d51@...> 2001/11/28

"Mark Hahn" <mchahn@facelink.com> writes:

[#25861] A bug invoking a method with send? — chr_news@... (chr_news@...)

Hi,

12 messages 2001/11/19

[#25907] String#== : Why not error with different type? — furufuru@... (Ryo Furue)

Hi there,

17 messages 2001/11/20

[#25954] a quick question — Tobias DiPasquale <anany@...>

Hi all,

21 messages 2001/11/20
[#25959] PocketPC — "Chad Fowler" <chadfowler@...> 2001/11/20

Has anyone gotten Ruby running (perhaps in some limited form) on the

[#26006] R: Re: Hello World considered harmful — Alessandro Caruso <a.caruso@...>

I thought the main reason people are moving towards Ruby instead of keep

19 messages 2001/11/21
[#26023] Re: R: Re: Hello World considered harmful — Dave Thomas <Dave@...> 2001/11/21

Alessandro Caruso <a.caruso@creditonline.it> writes:

[#26029] Re: R: Re: Hello World considered harmful — Erik B虍fors <erik@...> 2001/11/21

On Wed, 2001-11-21 at 15:31, Dave Thomas wrote:

[#26126] Conformance Test of XML Parsers in Ruby(20011122) — TAKAHASHI Masayoshi <maki@...>

Hi all,

27 messages 2001/11/22
[#26128] Re: Conformance Test of XML Parsers in Ruby(20011122) — Tobias Reif <tobiasreif@...> 2001/11/22

TAKAHASHI Masayoshi wrote:

[#26134] Re: Conformance Test of XML Parsers in Ruby(20011122) — David Alan Black <dblack@...> 2001/11/22

Hello --

[#26145] Re: Conformance Test of XML Parsers in Ruby(20011122) — Kevin Smith <kevinbsmith@...> 2001/11/22

--- David Alan Black <dblack@candle.superlink.net

[#26181] Re: NQXML Conformance (was Re: Conformance Test of XML Parsers in Ruby(20011122)) — martin@... (Martin v. Loewis) 2001/11/22

Jim Menard <jimm@io.com> writes:

[#26141] Passing class names to constructors. — Hugh Sasse Staff Elec Eng <hgs@...>

If I want to create a variable number of objects, all of

14 messages 2001/11/22

[#26205] Book "Rub in 21 days" Table of contents online — Markus Jais <mjais@...>

hi

17 messages 2001/11/23

[#26214] generating and serving SVG — Tobias Reif <tobiasreif@...>

Hi,

39 messages 2001/11/23
[#26215] Re: generating and serving SVG — Robert Feldt <feldt@...> 2001/11/23

On Fri, 23 Nov 2001, Tobias Reif wrote:

[#26270] Table: Ruby versus Smalltalk, Objective-C, C++, Java; — Armin Roehrl <armin@...>

Hi,

28 messages 2001/11/24

[#26293] The results are in... — Dave Thomas <Dave@...>

28 messages 2001/11/24
[#26365] Re: The results are in... — Albert Wagner <alwagner@...> 2001/11/24

<snip>

[#26377] Re: The results are in... — Robert Feldt <feldt@...> 2001/11/24

On Sun, 25 Nov 2001, Albert Wagner wrote:

[#26389] Re: The results are in... — Albert Wagner <alwagner@...> 2001/11/25

On Saturday 24 November 2001 05:03 pm, you wrote:

[#26391] Re: The results are in... — Robert Feldt <feldt@...> 2001/11/25

On Sun, 25 Nov 2001, Albert Wagner wrote:

[#26337] Re: Table: Ruby versus Smalltalk, Objective-C, C++, Java; — "john%johnknight.com@..." <john%johnknight.com@...>

16 messages 2001/11/24

[#26362] Selector Namespaces: A Standard Feature for Smalltalk? — "David Simmons" <david.simmons@...>

Here is an incentive for classic Smalltalk evolution...

26 messages 2001/11/24

[#26537] Ruby vs. Python: Decisions, Decisions — "Bob Calco" <rcalco@...>

Everyone:

32 messages 2001/11/26

[#26557] Re: Ruby vs. Python: Decisions, Decisions — "Mike Wilson" <wmwilson01@...>

21 messages 2001/11/26

[#26651] Vote in the current poll! — Robert Feldt <feldt@...>

Hi,

26 messages 2001/11/27
[#26685] Re: Vote in the current poll! — ptkwt@...1.aracnet.com (Phil Tomson) 2001/11/27

In article <Pine.GSO.4.21.0111271419390.9896-100000@godzilla.ce.chalmers.se>,

[#26702] Re: Vote in the current poll! — Robert Feldt <feldt@...> 2001/11/27

On Wed, 28 Nov 2001, Phil Tomson wrote:

[#26752] Anyone know of a Regexp pattern random string generator? — "Ross Shaw" <rshaw1961@...>

I'm looking for some Ruby that given a Regexp pattern will generate a random

10 messages 2001/11/28

[#26782] RE: overload possible? — Wyss Clemens <WYS@...>

No, UNLESS you ask Guy Decoux (ts) to give you his *extension*

31 messages 2001/11/28
[#26791] Re: overload possible? — ts <decoux@...> 2001/11/28

>>>>> "W" == Wyss Clemens <WYS@helbling.ch> writes:

[#26792] Re: overload possible? — Robert Feldt <feldt@...> 2001/11/28

On Wed, 28 Nov 2001, ts wrote:

[#26847] Re: overload possible? — "Harry Ohlsen" <harryo@...> 2001/11/28

Here's a slightly better version, which also fixes the problem that

[#26860] Re: overload possible? — nobu.nokada@... 2001/11/29

At Thu, 29 Nov 2001 08:13:36 +0900,

[#26861] Re: overload possible? — "Rich Kilmer" <rich@...> 2001/11/29

excellent idea...how about this refactoring...

[#26894] short article draft for review — Tobias Reif <tobiasreif@...>

Hi,

26 messages 2001/11/29
[#26898] Re: short article draft for review — David Alan Black <dblack@...> 2001/11/29

Hi --

[#26899] Re: short article draft for review — Tobias Reif <tobiasreif@...> 2001/11/29

David,

[#26902] Re: short article draft for review — David Alan Black <dblack@...> 2001/11/29

Hi --

[#26973] thoughts on virtual base classes, interfaces — ptkwt@...1.aracnet.com (Phil Tomson)

16 messages 2001/11/29

[#26976] first class functions in Ruby — "MikkelFJ" <mikkelj-anti-spam@...1.dknet.dk>

In the thread on language design, I mentioned a wish for functions as first

15 messages 2001/11/29

[#26984] Can someone explain TupleSpaces? — ptkwt@...1.aracnet.com (Phil Tomson)

I looked at the examples that came with drb, but I'm still not quite

16 messages 2001/11/29

[#27054] Using Enumerable — Peter Hickman <peter@...>

Im trying to write my own each method for a 'sort of' range class that

19 messages 2001/11/30
[#27057] Re: Using Enumerable — David Alan Black <dblack@...> 2001/11/30

Hello --

[#27060] Re: Using Enumerable — Peter Hickman <peter@...> 2001/11/30

Thanks to all who replied, like all ruby it was alot simpler than I

[#27066] Musing — Dave Thomas <Dave@...>

32 messages 2001/11/30
[#27079] RE: Musing — "Rich Kilmer" <rich@...> 2001/11/30

Do it Dude!

[ruby-talk:26479] Re: generating and serving SVG

From: "MikkelFJ" <mikkelj-anti-spam@...1.dknet.dk>
Date: 2001-11-26 01:05:23 UTC
List: ruby-talk #26479
"Robert Feldt" <feldt@ce.chalmers.se> wrote in message
news:Pine.GSO.4.21.0111250943580.8364-100000@godzilla.ce.chalmers.se...

> > > with uniqueness typing (you can have destructive updates etc) and a
> > > compiler producing really fast code.
Forgot to comment on this last time: yes this is an important contribution
which Haskell people are also seeking to implement.
Which in turn leads me to monads for serializing I/O - which again suggest
OCaml and strict evaluation to be the preferred approach most of the time.
Actually - clean lazy systems (Clean inclusive) attempts to avoid state and
the goes to a lot of trouble handling state anyway. This is why the Clean
I/O library is large and complex. It's a nice solution to the problem, but
it also suggests that ignoring the real world for the sake of cleanliness
may be crossing the river to fetch water - i.e. writing a huge statemanaging
I/O library in order to keep the language clean.

> Out of curiosity could you mention the other languages you considered in
> the same deal? You seem to have done a pretty extensive survey.

My brain has been flushed a bit lately trying to keep up with newsstreams
following septemper and latest the trible election just completed in
Denmark, so I can't give you a fresh write-up - but I shall try anyway.

The primary languages were in no particular order
OCaml (SML), Clean, Haskell, Lisp, Scheme, Dylan, Erlang
as I recall.

The evaluation was focused on finding an expressive garbage collected
langauge that is fast and can replace C++ for coding complex code. I didn't
particularly look for functional programming - but it appeared that this was
the area where new languages had matured. From these criterias and my own
record of dealing with compiler internals, it may be no surprise that I
ended up with OCaml since SML were developed for implementing compilers and
doing symbolic analysis - and OCaml is SML with added features (ignoring
syntax).

Ruby didn't enter the competition because it wasn't fast enough, uses too
much memory and is difficult to create standalone solutions in (script
only). But it is expressive - just needs an easier way to handle higher
level functions. Given a fast Ruby compiler I still think I'd choose OCaml
over Ruby for some problems, but Ruby would then be a serious competitor as
a preferred language for most problems.

I did look into a lot, but I didn't write much test code - mostly looked at
technology and other peoples tests - and looking for answers to various
problems like handling state, I/O, compilation, FFI, library support, etc.
I was rather interested in language expressiveness - how much do I need to
write - how cool is it when the problems gets complicated - is the dynamic
typing of Lisp more expressive that SML/OCaml type inference. I looked
closely at Dylan a second time during these considerations. Dylan is
definitely worth a look - but it seems to be dumped in preference to Lisp
from one of its primary implementers. Dylans seems a better Lisp so I don't
get it - but then I'm no expert. Dylan holds the art of migrating from
dynamically typed to statically typed compilation simple by the amount of
type the user bothers to give.

In the end I was convinced that OCaml is almost as powerful in any of the
aspects that the other languages shines in. OCaml does not have a nice macro
system as Lisp, but it does have a very powerfull preprocessor, that is just
as powerful if not more, just more complicated to use. I is not dynamically
typed as Lisp is. This should complicate writing easy maintainable code
(note that this is where Ruby is also very strong). However the combination
of automatic type inference and abstract types and functors makes this a
wrong assumption. Especially if/when the experimental generics package of
OCaml enters the main codeline.
One interesting thing to notice is that OCaml doesn't have a lot of
Windows - Cygwin vs. MSVC problems like Ruby seems to have. OCaml has large
Unix I/O library that also runs on Windows. It has a few functions that are
not supported in the Windows distribution such as fork. But it comes in
another distribution for cygwin that does support this.
Independently of the distribution, OCaml generates assembler text files and
calls upon the system specific assembler to create an object file and
subsequently links to other modules using the system linker. As an
alternative OCaml generates bytecode but uses the same system libraries. I
reckon that Ruby could learn something from how OCaml deals with the cross
platform issues as it is both compiled and bytecode based.

> > one beginner problem in Haskell: "These four lines executes extremely
slow
> > and uses all the memory. I've spend the entire weekend and don't know
what
> > to do." The solution is usually simple once you get it.
> >
> Oh yeah, thats right.

The other frequent problem is dealing with monads for I/O.

> > The OCaml  team decided on purpose to prefer strict evaluation because
it is
> > the most useful evaluation most of the time.
> >
> Ok, but if you're used to laziness it can help you express difficult
> things. Have you seen the combinator parser by Swiestra (I never get his
> name right... ;-))? He builds table-driven parsers on the fly as the
> combinator parser is used.

The name doesn't ring a bell. But I did look at combination parsers in
various flavors.
Most combinators are easily written in strict languages. When there are
parseconflicts, the lazy languages sometimes solve the problem
automagically. But sometimes it just blows up.
I saw a paper on lazy combinator parsers that argued that it could be made
almost as efficient as known efficient parsing techniques. However they did
so by working a lot on some parsing problem before their benchmarks became
decent.
To me it proved the opposite: You may easily write a parser, but when it has
to run efficiently you end up spending time on trimming the concept. I have
wondered why OCaml parsers itself using lex/yacc technology instead of
combinator parsers, but I guess it was easy enough to write the parser and
it is known to be fast so why bother.

I've seen integrated circuit manipulation in Haskell (embedded Lava
langauge) which can describe infinitely large circuits very easily. When
applied to a real world application where some inputs and outputs are bound
to the circuit, the lazy evalution automatically makes a realizable circuit.
Describing such general circuits in a different way is much more difficult.
Here we are not dealing with parsing performance but with descriptive power.
This is very powerful.
But then - for such a dedicated problem you'd either choose Haskell / Clean
for that particular purpose, or you would implement it in say OCaml using
Lazy streams. In the end I'm not so fond of embedded languages. I'd rather
write a parser that parses the domain language into an implementing
language, so whether you target OCaml, Haskell, or Clean, the underlying
syntax doesn't matter much.

> And you've seen that you can specify strictness in clean? Have you tried
> it? I haven't had the time...

I don't remember the details by I'm quite positive you can - I think you add
"!" all over the place.

> You've convined me; I will take a deeper look at OCaml. Some problems I've
> encountered the last time I took a look at it is that there is not much
> papers/docs on its internals. Have you found something?
I didn't look hard at anything but the GC. I looked at the source which you
can browse via Web CVS or download.
As I understand the compiler isn't particularly magic. There are some lambda
expression optimizations, but must is straighforward transformation from one
representation to another until eventually it hits assembler or object code.
I guess much of the new interesting stuff is found in a layer above the core
Caml language (I left out the 'O' on purpose). The preprocessor p4 allows
you to make all kinds of new concepts that are rewritten into Caml before
being compiled.
They wrote the precossor to help making language research easier.

 I'd like to know
> my tools to depth. I'm still very impressed with the speed the Clean team
> can get in a lazy fp lang though.
Well - while OCaml has lazyness, I don't think (but I also don't know) the
performance of actual use of lazy features are near the performance of
Clean. But then you mostly use strict features.

> Especially I'd be interested in documentation on the OCaml code
> generator. Could be something to ponder for RubyVM.

I think OCaml is very interesting as a base for a Ruby compiler or VM.
Mostly compiler because of the machine language generation. The VM is
probably rather different.

I have earlier mentioned C-- as a possiblity for the core of a Ruby
compiler - looking at the OCaml source it appears that C-- lives somewhere
in the internals of the OCaml compiler - not sure how much though - but the
idea is the same: multiple targets from internal representation.
But then I think you could actually compile most of Ruby to OCaml. However,
I'd rather wait until support of generics is more complete.

> Since I found Clean I'm
> considering using it over Haskell. Seems to be few drawbacks and quite a
> few advantages.
If you can live with the platform restrictions and do not need any features
not currently available, Clean is definitely a good choice. Better
development platform and many good examples of how to create real
applications.

> I'm a bit at odds with ML syntax after using Haskell for a couple of
> years. I guess OCaml "feels" like ML?
Yeah I guess so. I'm a newcomer to the field - but OCaml definitely isn't
Haskell in the sense that left side is just another way of expressing the
right side of an equation.
But OCaml is different from ML in that it doesn't give a damn about storing
internal state if that is appropriate. For instance, the HashTable
implementation stores a lot of internal state and is definitely not have
referential trasparency. And that just makes it a factor X easier to write
many applications. And then it has objects - which strangely doesn't seem
that important thanks to the ML and OCaml module system.

>
> > OCaml and Ruby have very compact code as a common denominator. Apart
from
> >
> Yeah, but IMHO Clean would probably beat them both?!

I'm not sure. If you count the signature files (.mli) of Ocaml, Clean may
have an edge - but then Cleans module system is inferior to ML's (which is
also the basis for OCamls module system).
In Clean you have to write more type info for each function which takes up
space but makes the code more readable. Clean may be more to much compact by
utilizing laziness - when you really can exploit that.
I think it is splitting hairs. In any case both Clean, Ruby and OCaml are
very compact.
I hate that OCaml forces you to write the types twice when using
signatures - that is exactly one of the things a wanted to leave behind in
C++, and which is one of Ruby's forces. But you can't have it all, and the
ML module system is really powerful so you get something in return - not
mentioning the forthcoming generics of OCaml.


MikkelFJ


In This Thread