DMN 1.0 FTF Avatar
  1. OMG Issue

DMNFTF — Semantics of equality should be clarified

  • Key: DMNFTF-25
  • Status: closed  
  • Source: Oracle ( Gary Hallmark)
  • Summary:

    In the semantic domain, we use boldface '=' to mean identity. But in FEEL syntax, italic '=' is specified in 9.3.2.11, primarily in table entries for grammar rule 51.a.

    (side comment: all the tables in 9.3.2.11 need table numbers.)

    Also confusingly, the semantic mapping table entry for 51.a where FEEL Syntax is 'e1 < e2' also applies to 'e1 = e2'. This must be clarified.

    To avoid doubt about whether '=' means equals or identical, we should write identical(a,b) (or 'a is b') instead of a=b when inquiring whether or not 2 elements of the semantic domain are identical. For example,

    identical("1", 1) is false

    "1" = 1 is null

    We should clarify the existing rules that imply that

    1/0 = null is true

    1/0 = 1/0 is null

    1/0 != 1/0 is null

    1/0 != null is false

    1/0 in (0, null) is true

    By symmetry, we should also have

    null = 1/0 is true

    null != 1/0 is false

    The semantic rules don't explicitly cover the symmetry.

    Semantics of if/then/else must be clarified as 'if identical(test, true) then ... else ...' A true test result will return the interpreted then part. A false or null (or anything other than true) test result will return the interpreted else part. Similarly, a list filter retains list items where the test is true and omits items where the test evaluates to anything other than true.

  • Reported: DMN 1.0b1 — Thu, 2 Jan 2014 23:42 GMT
  • Disposition: Resolved — DMN 1.0
  • Disposition Summary:

    Revise FEEL semantics in clause 10.3 as indicated.

  • Updated: Tue, 21 Apr 2015 01:19 GMT