*** *** RTA 2003 Maude 2.1 Demo: *** Polymorphic list. *** fmod POLY-LIST is sort List . op nil : -> List [ctor] . op __ : Universal List -> List [ctor poly (1)] . endfm fmod POLY-LIST-TEST is pr POLY-LIST + CONVERSION + QID . op list2string : List -> String . var L : List . var S : String . var Q : Qid . var R : Rat . var F : Float . eq list2string(nil) = "" . eq list2string(S L) = S + list2string(L) . eq list2string(Q L) = "'" + string(Q) + list2string(L) . eq list2string(R L) = string(R, 10) + list2string(L) . eq list2string(F L) = string(F) + list2string(L) . endfm red list2string("The answer is " 42.0 " but that is only " 1/2 " of the " 'problem "." nil) .