-
Notifications
You must be signed in to change notification settings - Fork 1
Yod
Yod (v.0.5.0) is a stable version of RPN Calculator (now Papaj). Its release date is August 14, 2020. It is named after the tenth letter of Hebrew alphabet β yod (Χ). It is the first Gen3 build of RPN Calculator. Since August 25 some features were updated and minor bugs were fixed.
- Name: Yod
- Version Code: 0.5.0
- Version Type: Generation 3 build
- Release Date: August 14, 2020
- Stable precedessor: Tet (v.0.4.3)
- Stable successor: Khaf (v.0.5.1)
- Language: FreePascal
- Lines of code: 6,900
- Number of functions: 322 + user-defined ones
- Maximum number of instructions: de facto no limit (depends how many you can put in AnsiString, which has limit of either 2,147,483,647 (32 bit) or 9,223,372,036,854,775,807 chars (64 bit))
- Number of entity types: 7 (9 with quasitypes)
- Number of packages: 5
- Tested on:
- systems: Windows (Win2000, Win7, Win8.1, Win10), Linux (Ubuntu 18-20, Debian 8-9)
- architectures: x86 (32 bit), amd64/x64 (64 bit)
- new random functions β
rand
andrandom
- Math functions of probability distribution: CDF, PDF/PMF, random numbers generator. Distributions: normal, standard normal, binomial, exponential, geometrical, Poisson
- Math functions: arcsin, arccos, arctan, arccot
- Introduction of the static implementation of Array
- Array functions of arrays' reduction: reduceSum, reduceProduct, reduceAvg, reduceMean, reduceMeanGeom, reduceMeanHarmonic, reduceMeanSq, reducePowerMean, reduceMedian, reduceVariance, reduceStddev, reduceMin, reduceMax
- Introduction of @infmode and infinite values INF, +INF, -INF
- Math functions: sinh, cosh, tanh, coth, sech, csch, arcsinh, arccosh, arctanh, arccoth
- Array functions of sorting: sortNumbers, sortStrings
- Console package with functions: clrscr, clearScreen, whereX, whereY, gotoXY, textBackground, textColor, textBackgroundANSI, textColorANSI, textBackgroundRGB, textColorRGB, textReset, textBold, textItalic, textUnderline, textBlink, textFastBlink, textInverse, textBoldOff, textItalicOff, textUnderlineOff, textBlinkOff, textFastBlinkOff, textInverseOff, delay, startSound, stopSound, runCommand
- Math.toDegrees, Math.toRadians
- callTimes
- syntax changes:
-
if
βif:
-
else
βelse:
-
unless
βunless:
-
- new syntax:
function{ }
- new C-like conditionals and loops
if ( ) { } elif ( ) { } else { }
while ( ) { }
do { } while ( )
do { } until ( )
for ( ; ; ) { }
-
Array package functions like
reduceMin
reduceMax
findMin
findMax
-
Array package functions like
belongs
reduceMode
- fix
installREPL.sh
scripts - fix
checkParentheses()
function
- fix
elif
bug and some other minor ones
- fix empty string bug
- fix
cmod
andcdiv
behavior - fix
genNorm
constraints
Versions of Papaj:
Pre-builds: Bereshit (v.0.0.1), Shemot (v.0.0.2)
Aleph (v.0.1.0), Bet (v.0.2.0), Gimel (v.0.2.1), Dalet (v.0.3.0)
Hey (v.0.3.1), Vav (v.0.4.0), Zain (v.0.4.1), Chet (v.0.4.2), Tet (v.0.4.3)
Yod (v.0.5.0), Khaf (v.0.5.1), Lamed (v.0.5.2), Mem (v.0.5.3), Nun (v.0.5.4), Samech (v.0.5.5)
Development version: Leviathan
Packages of Papaj:
Vanilla, Array, Console, Date, Math, Number, String
Structures of Papaj:
Conditional, Entity, Loop, Variable
Array, Boolean, DateTime, Exception, LogicalExpression, Function, Number, Null, String
Home, PapajScript, Papaj (interpreter), Papaj REPL