newrpl/newrpl
2021-07-19 13:35:16 -04:00
..
docs Added MSOLVER command, work in progress 2018-08-06 18:23:58 -04:00
rpl-objects Changed contrast settings for 39gs/40gs. 2021-04-02 17:15:54 -04:00
arithmetic.c Header cleanup 2020-04-07 09:09:53 +02:00
arithmetic.h Fixing Android build 2020-04-07 09:19:48 +02:00
atan_1_8_comp.c Header cleanup 2020-04-07 09:09:53 +02:00
atan_1_comp.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
atan_2_8_comp.c Header cleanup 2020-04-07 09:09:53 +02:00
atan_2_comp.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
atan_5_8_comp.c Header cleanup 2020-04-07 09:09:53 +02:00
atan_5_comp.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
atan_ltables.c Header cleanup 2020-04-07 09:09:53 +02:00
atanh_1_8_comp.c Header cleanup 2020-04-07 09:09:53 +02:00
atanh_1_comp.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
atanh_2_8_comp.c Header cleanup 2020-04-07 09:09:53 +02:00
atanh_2_comp.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
atanh_5_8_comp.c Header cleanup 2020-04-07 09:09:53 +02:00
atanh_5_comp.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
autocomplete.c Header cleanup 2020-04-07 09:09:53 +02:00
backup.c Remove hallted program file during restore. 2021-04-26 17:06:50 -04:00
cmdcodes.h Header cleanup 2020-04-07 09:09:53 +02:00
common-macros.h Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
compiler.c Header cleanup 2020-04-07 09:09:53 +02:00
cordic_K_8_comp.c Header cleanup 2020-04-07 09:09:53 +02:00
cordic_K_comp.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
cordic_Kh_8_comp.c Header cleanup 2020-04-07 09:09:53 +02:00
cordic_Kh_comp.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
datastack.c Header cleanup 2020-04-07 09:09:53 +02:00
decimal.c Fix Compiler Error. Header declaration differs from Implementation 2020-05-11 20:18:53 +02:00
decimal.h Header cleanup 2020-04-07 09:09:53 +02:00
dectranscen.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
directory.c Fixed build issue with xgl header. Implemented preferred units on variable properties. 2021-04-14 08:43:35 -04:00
errors.c Header cleanup 2020-04-07 09:09:53 +02:00
fastmath.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
fastmath.h Header cleanup 2020-04-07 09:09:53 +02:00
gc.c Header cleanup 2020-04-07 09:09:53 +02:00
hal.c Header cleanup 2020-04-07 09:09:53 +02:00
hal.h Major code cleanup - builds almost without warnings. 2016-01-08 12:43:43 -05:00
include-all.h Header cleanup 2020-04-07 09:09:53 +02:00
io_substring.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
lam.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-20-comments.c Added large object support (untested) 2021-05-05 11:16:32 -04:00
lib-24-string.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-28-dirs.c Fixed build issue with xgl header. Implemented preferred units on variable properties. 2021-04-14 08:43:35 -04:00
lib-30-complex.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-32-lam.c Fixed build issue with xgl header. Implemented preferred units on variable properties. 2021-04-14 08:43:35 -04:00
lib-48-angles.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-52-matrix.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-54-units.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-55-constants.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-56-symbolic.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-62-lists.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-64-arithmetic.c Added calc type to USB product ID. 2021-06-06 15:26:27 -04:00
lib-65-system.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-66-transcendentals.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-68-flags.c Fixed complex letters in 24 pixel font. 2021-01-12 18:47:25 -05:00
lib-70-binary.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-72-stack.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-74-sdcard.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-76-ui.c Added Color Theme Editor. Added command SETTHEME. 2021-07-19 13:35:16 -04:00
lib-77-libdata.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-78-fonts.c Fixed various files so all projects compile. Added 18 pixel font. 2021-01-24 17:31:20 -05:00
lib-80-bitmaps.c Added support for firmware update for HP Prime (untested) 2021-06-17 21:14:23 -04:00
lib-88-plot.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-96-composites.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-98-statistics.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-100-usb.c Fixed a few warnings. 2021-02-04 12:26:19 -05:00
lib-102-libptr.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-104-solvers.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-112-asm.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-4079-rpl2c.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-4080-localenv.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-4081-tags.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-4090-overloaded.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-common.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-eight-docol.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-header.h Header cleanup 2020-04-07 09:09:53 +02:00
lib-nine-docol2.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-ten-reals.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-twelve-bint.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-two-ident.c Header cleanup 2020-04-07 09:09:53 +02:00
lib-zero-messages.c Header cleanup 2020-04-07 09:09:53 +02:00
libraries.h Added Color Theme Editor. Added command SETTHEME. 2021-07-19 13:35:16 -04:00
LICENSE.txt Massive directory reorganization. 2015-03-05 14:35:35 -05:00
lighttranscend.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
lists.c Header cleanup 2020-04-07 09:09:53 +02:00
ln_ltables.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
main.cpp Fixed repl time calculation 2020-04-20 19:14:01 +02:00
matrix.c Header cleanup 2020-04-07 09:09:53 +02:00
mul_real_arm.c Factoring out MCU and target device specific definitions from firmware.h 2020-02-05 19:51:23 +01:00
newRPL-base.pro Fixed a few warnings. 2021-02-04 12:26:19 -05:00
newrpl.h Moving font search by size to hal 2020-04-07 18:56:58 +02:00
newrpl_types.h Added custom LCD contrast settings for 39/40gs targets. Added new target: HP48GII 2021-04-01 11:09:30 -04:00
README.txt Fixed newrpl-base main application. 2020-04-11 19:14:25 -04:00
render.c Header cleanup 2020-04-07 09:09:53 +02:00
render.h Header cleanup 2020-04-07 09:09:53 +02:00
returnstack.c Header cleanup 2020-04-07 09:09:53 +02:00
rng.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
romlibs.c Header cleanup 2020-04-07 09:09:53 +02:00
romlibs.h Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
runstream.c Header cleanup 2020-04-07 09:09:53 +02:00
sanity.c Header cleanup 2020-04-07 09:09:53 +02:00
solvers.c Header cleanup 2020-04-07 09:09:53 +02:00
symbolic.c Header cleanup 2020-04-07 09:09:53 +02:00
sysvars.c Header cleanup 2020-04-07 09:09:53 +02:00
sysvars.h Header cleanup 2020-04-07 09:09:53 +02:00
tempob.c Added large object support (untested) 2021-05-05 11:16:32 -04:00
transcendentals.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
units.c Header cleanup 2020-04-07 09:09:53 +02:00
utf8data.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
utf8lib.c Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00
utf8lib.h Ran one pass of 'indent' code beautifier. 2020-01-21 18:34:44 -05:00

