OASIS eXtensible Access Control Markup Language (XACML) TC

 View Only

RE: [xacml] RE: Your input needed on Comment#33. Forwarded messag efrom Daniel Engovatov.

  • 1.  RE: [xacml] RE: Your input needed on Comment#33. Forwarded messag efrom Daniel Engovatov.

    Posted 11-25-2002 10:31
     MHonArc v2.5.2 -->
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    xacml message

    [Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


    Subject: RE: [xacml] RE: Your input needed on Comment#33. Forwarded messag efrom Daniel Engovatov.


    On Fri, 22 Nov 2002, Daniel Engovatov wrote:
    
    > Let me elaborate a bit on why I agree with Seth.
    >
    > Since the function name (and therefore type) is a parameter for the map
    > function, you do not now what type it will return until you now the
    > value of this parameter. In the current, limited functionality system we
    > do no the value at the "compile" time. To provide a uniform
    > extensibility mechanism for these "higher" order functions, we may need
    > to allow the value of each argument to be a parameter with a value
    > determined at the runtime. In this case the functions that take this map
    > output as an argument can not be verified to accept the correct data
    > type in advance.  In the case that the map type is declared and the
    > function name is a runtime valued parameter - inappropriate name will
    > result in an Indeterminate: a condition that we have a clear mechanism
    > to deal with.  For this reason - ALL XACML functions should have
    > declared, not deduced, type.
    
    Declaring a type of a map function by putting the return type in the name,
    such as "integer-map" doesn't mean much more than restricting the function
    name to primitive types.  Furthermore, you are only "declaring" a partial
    type, because you are not "declaring" the type of the argument. Also,
    "integer-map" sounds like you are going to be "mapping a bunch of
    integers".
    
    Also, this forces you to "invent" a name for each type you may introduce
    into XACML for a map to all functions and have it work.  For example, if
    you invent a type "http://www.xyz.com/datatype#heathrecord"; and you have a
    function called "function:RecordID" that takes an element of type
    "http://www.xyz.com/Datatype@heathreaord"; and returns a
    "http://www.xyz.com/datatype#RecordId";.
    
    If you want to use a function then you have to define a function called
    "?????-map" so it will map a bag of "http://....healthrecord"; to a bag of
    "http:///....RecordId";. So, now you have to call it something.
    
    Let me say that giving a rose another name, doesn't make it something
    different than a rose.
    
    What we have here is the generic application of the SAME FUNCTIONALITY, so
    why give the same functionality different names?
    
    The type of the map function is:
    
    map :: (a -> b) -> [a] -> [b]
    
    The definition of the map function is:
    
    map f []     = []
    map f (x:xs) = (f x) : (map f xs)
    
    Where f is a function from type a to type b, and the function is just
    applied to every element of the bag.
    
    So why give it different names?
    
    integer-map = map
    string-map = map
    date-map = map
    duration-map = map
    etc.
    
    -Polar
    
    >
    >