From: Patrick M Doane <patrick@watson.org>
To: John Max Skaller <skaller@ozemail.com.au>
Cc: Jun Furuse <Jun.Furuse@inria.fr>, caml-list@inria.fr
Subject: Re: "Re: [Caml-list] A G'Caml question" + additional info
Date: Fri, 29 Jun 2001 00:18:04 -0400 (EDT) [thread overview]
Message-ID: <Pine.BSF.3.96.1010629000500.35684B-100000@fledge.watson.org> (raw)
In-Reply-To: <3B3BB6EC.3DEB6CBF@ozemail.com.au>
On Fri, 29 Jun 2001, John Max Skaller wrote:
> Patrick M Doane wrote:
>
> > > We do not want to introduce the full open recursion to generic
> > > values. You could add new type cases easily using the open recursion
> > > and it should be helpful in some cases. But it can also introduce
> > > heavy semantic confusion to our programs, since in the open recursion
> > > the semantics of generic values could not be fixed until all modules
> > > are linked together.
> >
> > I agree that this could make programs more difficult to follow, but I
> > think it is to be expected with generic programming these days.
>
> Yes, its expected: which is very good reason NOT to do it.
> Its expected that all the problems associated with it have to exist,
> because people haven't seen anything better.
I would like to apply the generic programming techniques so that I can
have reusable algorithms. The extensions provided by GCaml don't achieve
that goal although they are much more powerful than basic operator
overloading.
If I want to define a generic function similar to the STL for_each
function, this works fine until I need to extend the system with new
iterator types. The proposed 'include' feature makes it much easier to
extend generic values, but doesn't help with derived generics. I would
assume that most folks are interested in the reusability of those derived
generics. Does it make sense to provide a similar construct to 'include'
for derived generics which would re-analyze the body of the code based on
a new context of generic values? Or am I trying to abuse what these
features are intended for? Maybe this kind of approach is better suited to
the object system or using functors.
Patrick
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
next parent reply other threads:[~2001-06-29 4:18 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3B3BB6EC.3DEB6CBF@ozemail.com.au>
2001-06-29 4:18 ` Patrick M Doane [this message]
2001-07-16 18:24 John R Harrison
-- strict thread matches above, loose matches on Subject: below --
2001-07-11 14:30 Krishnaswami, Neel
2001-07-11 16:22 ` Brian Rogoff
2001-07-11 16:35 ` Bruce Hoult
2001-07-11 19:12 ` Markus Mottl
2001-07-12 3:15 ` Patrick M Doane
2001-07-10 18:21 Krishnaswami, Neel
2001-07-11 6:09 ` Sven
[not found] <3B3D503C.E91DDE34@ozemail.com.au>
2001-06-30 16:01 ` Patrick M Doane
2001-06-30 20:59 ` Brian Rogoff
2001-07-01 5:32 ` Patrick M Doane
2001-07-02 15:55 ` Brian Rogoff
2001-07-10 18:08 ` Patrick M Doane
2001-06-20 3:16 [Caml-list] A G'Caml question Brian Rogoff
2001-06-25 17:11 ` "Re: [Caml-list] A G'Caml question" + additional info Jun Furuse
2001-06-28 2:21 ` Patrick M Doane
2001-06-28 4:40 ` Brian Rogoff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.BSF.3.96.1010629000500.35684B-100000@fledge.watson.org \
--to=patrick@watson.org \
--cc=Jun.Furuse@inria.fr \
--cc=caml-list@inria.fr \
--cc=skaller@ozemail.com.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox