Path: utzoo!attcan!uunet!hsi!stpstn!cox From: cox@stpstn.UUCP (Brad Cox) Newsgroups: comp.object Subject: Re: code blocks (aka closures) Message-ID: <5338@stpstn.UUCP> Date: 6 Jul 90 21:10:32 GMT References: <12396@june.cs.washington.edu> <1112@carol.fwi.uva.nl> <5305@stpstn.UUCP> <11002@alice.UUCP> Reply-To: cox@stpstn.UUCP (Brad Cox) Organization: Stepstone Lines: 30 [Apologies if this was transmitted twice. We've been having networking problems and I'm not sure if my first try succeeded]. In article <11002@alice.UUCP> ark@alice.UUCP (Andrew Koenig) writes: :There are three problems in extending a language like C to :support closures (Smalltalk blocks, Lisp lambda expressions :in Lisps with lexical scoping, etc). :I think we can all forget about translating this kind of thing to :C, at least for the time being. The article, "Representing Control in the Presence of First-class Continuations, (Hieb et all; Proceedings of the Sigplan90 Conference on Programming Language Design and Implementation, November 1990) makes some fascinating claims that you should be aware of, roughly to the effect that a segmented stack architecture could support full-scale continuations in C without (any? much?) degradation over C's current approach. Although I'm keenly aware of the difficulties of pulling off what would probably involve a new code generation approach underneath C, as opposed to building new superstructures on top. But some of the higher-level superstructures, higher even than C++ (gate/block level) or Objective-C (chip level), particularly card-level systems like Fabrik, Metaphor, or LabView, may not be possible to do in fully robust form without doing something new at the foundation level. -- Brad Cox; cox@stepstone.com; CI$ 71230,647; 203 426 1875 The Stepstone Corporation; 75 Glen Road; Sandy Hook CT 06482