Here is what I get on the latest GNU APL on a 64-bit Linux box:
)wsid
IS CLEAR WS
∇hello
[1] 'hello world'
[2] ∇
)wsid hello
WAS CLEAR WS
)save
2021-02-23 02:21:55 (GMT-6) hello
)clear
CLEAR WS
)load hello
SAVED 2021-02-23 02:21:55 (GMT-6)
hello
hello world
--blake
On Mon, Feb 22, 2021 at 4:18 PM <[email protected]> wrote:
> Hi,
>
> I've just spent a couple of days working to get gnu-apl up and running
> under OS X Catalina. Good progress has been made, but I'm unsure if I have
> a stable and fully functioning copy of the interpreter.
>
> During this exercise, I encountered four experiences that may indicate
> bugs. They are:
>
> 1. Build Issue?: Newly saved workspaces rejected as ancient by
> interpreter
> 2. Quirk?: Sqlite3 connection error message comes and goes
> 3. Mystery?: Quad-Plot usage
> 4. Bug?: ⎕SI for non function execution errors?
>
>
> I'm unfamiliar with the gnu packaging tools and completely overwhelmed by
> this enormous code base. Thus, I apologize in advance for any limitations
> or mistakes in this report.
>
> Regards,
> John Helm
>
> ------------------------------
>
>
>
> 1) Build Issue: Newly saved workspaces warned as ancient by interpreter
>
> The "standard" compile and install sequence using the apl-1.8.tar.gz
> tarball does not compile correctly on OS X Catalina.
>
> The problem is configure runs svn commands to write a file
> ./src/buildtag.hh and these commands fail because the tarball is not an SVN
> repo. The resulting binary compiles without a build number. The net result
> is workspaces are saved with a null build number, and )LOADing these files
> fails with the following message:
>
> WARNING: this workspace was )SAVEd with a VERY old SVN version of GNU
> APL.
> Expect problems, in particular when the )SI was not clear.
> In case of problems, please try )COPY instead of )LOAD.
> DOMAIN ERROR+
>
>
> immediate_execution() caught APL error 0x50004 (DOMAIN ERROR)
>
>
> Here are some details from the compilations:
>
>
> A) SVN errors emitted when running configure on the standard tarball
> ================================================================
>
> configure: creating ./src//buildtag.hh
> svn: E155007: '/Users/jlh/.local/etc/repos/apl-1.8/src/Archive.cc' is
> not a working copy
> configure: creating ./src/makefile.h
> configure: creating ./src/configure_args.cc
>
> # Note SVN number missing in --version report
>
> jlh@MacBook-XNOR apl-1.8 % apl --version
> BUILDTAG:
> ---------
> Project: GNU APL
> Version / SVN: 1.8 / Unversioned directory
> Build Date: 2021-02-22 17:48:39 UTC
> Build OS: Darwin 19.6.0 x86_64
> config.status: '--includedir=/opt/local/'
> '--with-sqlite3=/opt/local/' '--with-postgresql=no'
> Archive SVN:
> jlh@MacBook-XNOR apl-1.8 %
>
> ----------------------------------------------------------------
>
> ⍝ Create a workspace, save, and reload it to surface error
>
> )wsid
> IS CLEAR WS
> ∇hello
> [1] 'hello world!'
> [2] ∇
> )wsid hello
> WAS CLEAR WS
> )save
> 2021-02-22 12:58:15 (GMT-5) hello
> )clear
> CLEAR WS
> )load hello
> WARNING: this workspace was )SAVEd with a VERY old SVN version of GNU
> APL.
> Expect problems, in particular when the )SI was not clear.
> In case of problems, please try )COPY instead of )LOAD.
> SAVED 2021-02-22 12:58:15 (GMT-5)
>
>
> ================================================================
> B) Pull down svn trunk and configure, make, etc...
>
>
> # note the SVN number is now included
>
> jlh@MacBook-XNOR trunk % apl --version
> BUILDTAG:
> ---------
> Project: GNU APL
> Version / SVN: 1.8 / 1439M
> Build Date: 2021-02-22 18:01:34 UTC
> Build OS: Darwin 19.6.0 x86_64
> config.status: '--includedir=/opt/local/'
> '--with-sqlite3=/opt/local/' '--with-postgresql=no'
> Archive SVN: 1433
> jlh@MacBook-XNOR trunk %
>
> ----
>
> ⍝ Load the workspace made by the version with a null SVN archive
> number
>
> )load hello
> WARNING: this workspace was )SAVEd with a VERY old SVN version of GNU
> APL.
> Expect problems, in particular when the )SI was not clear.
> In case of problems, please try )COPY instead of )LOAD.
> DOMAIN ERROR+
>
>
> ⍝ overwrite with a new one, the problem is gone.
>
> immediate_execution() caught APL error 0x50004 (DOMAIN ERROR)
> ∇hello
> [1] 'Hello World!'
> [2] ∇
> )wsid
> IS CLEAR WS
> )wsid hello
> WAS CLEAR WS
> )save
> 2021-02-22 13:05:49 (GMT-5) hello
> )clear
> CLEAR WS
> )load hello
> SAVED 2021-02-22 13:05:49 (GMT-5)
> hello
> Hello World!
>
> ================================================================
>
> 2) Quirk: Sqlite3 error message comes and goes
>
> To follow is a screen log in which apl was loaded four times. Every other
> load emits an error messages as follows:
>
> 1st load: No connection error message
> 2st load: ::connect() to supposedly existing APserver failed: Invalid
> argument
> Svar_DB not connected in Svar_DB::is_registered_id()
> 3rd load: No connection error message
> 4st load: ::connect() to supposedly existing APserver failed: Invalid
> argument
> Svar_DB not connected in Svar_DB::is_registered_id(
>
>
> ================================================================
>
> jlh@MacBook-XNOR trunk % apl
>
> ______ _ __ __ __ ___ ____ __
> / ____// | / // / / / / | / __ \ / /
> / / __ / |/ // / / / / /| | / /_/ // /
> / /_/ // /| // /_/ / / ___ | / ____// /___
> \____//_/ |_/ \____/ /_/ |_|/_/ /_____/
>
> Welcome to GNU APL version 1.8 / 1439M
>
> Copyright (C) 2008-2020 Dr. Jürgen Sauermann
> Banner by FIGlet: www.figlet.org
>
> This program comes with ABSOLUTELY NO WARRANTY;
> for details run: apl --gpl.
>
> This program is free software, and you are welcome to redistribute it
> according to the GNU Public License (GPL) version 3 or later.
>
> )off
>
> Goodbye.
> Session duration: 5.44214 seconds
> jlh@MacBook-XNOR trunk % apl
> ::connect() to supposedly existing APserver failed: Invalid argument
>
> ______ _ __ __ __ ___ ____ __
> / ____// | / // / / / / | / __ \ / /
> / / __ / |/ // / / / / /| | / /_/ // /
> / /_/ // /| // /_/ / / ___ | / ____// /___
> \____//_/ |_/ \____/ /_/ |_|/_/ /_____/
>
> Welcome to GNU APL version 1.8 / 1439M
>
> Copyright (C) 2008-2020 Dr. Jürgen Sauermann
> Banner by FIGlet: www.figlet.org
>
> This program comes with ABSOLUTELY NO WARRANTY;
> for details run: apl --gpl.
>
> This program is free software, and you are welcome to redistribute it
> according to the GNU Public License (GPL) version 3 or later.
>
> Svar_DB not connected in Svar_DB::is_registered_id()
> )off
>
> Goodbye.
> Session duration: 7.12709 seconds
> jlh@MacBook-XNOR trunk % apl
>
> ______ _ __ __ __ ___ ____ __
> / ____// | / // / / / / | / __ \ / /
> / / __ / |/ // / / / / /| | / /_/ // /
> / /_/ // /| // /_/ / / ___ | / ____// /___
> \____//_/ |_/ \____/ /_/ |_|/_/ /_____/
>
> Welcome to GNU APL version 1.8 / 1439M
>
> Copyright (C) 2008-2020 Dr. Jürgen Sauermann
> Banner by FIGlet: www.figlet.org
>
> This program comes with ABSOLUTELY NO WARRANTY;
> for details run: apl --gpl.
>
> This program is free software, and you are welcome to redistribute it
> according to the GNU Public License (GPL) version 3 or later.
>
> )off
>
> Goodbye.
> Session duration: 9.30464 seconds
> jlh@MacBook-XNOR trunk % apl
> ::connect() to supposedly existing APserver failed: Invalid argument
>
> ______ _ __ __ __ ___ ____ __
> / ____// | / // / / / / | / __ \ / /
> / / __ / |/ // / / / / /| | / /_/ // /
> / /_/ // /| // /_/ / / ___ | / ____// /___
> \____//_/ |_/ \____/ /_/ |_|/_/ /_____/
>
> Welcome to GNU APL version 1.8 / 1439M
>
> Copyright (C) 2008-2020 Dr. Jürgen Sauermann
> Banner by FIGlet: www.figlet.org
>
> This program comes with ABSOLUTELY NO WARRANTY;
> for details run: apl --gpl.
>
> This program is free software, and you are welcome to redistribute it
> according to the GNU Public License (GPL) version 3 or later.
>
> Svar_DB not connected in Svar_DB::is_registered_id()
>
> ================================================================
> 3) Mystery Quad-Plot usage
>
> All attempts to invoke ⎕PLOT result in a SYNTAX ERROR.
>
> ⎕plot ''
> SYNTAX ERROR
> ⎕PLOT
> ^
>
> ⎕XYZ
> VALUE ERROR
> ⎕X YZ
> ^
>
> I note that this behavior is expected for ⎕RE if libpcre2 is absent when
> gnu-apl is compiled...
>
> SYNTAX ERROR
> ⎕RE
> ^
> 'abc' ⎕RE 'aaaaabcccc'
> SYNTAX ERROR+
> 'abc' ⎕RE 'aaaaabcccc'
>
>
> Does this behavior indicate some prerequisites are missing for ⎕PLOT to
> work?
>
>
> ================================================================
> 4) Bug?: ⎕SI for non function execution errors?
>
> 4.1) It appears many (all?) errors cause push a event State Indicator.
> Other apl interpreters I've used do not push events such as value errors or
> domain errors on the State Indicator. Is this intended behavior?
>
> 4.2) The GNU APL info page indicates ⎕si's arguments include 5 and 6, but
> these return errors on my version. Is this a documentation error?
>
>
> ⍝ clear workspace
>
> )si
> ⎕si 1
> ◊
> ⎕si 2
> 0
> ⎕si 3
> ◊[0]
> ⎕si 4
> ⎕si 4
> ⎕si 5
> DOMAIN ERROR
> ⎕SI 5
> ^
>
> ⍝ ?? ⎕SI 5 is supposed to be valid
> )si
> ⋆
>
> ⍝ ?? now the state indicator is non-null
>
> ⎕si 6
> DOMAIN ERROR
> ⎕SI 6
> ^
> )si
> ⋆
> ⋆
>
> ⍝ ?? now the state indicator has to elements?
>
> xyzzy
> VALUE ERROR
> xyzzy
> ^
> )si
> ⋆
> ⋆
> ⋆
> ⎕si 1
> ◊ ◊ ◊ ◊
> ⎕si 2
> 0 0 0 0
> ⎕si 3
> ◊[0] ◊[0] ◊[0] ◊[0]
> ⎕si 4
> ⎕SI 5 ⎕SI 6 xyzzy ⎕si 4
> ⎕si 5
> DOMAIN ERROR
> ⎕SI 5
> ^
> ⎕si 6
> DOMAIN ERROR
> ⎕SI 6
> ^
>
>