[lisaac-Bugs][312098] SELF argument type and genericity

lisaac-bugs at alioth.debian.org lisaac-bugs at alioth.debian.org
Mon Nov 30 09:10:44 UTC 2009


Bugs item #312098, was changed at 21/11/2009 11:11 by Benoit Sonntag
You can respond by visiting: 
https://alioth.debian.org/tracker/?func=detail&atid=413092&aid=312098&group_id=100200

>Status: Closed
Priority: 3
Submitted By: Damien Bouvarel (dams-guest)
Assigned to: Nobody (None)
Summary: SELF argument type and genericity 
Target Milestone: None
Category: Lisaac Compiler


Initial Comment:
Again this may not be a bug, but in the fail example below if you replace:

 - Self:SELF '+' Left other:SELF :SELF <-  by
 - Self:SELF '+' Left other:VECTOR(E) :SELF <-

it compiles ok, i thought the SELF type was equivalent to the proto type?

Section Header
 + name := VECTOR(E);
Section Inherit
 - parent:OBJECT := OBJECT;
Section Public

 - Self:SELF '+' Left other:SELF :SELF <-
 (
  Self
 );


Section Header
 + name := ERROR;
Section Inherit
 - parent:OBJECT := OBJECT;
Section Public
 
 - main <-
 (  + v1,v2,v3:VECTOR(INTEGER);

    v1 := VECTOR(INTEGER).clone;
    v2 := VECTOR(INTEGER).clone;

    v3 := v1 + v2;
 );

Compiler output:

Type expression (VECTOR(Expanded INTEGER)) is not Expanded or Strict for SELF argument type.
Line 8 column 27 in VECTOR(/home/dams/vector.li):
 - Self:SELF '+' Left other:SELF :SELF <-
                           ^

Line 9 column 11 in ERROR(/home/dams/error.li):
 (  + v1,v2,v3:VECTOR(INTEGER);
           ^

Line 14 column 14 in ERROR(/home/dams/error.li):
    v3 := v1 + v2;




----------------------------------------------------------------------

>Comment By: Benoit Sonntag (sonntag-guest)
Date: 30/11/2009 10:10

Message:
It's not a bug.

You can write VECTOR like :

Section Header
 + name := Strict VECTOR(E);
Section Inherit
 - parent:OBJECT := OBJECT;
Section Public

 - Self:SELF '+' Left other:SELF :SELF <-
 (
  Self
 );


----------------------------------------------------------------------

You can respond by visiting: 
https://alioth.debian.org/tracker/?func=detail&atid=413092&aid=312098&group_id=100200



More information about the Lisaac-devel mailing list