Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Streams documentation #3606

Closed
vicuna opened this issue Apr 21, 2005 · 4 comments
Closed

Streams documentation #3606

vicuna opened this issue Apr 21, 2005 · 4 comments
Labels

Comments

@vicuna
Copy link

vicuna commented Apr 21, 2005

Original bug ID: 3606
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Monitored by: marc

Bug description

Full_Name: Marc Herbert
Version: 3.08.2
OS: linux
Submission from: lns-vlq-38-lyo-82-253-128-116.adsl.proxad.net (82.253.128.116)

This is (again :-) a complaint about the manual. It makes no comment
about ocaml/ocamlp4 design choices.

There seems to be two different kind of streams. I write "there
seems" because I find the documentation concerning streams confusing
so I am not even sure. The only hint about this is in section 20.32:
"Warning: these functions create streams with fast access; it is
illegal to mix them with streams built with [< >];".

On the other hand, section 7.2 states: "Streams and stream parsers are
no longer part of the Objective Caml language but available through a
Camlp4 syntax extension." (no more word about different kind of streams
here). Later on in the "standard library" chapter there is section
20.32 intitled "Stream and parsers"?! Huh, so the "standard library"
is now part of ocamlp4 ?

And don't forget the third beast, the "mixed" streams of section 20.32.
Probably the result of some undocumented genetic experience...

I think the ocaml documentation about streams should be much much
clarified (ocamlp4 documentation looks fine at first sight). To begin,
why have two different objects with the (almost, depending on where
you are in the manual) same name? This is IMHO the original sin. So
when other sections of the manual (like 20.11 Genlex, 20-16 Lexing)
talk about "streams", it is hard for the newcomer to guess what it is
all about. No surprise people file bugs like bug #235 and #1284.

Maybe the manual could explain once for all the difference between
"FA-streams" and "[<>]-streams", and precise which one is meant at
each occurence in the manual?

@vicuna
Copy link
Author

vicuna commented Apr 21, 2005

Comment author: administrator

From: marc.herbert.1@ml.free.fr

There seems to be two different kind of streams. I write "there
seems" because I find the documentation concerning streams confusing
so I am not even sure. The only hint about this is in section 20.32:
"Warning: these functions create streams with fast access; it is
illegal to mix them with streams built with [< >];".

On the other hand, section 7.2 states: "Streams and stream parsers are
no longer part of the Objective Caml language but available through a
Camlp4 syntax extension." (no more word about different kind of streams
here). Later on in the "standard library" chapter there is section
20.32 intitled "Stream and parsers"?! Huh, so the "standard library"
is now part of ocamlp4 ?

There is (fortunately) only one kind of streams in ocaml.
What was removed from ocaml is only support for the special stream
syntax, using [< and >].
The Stream and Genlex modules are still there. They are best used in
combination with camlp4 (which provides the stream syntax), but will
work independently of that.
The manual will have to be modified to make this clearer.

Jacques

@vicuna
Copy link
Author

vicuna commented Jul 13, 2005

Comment author: administrator

There seems to be two different kind of streams. I write "there
seems" because I find the documentation concerning streams confusing
so I am not even sure. The only hint about this is in section 20.32:
"Warning: these functions create streams with fast access; it is
illegal to mix them with streams built with [< >];".

As I understand it, there is only one kind of streams, at least at the type
level.
There are however constraints about how one can mix streams created through some
functions with streams built with [< >]. This is not a real problem in practice,
because there is little incentive to do this kind of mixing. Both "kinds" are
handled by the same stream parsers.

On the other hand, section 7.2 states: "Streams and stream parsers are
no longer part of the Objective Caml language but available through a
Camlp4 syntax extension." (no more word about different kind of streams
here). Later on in the "standard library" chapter there is section
20.32 intitled "Stream and parsers"?! Huh, so the "standard library"
is now part of ocamlp4 ?

What was removed from ocaml is only the special syntax for streams. Library
support is still there. I modified section 7.2 to reflect this.

Jacques

@vicuna
Copy link
Author

vicuna commented Jul 13, 2005

Comment author: administrator

This is the Postfix program at host ml.free.fr.

I'm sorry to have to inform you that the message returned
below could not be delivered to one or more destinations.

For further assistance, please send mail to

If you do so, please include this problem report. You can
delete your own text from the message returned below.

		The Postfix program

marc.herbert.1@ml.free.fr: unknown user: "marc.herbert.1"


Reporting-MTA: dns; ml.free.fr
Arrival-Date: Wed, 13 Jul 2005 06:17:28 +0200 (CEST)

Final-Recipient: rfc822; marc.herbert.1@ml.free.fr
Action: failed
Status: 5.0.0
Diagnostic-Code: X-Postfix; unknown user: "marc.herbert.1"


Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78])
by ml.free.fr (Postfix) with ESMTP id 8D61BC8555
for marc.herbert.1@ml.free.fr; Wed, 13 Jul 2005 06:17:28 +0200 (CEST)
Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35])
by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j6D4HSxt012354
for marc.herbert.1@ml.free.fr; Wed, 13 Jul 2005 06:17:28 +0200
Received: from localhost (localhost.inria.fr [127.0.0.1]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id GAA11390 for marc.herbert.1@ml.free.fr; Wed, 13 Jul 2005 06:17:27 +0200 (MET DST)
Date: Wed, 13 Jul 2005 06:17:27 +0200 (MET DST)
Message-Id: 200507130417.GAA11390@pauillac.inria.fr
From: Jacques Garrigue caml-bugs@pauillac.inria.fr
To: marc.herbert.1@ml.free.fr
Subject: Re: Streams documentation (#3606)
X-Loop: caml-bugs@pauillac.inria.fr
X-Miltered: at nez-perce with ID 42D495D8.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!

There seems to be two different kind of streams. I write "there
seems" because I find the documentation concerning streams confusing
so I am not even sure. The only hint about this is in section 20.32:
"Warning: these functions create streams with fast access; it is
illegal to mix them with streams built with [< >];".

As I understand it, there is only one kind of streams, at least at the type
level.
There are however constraints about how one can mix streams created through some
functions with streams built with [< >]. This is not a real problem in practice,
because there is little incentive to do this kind of mixing. Both "kinds" are
handled by the same stream parsers.

On the other hand, section 7.2 states: "Streams and stream parsers are
no longer part of the Objective Caml language but available through a
Camlp4 syntax extension." (no more word about different kind of streams
here). Later on in the "standard library" chapter there is section
20.32 intitled "Stream and parsers"?! Huh, so the "standard library"
is now part of ocamlp4 ?

What was removed from ocaml is only the special syntax for streams. Library
support is still there. I modified section 7.2 to reflect this.

Jacques



@vicuna
Copy link
Author

vicuna commented Jul 13, 2005

Comment author: administrator

JG (2005-07-13)

@vicuna vicuna closed this as completed Jul 13, 2005
@vicuna vicuna added the bug label Mar 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant