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/05/21 20:27]
smartin
manual:chapter1:introduction [2019/11/03 16:05]
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).  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.+**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).
  
-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).+The goal of the project ​is to create ​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 licenseimplements RPL in portable C, and is initially targeted for an HP50g calculator and a PC emulator.
  
-A typical scenario ​is to install newRPL on 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+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).
  
-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.+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
  
-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.+**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.
  
 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 16: 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 26: 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 40: 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.txt
  • Last modified: 2019/11/03 16:05
  • by jojo1973