> module Attributes where > import Core_datatype attributes > sym_nm nm = ( Name_Style , Symbol_Name nm ) > dat_nm nmL = ( Name_Style , Datatype_Name nmL ) > sym_nmd = ( Symbol_Style , Named ) > sym_ind = ( Symbol_Style , Indexed ) > pr_typed = ( Pair_Style , Typed ) > pr_untyped = ( Pair_Style , Untyped ) > let_stl = ( Let_Style , Let ) > op_stl Pre = ( Opr_Style , Prefixed ) > op_stl BinL = ( Opr_Style , Linfixed ) > op_stl BinR = ( Opr_Style , Rinfixed ) > op_stl Post = ( Opr_Style , Postfixed ) > ifx_bdr = ( Binder_Style , Infix_Binder ) > pre_bdr = ( Binder_Style , Prefix_Binder ) > rcrs_stl = ( Recurse_Style , Recursive ) > hyp_ndpnd = ( Hyp_Style , NonDependent ) > grp = ( Dec_Style , Grouped ) > un_grp = ( Dec_Style , Ungrouped ) > dec_tpe = ( Dec_Style , Typed ) > dec_untpe = ( Dec_Style , Untyped ) > def_par = ( Def_Style , Parameter ) > def_unpar = ( Def_Style , NonParameter ) retrieve value associated with attribute tag > attval tag1 (( tag2 , val ) : attL ) > | tag1 == tag2 = val > | otherwise = attval tag1 attL > attval _ [] = Symbol_Name ( Name "_" ) -- hack for temporary unparser -- should be Undefined