Poll: Would you use P+ for development or stick to developing in PPL
P+
PPL
P+ & PPL
[Show Results]
Note: This is a public poll, other users will be able to see what you voted for.
Post Reply 
P+ for HP Prime Development in PPL
08-26-2023, 07:53 PM
Post: #21
RE: P+ for HP Prime Development in PPL
[quote='Insoft' pid='172546' dateline='1683767659']
P+
[b]
In reality the P+ language is basically an extension to the PPL language to help with code maintenance and comprehensibility.

/quote]

I'm just not a fan of pre-processors. If it was a standalone language, I'd use it.

Tom L
Cui bono?
Find all posts by this user
Quote this message in a reply
05-15-2024, 11:45 PM (This post was last modified: 09-09-2024 02:43 PM by Insoft.)
Post: #22
RE: P+ for HP Prime Development in PPL
PrimePlus (P+) now dose pre-calculations
This is useful for reducing the size and memory used by your PPL program but want to include the equation to understand why this value.

eg.
Code:
#define SCREEN_WIDTH 320
var m:my_variable = #[SCREEN_WIDTH / (8 / 2)]:0;

PPL
Code:
LOCAL m:=80;
Find all posts by this user
Quote this message in a reply
05-24-2024, 10:29 PM (This post was last modified: 05-25-2024 11:41 PM by Insoft.)
Post: #23
RE: P+ for HP Prime Development in PPL
UPDATE: 1.7.1.075

NEW! Improved Structs for version 1.7.1

Previously in P+, defining a struct for a function parameter was not allowed, unlike for variables. However, starting from version 1.7.1, you can now define a struct for a function parameter just as you would for a variable.

NOTE: When defining a struct for a parameter, ensure the parameter has an alias. This alias must be used consistently when defining and using the struct.


Code:
struct Color
    r[1];
    g[2];
    b[3];
end;
MyFunction(c:color)
begin
    struct Color color;
    return RGB(color.r, color.g, color.b);
end
Find all posts by this user
Quote this message in a reply
09-07-2024, 02:28 PM (This post was last modified: 09-07-2024 03:50 PM by Insoft.)
Post: #24
RE: P+ for HP Prime Development in PPL
Utility for PPL Code
Currently in the early experimental and testing phase, the primary goal is to minimize the file size of any PPL code, reducing its overall footprint. The PPL file must be in UTF-16LE format, and at this time, .hpprgrm files with headers are not supported—only raw code is accepted.

Accommodate the P+ PreProccessor

PPL-Mifier
Find all posts by this user
Quote this message in a reply
09-07-2024, 09:02 PM
Post: #25
RE: P+ for HP Prime Development in PPL
Hi, I think that for this project, developing a program editor on the PC would make coding easier.
Find all posts by this user
Quote this message in a reply
09-12-2024, 03:10 PM (This post was last modified: 09-18-2024 04:58 PM by Insoft.)
Post: #26
RE: P+ for HP Prime Development in PPL
UPDATE
P+ v2.0 is currently in development to resolve several issues and eliminate unnecessary, unused features, such as the minifier capabilities. Previous versions will remain available for download.

PPL code that is generated will conform to the same format as PPL Reformatter would produce, it will not be in anyways or unable unlike v1.x to be minified or compressed, to minify and compress PPL code please use PPL Minifier utility.

v2.x will be more strict with missing `;` unlike in v1.x if are missing they were optional, this will no longer be the case for v2.x

P+ is very much PPL extended and with some C like futures.

PPL Minifier
Minifier & Compressor for PPL Code
Minification of your code results in it taking up less space, making it use less storage of your HP Prime's storage memory giving you more space for more programs.
v1.0 has been released as a binary for macOS (Intel & Apple Silicon), with the source code available on GitHub for users on other platforms to compile.

PPL Reformat
Reformater for PPL Code
Reformating your code enforce a consistent coding style throughout your project, making it easier for multiple developers to work on the same codebase. It helps maintain a uniform look and feel, which can enhance code readability. Readability: Well-formatted code is easier to read and understand.

Insoft Tools for HP Prime Software Development
Find all posts by this user
Quote this message in a reply
09-19-2024, 01:42 AM (This post was last modified: 09-19-2024 01:44 AM by Insoft.)
Post: #27
RE: P+ for HP Prime Development in PPL
P+ 2.0 Released!

Improved the pre-processing handling, will produce formatted PPL code with indenting of 2 spaces per nesting level.

Fixed an issue with `aliases` where some complex aliases created with `def` would not be correctly parsed.

Improvement with the C style `for...next` loop, one can do `for ;; do` just like in C, tho simply produces same PPL code as `do...loop`

Smarter Parser for the likes of `!`
`!` now behave as one expect unless used in an `IF WHILE UNTIL` then they behave like C so ! is not factorial but a NOT

Other bug fixes.

Insoft Tools for HP Prime Software Development
Find all posts by this user
Quote this message in a reply
09-19-2024, 03:39 AM
Post: #28
RE: P+ for HP Prime Development in PPL
(09-19-2024 01:42 AM)Insoft Wrote:  P+ 2.0 Released!

The PC files at the location in your signature aren't ZIP files. They're some sort of text files.

Tom L
Cui bono?
Find all posts by this user
Quote this message in a reply
09-19-2024, 10:23 AM
Post: #29
RE: P+ for HP Prime Development in PPL
(09-19-2024 03:39 AM)toml_12953 Wrote:  
(09-19-2024 01:42 AM)Insoft Wrote:  P+ 2.0 Released!

The PC files at the location in your signature aren't ZIP files. They're some sort of text files.

For none macOS users there is no binary provided currently for PC, Linux or Raspberry Pi, one will have to download the source files on GitHub and compile for that platform.

Downloads for other platforms
"The complete source code is available on GitHub , ready to be built for any platform."

Insoft Tools for HP Prime Software Development
Find all posts by this user
Quote this message in a reply
09-22-2024, 05:10 PM (This post was last modified: 10-02-2024 11:27 AM by Insoft.)
Post: #30
RE: P+ for HP Prime Development in PPL
Version 2.0.x Nightly Build Latest ongoing development.

You can now insert a line space in the generated PPL code.
The P+ pre-processor will interpret multiple line spaces in your code as a single line space in the generated PPL code.

Local structs are now automatically removed once they go out of scope.

The pre-calc instruction now uses a simpler and more streamlined format: \ 2 [ 1 + 2 * 4 / 2 ] compared to the previous #[ 1 + 2 * 4 / 2 ]:2.
Backward compatibility with the previous format is also maintained.

Bug fixes!
The issue with #PPL being partially parsed has been fixed. Any code explicitly marked as PPL will remain unchanged. Similarly, #PYTHON code was also being incorrectly parsed, and now, like PPL code, any Python code will remain untouched.

UPDATE
Version 2.0.x final releases on GitHub

Insoft Tools for HP Prime Software Development
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 3 Guest(s)