@Adám Thank you Adam...I'm Erik Friis, been a member of the APL community since 1983 when I started with IBM out of college. Have a few papers published through the ACM's SIGAPL.
I'm currently lead programmer for a US company that has a major application written in APL and we have plans to migrate it to Dyalog APL in order to modernize the UI and be able to go cross-platform...
And (something you don't hear very often these days) I'm looking to hire some APL programming talent part-time consulting
Preferably someone in the US though not required and knowledge of Dyalog APL is a strong plus, although knowledge of APL in general (APL2, etc) is required.
Adam: At IBM I was an application developer using APL2. I wrote a system called Flexi-View which was a very early OLAP/spreadsheet type system than ran on IBM/370
I got quite heavily involved in the APL community and ended up leaving IBM around 1992 and ended up on Wall St (Morgan Stanley) and then at a number of other investment banks.
Last few years I have been immersed on k/db-q and have been writing a book on the language in my spare time, but doing APL development for a US based company last few years and programming in A+ at Morgan Stanley again prior to that
@user18167503 Interesting. Btw, you can indicate a reply to a specific message by hovering the mouse over the target message and clicking ↳ which inserts a "tag" at the beginning of your message, similar to ":60398283"
Anyway I'm looking to hire an APL consultant part-time to start to work as a direct report to me....any interested parties can send a resume and cover letter introducing themselves to [email protected]
@user18167503 I've starred this message which will make it appear on the "star-board" → for a while, but for a more permanent visibility, you should add a listing on APL Wiki. Let me know if you want help doing so.
@Adám Will try to add to the Wiki tomorrow. Good idea. Thanks.
@xpqz Not published yet, still manuscript, I read Q for Mortals which was a pretty good intro, but having 30+ years of APL experience and knowing where Arthur Whitney was coming from with k/q there was a lot more to describe including a lot of things that even some of the better q programmers I know didn't even know so there's a lot of good stuff in the book.
@xpqz Also looking for people who might want to review the material and provide feedback on presentation of the material if anyone is interested. Not sure if k/db-q is discussed here, but k is just another APL in different clothes :) It has first-classness which is really cool.
hi folks, noob question once again what would be nicer, more idiomatic way to pad string to muliples of a number I have this, but is seems cumbersome q←'extend me to quads' ⋄ ⊂q↑⍨×∘4⌈÷∘4≢q any cleaner way to write this ×∘4⌈÷∘4≢
I think there's a term for that form of parsing, but I've forgotten it. Trains are just pattern recognition, thus hard to teach. I am curious if the documentation/tutorials could be improved
@PyGamer0 The thing is, with the current system, you can express that with parens if you want, but with that system, how would you write (f⍵)g(h⍵)i(j⍵)k(l⍵)?
it seems like i've been doing APL for 1.5y now with long breaks. i think i started treating APL more seriously only around january/february last year though.
I'm having an issue with the way i start my game. this is how i usually start my game: 'f'⎕WC'Form' 'f.i'⎕WC'Image'(0 0)('Picture' 'f.b') 'f.b'⎕WC'Bitmap'('CBits'(6⌿6/16 16⍴0)) startGame⍬
I've been trying to throw this into the actual startGame⍬ function but when i do that, for some reason it just shows a blank display instead of pixels. https://github.com/Brian-ED/myGame
While you can use a dummy variable like _← to assign the result from ⎕WC, you can alternatively use the more modern/functional ⎕NEW system, e.g. f←⎕NEW⊂'Form' and f.i←⎕NEW'Image'(('Points'(0 0))('Picture' 'f.b')). This will also avoid creating f as a global variable.
Just note that ⎕FIX is finicky about the constructor argument. You can't use positions (like (0 0)) and you must ensure the proper enclosure level (if you want only one property set, enclose the name-value pair).
@BrianBED The parameters for the created object. Every object has a bunch of properties, which you can either set at creation time or update later. ⎕WC lets you set them by position (in the order shown in the docs) or using the name of each property in a name-value list, but it is very lenient about the exact array structure of its argument. ⎕FIX is very strict.
@Adám I thought ⎕FIX was a typo the first time you used it, that you meant ⎕NEW, but then you used it again. Can you explain the relation to ⎕FIX? Or type twice?
Yes, it should be ⎕NEW — I've been writing multiple things in parallel, and the other thing I'm writing about is ⎕FIX-related. Here, it should of course be ⎕NEW to create new objects.
Got it! For a moment I was worried about some other problems with ⎕FIX I was not aware of - I a have few I'm trying get fixed in next release of Dyalog.
I'll get to the APL bot in a bit but I have more concerning things I need to try to fix; IDK if my server crashed or if the host is just offline itself
Foremost, thanks for providing the writing access. I have a weird question regarding the limitations of the system function ⎕FX. I have noticed there exists an upper bound on the size of the function created in APL (Obviously such a limit should exist, I just have not expected it to be so low). E.g. {1≠⎕FX↑(⊂'f'), ⍵⍴⊂'''x''': ∇ ⍵+1 ⋄ ⍵}0 returns 4095 on my pc. Where could I find out more about it? P.S. I do realize it is a bad practice to create such large functions (especially in APL).
By the way, {1≠⎕FX↑(⊂'z←f z'), ⍵⍴⊂'z←z+1⋄z←z+1': ∇ ⍵+1 ⋄ ⍵}0 returns 2848 (and not something close to 2*11 = 2048 = 4096÷2, as I would naively expect). But {1≠⎕FX↑(⊂'z←f z'), ⍵⍴⊂'z←z+1⋄z←z+1⋄z←z+1': ∇ ⍵+1 ⋄ ⍵}0 does return 2047.
is there a way to get pixel rgb from a image file i can make in paint? i need it for drawing setpieces in my game, and i would rather draw them than making the rgb for each pixel
⎕NEW 'Bitmap'
DOMAIN ERROR
⎕NEW'Bitmap'
∧
⎕NEW'Bitmap' 'test bitmap.bmp'
DOMAIN ERROR
⎕NEW'Bitmap' 'test bitmap.bmp'
∧
⎕NEW ⊂'Bitmap'
FILE ERROR 2 No such file or directory: The object could not be created
⎕NEW⊂'Bitmap'
∧