def index_generator(x):
if not isinstance(x, list):
return list(range(int(x)))
res = list(map(list, it.product(*map(compose(list, range), x))))
for e in x:
res = split(res, int(e))
return res[0]
⎕fix'file:///home/palaiologos/workspace/apl-misc-math/mm.apl'
mm.setup
ok
⎕←(⎕fr⎕pp)
645 10
still nothing
:Namespace mm
⍝ Default settings. The library works optimally with
⍝ higher precision arithmetic.
(⎕FR⎕PP)←1287 34
⍝ Alter to change the precision of operations.
⍝ Note: A value too small will carry more error due to
⍝ floating point inaccurancy.
epsilon←0.0000001
int_prec←0.0001
tanh_sinh_pf tanh_sinh_m2←⍬ ⍬ ⍝ To be computed by setup.
⎕fix'file:///home/palaiologos/workspace/apl-misc-math/mm.apl'
DOMAIN ERROR: The type of code in "/home/palaiologos/workspace/apl-misc-math/mm.
apl" could not be inferred
⎕FIX'file:///home/palaiologos/workspace/apl-misc-math/mm.apl'
∧
@KamilaSzewczyk It does, but only inside mm. If you want to set the values somewhere else, simply add the desired namespace path, e.g. ##.(⎕FR⎕PP)← or (#.⎕FR#.⎕PP)← or similar.
⎕fix'file:///home/palaiologos/workspace/apl-misc-math/mm.apl'
ok
DOMAIN ERROR: There were errors processing the script
⎕FIX'file:///home/palaiologos/workspace/apl-misc-math/mm.apl'
∧
I'm not sure how long it would take someone to figure out ` (⎕NEW 'Bitmap' (⊂'File' 'filename')).CBits` purely from dyalog docs, but far longer than it should
@rak1507 The most glaring example of such hostility towards our users is the CamelCasing of environment variables throughout, assuming that the user knows about that one place in the docs that says that whenever we spell those in CamelCase, we actually mean uppercase!
@rak1507 Yes. I'm pushing hard for opening the documentation to contributions. Currently, fixing documentation issues is hampered by an awkward pipeline.
For a common use case, reading bytes from a bitmap you can do: 'bmp'⎕WC'Bitmap'('File' 'test bitmap.bmp') bmp.CBits Alternative the more modern solution using ⎕NEW: (⎕NEW 'Bitmap' (⊂'File' 'filename')).CBits
would make a *huge* difference
@Adám to be honest, that sounds like a cop out, dyalog pays people to write docs no? maybe they should do their jobs properly rather than relying on the users to fix everything
@rak1507 There are several issues in that. The entirety of our documentation team consist of one full-time worker who also does many other things, but doesn't know APL — and one mostly-retired APLer who has to do all the technical writing, and is the only one who knows how to add cross-references to the docs.
@rak1507 Not if you don't have Word installed.
Our docs are in a format that is locked down in a proprietary system :-(
Then you'd break the rule of "don't repeat yourself" as the documentation is screwed together of modules, each of which can show up in multiple places.
Well, it is easy to laugh at it all, but keep in mind that Dyalog's documentation has had to move from platform to platform, and technology to technology over decades. When the first words were written, HTML didn't even exist yet.
@rak1507 I'm dreaming of moving everything to mkDocs. Would you want to do an internship for the explicit purpose of trying to migrate our docs to to something open and easy to edit?
i assume this isn't possible so but i'm curious. is there any way of sharing my game i made in APL to other people that don't have dyalog installed? i might even consider making a website for people to play on if that's possible but that seems annoying
:60410655I I don't think it is correct to say the Dyalog documentation is hopeless for finding out how to do things. For example, the GUI reference is a GUI reference, and then there is GUI user guide, tutorial, etc.
Could some things be improved? No doubt, but the caterwauling is a little overwrought.
The documentation is in fact the least of Dyalog's problems with new users. A much bigger problem is that the workspace has been declared dead and nothing has been offered to replace it.
@rak1507 I suggest writing to [email protected] explaining who you are, what your experience is, and that you'd like to intern for the explicit purpose of… etc.
A great way to get a job at a company is to constructively suggest how to improve something. Better yet is to actually do something productive on GitHub and have it noticed. Generally not a good strategy to ridicule said company.
@PaulMansour I have constructively suggested things. It's tough love ;)
I'm coming at it from the point of view of a user who gets %*$%*£& frustrated when I can't use a brilliant language to do anything without consulting 23 different pdfs and 43 different user manuals
Maybe if you've been doing apl for decades you haven't noticed how easy it is to look up things in other languages.
@Adám Why use MkDocs? Why not just APL? It's a perfect opportunity to develop a stack of useful packages. HTML generation, Markdown to APL, etc. It's really not hard to to do.