RPL/2
12-26-2018, 03:47 PM (This post was last modified: 12-26-2018 03:54 PM by pier4r.)
Post: #41
 pier4r Senior Member Posts: 2,075 Joined: Nov 2014
RE: RPL/2
For info the author of RPL/2 relased also the binaries for the raspi, so the procedure should be easier.
http://www.rpl2.net/telechargements.php

I can see there the binaries for amd64 and arm7vl, under a debian environment.

semi OT.

http://www.hpmuseum.org/cgi-sys/cgiwrap/...053#248229

Myself in answer to "will the RPL die"?
"I second the hopefully. RPL is not so bad but it's a bit unpratical compared to other procedural languages."

Now while I still think it is not so practical for large programs, it now don't want it to die. Even just for the diversity of the approach that provides another point of view to program with. So much one can learn over time and so much preserved messages on the internet can show the evolution of a person viewpoint.

Wikis are great, Contribute :)
12-26-2018, 04:58 PM (This post was last modified: 12-28-2018 08:19 AM by JKB.)
Post: #42
 JKB Junior Member Posts: 31 Joined: Mar 2015
RE: RPL/2
(12-26-2018 03:47 PM)pier4r Wrote:  For info the author of RPL/2 relased also the binaries for the raspi, so the procedure should be easier.
http://www.rpl2.net/telechargements.php

I can see there the binaries for amd64 and arm7vl, under a debian environment.

semi OT.
Warning, arm7vl is an old release. If I have time, I will rebuild an up to date RPL/2 release for Raspbian.
Quote:Myself in answer to "will the RPL die"?
"I second the hopefully. RPL is not so bad but it's a bit unpratical compared to other procedural languages."

Now while I still think it is not so practical for large programs, it now don't want it to die. Even just for the diversity of the approach that provides another point of view to program with. So much one can learn over time and so much preserved messages on the internet can show the evolution of a person viewpoint.
I develop RPL/2 not to emulate a calculator but to write very large programs. New RECORD type is added to obtain a direct access to data in very large tables by name. TABLE type was added a long time ago to directly access to data in a compound type by number. If RPL is not practical for large programs, RPL/2 contains some features that are missing in RPL and can be used to write large programs (process synchronization with threads [SPAWN] and child process [DETACH], mutexes, semaphores, compound types, external types and libraries, SQL connectors...).

For example, I have written a program to optimize very large salesman (space and time) problem with cartography in a PostgreSQL database on multi CPU sparc systems (112 CPU).

Best regards,

JKB
12-28-2018, 08:32 AM
Post: #43
 JKB Junior Member Posts: 31 Joined: Mar 2015
RE: RPL/2
Hello,

I have uploaded two deb packages for Debian/testing. Both are available at http://www.rpl2.net and on a anonymous FTP at fermat.systella.fr.

ARM relase doesn't contains PostScript interface nor MySQL/PostgreSQL support. But RPL/CAS is built. This package was built on a rPI 2.

Code:
 RPL/2> version 1: { "RPL/2 version 4.1.29"      { 4        1        29        "RELEASE" }      "Thursday 12/27/18, 23:20:44 CET"      "/usr/local"      "GNUPLOT"      "FORCE GNUPLOT PATH"      "POSTSCRIPT DISABLED"      "VIM"      "MYSQL DISABLED"      "POSTGRESQL DISABLED"      "MOTIF"      "RPL/CAS"      "EXPERIMENTAL CODE DISABLED"      "32 BITS ABI"      "ARMV7L-UNKNOWN-LINUX-GNUEABIHF" }

Amd64 version is built with all features :
Code:
 RPL/2> version 1: { "RPL/2 version 4.1.29"      { 4        1        29        "RELEASE" }      "Thursday 12/27/18, 23:19:56 CET"      "/usr/local"      "GNUPLOT"      "FORCE GNUPLOT PATH"      "POSTSCRIPT"      "VIM"      "MYSQL"      "POSTGRESQL"      "MOTIF"      "RPL/CAS"      "EXPERIMENTAL CODE DISABLED"      "64 BITS ABI"      "X86_64-PC-LINUX-GNU" }

Please note that FTP was configured on an OpenVMS operating system. You should use a binary transfer to download packages.

Best regards,

JKB
02-03-2019, 01:49 PM
Post: #44
 JKB Junior Member Posts: 31 Joined: Mar 2015
RE: RPL/2
Release 4.1.30 is available with following bugfixes:
- major bug is fixed in software interrupts subsystem that tried to
lock a cleared mutex;
- deadlock is fixed in SYSEVAL. This intrinsic function entered in
deadlock if stdout/stderr of spawned subprocess was longer than pipe buffer
size;
- segmentation fault is fixed in NEG (on integer matrices);
- CoCoALib is upgraded to avoid a compilaton failure on 32 bits systems;
- SST does not enter anymore in called subroutine.

Regards,

JKB
02-03-2019, 01:50 PM
Post: #45
 JKB Junior Member Posts: 31 Joined: Mar 2015
RE: RPL/2
Of course, I have uploaded also deb packages for Debian/testing and for Raspbian/testing.
02-03-2019, 07:24 PM
Post: #46
 pier4r Senior Member Posts: 2,075 Joined: Nov 2014
RE: RPL/2
Awesome that you still are dedicated on it despite the seemingly small interest. It is not easy! Well done.

I should finally use my raspi one day. I dislike unused powerful devices, damn me.

Wikis are great, Contribute :)
02-03-2019, 10:42 PM
Post: #47
 JKB Junior Member Posts: 31 Joined: Mar 2015
RE: RPL/2
(02-03-2019 07:24 PM)pier4r Wrote:  Awesome that you still are dedicated on it despite the seemingly small interest. It is not easy! Well done.

I should finally use my raspi one day. I dislike unused powerful devices, damn me.

I use RPL/2 every days to run very large simulations (there are multithreading/multitasking capabilities in RPL/2).

Example:
Code:
 #!/usr/local/bin/rpl -cspd SPECIFICATION <<     "none" implicit     nbrcpus 1 ->list crtab 'PROCESSUS' save     <<         // Les interruptions sont non interruptibles         -> PROC         <<             "Interruption "             PROC wfdata PROC recv drop ->str " depuis " + +             PROC wfdata PROC recv drop             dup ->str 3 roll swap + disp             'PROCESSUS' swap 1 ->list { } put             PROCESSUS disp         >>     >> 1 stoswi     0     -> J     <<         do             // Recherche d'un processus disponible             'PROCESSUS' 0             while                 1 PROCESSUS size for I                     if                         PROCESSUS I 1 ->list get                         { } same                     then                         drop I exit                     end                 next                 dup 0 same             repeat                 .1 wait             end             1 ->list             J             <<                 wfpoke peek drop2                 -> I J                 <<                     rand wait                     "Début thread "                     I list-> drop ->str + disp                     1 swi                     J send                     I list-> drop send wfack                     "Fin thread "                     I list-> drop ->str + disp                 >>             >>             1 swiqueue             spawn swap drop dup 4 rolld put             1 swiunlock             "START" swap poke             'J' incr         until             false         end     >> >>

This program starts subprocess (SPAWN) , one by CPU thread. Each subprocess sends data to main thread. I use this kind of program to spawn ngspice simulations in parallel to compute amplifiers harmonic distorsion.

Since I have announce last release (this afternoon CET), sources were donwloaded three times and amd64 deb package once.
11-20-2020, 07:28 PM
Post: #48
 compsystems Senior Member Posts: 1,329 Joined: Dec 2013
RE: RPL/2
version 1.4-32 http://www.rpl2.net/telechargements.php