Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
manual:chapter1:introduction [2017/04/25 19:04]
smartin
manual:chapter1:introduction [2019/11/03 16:05] (current)
jojo1973 Reformatted
Line 1: Line 1:
-====Introduction to newRPL====+=====Introduction to newRPL====
 +**newRPL** is a modern implementation of the RPL language started near the end of 2013 and is still under development. ​ The motivation for this re-implementation is to preserve the language by making it accessible on modern platforms (an embedded device or a PC).
  
-newRPL is a modern implementation of the RPL language started near the end of 2013 and is still under development. ​ The motivation for this re-implementation is to preserve the language by making it accessible on modern platforms (an embedded device or a PC).  ​The goal of the project is to create a fully functional calculator RPL environment that runs natively (as opposed to an emulation or interpreted layer) on the target hardware. ​ Furthermore,​ newRPL is also designed to be backwards compatible with the RPL language and programs that can be run on the Hewlett Packard 48/49/50g series calculators. ​ The newRPL project (released under the BSD open source license) implements RPL in portable C, and is initially targeted for an HP50g calculator and a PC emulator.+The goal of the project is to create a fully functional calculator RPL environment that runs natively (as opposed to an emulation or interpreted layer) on the target hardware. ​ Furthermore, ​**newRPL** is also designed to be backwards compatible with the RPL language and programs that can be run on the Hewlett Packard 48/49/50g series calculators. ​ The **newRPL** project (released under the BSD open source license) implements RPL in portable C, and is initially targeted for an HP50g calculator and a PC emulator.
  
-In HP calculator parlance there is a distinction between **User RPL** and **System RPL**.  The former is the language directly accessible to the user of an HP calculator, whereas the latter typically requires external tools and can potentially lead to system crashes.  ​newRPL seeks to implement ​**User RPL** only (System RPL was used as a lower level and faster language in the Saturn processor environment or emulation layer).+In HP calculator parlance there is a distinction between **UserRPL** and **SystemRPL**.  The former is the language directly accessible to the user of an HP calculator, whereas the latter typically requires external tools and can potentially lead to system crashes. ​ **newRPL** seeks to implement UserRPL ​only (SystemRPL ​was used as a lower level and faster language in the Saturn processor environment or emulation layer).
  
-A typical scenario is to install newRPL on a 50g (which has the ability to replace or //flash// the operating system ROM).  Note that this procedure ​**completely ​replaces the stock HP50g ROM**, so to return the calculator to its original state would require having the HP stock ROM on hand. +A typical scenario is to install ​**newRPL** on a 50g (which has the ability to replace or //flash// the operating system ROM).  Note that this procedure ​__completely ​replaces the stock HP50g ROM__, so to return the calculator to its original state would require having the HP stock ROM on hand. 
  
-newRPL is different from RPL most noticeably in its speed (runs natively on the target hardware), use of 16 level greyscale, and two separate levels of soft menus that are customizable by the user.+**newRPL** is different from RPL most noticeably in its speed (runs natively on the target hardware), use of 16 level greyscale, and two separate levels of soft menus that are customizable by the user.
  
-If you are coming from the latest stock 50g ROM, it should be noted that newRPL is not designed to re-duplicate all the features of that ROM, but rather just the RPL part.  So, for example, you won't find a CAS (Computer Algebra System) in newRPL, nor an equation writer. ​ However, what you will find in newRPL is (ultimately) the 700 or so commands available in the 50g along with some additional commands not found in a 50g.+If you are coming from the latest stock 50g ROM, it should be noted that **newRPL** is not designed to re-duplicate all the features of that ROM, but rather just the RPL part.  So, for example, you won't find a CAS (Computer Algebra System) in **newRPL**, nor an equation writer. ​ However, what you will find in **newRPL** is (ultimately) the 700 or so commands available in the 50g along with some additional commands not found in a 50g.
  
 Here is a list of changes and enhancements from the stock 50g ROM: Here is a list of changes and enhancements from the stock 50g ROM:
Line 17: Line 18:
     * Variable precision decimal math up to 2000 digits.     * Variable precision decimal math up to 2000 digits.
  
-    * More flexible custom menus+    * More flexible custom menus.
  
-    * Faster access to variables+    * Faster access to variables.
  
-    * You can declare local variables anywhere in the code with LSTO+    * You can declare local variables anywhere in the code with ''​[[manual:​chapter6:​lam:​cmd_lsto|LSTO]]''​.
  
     * Any program can be sandboxed to keep your directories clean.     * Any program can be sandboxed to keep your directories clean.
Line 27: Line 28:
     * Persistent comments stay in the compiled code to make it more readable.     * Persistent comments stay in the compiled code to make it more readable.
  
-    * Faster list processing, also swapped + and ADD for lists.+    * Faster list processing, also swapped ​''​[[manual:​chapter6:​operators:​cmd_ovr_add|+]]'' ​and ''​[[manual:​chapter6:​lists:​cmd_add|ADD]]'' ​for lists.
     ​     ​
     * Unicode text support all over.     * Unicode text support all over.
     ​     ​
-    * 8-level Undo/Redo on stack operations+    * 8-level Undo/Redo on stack operations.
     ​     ​
-    * Many keyboard shortcuts that make using it very practical+    * Many keyboard shortcuts that make using it very practical.
     ​     ​
-    * Powerful editor+    * Powerful editor.
     ​     ​
     * Full clipboard support can copy/​cut/​paste objects or text in the editor and the stack, and turn objects from the stack into text for the editor, or paste text into the stack.     * Full clipboard support can copy/​cut/​paste objects or text in the editor and the stack, and turn objects from the stack into text for the editor, or paste text into the stack.
Line 41: Line 42:
     * Paste the contents of any variable directly into the editor as text by using the soft menu.     * Paste the contents of any variable directly into the editor as text by using the soft menu.
  
-    * Autocompletion of command names+    * Autocompletion of command names.
     ​     ​
-    * SD card support much faster than 50g+    * SD card support much faster than 50g.
     ​     ​
-    * It will accept SDHC cards as well as standard SD cards +    * It will accept SDHC cards as well as standard SD cards.
- +
  • manual/chapter1/introduction.1493172295.txt.gz
  • Last modified: 2017/04/25 19:04
  • by smartin