1 2 module Attributes where 3 4 import Core_datatype 5 6 7 8 sym_nm nm = ( Name_Style , Symbol_Name nm ) 9 10 dat_nm nmL = ( Name_Style , Datatype_Name nmL ) 11 12 13 sym_nmd = ( Symbol_Style , Named ) 14 15 sym_ind = ( Symbol_Style , Indexed ) 16 17 18 pr_typed = ( Pair_Style , Typed ) 19 20 pr_untyped = ( Pair_Style , Untyped ) 21 22 23 let_stl = ( Let_Style , Let ) 24 25 26 op_stl Pre = ( Opr_Style , Prefixed ) 27 28 op_stl BinL = ( Opr_Style , Linfixed ) 29 30 op_stl BinR = ( Opr_Style , Rinfixed ) 31 32 op_stl Post = ( Opr_Style , Postfixed ) 33 34 35 ifx_bdr = ( Binder_Style , Infix_Binder ) 36 37 pre_bdr = ( Binder_Style , Prefix_Binder ) 38 39 40 rcrs_stl = ( Recurse_Style , Recursive ) 41 42 43 hyp_ndpnd = ( Hyp_Style , NonDependent ) 44 45 46 47 grp = ( Dec_Style , Grouped ) 48 49 un_grp = ( Dec_Style , Ungrouped ) 50 51 dec_tpe = ( Dec_Style , Typed ) 52 53 dec_untpe = ( Dec_Style , Untyped ) 54 55 56 def_par = ( Def_Style , Parameter ) 57 58 def_unpar = ( Def_Style , NonParameter ) 59 60 61 62 63 64 attval tag1 (( tag2 , val ) : attL ) 65 | tag1 == tag2 = val 66 | otherwise = attval tag1 attL 67 68 attval _ [] = Symbol_Name ( Name "_" ) -- hack for temporary unparser -- should be Undefined