comp.lang.ada
 help / color / mirror / Atom feed
From: "chris.danx" <chris.danx@ntlworld.com>
Subject: Re: Thoughts and Opinions or something like that
Date: Wed, 25 Apr 2001 14:52:49 +0100
Date: 2001-04-25T14:52:49+01:00	[thread overview]
Message-ID: <nEAF6.2109$lq1.113434@news6-win.server.ntlworld.com> (raw)
In-Reply-To: 3AE6D66A.7A3E09F8@info.unicaen.fr


"Jerzy Karczmarczuk" <karczma@info.unicaen.fr> 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





  reply	other threads:[~2001-04-25 13:52 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-24 17:12 Thoughts and Opinions or something like that chris.danx
2001-04-24 21:35 ` Ted Dennison
2001-04-24 23:27   ` chris.danx
2001-04-25  7:40 ` Andrew Cooke
2001-04-25 10:42   ` chris.danx
2001-04-25 17:26     ` Warren W. Gay VE3WWG
2001-04-26 14:22     ` Marcin 'Qrczak' Kowalczyk
     [not found]   ` <3AE69665.63E362CD@info.unicaen.fr>
2001-04-25 10:51     ` chris.danx
2001-04-25 13:51       ` Jerzy Karczmarczuk
2001-04-25 13:52         ` chris.danx [this message]
     [not found]     ` <3AE6DAB3.899FF645@andrewcooke.free-online.co.uk>
2001-04-25 14:30       ` chris.danx
     [not found]       ` <3AE7E37B.F384DCDA@info.unicaen.fr>
2001-04-26  9:02         ` Play with virtual machines (Was: Thoughts and Opinions...) chris.danx
     [not found]         ` <3AE81234.267643AC@kfunigraz.ac.at>
2001-04-26 12:57           ` chris.danx
2001-04-27  2:14             ` Larry Elmore
2001-04-27  3:27               ` Goldhammer
2001-05-03 17:00                 ` singlespeeder
2001-05-03 17:03                   ` singlespeeder
2001-04-25  9:06 ` Thoughts and Opinions or something like that Tarjei T. Jensen
2001-04-25 12:12   ` Jeffrey M. Vinocur
2001-04-26  2:12     ` Nicholas James NETHERCOTE
2001-04-26 18:23     ` Keith Thompson
2001-04-25 12:09 ` Alain Fischer
2001-04-27 18:20 ` brian hiles
2001-04-28  1:27   ` Gregory Toomey
2001-04-28 21:34     ` chris.danx
2001-04-28 21:34   ` chris.danx
2001-04-30  8:31     ` Jon Beniston
2001-05-04  8:49 ` Biep @ http://www.biep.org
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox