Re: [stack] What does "concatenative" actually mean?
John Nowak <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
On Mar 3, 2009, at 5:12 PM, John Cowan wrote: > John Nowak scripsit: > >> The only possible alternative I can think of is to reference count >> everything and error if attempting to use the world value when it has >> more than one reference to it. Unfortunately, this approach is >> unsatisfactory in a number of ways that I could elaborate on if >> anyone >> is interested. > > Hmm. Joy doesn't do that: it just only lets you have pointers to the > world, and you can copy them all you want, but there is only one > world. > (Actually, there is one world per open file, so funky interactions > between > files are still possible, as well as the case of reading in a list > and then executing it.) Aye. In order to have purity in the same sense as Haskell, you need exactly one world. A function like 'read_file' would need to take both the appropriate file handle and the world object. Allowing multiple references to the same world object through pointers (as Joy would have to) would break things. This is why you'd need the static type system - John