From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id CAA31308; Wed, 15 Oct 2003 02:22:17 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id CAA01045 for ; Wed, 15 Oct 2003 02:22:15 +0200 (MET DST) Received: from kurims.kurims.kyoto-u.ac.jp (kurims.kurims.kyoto-u.ac.jp [130.54.16.1]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id h9F0MD102585 for ; Wed, 15 Oct 2003 02:22:14 +0200 (MET DST) Received: from localhost (suiren.kurims.kyoto-u.ac.jp [130.54.16.25]) by kurims.kurims.kyoto-u.ac.jp (8.9.3p2-20030924/3.7W) with ESMTP id JAA23040; Wed, 15 Oct 2003 09:22:06 +0900 (JST) To: nick.name@inwind.it Cc: caml-list@inria.fr Subject: Re: [Caml-list] Is arrow programming impossible in ocaml? In-Reply-To: <200310141326.22497.nick.name@inwind.it> References: <200310132133.13347.oleg_trott@columbia.edu> <20031014120246F.garrigue@kurims.kyoto-u.ac.jp> <200310141326.22497.nick.name@inwind.it> X-Mailer: Mew version 1.94.2 on Emacs 21.2 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Message-Id: <20031015092206F.garrigue@kurims.kyoto-u.ac.jp> Date: Wed, 15 Oct 2003 09:22:06 +0900 From: Jacques Garrigue X-Dispatcher: imput version 20000228(IM140) X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 jacques:01 jacques:01 combinator:01 seq:01 seq:01 haskell:01 ocaml:01 garrigue:01 garrigue:01 polymorphic:01 complex:03 constructor:03 wich:03 wich:03 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk From: Nick Name > Alle 05:02, marted=EC 14 ottobre 2003, Jacques Garrigue ha scritto: > > But as long as you represent arrows by normal functions (as this > > seems to be the case in the paper), eta-expanding should solve the > > problem. > > > = > Unfortunately I can't; I am using arrows to hide a function-like = > structure wich is more complex than functions > = > > =A0 let a y =3D arr (fun x -> x) y > > > > Not also that there is no problem if Arr is a constructor: > = > I can't do this in general, either, because I need the (>>>) combinato= r, = > wich represents (reverse) function composition, so > = > type ('a,'b) t =3D Arr of ('a -> 'b) | Seq of ((('a,'c) t) * (('c,'b) = t)) > = > where Seq is the composition, is not writeable because I would need to= = > make 'c a parameter for t, and then ('a,'c) t would no longer be valid= = > etc. > = > Do anyone see another solution? I'm afraid you will have to state in more detail what you want to do. Or to show some Haskell code. What you try to do may or may not be possible, but I don't think that the value restriction is essential to your problem. In a first step I suppose you could assume that you have no polymorphic identity, just identity functions at every type. Jacques= ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners