Newbie questions about Pliant

Newbie questions about Pliant

accessing fields of exported type

can access fields of a type instance if done in the module.
but not in the driver program, when the type is exported.
Message posted by borisreitman on 2001/11/20 21:52:03
I am probably missing something simple.
Here is the listing of my two files, and the error:
 

boris@lebesgue:~/pliant/borisreitman$ cat -n testmodule.pli 
     1  # testmodule.pli
     2  type Y
     3    field Int z
     4
     5  export Y 
boris@lebesgue:~/pliant/borisreitman$ cat -n testprg.pli 
     1  # testprg.pli
     2  module "/borisreitman/testmodule.pli"
     3
     4  gvar Y y;
     5  y:z := 10;
     6
     7  #console y:z eol
boris@lebesgue:~/pliant/borisreitman$ pliant testprg.pli 
Failed to compile y   ('z')
  compile file:testprg.pli (internals) 5 1
  compile file:testprg.pli (internals) 5 5
  compile file:testprg.pli (internals) 5 5
  compile file:testprg.pli (internals) 5 10
  compile file:testprg.pli (internals) 5 10
  compile file:testprg.pli (internals) 5 1
  compile file:testprg.pli (internals) 5 1
  parse file:testprg.pli (internals) 8 1
  module file:testprg.pli
Message posted by maybe Hubert Tonneau on 2001/11/20 22:45:43
If you want to export the 'z' field of the 'Y' data type, then you have
to write (because a field is a method in facts):

export Y '. z'
Message posted by maybe Patrice Ossona de Mendez on 2001/11/21 08:32:50
If you want to export the type and its fields, you may also declare it in
a "public" bloc. What you will write after the public bloc won't be public 
anymore:

public
  type Y
    field ...
type Z
  ...

-> Y and its field access methods are exported, Z won't.

If you want to export everything from one point to another, you may also
use public/private without blocs:
public
type Y
  ...
...
private
type Z
  ...
...