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 0881BD463 for ; Tue, 1 Nov 2005 07:08:59 +0100 (CET) Received: from kurims.kurims.kyoto-u.ac.jp (kurims.kurims.kyoto-u.ac.jp [130.54.16.1]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id jA168ugU008741 for ; Tue, 1 Nov 2005 07:08:58 +0100 Received: from localhost (suiren [130.54.16.25]) by kurims.kurims.kyoto-u.ac.jp (8.13.1/8.13.1) with ESMTP id jA168auY022289; Tue, 1 Nov 2005 15:08:36 +0900 (JST) Date: Tue, 01 Nov 2005 15:08:32 +0900 (JST) Message-Id: <20051101.150832.18249533.garrigue@math.nagoya-u.ac.jp> To: jtbryant@valdosta.edu Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Stdlib From: Jacques Garrigue In-Reply-To: <1130803637.488.28.camel@starlight> References: <1130803637.488.28.camel@starlight> X-Mailer: Mew version 4.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 43670678.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 stdlib:01 ocaml:01 lablgl:01 api:01 ocaml:01 syntax:01 omitted:01 omitted:01 lablgl:01 implements:01 ...:98 exception:01 tuples:01 jacques: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.4 required=5.0 tests=DNS_FROM_RFC_ABUSE autolearn=disabled version=3.0.3 From: Jonathan Bryant > On another note, I would love to do this other project in OCaml, but it > is OpenGL intensive (read: based) and LablGL drives me nuts. The named > argument thing drives me up the wall because it's more information that > I don't want to have to learn and internalize. If the author of that > package reads this list, then I apologize. You've done a fantastic job > of mapping the API, but I really do not like the OCaml syntax for both > Labeled and Optional arguments in general. Does anyone know of an > OpenGL package that is /complete/ and /not/ labeled? Well, you're entitled to your own opinion. A few years ago we had a few discussions on this list that were worse than that. Yet, a result of these discussions is that labeled arguments are much less intrusive than before. The explanation is in the tutorial part of the manual. Namely: As an exception to the above parameter matching rules, if an application is total, labels may be omitted. In practice, most applications are total, so that labels can be omitted in applications. That is, you don't have to write labels in your code. At least not for non-optional arguments. Optional arguments still require a label. The examples going with lablGL are heavily labelled, but you are not forced to write it that way. As another example, GlDraw.vertex takes labeled and optional arguments, but you can also use GlDraw.vertex[234] which take tuples. So I'd suggest you try to use it without labels. And maybe later you will realize that, when reading your code later on, your prefer to have labels. Or maybe your opinion won't change anyway... On the other hand, I don't know whether lablGL qualifies as complete, as it only implements openGL 1.2, without extensions. Jacques Garrigue