Menu

#12 Type completion and default values

Next_Release
open
5
2002-12-16
2002-12-16
cchris
No

1/ It could be cool to declare several parameters of the
same type without repeating the type, as in
routine foo(integer i,j,k)

2/ Sometimes, it is not intuitive to ask the user of a
library to provide an argumlent that is not always useful
or that is quite often the same. So, writing

routine foo(integer i,j=1,k=0)

would allow the following calls:
foo(i2,3,1)
foo(i2) --set j to 1 and k to 0
foo(3,,2) ---set j to 0
foo(2,4) --set k to 0

3/ Allowing passing by reference, possibly using the *
symbol or the var keyword, is a must. However, if
the "array" feature is enabled, this may be less
necessary, since a sequence index is a pointer.

Discussion

  • Nobody/Anonymous

    Logged In: NO

    Menno@fwn.rug.nl
    The first point is posseble , but we have ask ourself what kind of syntax
    we wil use .
    procedure foo(sequence a,sequence z, integer b, integer c) is EU.

    procedure foo(sequence a,z integer b,c) has the same syntax as
    declaration but hard to do because it should be compatible with Eu.

    procedure foo(sequence a,z, integer b,c) is easy to do .

    The problem that to a linear syntax we should use a different
    sepparation key as par example (:)
    procedure foo(sequence a:z,integer b:c) then you can make harder
    error check on the syntax .

     
  • cchris

    cchris - 2002-12-19

    Logged In: YES
    user_id=670205

    From Menno's comment: snce it is never mandatory to use
    extended syntax, any scheme is acceptable as lon as a
    subschme of ot is Eu's syntax, IMHO.

     
MongoDB Logo MongoDB