MakeExpression problem

*To*: mathgroup at smc.vnet.net*Subject*: [mg77095] MakeExpression problem*From*: Hannes Kessler <HannesKessler at hushmail.com>*Date*: Sun, 3 Jun 2007 06:13:13 -0400 (EDT)

Hello, here is a small package defining and using a generic MakeExpression interpretation rule: BeginPackage["DoubleLongRightArrow`"]; {test1,test2,a,b,interpretation}; Begin["`Private`"]; MakeExpression[RowBox[{x_,"\[DoubleLongRightArrow]",y_}],form_]:= MakeExpression[RowBox[{"interpretation"}],form]; test1=a\[DoubleLongRightArrow]b; (*The following assigment forces an interpretation by additional application of //ToBoxes//ToExpression*) test2=a\[DoubleLongRightArrow]b//ToBoxes//ToExpression; End[]; EndPackage[]; Here is a small notebook which calls the package. The typesetted \[DoubleLongRightArrow] looks in the notebook like ==>. Needs["DoubleLongRightArrow`"]; (*The following expression is correctly interpreted in the notebook:*) In[] a==>b Out[] interpretation (*The expression read in the package is not interpreted:*) In[] test1 Out[] a==>b (*Only the second expression converted first to boxes and then again to an expression is interpreted correctly*) In[] test2 Out[] interpretation My question is, how can I define an interpretation rule in a package and use it in the same or other packages, not only in notebooks? Regards, Hannes Kessler

**Follow-Ups**:**Re: MakeExpression problem***From:*"Chris Chiasson" <chris@chiasson.name>