Xref: utzoo comp.lang.misc:1482 comp.lang.pascal:831 Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!mailrus!tut.cis.ohio-state.edu!bloom-beacon!oberon!cit-vax!ucla-cs!maui.Berkeley.EDU!art From: art@maui.Berkeley.EDU (Arthur Goldberg) Newsgroups: comp.lang.misc,comp.lang.pascal Subject: Re: Threatening Pascal Loops Message-ID: <11503@shemp.CS.UCLA.EDU> Date: 21 Apr 88 23:17:20 GMT References: <793@virginia.acc.virginia.edu> <2827@enea.se> <1557@pasteur.Berkeley.Edu> <2773@mmintl.UUCP> <294@tmsoft.UUCP> <11047@shemp.CS.UCLA.EDU> <3364@omepd> <11369@shemp.CS.UCLA.EDU> Sender: news@CS.UCLA.EDU Lines: 14 A language developed i at IBM research called Hermes (formerly NIL) addresses these issues with the concept of "typestate". The basic idea is that at COMPILE-TIME the current state of each variable is known at each line in the p code. For example,a pointer may be NIL, pointing to an uninitialized data item, or pointing to an initialized item. The operations allowed on a variable depend on its type state. Only initizlized variables can be found on the right hand side of assignments, or sendt in messages, for example. See Strom et . al . publications from IBM research. Pardon the appearance. Im using an unidentified editor. Arthur Goldberg UCLA computer Science Department art@cs.ucla.edu