LEGAL:
------

This program in its entirety is released under the license present in the file LICENSE.txt.

WHAT THIS DEMO IS AND IS NOT:
----------------------------

This is a console application with a rudimentary user interface intended for testing purposes only.
This demo does not represent in any way the final user interface.

HOW TO USE IT:
-------------

The demo will show a familiar stack interface and a prompt. In the prompt, familiar RPL commands
can be typed. Special symbols can be typed simply expanded with normal characters per this list:

<< as two 'less than' symbols
>> as two 'greather than' symbols
-> as a 'minus' and a 'greater than'
(square root) as the command SQRT

To end a session, enter an empty line and will be asked confirmation to quit.

Operators have to be entered in the prompt and ENTER pressed, there's no single-keystroke
operation in this demo.

THINGS TO TRY IN THIS VERSION:
-----------------------------
* Basic numeric operations:
    This follows the familiar set of commands, with the exception of SQRT for the square root symbol.
* Basic stack operations
    Not all stack operations are implemented yet, but the most common ones are available.
* Global variables and directories
    The behavior follows the conventions: unquoted names will be RCL'd and EVAL'd automatically. Quoted
    names have to be explicitly RCL'd (and explicitly EVAL'd as needed).
    Variables RCL'd will be searched for in the current directory and all its parents.
    Variables STOred will be stored in the current directory only.
* Local variables
    The behavior follows the conventions: unquoted names will be RCL'd and EVAL'd automatically. Quoted
    names have to be explicitly RCL'd (and explicitly EVAL'd as needed).
    Variables vanish as they reach the end of their scope, as follows:
    - Variables created with the -> operator exist only within the defined << >> delimiters.
    - Variables created with LSTO within a secondary, only exist within that secondary and after the
      initial creation statement.
    - Variables created within loops will exist only within that loop
    - Variables created within a secondary will be available to all inner secondaries or external programs
      called by the creating program.
* Directories
    Normal behavior.
* Loops
    Normal behavior
* Flow control statements
    Nothing new here
* Secondaries
    There's two kinds of secondaries: normal programs use << >> delimiters, and will be pushed on the stack
    when reached within another secondary, then they must be EVAL'd explicitly for execution. The direct-execution
    secondaries use the :: ; delimiters, and when included within a secondary they will be executed directly
    and never pushed to the stack. They otherwise work as a normal secondary.
    Notice that normal secondaries will be EVAL'd automatically if they are stored in a variable, when that
    variable name is used unquoted.
* Lists
    List objects are created, but no list operations are implemented yet.
* Numbers
    Integers and real numbers are interchangeable. The compiler decides when a number is an integer and will
    automatically compile as an integer or real. From the user's perspective there's only numbers.
    Integers in bases other than 10 can be used:
        #10d is a decimal 10
        #10h is a hexadecimal number
        #10b is a binary number
        #10o is an octal number
    By default a number will be in decimal base. Real numbers can only be in decimal base. The base is a
    property of the number (rather than a system setting), and will be retained by operators when possible.
    This means a numbers in different bases can coexist in the stack. Operating on a number with a base will
    try to keep the base of the original number, even if the second operand is in a different base.
    Mixed based operations are performed correctly.
    A division might convert the number to a real number if the division result is not an integer. In that case
    the result will always be in base 10.
    Integers are signed 64-bit numbers, and an overflow will automatically convert to a real number, there is
    no wrap around. In that case the base will be changed to 10.