Path: utzoo!attcan!uunet!lll-winken!ames!pasteur!agate!bionet!ig!arizona!gudeman From: gudeman@arizona.edu (David Gudeman) Newsgroups: comp.lang.misc Subject: The paradigm of Icon Message-ID: <8611@megaron.arizona.edu> Date: 9 Jan 89 03:22:39 GMT Organization: U of Arizona CS Dept, Tucson Lines: 35 In article <2630@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes: >I ... define a procedural language as one in which all modules have >a parent-child relationship with each other. That strikes me as a peculiar definition. One could rule out any language with a goto. Each to his own, but it would help if you would make such non-standard definitions clear earlier in a discussion. > I also don't classify languages >by implementation details... for example, SmallTalk uses messages to pass >data between procedures, but since they generally have a parent-child >relationship (one calls the other) they're still procedures. Actually, I suspect that SmallTalk is implemented with procedure calls. The important thing is that it encourages the programmer to think of programming as the creation of objects and to think of computation as the interaction of objects, so it is called an object-oriented language. >Icon uses >a stack to pass a stream of data between concurrently executing modules. >They have a source/drain relationship. It's non-procedural. Since Icon doesn't have Modula-style modules can I assume you are using the term generically and mean ``expressions''? Also, Icon doesn't have streams or concurency (or anything much like concurency), so I'm having trouble visualizing anything in Icon that fits this description, can you give an example? Maybe it would help if you defined your terms. David Gudeman Department of Computer Science gudeman@arizona.edu Gould-Simpson Science Building {allegra,cmcl2,ihnp4,noao}!arizona!gudeman The University of Arizona 602-621-2858 Tucson, AZ 85721