Yod - MrKaszeba19/PapajLang GitHub Wiki
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.
Details and features
- 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)
Code and binaries
List of changes
Base – version 0.5.0.0
- 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
Update #1 of August 25, 2020 – version 0.5.0.1
- fix
installREPL.sh
scripts - fix
checkParentheses()
function
Update #2 of October 1, 2020 – version 0.5.0.2
- fix
elif
bug and some other minor ones
Update #3 of October 13, 2020 – version 0.5.0.3
- fix empty string bug
Update #4 of January 14, 2021 – version 0.5.0.4
- fix
cmod
andcdiv
behavior - fix
genNorm
constraints