Xref: utzoo comp.lang.scheme:1648 comp.lang.misc:5464 Path: utzoo!utgpu!watserv1!watmath!att!tut.cis.ohio-state.edu!zaphod.mps.ohio-state.edu!wuarchive!uunet!nuchat!sugar!ficc!peter From: peter@ficc.ferranti.com (Peter da Silva) Newsgroups: comp.lang.scheme,comp.lang.misc Subject: Re: extension languages can be darn small, yet still powerfull Message-ID: <9GS540F@xds13.ferranti.com> Date: 9 Sep 90 18:06:28 GMT References: <9008220403.AA03028@schizo> <180@smds.UUCP> Reply-To: peter@ficc.ferranti.com (Peter da Silva) Followup-To: comp.lang.misc Organization: Xenix Support, FICC Lines: 32 In article <180@smds.UUCP> rh@smds.UUCP (Richard Harter) writes: > There is a lot of similarity between Lakota and TCL; certainly the style > is similar. Lakota looks like this: > procedure change_extension file old new > set_list file_fields [split . (file)] > point_to_end_of file_fields > if not [equal? (file_fields) (old)] return > mv (file) [separate . [left_part_of file_fields]].(new) > $xxx <-> (xxx) > [op arg ...] <-> [op arg ...] > block structure by indentation rather than {} > However I was in error. Everything is a list of strings rather than > a string. Lists have an associated pointer into the list to give a > current value. That seems like a handy model. Strictly speaking in TCL you get the value of a variable with [set varname], with $varname being a shortcut like quote in lisp. I have an implementation of property lists (associative arrays) that save and restore to RFC-822 style files. Lists could be implemented the same way. One of the goals of TCL, and I think it's met that goal admirably, is to make it convenient to add new verbs in C. > Oh yes, who is doing TCL and where can one get information on it? John Ousterhout at Berkeley (ouster@sprite.berkeley.edu). I have a port to Xenix 286 and System V/386. Karl Lehenbauer (karl@sugar.hackercorp.com) has a port to the Amiga and a more up-to-date System V port. There is a VMS port out there somewhere. -- Peter da Silva. `-_-' +1 713 274 5180. 'U` peter@ferranti.com