Questions and discussion on UBF

Fabien Dagnat Fabien.Dagnat@REDACTED
Tue Apr 29 14:01:02 CEST 2003


Erik Pearson wrote:
 > Hi Fabien,

 > I think I see what you mean here, but please correct me if not. This
 > would basically be extending the UBF(C) from
 >   Msg$  => {Reply, NextState}$
 > to
 >   {SendTag, Msg}$ => {ReplyTag, Reply, NextState}$
 > In short, I think this would start breaking down the simplicity of UBF.
 > Can't you get that just by always using types which are structures, and
 > having the first element be a constant which serves as your tag?

Joe Armstrong wrote:
> I think the answer to most of these questions has to do with complexity.
>   At the outset  I wanted things to be *as simple  as possible* - that
> why things  are as they are. If  you want more complexity  I think you
> should layer them on top of the existing infratructure.
>   /Joe
I agree with both of these answers, but I think they don't go against my 
point of view.
Fact 1: if everyone is following the rule that every message must be 
tagged, why not imposing it? Perhaps my proposal was to much different 
from erlang and the solution would be to impose either Tag or {Tag,...}. 
Fact 2: The interest of contracts (IMHO) is impose some rules to get 
some guaranties.
Fact 3: In all my proposal the increment of complexity will only be:
   - on the contract checker that will have to include some state 
management and basic boolean expression evaluation
   - on the contract compiler
I don't think they add complexity to all the machinery of types and 
conversion and to the programs people (client) would have to write 
(except from the contract).

Fabien Dagnat -- Maître de Conférences
  Mel : Fabien.Dagnat@REDACTED
  Web :
  Tel : (0|33) 2 29 00 14 09
  Fax : (0|33) 2 29 00 12 82
  Adr : Ecole Nationale Superieure des Télécommunication de Bretagne
        Departement Informatique
        Technopôle Brest Iroise
        BP 832
        29285 Brest Cedex

More information about the erlang-questions mailing list