Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!pacbell.com!ames!xn.ll.mit.edu!xn!olson From: olson@lear.juliet.ll.mit.edu ( Steve Olson) Newsgroups: comp.lang.misc Subject: Re: Dynamic typing (part 3) Message-ID: Date: 6 Apr 91 20:57:34 GMT References: <28742@dime.cs.umass.edu> <3APR91.20574161@uc780.umd.edu> <28875@dime.cs.umass.edu> <49907@nigel.ee.udel.edu> <28924@dime.cs.umass.edu> Sender: usenet@xn.ll.mit.edu Organization: M.I.T. Lincoln Lab - Group 43 Lines: 18 In-Reply-To: yodaiken@chelm.cs.umass.edu's message of 6 Apr 91 13:16:11 GMT In article <28924@dime.cs.umass.edu> yodaiken@chelm.cs.umass.edu (victor yodaiken) writes: The problem with "untyped" expressions is that they are inherently ambiguous. If I'm writing about semigroups and regular languages I must tell you when a*b is concatenation and when it is semigroup addition. Figuring this out from the context alone is difficult for most people. This sounds more like overuse of operator overloading rather than anything having to do with static vs. dynamic typing. This problem could occur just as easily in C++ as in CLOS. If you never want to mix the two types then renaming the operators will remove all confusion. If you do want to mix the two types then the problem is the same whether you are using a dynamically typed language or a statically typed sortof-dynamic-typing-through-subclassing- and-virtual-functions language. - Steve Olson MIT Lincoln Laboratory olson@juilet.ll.mit.edu