From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 107f24,6f568a2e6507575 X-Google-Attributes: gid107f24,public X-Google-Thread: f891f,6f568a2e6507575 X-Google-Attributes: gidf891f,public X-Google-Thread: 103376,6f568a2e6507575 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-04-25 06:57:26 PST Path: newsfeed.google.com!newsfeed.stanford.edu!newsfeed.gamma.ru!Gamma.RU!dispose.news.demon.net!demon!btnet-peer0!btnet!news5-gui.server.ntli.net!ntli.net!news6-win.server.ntlworld.com.POSTED!not-for-mail From: "chris.danx" Newsgroups: comp.lang.ada,comp.lang.functional,comp.lang.misc References: <3AE67F57.722A78D8@andrewcooke.free-online.co.uk> <3AE69665.63E362CD@info.unicaen.fr> <3AE6D66A.7A3E09F8@info.unicaen.fr> Subject: Re: Thoughts and Opinions or something like that X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Message-ID: Date: Wed, 25 Apr 2001 14:52:49 +0100 NNTP-Posting-Host: 62.252.136.111 X-Complaints-To: abuse@ntlworld.com X-Trace: news6-win.server.ntlworld.com 988206739 62.252.136.111 (Wed, 25 Apr 2001 14:52:19 BST) NNTP-Posting-Date: Wed, 25 Apr 2001 14:52:19 BST Organization: ntlworld News Service Xref: newsfeed.google.com comp.lang.ada:6925 comp.lang.functional:5291 comp.lang.misc:1130 Date: 2001-04-25T14:52:49+01:00 List-Id: "Jerzy Karczmarczuk" wrote in message news:3AE6D66A.7A3E09F8@info.unicaen.fr... > "chris.danx" wrote: > > > > Hi, [posting to others //nsgroups Ada & misc// re-instated] > > (As you wish, but it has NOTHING to do with Ada, etc... And, anyway, > I don't read those newsgroups, so if somebody is kind enough to comment, > it won't reach me) > Yes, it will. I posted to more than one group so i could get a larger volume of discussion, and i'd noticed that c.l.m is not very busy otherwise i might have just stuck it there. It's a personal preference i guess, i don't cross post that often. > I remarked, concerning the "problems" with VMs > > > > Scheme VMs have GC and tail-call optimization. Java VM has threads. > > > Icon VM has coroutines (rather: co-expressions). No problems, and > > > I would add that it is MUCH easier to provide for a more complicated > > > semantics of a language using an interpreter than compiling to > > > a native code... > > > Do you mean just rip out an interpreter and forget the VM idea > > until later? That sounds like a good idea. > > I think that there is a small misunderstanding here. An interpreter > IS a Virtual Machine. I just said that in general the idea of building > a language with interesting semantic layer is easier if one has some > higher-level executable code, not the assembly stuff, that's all. So, > if I wanted to construct a language, I would build an interpreter first. > A virtual machine, if you prefer. My own, not the Java stuff... > VM is an interpreter! Thanks for reminding me, i'd temporarily forgotten that fact. I thought you meant that it'd be best to use an interpreter for the language like Hugs, or Metacombco Basic. This is what i usually call an interpreter, but i guess it really doesn't matter, there's so much overlap in computing. > Alain Fisher proposes to look at the Smalltalk machine. Yes, it is > quite powerful, and nice. However, the object-orientation is build > at a low level, and if you don't need it, there will be a cost. I don't think I would not use the smalltalk machine. The cost as you have said would be too great. > > There is plenty of small VMachines around. From Forth/Postscript, > through the SECD models (including lazy or persistent), the CAMLish > kernel used e.g. to implement Moscow SML, logical machines such as > variants of WAM, etc. One can learn a lot from them, even if there > is not much sense in "ripping" them, and adapting to a novel > language. In particular one may learn how to implement tail-recursion > and something about GC. I wasn't aware of CAMLish kernel, or WAM. Thanks for the references i'll go take peek. Most of the VMs i'd looked at used Stack based methods for computation but i didn't like that. I'd never seen a VM use registers before so i thought i'd do one to see if they're as bad as they've been made out. It seems a reverse from hardware computing. Hardware Register Performance > Stack Performance Software " " " " < " " " " Weird! > > > > - Lists [] > > > > - Arrays <> > > > > > > Don't neglect reasonable arrays, please, otherwise one day, sooner > > > or later you will regret it... > > > > What do you mean by reasonable arrays? What's unreasonable about them? > > > > Chris > > Not about THEM. > There are unreasonable arrays simulated by lists. Reasonable mean: > real arrays, secure (index checking), true random access, working well > with garbage collector (in some Lisps lists were dynamic, but arrays > static...), and fast iterators. > I would never ever simulate arrays with lists, because of performance. Having to walk a list to get to 20th element then re-walk it to get 19th is a bad thing. True random access, yes. secure (index checking) yes! Don't know about works well with garbage collector but i'd assume so, well i guess that's a yes then. Fast iterators? I know what an iterator is but what is "fast iterator"? Just a suped up version of an iterator? Thanks, Chris Campbell > > > Jerzy Karczmarczuk > Caen, France