packages feed

zeolite-lang-0.24.0.0: src/Test/testfiles/concrete.0rx

concrete/*!!!*/Type<#a, #b // <- contravariant params
             |#c, #d // <- invariant params
             |#e, #f /* <- covariant params*/> {
  refines /* <- used with value interfaces */ Parent
  refines Other<Type2<#a>, #f>
  defines /* <- used with type interfaces */ Equals<Type<#a, #b, #c, #d, #e, #f>>
  #a allows /* <- used with value-interface filters */ Parent
  #b requires Type2<#a>
  #c defines // <- used with type-interface filters
    Equals<#c /* <- a type arg */>

  visibility _

  @category create<#x>
    #x requires Type1<Type3>
  () -> (optional Type1<Type3>)

  visibility #self

  @type create2<#y>
    #y requires #x
    #y allows T2
    #y defines T3
  () -> (optional #x)

  visibility Append<String>

  @value get () -> (Type1<Type3>)
  @value set (Type1<Type3>) -> ()
}