Navigation
Synopsis The least-upperbound (lub) between two types.
Function
  1. Symbol lub(Symbol s, s)
  2. default Symbol lub(Symbol s, Symbol t)
  3. Symbol lub(\value(), Symbol t)
  4. Symbol lub(Symbol s, \value())
  5. Symbol lub(\void(), Symbol t)
  6. Symbol lub(Symbol s, \void())
  7. Symbol lub(\int(), \num())
  8. Symbol lub(\int(), \real())
  9. Symbol lub(\int(), \rat())
  10. Symbol lub(\rat(), \num())
  11. Symbol lub(\rat(), \real())
  12. Symbol lub(\rat(), \int())
  13. Symbol lub(\real(), \num())
  14. Symbol lub(\real(), \int())
  15. Symbol lub(\real(), \rat())
  16. Symbol lub(\num(), \int())
  17. Symbol lub(\num(), \real())
  18. Symbol lub(\num(), \rat())
  19. Symbol lub(\set(Symbol s), \set(Symbol t))
  20. Symbol lub(\set(Symbol s), \rel(list[Symbol] ts))
  21. Symbol lub(\rel(list[Symbol] ts), \set(Symbol s))
  22. Symbol lub(\rel(list[Symbol] l), \rel(list[Symbol] r))
  23. Symbol lub(\rel(list[Symbol] l), \rel(list[Symbol] r))
  24. Symbol lub(\rel(list[Symbol] l), \rel(list[Symbol] r))
  25. Symbol lub(\rel(list[Symbol] l), \rel(list[Symbol] r))
  26. Symbol lub(\rel(list[Symbol] l), \rel(list[Symbol] r))
  27. Symbol lub(\rel(list[Symbol] l), \rel(list[Symbol] r))
  28. Symbol lub(\list(Symbol s), \list(Symbol t))
  29. Symbol lub(\list(Symbol s), \lrel(list[Symbol] ts))
  30. Symbol lub(\lrel(list[Symbol] ts), \list(Symbol s))
  31. Symbol lub(\lrel(list[Symbol] l), \lrel(list[Symbol] r))
  32. Symbol lub(\lrel(list[Symbol] l), \lrel(list[Symbol] r))
  33. Symbol lub(\lrel(list[Symbol] l), \lrel(list[Symbol] r))
  34. Symbol lub(\lrel(list[Symbol] l), \lrel(list[Symbol] r))
  35. Symbol lub(\lrel(list[Symbol] l), \lrel(list[Symbol] r))
  36. Symbol lub(\lrel(list[Symbol] l), \lrel(list[Symbol] r))
  37. Symbol lub(\tuple(list[Symbol] l), \tuple(list[Symbol] r))
  38. Symbol lub(\tuple(list[Symbol] l), \tuple(list[Symbol] r))
  39. Symbol lub(\tuple(list[Symbol] l), \tuple(list[Symbol] r))
  40. Symbol lub(\tuple(list[Symbol] l), \tuple(list[Symbol] r))
  41. Symbol lub(\tuple(list[Symbol] l), \tuple(list[Symbol] r))
  42. Symbol lub(\map(\label(str lfl, Symbol lf), \label(str ltl, Symbol lt)), \map(\label(str rfl, Symbol rf), \label(str rtl, Symbol rt)))
  43. Symbol lub(\map(\label(str lfl, Symbol lf), \label(str ltl, Symbol lt)), \map(\label(str rfl, Symbol rf), \label(str rtl, Symbol rt)))
  44. Symbol lub(\map(\label(str lfl, Symbol lf), \label(str ltl, Symbol lt)), \map(Symbol rf, Symbol rt))
  45. Symbol lub(\map(Symbol lf, Symbol lt), \map(\label(str rfl, Symbol rf), \label(str rtl, Symbol rt)))
  46. Symbol lub(\map(Symbol lf, Symbol lt), \map(Symbol rf, Symbol rt))
  47. Symbol lub(\bag(Symbol s), \bag(Symbol t))
  48. Symbol lub(\adt(str n, list[Symbol] _), \node())
  49. Symbol lub(\node(), \adt(str n, list[Symbol] _))
  50. Symbol lub(\adt(str n, list[Symbol] lp), \adt(n, list[Symbol] rp))
  51. Symbol lub(\adt(str n, list[Symbol] lp), \adt(n, list[Symbol] rp))
  52. Symbol lub(\adt(str n, list[Symbol] lp), \adt(str m, list[Symbol] rp))
  53. Symbol lub(\adt(str ln, list[Symbol] lp), Symbol::\cons(Symbol b, _, list[Symbol] _))
  54. Symbol lub(Symbol::\cons(Symbol la, _, list[Symbol] _), Symbol::\cons(Symbol ra, _, list[Symbol] _))
  55. Symbol lub(Symbol::\cons(Symbol a, _, list[Symbol] lp), \adt(str n, list[Symbol] rp))
  56. Symbol lub(Symbol::\cons(Symbol _, _, list[Symbol] _), \node())
  57. Symbol lub(\alias(str _, list[Symbol] _, Symbol aliased), Symbol r)
  58. Symbol lub(Symbol l, \alias(str _, list[Symbol] _, Symbol aliased))
  59. Symbol lub(\parameter(str _, Symbol bound), Symbol r)
  60. Symbol lub(Symbol l, \parameter(str _, Symbol bound))
  61. Symbol lub(\reified(Symbol l), \reified(Symbol r))
  62. Symbol lub(\reified(Symbol l), \node())
  63. Symbol lub(Symbol::\func(Symbol lr, list[Symbol] lp), Symbol::\func(Symbol rr, list[Symbol] rp))
  64. Symbol lub(\label(_,Symbol l), Symbol r)
  65. Symbol lub(Symbol l, \label(_,Symbol r))
  66. list[Symbol] lub(list[Symbol] l, list[Symbol] r)
  67. default list[Symbol] lub(list[Symbol] l, list[Symbol] r)
Usage import Type;
Description This function documents and implements the lub operation in Rascal's type system.
Is this page unclear, or have you spotted an error? Please add a comment below and help us to improve it. For all other questions and remarks, visit ask.rascal-mpl.org.