From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 4221DBC48 for ; Wed, 6 Apr 2005 08:15:30 +0200 (CEST) Received: from ensim.smartydns22.com (ensim.smartydns22.com [67.15.74.65]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j366FS6s015858 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 6 Apr 2005 08:15:29 +0200 Received: from www.ivorykite.com (localhost.localdomain [127.0.0.1]) by ensim.smartydns22.com (8.12.11/8.12.10) with SMTP id j366FOjw015243; Wed, 6 Apr 2005 16:15:24 +1000 Received: from 202.164.198.46 (SquirrelMail authenticated user effbiae@ivorykite.com) by www.ivorykite.com with HTTP; Wed, 6 Apr 2005 16:15:24 +1000 (EST) Message-ID: <54800.202.164.198.46.1112768124.squirrel@www.ivorykite.com> In-Reply-To: <87vf70tsk5.fsf@nagash.wacky> References: <49464.202.164.198.46.1112355123.squirrel@www.ivorykite.com><200504041051.07270.jon@ffconsultancy.com><87mzsdv3gb.fsf@nagash.wacky><200504051449.39133.jon@ffconsultancy.com> <87vf70tsk5.fsf@nagash.wacky> Date: Wed, 6 Apr 2005 16:15:24 +1000 (EST) Subject: Re: some comments on ocaml{lex,yacc} from anovice's POV From: "Jack Andrews" To: jon@ffconsultancy.com Cc: caml-list@yquem.inria.fr Reply-To: effbiae@ivorykite.com User-Agent: SquirrelMail/1.4.2 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 Importance: Normal X-Miltered: at nez-perce with ID 42537E80.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; ocaml:01 checker:01 argued:01 statically:01 runtime:01 invariants:01 bulletproof:98 writes:01 typing:01 lex:01 checking:01 checking:01 python:02 types:02 dynamic:03 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: Jon Harrop writes: > Can you give an example where dynamic typing has helped you to prototype > a program more quickly than you could have done with static type > checking? if a type checking scheme can infer all the types from my python scripts, then i'd be happy for my code to be passed through such a checker. static type checking is fine, but why would you want to write more code for the same prototype for the sake of some type checking. maybe after the prototype stage, it could be argued that static type checking is essential, but i don't think so. but there are many factors that go towards bulletproof code. who's to say that the time spent writing statically checked code isn't better spent making more runtime checks (invariants/contracts)? after all, we all have a time budget. having all possible static checks with all possible code succinctness is ideal. this only implies that compromise is needed, and the compromise, more often than not, will be directed by taste. jack