From: David Teller <David.Teller@univ-orleans.fr>
To: blue storm <bluestorm.dylc@gmail.com>
Cc: david.baelde@ens-lyon.org, caml-list@yquem.inria.fr
Subject: Re: [Caml-list] `This expression is not a function it cannot be applied'
Date: Tue, 02 Sep 2008 10:46:13 +0200 [thread overview]
Message-ID: <1220345173.6406.4.camel@Blefuscu> (raw)
In-Reply-To: <527cf6bc0809020134u783ffcefv83082e009d400814@mail.gmail.com>
Or you can use ExtLib's enumerations for the purpose of abstraction.
That's what I'm doing in my parser combinator library.
Cheers,
David
On Tue, 2008-09-02 at 10:34 +0200, blue storm wrote:
> On Tue, Sep 2, 2008 at 10:26 AM, David Baelde <david.baelde@gmail.com> wrote:
> > This amouns to provide a cast from the abstract type to the function
> > type, while keeping the liberty on how it's implemented.
>
> If you want even more implementation liberty, you should consider
> making the internal "token collection" type abstract : you use a list
> for now, but might want to use Streams or lazy lists or what not
> someday.
>
> That would give something like that :
> module Parser : sig
> type ('a,'tok) t
> type 'tok input
> val token : ('tok -> 'a option) -> ('a,'tok) t
> val apply : ('a,'tok) t -> 'tok input -> ('a * 'tok input)
> val input_of_list : 'tok list -> 'tok input
> end = [...]
>
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>
--
David Teller-Rajchenbach
Security of Distributed Systems
http://www.univ-orleans.fr/lifo/Members/David.Teller
Angry researcher: French Universities need reforms, but the LRU act brings liquidations.
prev parent reply other threads:[~2008-09-02 8:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-02 8:00 Christian Sternagel
2008-09-02 8:26 ` [Caml-list] " David Baelde
2008-09-02 8:34 ` blue storm
2008-09-02 8:46 ` David Teller [this message]
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=1220345173.6406.4.camel@Blefuscu \
--to=david.teller@univ-orleans.fr \
--cc=bluestorm.dylc@gmail.com \
--cc=caml-list@yquem.inria.fr \
--cc=david.baelde@ens-lyon.org \
/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