Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
bug in "developing applications with objective caml" (english translation)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2005-04-05 (13:49)
From: Jon Harrop <jon@f...>
Subject: Re: [Caml-list] Re: some comments on ocaml{lex,yacc} from a novice's POV
On Tuesday 05 April 2005 13:00, Geoff Wozniak wrote:
> When I am developing software, I often find that at the beginning, static
> typing is a burden

Note that, in this case, I was referring to the detection of grammar conflicts 
and not static type checking.

> that I would rather not be bothered with for the simple 
> reason that I don't know what types are to be used.  Later in development,
> once I know more about my problem space, I will migrate to using some
> language that uses a static (preferably strong) type system.

I think this is very interesting. Someone else recently expressed this view to 
me. Personally, I'm undecided. I must say that I do occasionally resort to 
Mathematica (which is "kind of" dynamically typed) instead of OCaml for 
simple programs. However, I think this is not because of the typing but, 
rather, because Mathematica provides many more features in some areas (e.g. 
pattern matching). Also, in most cases I end up regretting my decision and 
resort to OCaml.

For example, I recently tried to write programs to compute the number of 
unique posters per month on the two caml lists. I initially tried this in 
Mathematica because it is more lax and I thought it would let me knock up 
such a program more quickly. However, having written several versions which 
didn't work (mostly bailing with the equivalent of run-time type errors) I 
ended up using a lexer written in OCaml.

> Saying some programming tool isn't nice because it isn't "statically
> checked" is short-sighted and I'd rather not see a novice come away with
> the impression that if a language/tool is not statically checked, it's
> somehow inferior.

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?

Dr Jon D Harrop, Flying Frog Consultancy Ltd.
Objective CAML for Scientists