include ..\Utilitys.pmt def scand /# dict key -- dict n #/ 0 var flag var ikey len for var i i 1 2 tolist sget ikey == if i var flag exitfor endif endfor flag enddef def getd /# dict key -- dict data #/ scand dup if get 2 get nip else drop "Unfound" endif enddef def setd /# dict ( key data ) -- dict #/ 1 get rot swap scand rot swap dup if set else put endif enddef /# ---------- MAIN ---------- #/ ( ( "name" "Rocket Skates" ) ( "price" 12.75 ) ( "color" "yellow" ) ) dup ( ( "price" 15.25 ) ( "color" "red" ) ( "year" 1974 ) ) len for get rot swap setd swap endfor swap pstack