Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

what is sysRPL format

9 views
Skip to first unread message

jonathanstanley03

unread,
Nov 17, 2009, 6:18:50 PM11/17/09
to
on the previous post with the FEM4849.... at hpcalc.org it states that
it is written in sysRPL format... I know what RPN is, kinda.... but
what is sysRPL.. I have a 50G

Yann

unread,
Nov 18, 2009, 2:50:35 AM11/18/09
to
This is pretty technical.

RPN is more about the way you handle your calculation on the stack.

UserRPL is the language you can use on HP calculators.

SysRPL cannot be programmed "directly".
It is a set of pointers into ROM or pre-defined Libraries.
Technically, UserRPL is also a set of pointers. But these ones are
officially available to users.


UserRPL commands are "safe", they are meant to be used by casual
programmers without any risk to harm their data.
SysRPL command are "raw", they can lead to major issue, such as "Port
0 memory lost", if badly handled.

UserRPL command are available and editable directly on the calculator.
SysRPL command must be programmed through an editor, then compiled.
Although there are some possibilites to do so on the calculator, you
would be better off programming on a PC environment.

So why using SysRPL then ? Because they are faster, commands are much
more numerous and more precise, you can handle things which are
unaccessible to UserRPL (such as NULLLAM and RTNSTK) and it helps
creating more compact codes. Seems interesting ? Well, it comes with a
pretty high complexity cost too.

Summary :
UserRPL ==> For users
SysRPL ==> For programmers

PremiumBlend

unread,
Nov 18, 2009, 4:51:08 PM11/18/09
to
On Nov 17, 6:18 pm, jonathanstanley03 <jonathanstanle...@yahoo.com>
wrote:

> on the previous post with the FEM4849.... at hpcalc.org it states that
> it is written in sysRPL format... I know what RPN is, kinda.... but
> what is sysRPL.. I have a 50G

Hello Jonathan,

I do not agree with Yann's opinion concerning UserRPL
and casual programmers. I have written some pretty
robust programs in UserRPL and I don't think the
use of the language should be minimized. While it is
evident that SysRPL offers a programmer a plethora
of commands that are inherently faster than UserRPL,
it all boils down to what your needs are.

Regards,

Mark

John H Meyers

unread,
Nov 19, 2009, 7:11:01 AM11/19/09
to
On Wed, 18 Nov 2009 15:51:08 -0600, Mark wrote:

> I do not agree with Yann's opinion concerning UserRPL
> and casual programmers. I have written some pretty
> robust programs in UserRPL and I don't think the
> use of the language should be minimized. While it is
> evident that SysRPL offers a programmer a plethora
> of commands that are inherently faster than UserRPL,
> it all boils down to what your needs are.

Don't commands of SysRPL and UserRPL operate at the same speed?

There are, however, a huge lot more of the former,
many of which are low-level and risky for non-expert use.

UserRPL commands also do extra operations internally, however,
to save arguments, remember the last command,
provide for error recovery, and also the highly important
validation of the correct number and types of arguments,
without which the calc would be crashing all the time,
which may be thought of as adding extra weight to the saddle bags.

UserRPL syntax is also compiled to create extra SysRPL commands
as needed to create the proper logic for "IF" and all that,
and to create illusions such as \<< this is a program,
and it will be put in the stack, instead of executed immediately,
when encountered within your UserRPL program \>>
as well as the illusion of 'algebraic objects'
which are actually RPL programs that are displayed by a decompiler
as if they were the original formulas which the compiler was fed.

SysRPL syntax is pretty much WYSIWYG, with a simpler compiler,
whereas the UserRPL compiler (and decompiler) have a lot more work to do,
to create all the illusions of the UserRPL environment.

"Internal" functions are, nonetheless, made available to UserRPL programs,
via the special "hook" commands: SYSEVAL (call any function having a permanent
ROM address), LIBEVAL (call any function of any library, including built-in libs),
and FLASHEVAL (call any function in other ROM banks), which leads to yet another
"hybrid" way of programming, sort of like speaking "Franglais" :)

http://french.about.com/od/franglais/Franglais_English_in_French.htm
http://www.urbandictionary.com/define.php?term=Franglish
http://en.wikipedia.org/wiki/Franglais

[r->] [OFF]

0 new messages