Skip to content

P+ is essentially the PPL language with additional features, such as substitution capabilities, and requires all keywords to be in lowercase.

License

Notifications You must be signed in to change notification settings

Insoft-UK/PrimePlus

Repository files navigation

P+ for HP Prime


P+ is a proprietary programming language designed to mitigate the challenges associated with code maintenance and comprehensibility in the HP Programming Language (PPL). P+ serves as an intermediary language that addresses these issues by introducing support for substitutions and facilitating code organization. The final output is a PPL program file with a minimal footprint, optimized to conserve the limited storage space available on the HP Prime.

P+ is essentially the PPL language with additional features, such as substitution capabilities, and requires all keywords to be in lowercase.

GROB to be intergrated in the future.

#pragma mode( separator(.,,) integer(h64) )
#include <pplang>

auto:displayCopyright()
begin
  TEXTOUT_P("Copyright (c) 2023-2025 Insoft. All rights reserved.", 0, 0);
end;

#PYTHON
#END

EXPORT START()
BEGIN
  displayCopyright();
#PPL
  // In P+ `=` is treated as `:=` were in PPL `=` is treated as `==`
  // So only PPL code in this section.
#END
  WAIT;
  var a:alpha = 0;
  alpha += 10;
  RETURN a;
END;

PPL and P+ code can co-exist as P+ is just an extension of PPL.

p+ project.pp -l pplib

#pragma mode( separator(.,,) integer(h64) )
fn1()
BEGIN
  TEXTOUT_P("Copyright (c) 2023-2025 Insoft. All rights reserved.", 0, 0);
END;

#PYTHON
#END
EXPORT START()
BEGIN
  fn1;
  // In P+ `=` is treated as `:=` were in PPL `=` is treated as `==`
  // So only PPL code in this section.
  WAIT;
  LOCAL a := 0;
  a := a + 10;
  RETURN a;
END;

Important

In P+ = is treated as := were in PPL = is treated as ==

Note

The P+ proprietary programming language is susceptible to change, while also maintaining some compatibility with previous versions.