Hi,
for the following nested vector the Selective Assigments do not work
properly:
/
⍝ Matrix A is being repeated 3 times in B.
⍝ Matrix A has a skalar and an empty vector.
⍝ Those items have to be replaced.
/* A←2 2⍴ 'A' 'abc' (2 2⍴'qwert') ' '
B←3⍴⊂A
8 ⎕CR B*
┌→─
newer version
will not be supported.
SAVED 2025-03-04 15:53:01 (GMT+1)*
Don't worry about the version mismatch - I step up the Archive version
whenever
the file format changes in some way (like it did with yesterday's fix).
Best Regards,
Jürgen
On 3/4/25 16:06, Hans-Peter Sorge vi
:
Hi Hans-Peter,
thanks. See *SVN 1853* for a faster version. Frequent expands of a
big matrix was apparently not such a good idea.
Best Regards,
Jürgen
On 3/6/25 00:56, Hans-Peter Sorge wrote:
Hi Jürgen,
I tested
*big←10?10*
)save WS / )load WS.xml happens in almost no time.
)dump
, say *vid=yyy* and *yyy > xxx*. With the fix the ravels are
being ordered by increasing depth (which enforces *yyy < xxx*).
Best Regards,
Jürgen
On 3/7/25 12:12, Hans-Peter Sorge via Bugs and suggestions for GNU APL
wrote:
Hello Jürgen,
bug hunting turns funny, when you realize, the bu
*vid* that is
currently being processed.
Best Regards,
Jürgen
On 3/1/25 23:21, Hans-Peter Sorge wrote:
Hi,
I would like eliminate some content from the )Saved WS file to locate
the offending content,
as it still takes a couple of minutes to )LOAD the )DUMPed WS.
How can I relate the trace
)COPY time should be correct.
Best Regards,
Jürgen
On 2/26/25 20:24, Hans-Peter Sorge wrote:
Hi,
The Diamond operator is not always working as advertised.
Several statements on the same line are separated by the APL
character ◊ (called /Diamond/).
Note that different statements on the same li
n such
that it will not harm
real life APL code. However, almost every system limit can be exceeded
by constructing
an example that aims at exceeding it. I do not consider that as a
design fault.
Best Regards,
Jürgen
On 3/1/25 20:40, Hans-Peter Sorge wrote:
Hi Jürgen,
* 3 ⎕CR ⍎∊17⍴⊂'
, Hans-Peter Sorge wrote:
Hi Jürgen,
thank you.
Loading a )DUMPed WS.apl brings the variable back - thank you.
Now.
Loading a )DUMPed WS.apl with a 1⍴' ' variable in it takes about
11[sec] to restore the Var!!
>> ~ 2⍴' ' is blowing the )TIME LIMIT.
A couple
Hi,
I can )LOAD the attached WS.
However a )copy goes into nirwana ...
Latest most recent SVN as of now..
* )copy BUGGY_CLOSE mtx**
*
===
SEGMENTATION FAULT
*** useless apl.lines (no CXXFLAGS=-rdynamic -gdwarf-2)
--
Hi,
creating a slightly odd matrix:
*mtx←(2 2)⍴ 'asdsf' ('a',(⊂,⍬ ),'s',⊂,⍬ ) (4⍴⊂,⍬ ) (⍬ )**
8 ⎕CR mtx*
Character '⊖' replaced ~ for readability.
This output is expected.
┌→──┐
↓┌→┐ ┌→──┐│
││asdsf│ │a ┌~┐ s ┌~┐││
│└─┘
The most likely suspect in my
experience is the pick (monadic ⊃) function.
Best Regards,
Jürgen
On 2/24/25 00:19, Hans-Peter Sorge wrote:
Hi,
The expressions for "a" and "b" yield the proper results:
*a← (⊂¨ 2 2 ⍴⊂,¨2 2 ⍴⍬ )**
b← (⊃¨⊂¨ 2 2 ⍴⊂,¨2 2 ⍴⍬ ) **/⍝⊃¨a/*
/⍝ The d
g.
Best Regards
Hans-Peter
Am 01.03.25 um 23:21 schrieb Hans-Peter Sorge:
Hi,
I would like eliminate some content from the )Saved WS file to locate
the offending content,
as it still takes a couple of minutes to )LOAD the )DUMPed WS.
How can I relate the trace to the xml? Thoughts furth
Hi,
I would like eliminate some content from the )Saved WS file to locate
the offending content,
as it still takes a couple of minutes to )LOAD the )DUMPed WS.
How can I relate the trace to the xml? Thoughts further down.
]log 24
Logging facility 24: commands )LOAD, )SAVE, )IN, and )O
1
Z←rho_Z⍴Z
∇*
The macro is called with LO=ENCL or LO=DISCL and B.
My conclusion so far (and I am running out of ideas) is this:
Either there is no fault, or the fault is in both the macro and in the
C/C++
implementation of the EACH operator. The most likely suspect in my
experience is the pick
lines are being inserted.
Best Regards,
Jürgen
On 2/17/25 10:46, Hans-Peter Sorge wrote:
Hi,
The output from x is nicely arranged:
/⍝ A 2x2 array of 2x2 arrays/ :
*x←2 2 ⍴(⊂2 2)⍴¨ 'asdf' 'yxcv' 'hjkl' 'uiop'**
x
***as yx
df cv
hj ui
kl op
* ≡
use )SAVE / )LOAD now?
Best Regards
Hans-Peter
Am 26.02.25 um 15:48 schrieb Dr. Jürgen Sauermann:
Hi Hans-Peter,
thanks, fixed in *SVN 1843*.
Best Regards,
Jürgen
I have made a major re-disign of 10 ⎕CR B, hope it does
not brake other
On 2/16/25 12:35, Hans-Peter Sorge wrote:
Hi,
$ apl
Hello Jürgen,
thanks a lot.
Best Regards
Hans-Peter
Am 26.02.25 um 18:42 schrieb Dr. Jürgen Sauermann:
Hi Hans-Peter,
thanks, fixed in *SVN 1844*.
Best Regards,
Jürgen
On 2/18/25 21:14, Hans-Peter Sorge wrote:
*)clear*
CLEAR WS
* (⊂¨(1 0 1 0 0 1) (1 1 1)) ⊂¨ ⊂¨(1 0 1 0 0 1) (1 1 1
Hi,
The Diamond operator is not always working as advertised.
Several statements on the same line are separated by the APL character ◊
(called /Diamond/).
Note that different statements on the same line are executed from left
to right while each statement is evaluated from right to left.
a
AD now?
Best Regards
Hans-Peter
Am 26.02.25 um 15:48 schrieb Dr. Jürgen Sauermann:
Hi Hans-Peter,
thanks, fixed in *SVN 1843*.
Best Regards,
Jürgen
I have made a major re-disign of 10 ⎕CR B, hope it does
not brake other
On 2/16/25 12:35, Hans-Peter Sorge wrote:
Hi,
$ apl -q
/⍝ create, rather
Hi,
The expressions for "a" and "b" yield the proper results:
* a← (⊂¨ 2 2 ⍴⊂,¨2 2 ⍴⍬ )**
b← (⊃¨⊂¨ 2 2 ⍴⊂,¨2 2 ⍴⍬ ) **/⍝⊃¨a/*
/⍝ The disclose in "b" works as expected/
*'ab',¨ ⊂¨ 3 ⎕CR ¨ a b /⍝ expression to represent "a" and "b" in one
line. /*
a ┏━┓ ┏━┓ b ┏→
*)clear*
CLEAR WS
* (⊂¨(1 0 1 0 0 1) (1 1 1)) ⊂¨ ⊂¨(1 0 1 0 0 1) (1 1 1) *
RANK ERROR
(⊂¨(1 0 1 0 0 1) (1 1 1))⊂¨⊂¨(1 0 1 0 0 1) (1 1 1)
^ ^
*/⍝ just the ~/*
*(~⊂¨(1 0 1 0 0 1) (1 1 1)) ⊂¨ ⊂¨(1 0 1 0 0 1) (1 1 1)*
gards,
Jürgem
On 2/18/25 17:01, Hans-Peter Sorge wrote:
Hi,
in SVN: 1833:1841M there is a stack trace for
*x←, ⊂1 1 0 0 1 1**
y←,⊂'asdfgh'
x[1]/¨y[1]*
*** useless apl.lines (no CXXFLAGS=-rdynamic -gdwarf-2)
-- Stack trace at
Hi,
in SVN: 1833:1841M there is a stack trace for
*x←, ⊂1 1 0 0 1 1**
y←,⊂'asdfgh'
x[1]/¨y[1]*
*** useless apl.lines (no CXXFLAGS=-rdynamic -gdwarf-2)
-- Stack trace at Prefix.cc:1504
0x7f6
Hi,
The output from x is nicely arranged:
/⍝ A 2x2 array of 2x2 arrays/ :
*x←2 2 ⍴(⊂2 2)⍴¨ 'asdf' 'yxcv' 'hjkl' 'uiop'**
x
***as yx
df cv
hj ui
kl op
* ≡x*
2
/⍝ The gaps between arrays: OK.
/*⍕x*
as yx
df cv
hj ui
kl op /
⍝ Correct gaps:/
* ' '=⍕x*
1 0 0 1 1 0 0 1
1 0 0 1
Hi,
$ apl -q
/⍝ create, rather simple, content/
* BUG←⊂⊂¨(1 2 0)⍴¨'X'
*/⍝ dump content/***
)dump buggy
*2025-02-16 12:13:47 (GMT+1)
/⍝ and copy dumped content/**
*)copy buggy*
DUMPED 2025-02-16 12:13:47 (GMT+1)
/⍝ /() /related to ⊂ (enclose)?/
DOMAIN ERROR
((⎕IO+() 0 ())⊃BUG)←'X
Hi Jürgen,
in SVN: 1833:1838M fixed too.
Thank you and Best Regards
Hans-Peter
Am 14.02.25 um 17:20 schrieb Hans-Peter Sorge:
Hi,
$ apl -q
set the stop vector for long running / large data volume functions
when a particular situation is met.
Here grossly simplified ...
∇x
[1] ⍎1/
gen
On 2/14/25 14:55, Hans-Peter Sorge wrote:
Hi,
)clear
CLEAR WS
⎕CR ' '
==
Assertion failed: size()
in Function: back
in file: UCS_string.hh:322
C/C++ call stack:
-
Hi,
$ apl -q
set the stop vector for long running / large data volume functions
when a particular situation is met.
Here grossly simplified ...
∇x
[1] ⍎1/'S∆x←stopper'
[2] stopper:
[3] S∆x←⍳0∇
x
x[2]
→2
Symbol is: 'stopper' at Symbol.cc:404
*** useless apl.lines (no CXXFLAGS=-rd
Hi,
)clear
CLEAR WS
⎕CR ' '
==
Assertion failed: size()
in Function: back
in file: UCS_string.hh:322
C/C++ call stack:
-- Stack trace at Assert.cc:75
--
WS to compare both cases?
Just ideas popping up.
Best Regard
Hans-Peter
Am 12.02.25 um 20:25 schrieb Blake McBride:
Just FYI. The problems I was noticing were unrelated to )COPY
I saw the same problems with )LOAD
--blake
On Wed, Feb 12, 2025 at 1:05 PM Hans-Peter Sorge
wrote:
Hi J
Sorry -
an even shorter way .
)clear
CLEAR WS
→(0=⍴,0)/0
SYNTAX ERROR+
→(0=⍴0)/0
^
Best Regards
Hans-Peter
Am 10.02.25 um 16:41 schrieb Hans-Peter Sorge:
Hi,
A simple path to reproduce the reported ")Copy bug" :
)clear
CLEAR WS
)copy Editor
SAVED
Hi,
A simple path to reproduce the reported ")Copy bug" :
)clear
CLEAR WS
)copy Editor
SAVED 2025-02-10 09:15:01 (GMT-6)
E∆Edit 'E∆Edit'
At all prompts you can type 'end' to exit or backup to the previous
question.
You can often type 'help' to get help.
Enter your edit comman
e I
found
a solution in *SVN 1798*.
Best Regards,
Jürgen
On 12/9/24 22:31, Hans-Peter Sorge wrote:
Sorry - I get some horrible big letters in my original post.
High-res and font settings and manual adjust and Wayland seen not
to go along very well :-(
Am 09.12.24 um 22:22 schrieb Han
Hi Jürgen.
the bug persists.
Best Regards
Hans-Peter
Am 10.12.24 um 13:02 schrieb Dr. Jürgen Sauermann:
Hi Hans-Peter, Bill,
as far as I can see the Apple error is bogus. However, I believe I found
a solution in *SVN 1798*.
Best Regards,
Jürgen
On 12/9/24 22:31, Hans-Peter Sorge wrote
Sorry - I get some horrible big letters in my original post.
High-res and font settings and manual adjust and Wayland seen not
to go along very well :-(
Am 09.12.24 um 22:22 schrieb Hans-Peter Sorge:
Hi,
Revision 1797 fails with
Quad_MX.cc: In member function 'virtual sAxis
Qu
Hi,
Revision 1797 fails with
Quad_MX.cc: In member function 'virtual sAxis
Quad_MX::subfun_to_axis(const UCS_string&) const':
Quad_MX.cc:1306:27: error: invalid application of 'sizeof' to incomplete
type 'Quad_MX::fun_info []'
1306 | FUN_INFO_COUNT = sizeof(op_desc) / FUN_INFO_SIZE
Hi Jürgen,
thank you.
Best Regards
Hans-Peter
Am 28.08.24 um 13:40 schrieb Dr. Juergen Sauermann:
Hi Hans-Peter,
thanks, fixed in *SVN 1779*.
Best Regards,
Jürgen
On 8/25/24 18:35, Hans-Peter Sorge wrote:
Hello Jürgen,
the case stems from Simple_SQL.apl
I was loading the Workspace, did
Peter,
according to the IBM language reference page 41 is
selective specification limited to specific functions,
and *'.'* is unfortunately not one of them.
I will look into making this working, but it could be tricky and take
a while,
In the meantime you could use *x['y']* ins
Hi,
Just a simple test:
x.y ← 1 2 3
x.y
1 2 3
x.y[1]
1
1⊃x.y
1
⎕IO⊃x.y
1
(⎕IO⊃x.y)←⊂ 'abc'
SYNTAX ERROR+
(⎕IO⊃x.y)←⊂'abc'
^ ^
(1⊃x.y)←⊂ 'abc'
x.y
abc 2 3
Greetings
Hans-Peter
Jürgen, thank you!
Am 30.06.24 um 13:41 schrieb Dr. Jürgen Sauermann:
Hi,
I am happy to announce that *GNU APL 1.9* has been released.
GNU APL is a free implementation of the ISO standard 13751 aka.
"Programming Language APL, Extended".
The 1.9 release contains:
* Bug fixes
Have fun!
Dr
Jürgen,
Thank you.
Best Regards
Hans-Peter
Am 10.03.24 um 12:16 schrieb Dr. Jürgen Sauermann:
Hi Hans-Peter,
thanks, fixed in *SVN 1764*.
Best Regards,
Jürgen
On 3/6/24 15:24, Hans-Peter Sorge wrote:
Hi,
Just for fun i did some "Home work" for my wife.
Kids in school were to
Hi,
Just for fun i did some "Home work" for my wife.
Kids in school were to guess (and calculate) numbers.
For the calculation part I came up with an APL Funktion (No more school
- right ?-).
[0] Mathe_Bug
[1] L←278 213 1046 2884 391
[2] R←87 32 49 479 324
[3] E←L∘.× R ⍝ Possible cal
Hi Jürgen,
thank you a lot.
Best Regards,
Hans-Peter
Am 29.09.23 um 16:08 schrieb Dr. Jürgen Sauermann:
Hi Peter,
thanks, fixed in *SVN 1734*.
Best Regards,
Jürgen
On 9/27/23 23:08, Hans-Peter Sorge wrote:
Hi,
*This gives a stack trace:*
X←0 2⍴ ⊂'0'
created with this
bug then maybe the following can fix them:
*)CLEAR**
**∇Z←A E B**
** Z←A×10⋆B**
**∇**
**)COPY broken_WS**
**)DUMP broken_WS**
*
Best Regards,
Jürgen
On 9/30/23 15:54, Hans-Peter Sorge wrote:
Hi Jürgen,
.. not every key-stroke.
But this one:
⎕FC←'.,⋆0_*-*'
l and .apl
files
are human readable). GNU APL tends to use uppercase E and ¯ (like 1E¯13)
in .apl files and lowercase e and ASCII - (like 1e-13) in .xml files.
Therefore
the combination of uppercase E and ASCII - is not supposed to occur in
either file format.
Best Regards,
Jürgen
On 9/29/23 14:28,
L tends to use uppercase E and ¯ (like 1E¯13)
in .apl files and lowercase e and ASCII - (like 1e-13) in .xml files.
Therefore
the combination of uppercase E and ASCII - is not supposed to occur in
either file format.
Best Regards,
Jürgen
On 9/29/23 14:28, Hans-Peter Sorge wrote:
Hi,
I have a fu
Hi,
I have a function E (as simple as in test below) in my workspace (WS
size 2.9MB).
)DUMP and
)loading it produces an error:
)LOAD
DUMPED 2023-09-28 19:44:54 (GMT+2)
VALENCE ERROR
⎕CT←1 E-13
^ ^
Just
)ERASE E
∇E ∇ ⍝ recreate ist
)DUMP
)LOAD ...
fix
Hi,
*This gives a stack trace:*
X←0 2⍴ ⊂'0'
⍎¨X[;1]
==
Assertion failed: start <= body_from_to.low
in Function: set_error_info
in file: Executable.cc:602
C/C++ call stack:
*** usele
*⊃* give different results
in GNU APL and also in IBM APL2 (PC version).
Best Regards,
Jürgen
On 3/14/23 10:12 PM, Hans-Peter Sorge wrote:
Hi Jürgen,
looks like I have plenty of time,
however, it's being usefully invested:-)
(SVN 1660)
This displays as expected.
X (8⎕CR X ←1 2 3
Hi Jürgen,
looks like I have plenty of time,
however, it's being usefully invested:-)
(SVN 1660)
This displays as expected.
X (8⎕CR X ←1 2 3 ⊃¨⊂'A' 'CD' 'EF')
A CD EF ┌→──┐
│A ┌→─┐ ┌→─┐│
│ │CD│ │EF││
│ └──┘ └──┘│
└ϵ──┘
A..CD
A 1 2 3 4 5 1 1 1
1 1 1
1 1 1
(1/3⊃V) ≡ 3⊃V
1
(3⊃V)←1
(1/3⊃V) ≡ 3⊃V
1*
Best Regards,
Jürgen
On 3/12/23 7:02 PM, Hans-Peter Sorge wrote:
Hi Jürgen,
back from wintry Hahnenklee/Harz here are my thoughts.
In ref.: "like a variable
e that in one way or
the other seems not really satisfactory but somewhat arbitrary.
I would therefore propose to avoid such constructs for the sake
of portability.
Best Regards,
Jürgen
On 3/9/23 6:56 PM, Hans-Peter Sorge wrote:
Hi Jürgen,
thank you for considering it.
Your work is admirabl
3/8/23 9:05 PM, Hans-Peter Sorge wrote:
Hello Jürgen,
sorry that I'm so insistent
in
APL2 Programming:Language Reference
it is stated:
Selective Specification:Compress can be used for selective specification:
M←32ρι6
M
12
34
56
(10/M)←'ABC'
M
A2
B4
C6
Using our example V
V←
length 1 axis added by
1/ when*X* is
scalar) and therefore *(3⊃V)←1 *and *(1/3⊃V)←1 *should IMHO yield the
same.
Best Regards,
Jürgen
On 3/6/23 9:16 PM, Hans-Peter Sorge wrote:
Hello Jürgen,
I agree with your case 1/2 Statement.
The examples I was showing is actually "off by 1".
DOMAIN ERROR in this case.
Best Regards,
Jürgen
On 3/6/23 9:16 PM, Hans-Peter Sorge wrote:
Hello Jürgen,
I agree with your case 1/2 Statement.
The examples I was showing is actually "off by 1".
I was referring to
(1/3⊃V)←1
having
a←
room for interpretation.
However, both APL2 and Dyalog agree on case 1 and therefore I changed
GNU APL to behave the same.
Best Regards,
Jürgen
On 3/4/23 8:25 PM, Hans-Peter Sorge wrote:
Hi,
Works as expected
⊃'Sue' 'Maria' 'Annalisa'
is an array 3 by 8.
⊂⊃
2 3 4 Sue
5 6 7 8 Maria
9 10 11 12 Annalisa
5 4 1 2 3 4 Susan
5 6 7 8 Mary
9 10 11 12 Annalisa
APL+Win 4.0
var←0 0 0 ⋄ (1⊃var)←5 4 ⋄ (2⊃var)←3 4⍴⍳12 ⋄ (3⊃var)←⊃'Sue' 'Maria' 'Annalisa'
⋄ var ⋄ (3⊃var)←⊂⊃'Susan
Hi,
Works as expected
⊃'Sue' 'Maria' 'Annalisa'
is an array 3 by 8.
⊂⊃'Susan' 'Mary' 'Annalisa'
is an element (⊂) of a 3 by 8 array (⊃'Susan' 'Mary' 'Annalisa' ).
Finally each element in ⊃'Sue' 'Maria' 'Annalisa' gets assigned an
array of ⊃'Susan' 'Mary' 'Annalisa'
Greetings
Hans-Peter
Hi,
I have some bigger data collections to analyze.
Zeros are represented as .000 within the records.
Reading the files with ⎕FIO[49], I get a vector of vector with numbers.
⊃⍎¨ file should return the matrix of numbers.
⍎¨ fails with RANK ERROR on .000
Short extract:
⍎¨⊂'.000'
RANK ERROR+
μ-
Jürgen, gute Besserung.
Am 22.01.23 um 14:07 schrieb Dr. Jürgen Sauermann:
Gentlemen,
I am sorry for not responding earlier to any emails to bug-apl@gnu.org.
I was unexpectedly taken offline after new year and I am
now online again, although only for a short period. Just
having returned from
Hi,
Parse2 works for me. Albeit a rather simple test.
What was your data you parsed??
To explain:
r←(1↑d),(1↑d),v ⍝⍝ add 2 time the delimiter in front of vector. If d
is a vector, take the first element. If d is a matrix, fail.
⍝ normally use a different name than the return var. Just improve
Hi Bill,
where does utl come from?
Regards
Hans-Peter
Am 07.03.22 um 16:14 schrieb Bill Daly:
Hi Jürgen
Please look at the attached log. This isn't the first APL that I've
stubbed my to on quad-quote and I don't have an opinion on what is right.
Let me know if you change how quad-quote wo
Hi,
I get a compile error.
Fedora 35, Kernel 5.16.12-200.fc35.x86_64
In file included from ../Function.hh:27,
from ../PrimitiveFunction.hh:27,
from ../PrimitiveOperator.hh:24,
from ../Quad_FIO.hh:29,
from file_io.cc:26:
../NamedO
Hi Russ,
that's a good idea. Thank you.
Regards,
Hans-Peter
Am 01.01.22 um 03:53 schrieb Russtopia:
Hi Hans-Peter,
do you mind if I post a cleaned-up version of your solution to the
word count/frequency problem on Rosettacode.org ?
http://rosettacode.org/wiki/Word_frequency
That was the o
your Subject line so it is more specific
than "Re: Contents of Bug-apl digest..."
Today's Topics:
1. Re: Absolute limits of rank 2 bool matrix size in GNU APL?
(Hans-Peter Sorge)
2. Re: Absolute limits of rank 2 bool
Hi Rus,
looks like the outer product is a not needed - you have the unique words
and along the line you got the word count too.
you take the sorted word vector
swv ←'aa' 'bb' 'bb' 'cc' 'cc' 'ff' 'gg'
then you create a partition vector from it
pv←+\1,~2≡/swv
pv
1 2 2 3 3 4 5
partition for wc
e to leave matters as they are.
Best regards,
Jürgen
On 8/27/21 12:48 AM, Hans-Peter Sorge wrote:
Hi,
thank you for your insight.
⍝ However I'm not convinced.
⍝ Comparing expr. 1 (≡ 2)
(⊂1 1)⍴ ¨2 2⍴1
1 1
1 1
⍝ to expr. 2 (≡ 3)
⊂¨(⊂1 1)⍴ ¨2 2⍴1
1 1
1 1
⍝
ine
too much in *⊂2 2 ⍴ e* (even though that way it looks a little
nicer).
Best Regards,
Jürgen
On 8/26/21 11:29 AM, Hans-Peter Sorge wrote:
Hi,
⍝ just a simple matrix
i∘.+i←¯1+⍳2
0 1
1 2
⍝ make it an element
⎕ ← e ← ⊂i∘.+i←¯1+⍳2
Hi,
⍝ just a simple matrix
i∘.+i←¯1+⍳2
0 1
1 2
⍝ make it an element
⎕ ← e ← ⊂i∘.+i←¯1+⍳2
0 1
1 2
⍝ matrix of matrixes
2 2 ⍴ e
0 1 0 1
1 2 1 2
0 1 0 1
1 2 1 2
⍝ enclose the matrix of matrixes indents nicely ...
⊂ 2 2 ⍴ e
0 1 0 1
1 2 1 2
Hi Jürgen,
thank you.
Best Regards
Hans-Peter
Am 19.08.21 um 13:12 schrieb Dr. Jürgen Sauermann:
Hi Hans-Peter,
thanks, fixed in *SVN 1483*.
Best Regards,
Jürgen
On 8/17/21 8:35 PM, Hans-Peter Sorge wrote:
Hi,
for
m←4 4 ⍴ 1
I get:
3 ⎕CR (2 2 2⍴m) m
┏→━━┓ ┏→━━┓
↓1 1┃ ↓1 1 1
Hi,
for
m←4 4 ⍴ 1
I get:
3 ⎕CR (2 2 2⍴m) m
┏→━━┓ ┏→━━┓
↓1 1┃ ↓1 1 1 1┃
┃1 1┃ ┃1 1 1 1┃
┃ ┃ ┃1 1 1 1┃
┃1 1┃ ┃1 1 1 1┃
┃1 1┃ ┗━━━┛
┗━━━┛
⍝ Something is missing
(2 2 2⍴m) m
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1
Best Regards
Hans-Peter
Hi,
if this is, what you want?
ar←4 4⍴11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44
⍝ btw:
ar← (10×⍳4)∘.+⍳4
a←1 2 3 4 4 3 2 1
b←1 2 3 4 4 3 2 1
,[1.1]'lp' 'ar' ar 'a' a 'b' b (d,⌽d←1 1⍉ar)
It is not quite clear, what your intend is.
First:
Hi,
I have opened a bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=1967789
<https://bugzilla.redhat.com/show_bug.cgi?id=1967789>
Best Regards
Hans-Peter
Am 02.06.21 um 11:23 schrieb Hans-Peter Sorge:
Hi,
I am on Fedora 34 now (apl SVN: 1198:1472M)
The apl font partially fa
ri, Jun 04, 2021 at 12:47:31AM +0200, Hans-Peter Sorge wrote:
However, there are "graphically oriented" UTF characters (including
⍝⊖⍟⍱), that take two character positions when being displayed and
take one character position when being selected.
So it's not an APL character / font
ions follow suit here (in not supporting
overstrikes)
while firefox (or maybe X) tries to.
Again, GNU APL was specifically designed to not not need APL fonts in
the first
place and using them nevertheless will therefore cause more trouble
then help.
Best Regards,
Jürgen
On 6/2/21 11:23 AM, H
sing M-x gnu-apl.
https://github.com/lokedhs/gnu-apl-mode
<https://github.com/lokedhs/gnu-apl-mode>
This should hopefully fix your problems.
Regards,
Elias
On Wed, 2 Jun 2021 at 17:23, Hans-Peter Sorge
mailto:hanspeterso...@netscape.net>> wrote:
Hi,
I am on Fedora 34 n
Hi,
I am on Fedora 34 now (apl SVN: 1198:1472M)
The apl font partially fails to work with keyboard layout apl.
The "over strike characters" ⌽⍉⍟⍝⍱⍲ ,when entered in a terminal, appear
in half
The left half of the character is being displayed when entered.
The right half appears when space
Hi,
I would modify the data model and/or process graph or use an adequate
programming language.
In my opinion, having to rely on data content to control program flow is
'costly'.
(My be one reason too, that APL has no language specific regular
expressions).
My highest priority for APL would
Hi,
just my opinion...
The list of programming languages I used to use is looong.
When APL got deployed at IBM, all employees were supposed to learn APL -
for a supposedly more efficient work environment.
Few were able to efficiently use it.
Production Control code -> I modified it ~400 lin
Hi,
in GNU APL monadic ↑ takes the first element ( that is of a vector or
higher ranking matrix, try ↑ 3 3 3 ⍴'abc' 'cde').
As the resulting vector has three elements you end up replicating them
9, 2, 9 times ( 9 2 9 / 'abc').
So there is no application of the replication vector 9 2 9 to all
-Peter,
thanks, see below.
Best Regards,
Jürgen
On 12/24/20 12:25 AM, Hans-Peter Sorge wrote:
Hi,
A bit strange, as I did not notice it up to now.
This is the starting point
[joy@joyw520 WSTEST]$ ll
insgesamt 4
drwxrwxr-x. 2 joy joy 4096 23. Dez 23:34 wslib2
Creating a
Hi,
A bit strange, as I did not notice it up to now.
This is the starting point
[joy@joyw520 WSTEST]$ ll
insgesamt 4
drwxrwxr-x. 2 joy joy 4096 23. Dez 23:34 wslib2
Creating a name .
[joy@joyw520 WSTEST]$ touch wslib2/LLLTTT.apl
Starting APL .
tive than theoretically needed.
Best Regards,
Jürgen
On 12/16/20 1:16 PM, Hans-Peter Sorge wrote:
Hi Jürgen,
Concerning the erasure of a variable, other language have such
functionality too.
Like "unset VAR" or "VAR=", by that ignoring variable content.
Even ⎕EX does not
Hi
I have created a DB example exploring structured variables:
⍝ setting the connect parameters
MY_DB.DB_CONNECT.DB_NAME←'db_name'
MY_DB.DB_CONNECT.DB_HOST←'172.0.0.1'
MY_DB.DB_CONNECT.DB_USER←'me'
MY_DB.DB_CONNECT.DB_PASSWD←'t0tal53(rt'
⍝ Do the connect. Use root name only.
BD_CONNECT.DB_HNDL←
Hi Jürgen,
Concerning the erasure of a variable, other language have such
functionality too.
Like "unset VAR" or "VAR=", by that ignoring variable content.
Even ⎕EX does not care.
Protecting names is done by )PCOPY. or ⍫, though locking a function
renders it unreadable.
And as I mentioned,
Hi Hans-Peter,
thanks a lot for your feedback. See my comments below.
Best Regards,
Jürgen
On 12/14/20 4:39 PM, Hans-Peter Sorge wrote:
Hi,
I could not resist to experiment.
)clear
CLEAR WS
A←0
A.A←1
DOMAIN ERROR+
A.A←1
^ ^
)clear
CLEAR WS
Hi,
just an experiment to see what can be done ...
Works like a charm - mostly :-)
⍝ --- an arbitrary function.
∇example[⎕]
∇
[0] Z←example name_struct
[1] Z← name_struct
[2] Z.N ← 'new'
[3] ⎕EX 'Z.K'
∇
⍝ - some data
A.B.C.D ← 14
Hi,
there is some inconsistency in depth reporting:
≡ U.V.W.X.Y.Z←0
0
≡ U
6
≡ U.V.W.X.Y.Z←,0
1
≡ U
6 ⍝ should be 7 ??
≡ U.V.W.X.Y.Z←⊂,0
2
≡ U
7 ⍝ should be 8 ??
Q: Does depth on structured variables not have a different meaning?
This takes
Hi,
I could not resist to experiment.
)clear
CLEAR WS
A←0
A.A←1
DOMAIN ERROR+
A.A←1
^ ^
)clear
CLEAR WS
A.A←1
A←0 ⍝ Just replacing content of A.
B.B←2
A←B.B ⍝ Generates a trace. - probably should be A.B ←→ 2
Inco
Hi,
wildest dreams come true.
Fits right into the stuff I'm working on.
Best Regards
Hans-Peter
Am 13.12.20 um 16:27 schrieb Dr. Jürgen Sauermann:
Hi,
I created a new experimental feature in GNU APL: Structured variables.
See:
*info apl*
section 3.35.1 or:
https://www.gnu.org/software/a
command) then the current
behaviour remains because the file will not change itself if it contains
an invalid function.
*SVN 1374.**
*
Best Regards,
Jürgen
On 12/9/20 2:44 PM, Hans-Peter Sorge wrote:
Hi,
⍝ as expected:
∇FUN
[1] →←∇
FUN
SYNTAX ERROR
FUN[1] →←
^^
⍝ Just came
,
Jürgen
On 12/9/20 2:32 PM, Hans-Peter Sorge wrote:
Hi,
⍝ This writes apl chars
some_apl_chars ← '¨¯⍒⍋⌽⍉⊖≠∨∧\⌹@⍵∊⍴t↑↓⍳○p←~'
fh←'w' ⎕FIO[3] ''
some_apl_chars ⎕FIO[43] fh
60
⎕FIO[4] fh
0
⍝ This returns them:
⎕FIO[49] '
Hi,
⍝ as expected:
∇FUN
[1] →←∇
FUN
SYNTAX ERROR
FUN[1] →←
^^
⍝ Just came up in a typo:
∇FUN
[2] [1] →NEXTLINE:
[2] NEXTLINE:
[3] ∇
Line 1
Offending token: (tag > TC_MAX_PERM) 0x43030019 :
Statement: `→ `'NEXTLINE `:
DEFN ERROR+
∇FUN
^
⍝ The chan
Hi,
⍝ This writes apl chars
some_apl_chars ← '¨¯⍒⍋⌽⍉⊖≠∨∧\⌹@⍵∊⍴t↑↓⍳○p←~'
fh←'w' ⎕FIO[3] ''
some_apl_chars ⎕FIO[43] fh
60
⎕FIO[4] fh
0
⍝ This returns them:
⎕FIO[49] ''
¨¯⍒⍋⌽⍉⊖≠∨∧\⌹@⍵∊⍴t↑↓⍳○p←~
⍝ I did not notice so far that ⎕FIO[56] fails in writing APL cha
Hi,
is there a way that )DUMP preserves function fidelity - that is - keep
empty lines and indents?
It would improve readability a lot by eg. separating code and next
comment by a space line.
Best Regards
Hans-Peter
Am 08.11.20 um 20:07 schrieb Dr. Jürgen Sauermann:
Hi everybody,
I am curr
Hans-Peter,
thanks, see below.
Best Regards,
Jürgen
On 12/4/20 10:54 AM, Hans-Peter Sorge wrote:
Hi,
⎕FX 'library_function' should probably return 'Domain Error'
No. It defines a niladic function named library_function with an empty
function body.
'libe
Hi,
⎕FX 'library_function' should probably return 'Domain Error'
'libedif2.so' ⎕fx 'edif2'
edif2
⍝ just happened to be an accident ...
⎕fx 'edif2'
==
Assertion failed: old_ufun
in Function: fi
nswer the tricky ones).
Best Regards,
Jürgen
On 12/3/20 2:26 PM, Hans-Peter Sorge wrote:
Sorry, did not hit the mailing list...
Hi,
frankly I try to find out what it does...
4/2 2⍴⍳4
1 1 1 1 2 2 2 2
3 3 3 3 4 4 4 4
basically replicates the last column
4//2 2⍴⍳4
2 2 2 2 4
irectory **:
*find -exec sed -i 's/IO+)/⎕IO+⍬)/g' {} \;*
Please note that the character to be inserted is ⍬(Zilde) and not
0(Zero); the
difference is difficult to see with some fonts.
Best Regards,
Jürgen
On 12/3/20 6:35 PM, Hans-Peter Sorge wrote:
Hi,
a short test gives:
$ apl
Hi,
a short test gives:
$ apl -q
X←⊂'XXX'
)WSID DUMP_TEST
WAS CLEAR WS
)DUMP
2020-12-03 18:20:00 (GMT+1)
)OFF
)load DUMP_TEST.apl
DUMPED 2020-12-03 18:20:00 (GMT+1)
SYNTAX ERROR
((⎕IO+)⊃X)←'XXX'
^ ^
$ less DUMP_TEST.apl
.
X←00
((⎕IO+)
1 - 100 of 170 matches
Mail list logo