[Swift-devel] print misbehavin'

Mihael Hategan hategan at mcs.anl.gov
Wed Apr 18 12:09:27 CDT 2007


On Wed, 2007-04-18 at 11:59 -0500, Yong Zhao wrote:
> I was referring to the mechnism to put extra stuff along with an object.
> anyways, if we change all the translations of constants to swift objects,
> we might be able to do this. But it is a complicated issue once you have
> all the paths and expressions and constants mixed together.

I'm not following.

> 
> Yong.
> 
> On Wed, 18 Apr 2007, Mihael Hategan wrote:
> 
> > On Wed, 2007-04-18 at 10:23 -0500, Yong Zhao wrote:
> > > Yeah, I wanted to wrap the karajan functions such as sum, product etc
> > > and return handles but then realized that karajan did not keep the type
> > > information.
> >
> > It does not have a type system. Of course it doesn't keep type info, nor
> > would it have polymorphism.
> >
> > But I don't think that's an issue. We've already established that from
> > the beginning and created a swift specific type system. I don't see why
> > that cannot be used.
> > I.e. instead of sum, you translate to vdl:sum which unwraps the values,
> > does the addition and wraps the result back. This is pretty much what
> > any dynamic type system would do.
> >
> > >  We need to find a way to make this right.
> > >
> > > Yong.
> > >
> > > On Wed, 18 Apr 2007, Ben Clifford wrote:
> > >
> > > >
> > > >
> > > > On Thu, 12 Apr 2007, Mihael Hategan wrote:
> > > >
> > > > > Actually that will break user defined procs, since they expect wrapped
> > > > > values.
> > > >
> > > > user defined procs are broken either way - at present, they can't take
> > > > expressions are parameters:
> > > >
> > > > q=p(3) correctly outputs a 3 in something like this:
> > > >
> > > >   type file {};
> > > >
> > > >   (file i) p(int n) {
> > > >     app {
> > > >       echo n stdout=@filename(i);
> > > >     }
> > > >   }
> > > >
> > > >   file q <"volume.blah">;
> > > >
> > > >   q=p(3);
> > > >
> > > > but saying q=p(1+2) breaks with this:
> > > >
> > > > Incompatible argument type for var: expected handle; got java.lang.Double.
> > > > Offending argument: 3.0
> > > >
> > > > for pretty much the same reason - its expecting a wrapped value but
> > > > expression evaluation is providing an unwrapped value.
> > > >
> > > > bleugh.
> > > >
> > > > --
> > > > _______________________________________________
> > > > Swift-devel mailing list
> > > > Swift-devel at ci.uchicago.edu
> > > > http://mail.ci.uchicago.edu/mailman/listinfo/swift-devel
> > > >
> > >
> >
> >
> 




More information about the Swift-devel mailing list