Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!asuvax!noao!ncar!elroy.jpl.nasa.gov!sdd.hp.com!news.cs.indiana.edu!arizona.edu!arizona!gudeman From: gudeman@cs.arizona.edu (David Gudeman) Newsgroups: comp.lang.misc Subject: Re: Dynamic typing (part 3) Message-ID: <618@optima.cs.arizona.edu> Date: 13 Mar 91 19:00:21 GMT Sender: news@cs.arizona.edu Lines: 47 In article <9106@castle.ed.ac.uk> Paul Crowley writes: --[description of a Logo's lack of type extension]-- ]... Prolog behaves this way too. In prolog you can create a new type by making it a set of terms with the same name/arity. That makes it pretty much the same thing as a C struct. ]What are the words for these two? I'd call Logo "a language without type extension facilities". :-). ]... This means that the types of all the elements ]of a large structure are checked often. Doubleplusungood.) That is what you have to do in general in dynamically typed languages, and is what people are talking about when they say that dynamic typing has a high overhead. It is also the main reason why I want both dynamic and static typing -- I want dynamic typing to speed code developement and upgrades, and I want static typing to eliminate the overhead for bottlenecks in the code. ]Are these two strong and weak typing? Strong and weak typing are relative terms. They refer to how many areas the static type checking can break down. For example in K&R C, you can pass an int to a function that expects a double, and you get undefined behavior that tends to be hard to track down. In more strongly typed languages, the types of values are checked across procedure calls. There are hordes of niggling little details to consider when trying to increase the "strength" of static typing. Often "strong typing" is intended to be an absolute term, only refering to languages with no known type checking loopholes. ]Also, some languages do type-checking at compile-time, and some at ]run-time. Some (ML and others) typecheck at compile-time _but_ it does ]all the work itself. I thought you had to declare the types of functions in ML... ]Are these two static and dynamic typechecking? Yes. -- David Gudeman gudeman@cs.arizona.edu noao!arizona!gudeman