[M3devel] introducing VAR in more places?
Dragiša Durić
dragisha at m3w.org
Mon Feb 11 12:04:09 CET 2008
A piece of code, from the middle of somewhere...
len:=Wr.Length(swr.wr);
data := TextWr.ToText(swr.wr);
VAR
s: Ctypes.char_star := M3toC.CopyTtoS(data);
ff: ADDRESS := LOOPHOLE(s, ADDRESS);
a: UNTRACED REF CHAR;
spent: CARDINAL := 0;
checkSum: Word.T := 0;
BEGIN
a := ff;
WITH sum = NEW(Sumator) DO
sum.reset();
> On Mon, 2008-02-11 at 11:20 +0100, Dragiša Durić wrote:
> Why would we, when in M3 we can have blocks as statements? Isn't that a
> mechanism to localize scope even more?
>
> d
>
> On Mon, 2008-02-11 at 09:29 +0000, Jay wrote:
> > Does anyone else find it bothersome that you can't introduce VARs
> > anywhere? Kind of like in C++?
> > Ok, or if you grant that frame size doesn't matter THAT much, and the
> > compiler might do stack packing anyway, you can move all your locals
> > up top like typical C, but still, how about for the module
> > initializer?
> > Still it seems good to me to do manual stack packing since it is often
> > so easy..
> > WITH helps, but only for "relative constants".
> >
> > It would be nice if the code below could have still loops until t0 !=
> > t1, but the repeat condition is outside the scope in which t1 is
> > available. This feels quite lame..
> >
> > - Jay
> >
> >
> >
> > ______________________________________________________________________
> >
> > > Date: Mon, 11 Feb 2008 10:24:00 +0000
> > > To: m3commit at elegosoft.com
> > > From: jkrell at elego.de
> > > Subject: [M3commit] CVS Update: cm3
> > >
> > > CVSROOT: /usr/cvs
> > > Changes by: jkrell at birch. 08/02/11 10:24:00
> > >
> > > Modified files:
> > > cm3/m3-libs/m3core/src/time/WIN32/: Time.m3
> > >
> > > Log message:
> > > no need for globals here..
> > >
> >
> >
> >
> > ______________________________________________________________________
> > Helping your favorite cause is as easy as instant messaging. You IM,
> > we give. Learn more.
--
Dragiša Durić <dragisha at m3w.org>
More information about the M3devel
mailing list