From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 086C9BB9A for ; Mon, 14 Nov 2005 14:31:09 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id jAEDV89B009060 for ; Mon, 14 Nov 2005 14:31:08 +0100 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 OAA22654 for ; Mon, 14 Nov 2005 14:31:08 +0100 (MET) Received: from mail.physik.uni-muenchen.de (mail.physik.uni-muenchen.de [192.54.42.129]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id jAEDV7ZZ028906 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Mon, 14 Nov 2005 14:31:07 +0100 Received: from localhost (unknown [127.0.0.1]) by mail.physik.uni-muenchen.de (Postfix) with ESMTP id 1A87220029 for ; Mon, 14 Nov 2005 14:31:07 +0100 (CET) Received: from mail.physik.uni-muenchen.de ([127.0.0.1]) by localhost (mail.physik.uni-muenchen.de [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 11970-01-56 for ; Mon, 14 Nov 2005 14:31:07 +0100 (CET) Received: from mailhost.cip.physik.uni-muenchen.de (kaiser.cip.physik.uni-muenchen.de [141.84.136.1]) by mail.physik.uni-muenchen.de (Postfix) with ESMTP id 0070820006 for ; Mon, 14 Nov 2005 14:31:06 +0100 (CET) Received: from eiger.cip.physik.uni-muenchen.de (eiger.cip.physik.uni-muenchen.de [141.84.136.54]) by mailhost.cip.physik.uni-muenchen.de (Postfix) with ESMTP id 0AD5F26E87 for ; Mon, 14 Nov 2005 14:31:06 +0100 (CET) Received: by eiger.cip.physik.uni-muenchen.de (Postfix, from userid 3092) id 1CE4634FFF; Mon, 14 Nov 2005 14:31:05 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by eiger.cip.physik.uni-muenchen.de (Postfix) with ESMTP id 00C232216A for ; Mon, 14 Nov 2005 14:31:05 +0100 (CET) Date: Mon, 14 Nov 2005 14:31:05 +0100 (CET) From: Thomas Fischbacher To: caml-list@inria.fr Subject: Ocamldoc question/suggestion Message-ID: X-BOFH: Daemons did it MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: amavisd-new at physik.uni-muenchen.de X-Miltered: at concorde with ID 4378919C.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 4378919B.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; ocamldoc:01 ocamldoc:01 mli:01 mli:01 compiler:01 annotations:01 val:01 binary:01 cip:98 cip:98 lambda:01 lambda:01 functions:01 functions:01 defined:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 While it is nice that ocamldoc can auto-generate documentation from .mli files, it would be very useful if one could just put more information into .mli files which is irrelevant to the compiler, but displayed faithfully in the documentation. Two major points come to my mind: (1) names of type jokers, and (2) embedded comment annotations. When documenting a function like: let pointwise comp f g x = comp (f x) (g x) I would *love* to be able to just put something along the following lines into the .mli file so that it ends up in the documentation: ===> val pointwise : ('val_f -> 'val_g -> 'val_f_op_g) (* op *) -> ('x -> 'val_f) (* f *) -> ('x -> 'val_g) (* g *) -> ('x -> 'val_f_op_g) (* f_op_g *) (** One re-occurring construction is the point-wise combination of two functions: given two functions [f], [g], which have the same domain, and a binary operation [op] defined on the co-domains of those functions, we can obtain a new function by mapping a value [x] to the result of applying the given operation to [f(x)] and [g(x)], which we will call [f_op_g]. *) <=== as far as I can tell, this is not possible right now. Or is it? -- regards, tf@cip.physik.uni-muenchen.de (o_ Thomas Fischbacher - http://www.cip.physik.uni-muenchen.de/~tf //\ (lambda (n) ((lambda (p q r) (p p q r)) (lambda (g x y) V_/_ (if (= x 0) y (g g (- x 1) (* x y)))) n 1)) (Debian GNU)