Date: 20 Mar 90 22:52:11 GMT Organization: Microsoft Corp., Redmond WA Subject: Undocumented Functions (HP-48SX) After browsing through the manual and looking through the menus a few times, I discovered a pair of functions that weren't explained in depth. They were listed in the manual in the function summary, but no references were given. Both have names that recall Lisp functionality, and both do what you would expect. APPLY takes a name and a list, and returns an algebraic: {1 2 3} 'foo' APPLY --> 'foo(1,2,3)' 'APPLY(foo,1,2,3)' EVAL --> 'foo(1,2,3)' QUOTE returns its argument, unevaluated: 1 QUOTE --> 1 'foo' QUOTE --> 'foo' 'QUOTE(foo)' EVAL --> 'foo' 'QUOTE(1+2)' EVAL --> '1+2' At first I couldn't see any reason to have QUOTE, until I realized that it would guard an evaluatable algebraic (e.g. '1+2') from being evaluated, making such operations as: 'APPLY(foo,QUOTE(1+2))' EVAL --> 'foo(1+2)' possible. I may be going on about nothing, but what did HP have in mind when they included these functions? There is a very large syntactic difference between algebraics and programs, even though they may look the same internally, and I don't see any trivial use for these functions, except maybe internally. Of course, this could just mean they were meant to solve non-trivial problems, and I'm just missing the boat entirely, which wouldn't be the first time. Could anybody at HP enlighten me? Will this be something covered in the forthcoming book on programming? And when will that book be out? dave -- Dave Brown ...!uunet!microsoft!davidbro ...ni ssendriew eht tel eW "the night doesn't like it... looks just like your face in the moon to me"