https://aplwiki.com/api.php?action=feedcontributions&user=RGS&feedformat=atomAPL Wiki - User contributions [en-gb]2024-03-29T06:53:45ZUser contributionsMediaWiki 1.38.2https://aplwiki.com/index.php?title=Talk:APL_logo&diff=7408Talk:APL logo2021-10-07T15:27:41Z<p>RGS: /* Negative feedback for parallel lines (original logo from SHARP APL reference manual) */ new section</p>
<hr />
<div>== Feedback for [logo name] by [[User:Adám Brudzewsky|Adám Brudzewsky]] ([[User talk:Adám Brudzewsky|talk]]) ==<br />
<br />
== Negative feedback for parallel lines (original logo from SHARP APL reference manual) ==<br />
<br />
The “parallel lines” logo is very hard to read and it's hard to understand that there's an “APL” written in there.<br />
In general, I would go for things that are easy to read.</div>RGShttps://aplwiki.com/index.php?title=APL_Meetup&diff=7204APL Meetup2021-08-08T14:54:03Z<p>RGS: Fix external link</p>
<hr />
<div>[[File:apl-meetup-poster.png|thumb|right|Session poster in Portuguese]]<br />
The '''APL Meetup''' (Portuguese: Meetup de APL) is an informal weekly event that was started by Rodrigo Girão Serrão and held its first session on the 1st of March of 2021. The objective is to provide an opportunity for Portuguese-speakers to learn APL.<br />
<br />
The sessions usually last for one hour and are centred around applying APL to solve "problems"; not only problems from websites and competitions such as the [[APL Problem Solving Competition]], but also tasks that the participants wish to solve with programming and, in particular, with APL.<br />
<br />
== External links ==<br />
<br />
* [https://mathspp.com/training/courses/apl-meetup Website] (schedule, contents covered in each session, etc)<br />
<br />
{{APL community}}<br />
[[Category:Online sessions]]</div>RGShttps://aplwiki.com/index.php?title=Template:APL_community&diff=6647Template:APL community2021-04-05T17:04:19Z<p>RGS: Fix location of the APL meetup in the community section.</p>
<hr />
<div><noinclude>__NOTITLE__</noinclude><br />
{| class="wikitable <includeonly>{{{1|mw-collapsible mw-collapsed}}}</includeonly>" style="width:100%"<br />
! colspan="2" | '''<big>APL community</big>''' [[{{fullurl:Template:APL_community|action=edit}} edit]]<br />
|-<br />
! Activities<br />
| [[Conferences]] ∙ [[Advent of Code]] ∙ [[APL Cultivation]] ∙ [[APL Problem Solving Competition]] ∙ [[APL Seeds]] ∙ [[BAA#Webinar|BAA sessions]] ∙ [[Code golf]] ∙ [[Dyalog user meeting]]s ∙ [[Dyalog webinar]]s ∙ [[Iverson Award]] ∙ [[Sharing code]]<br />
|-<br />
! [[:Category:User groups|User groups]]<br />
| [[APL Borealis]] (Canada) ∙ [[APL et J]] (France) ∙ [[APL Germany]] ([[German terminology|terminology]]) ∙ [[BAA]] (UK) ∙ [[FinnAPL]] (Finland) ∙ [[JAPLA]] (Japan) ∙ [[SAUG]] (Switzerland) ∙ [[SIGAPL]] (USA) ∙ [[SwedAPL]] (Sweden) ∙ [[Portuguese APL Meetup]] (Portugal)<br />
|-<br />
! People<br />
| [[Phil Abrams]] ∙ [[Brian Becker]] ∙ [[Bob Bernecky]] ∙ [[Larry Breed]] ∙ [[Charles Brenner]] ∙ [[Jim Brown]] ∙ [[Adám Brudzewsky]] ∙ [[Gitte Christensen]] ∙ [[Philip Van Cleave]] ∙ [[Peter Donnelly]] ∙ [[Dan Dyer]] ∙ [[Adin Falkoff]] ∙ [[Garth Foster]] ∙ [[Aaron Hsu]] ∙ [[Roger Hui]] ∙ [[Ken Iverson]] ∙ [[Morten Kromberg]] ∙ [[Marshall Lochbaum]] ∙ [[Eugene McDonnell]] ∙ [[John McPherson]] ∙ [[Jon McGrew]] ∙ [[Donald McIntyre]] ∙ [[Roger Moore]] ∙ [[Alex Morrow]] ∙ [[Alan Perlis]] ∙ [[Al Rose]] ∙ [[William Rutiser]] ∙ [[John Scholes]] ∙ [[Ian Sharp]] ∙ [[Lynne Shaw]] ∙ [[Bob Smith]] ∙ [[Geoff Streeter]] ∙ [[Roy Sykes]] ∙ [[Raymond Tisserand]] ∙ [[Arthur Whitney]] ∙ [[Clark Wiedmann]]<br />
|-<br />
! Other<br />
| [[APL Orchard]] ∙ [[APL Quote Quad]] ∙ [[APL_Wiki:About|APL Wiki]] ∙ [[Blogs]] ∙ [[Books]] ∙ [[Forums]] ∙ [[Humour]] ∙ [[Jobs]] ∙ [[Papers]] ∙ [[Subreddits]]<br />
|}</div>RGShttps://aplwiki.com/index.php?title=Roger_Hui&diff=6642Roger Hui2021-04-05T14:29:17Z<p>RGS: Fix typo in /* History */</p>
<hr />
<div>[[File:Roger.jpg|thumb|right|At [[Dyalog '18]]]]<br />
'''Roger Kwok Wah Hui''' (born 1953) is a computer scientist and co-developer of the programming language [[J]], and later [[Dyalog APL]]. He runs and maintains the Jsoftware website.<br />
__TOC__<br />
[[File:RH.jpg|thumb|left|Roger Hui's Iverson Award]]<br />
== History ==<br />
Hui's work was described at the APL85 conference in a paper, "DESIGN: A Financial Modelling System", written jointly with his supervisor, Fred Appleyard. The basic objects in the system were in "Direct Definition" ([[Ken Iverson|Iverson]], 1976, 1980), and [[Adin Falkoff|Falkoff]] and Iverson's The Design of APL was cited. Hui left Alberta Energy shortly after being promoted to a non-APL and non-programming position, and was out of work, and had no access to computers, from September 1985 to April 1986. This gave him plenty of time for intense study of Iverson's Rationalized APL (1983) and [[A Dictionary of APL|A Dictionary of the APL Language]], as it was then named. In 1996, Hui received the [[Iverson Award]] for his work on the design, implementation, and commercial development of J.<br />
<br />
== Publications ==<br />
<br />
=== APL conferences ===<br />
<div style="column-width:40em"><br />
* [[APL85]]: Design: a financial modelling system. With Fred Appleyard.<br />
* [[APL87]]: [https://www.jsoftware.com/papers/from.htm Some uses of { and }].<br />
* [[APL90]]: [https://www.jsoftware.com/papers/J1990.htm APL\?]. With [[Ken Iverson|Kenneth E. Iverson]], [[Eugene McDonnell|E. E. McDonnell]], and [[Arthur Whitney|Arthur T. Whitney]].<br />
* [[APL91]]: Gerunds and representations. With [[Bob Bernecky|Robert Bernecky]].<br />
* [[APL91]]: [https://www.jsoftware.com/papers/TacitDefn.htm Tacit definition]. With [[Ken Iverson|Kenneth E. Iverson]] and [[Eugene McDonnell|Eugene E. McDonnell]].<br />
* [[APL94]]: TAGS: trains, agendas, and gerunds. With [[Ken Iverson|Kenneth E. Iverson]].<br />
* [[APL95]]: [https://www.jsoftware.com/papers/rank.htm Rank and uniformity].<br />
* [[APL95]]: Representations of recursion. With [[Ken Iverson|Kenneth E. Iverson]].<br />
* [[APL97]]: Mathematical roots of J. With [[Ken Iverson|Kenneth E. Iverson]].<br />
* [[APL99]]: [https://www.jsoftware.com/papers/sparse.htm Sparse arrays in J].<br />
</div><br />
=== Dyalog user meetings ===<br />
<div style="column-width:40em"><br />
* [[Dyalog '08]] 05: [https://dyalog.tv/Dyalog08/?v=k8Wt5sDDzgI Performance Improvements in Dyalog: A Case Study] ([https://www.dyalog.com/uploads/conference/dyalog08/presentations/05_Hui_Performance materials])<br />
* [[Dyalog '09]] 15: Complex Numbers Implementation Stories ([https://www.dyalog.com/uploads/conference/dyalog09/presentations/15_Hui_ComplexNumbers.ZIP materials])<br />
* Dyalog '09 26: [https://dyalog.tv/Dyalog09/?v=ui76NE5cMWo The Rank Operator] ([https://www.dyalog.com/uploads/conference/dyalog09/presentations/26_Hui_RankOperator.ZIP materials])<br />
* [[Dyalog '10]] P07: Hashing for Tolerant Index-Of ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P07_Hui_Hashing.htm materials])<br />
* [[Dyalog '11]] D04: Introducing the Dyalog '11 Conference Edition (with [[John Scholes]])<br />
* Dyalog '11 D05: [https://dyalog.tv/Dyalog11/?v=CkaQQYcxpfM Rational Numbers] ([https://www.dyalog.com/uploads/conference/dyalog11/presentations/D05_rational_numbers materials])<br />
* Dyalog '11 D18: [https://dyalog.tv/Dyalog11/?v=bQlH49krwbk What is Functional Programming?] (with [[John Scholes]])<br />
* [[Dyalog '12]] D04: [https://dyalog.tv/Dyalog12/?v=KrrHYjPXc84 Potential Version 14.0 Language Features] ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D04_14.0 materials]) (with [[John Scholes]])<br />
* Dyalog '12 D08: Dyalog APL Benchmarks and Performance Enhancements ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D08_Performance materials])<br />
* [[Dyalog '13]] D08: [https://dyalog.tv/Dyalog13/?v=J05FEbqDsZM Rank and Friends] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D08_Rank_and_Friends materials])<br />
* Dyalog '13 D11: [https://dyalog.tv/Dyalog13/?v=84t87EO5ZEE Primitive Performance] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance.pps slides], [https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance materials]) (with [[Morten Kromberg]])<br />
* [[Dyalog '14]] D06: [https://dyalog.tv/Dyalog14/?v=7GDya-E3pxI The Tuning Pipeline] ([https://www.dyalog.com/uploads/conference/dyalog14/presentations/D06_Tuning_Pipeline materials]) (with Kimmo Kekäläinen)<br />
* [[Dyalog '15]] D04: [https://dyalog.tv/Dyalog15/?v=AJzY4DgUVws Core Performance] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D04_Core_Performance_Foad.pdf slides_JF], [https://www.dyalog.com/uploads/conference/dyalog15/presentations/D04_Core_Performance_Hui.zip materials_RH]) (with [[Jay Foad]])<br />
* Dyalog '15 D16: [https://dyalog.tv/Dyalog15/?v=9KOto3xXS3c Future Operator Proposals: Cut, Under, Merge] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D16_Future_Operator_Proposals.zip materials]) (with [[John Scholes]])<br />
* [[Dyalog '16]] D06: [https://dyalog.tv/Dyalog16/?v=vms4_Fpqmv8 New Primitive Functions and Operators] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_RH.zip materials], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_JS.txt demo script]) (with [[John Scholes]])<br />
* Dyalog '16 D08: [https://dyalog.tv/Dyalog16/?v=2AeONlTj1aY Performance: The Neverending Story] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D08_Performance_JF.pdf slides_JF], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D08_Performance_RH.zip slides_RH]) (with [[Jay Foad]])<br />
* [[Dyalog '17]] D07: [https://dyalog.tv/Dyalog17/?v=69ncBGN3YiI Index-Of on Multiple Floats] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D07_IndexOf_on_Multiple_Floats.zip materials])<br />
* Dyalog '17 D10: [https://dyalog.tv/Dyalog17/?v=fPWky9IOG40 Tolerant Unique] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D10_Tolerant_Unique.zip materials])<br />
* Dyalog '17 D15: TAO – Total Array Ordering ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D15_TAO_of_Dyalog.zip materials]) (with [[John Scholes]])<br />
* [[Dyalog '18]] D14: [https://dyalog.tv/Dyalog18/?v=IOWDkqKbMwk Inverted Tables] ([https://www.dyalog.com/uploads/conference/dyalog18/presentations/D14_Inverted_Tables.zip slides])<br />
* [[Dyalog '20]] D07: [https://dyalog.tv/Dyalog20/?v=GgXS0zpboAM Rational Arithmetic] ([https://www.dyalog.com/uploads/conference/dyalog20/presentations/D07_Rational_Arithmetic.zip materials])<br />
</div><br />
=== Other talks ===<br />
* Functional Conf 2017: [https://www.youtube.com/watch?v=EJONZpNA81s Tests, Derivations, Proofs]<br />
<br />
== External links ==<br />
<br />
* [[wikipedia:Roger Hui|Roger Hui]]<br />
* [https://www.jsoftware.com/ Jsoftware website]<br />
<br />
{{APL community}}{{DEFAULTSORT:Hui}}[[Category:People]][[Category:Jsoftware employees]][[Category:Dyalog Ltd. employees]][[Category:I.P. Sharp Associates employees]][[Category:Designers]][[Category:Executives]][[Category:Implementers]]</div>RGShttps://aplwiki.com/index.php?title=Talk:Jobs&diff=6641Talk:Jobs2021-04-03T16:04:35Z<p>RGS: /* Available: workshops in APL */ new section</p>
<hr />
<div>{{#css:[rel="discussion"]{visibility:hidden}[rel="discussion"]:before{visibility:visible;content:"Job listings";position:absolute}.mw-redirectedfrom{display:none} }}{{DISPLAYTITLE:Job listings}}<br />
This page is open for declarations of ability to provide APL consultancy, availability for hire, and job openings.<br />
<br />
'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new}} Click here to add a new listing.]''' Make sure to begin your subject with "Needed:" or "Available:" as appropriate.<br />
<br />
Note that this page is not for communication about the listing, so make sure to include contact information. <br />
<br />
While this page is monitored and moderated, as per the [[APL_Wiki:general disclaimer|general disclaimer]]s, APL Wiki takes no responsibility for its content, nor is any listing here endorsed by APL Wiki, its contributors, or its sponsors.<br />
__TOC__<br />
== Needed: Swedish-speaking Dyalog APL consultants ==<br />
<br />
Currently looking for [[Dyalog APL]] consultants for a full time project at a large Swedish medtech company that already has about 6 APL programmers in their team. One of the requirements is understanding basic Swedish, but remote work is fine, so you don't have to be located in Sweden. The salary is highly competitive.<br />
<br />
If you're interested, or know someone who might be, please contact [https://www.linkedin.com/in/filip-olmin-7082b837/ Filip Olmin on LinkedIn].<br />
<br />
== Careers at Dyalog Ltd. ==<br />
<br />
[[Dyalog Ltd.|We]] do not currently have any open positions. However, if you think you might have the right skills for roles like the ones that we have most recently filled (described on [https://www.dyalog.com/careers.htm our careers page]), please forward your resume to [mailto:careers@dyalog.com careers@dyalog.com]. We may need to grow [https://www.dyalog.com/meet-team-dyalog.htm the team] again at short notice, and it would be good to know you are out there!<br />
<br />
== Available: APL programmer with extensive experience ==<br />
<br />
I have been interested in APL for 42 years, and have been a programmer for 35 years, using NARS2000 APL for the last decade and half or so.<br />
<br />
I'm in Baltimore, Maryland, USA, and I'm not really able to travel. Since our department imploded, I haven't been able to find a job in my field because the languages I know, no one hires for, and the ones they are looking for, I don't have job experience in. No one wants to take me on as entry level, because I have too much experience, so I have been working as a math tutor since the summer of '19. I do, however, know APL. For example, I solved 121 of the project Euler problems using it.<br />
<br />
Contact [https://www.linkedin.com/in/michael-turniansky-057604177/ me on LinkedIn] if you have an opening for me.<br />
<br />
== Needed: APL Developer with strong working knowledge of APL ==<br />
<br />
The APL Developer works with a group of associates within the Technical Operations and Product Engineering teams who advise InvestCloud financial management clients on industry best practices related to trading proposal, reporting and workflow while also providing daily support for existing customized solutions. Under general supervision, our developers follow standard practices and procedures to analyze, modify, test and support application software systems. The ideal candidate is a self-starter, motivated and brings enthusiasm to his/her work with "can do" attitude to join our growing team. This role will expose you to a wide variety of technologies and you can expect to be helping to provide solutions to complex problems.<br />
<br />
[https://recruiting.ultipro.com/TEG1001TEGR/JobBoard/ad4204e8-c7f7-47f1-8177-c9f64730dccc/OpportunityDetail?opportunityId=4c42bc41-0d11-4a5f-a3d0-71e7934c9909 Details…]<br />
<br />
== Available: workshops in APL ==<br />
<br />
Despite working for [[Dyalog Ltd.]] almost full-time, Rodrigo also organises and promotes academic workshops on subjects related to mathematics and programming. Some of those workshops are a great way of introducing people to APL. Feel free to take a look at [https://mathspp.com/education/workshops some past workshops Rodrigo has led] if you need inspiration or [https://mathspp.com/about#contacts contact him] if you would like Rodrigo to organise one of these workshops for you/a group you represent.</div>RGShttps://aplwiki.com/index.php?title=APL_Meetup&diff=6640APL Meetup2021-04-03T15:56:05Z<p>RGS: Create basic page about PT APL meetup.</p>
<hr />
<div>The '''Portuguese APL Meetup''' is an informal weekly meetup started by Rodrigo Girão Serrão that started on the 1st of March of 2021.<br />
Its objective is to promote the learning of APL among Portuguese-speaking learners.<br />
<br />
The sessions usually last for 1h and are centred around applying APL to solve "problems": not only problems from websites and competitions such as the [[APL Problem Solving Competition]] but also tasks that the participants wish to solve with programming and, in particular, with APL.<br />
<br />
== External links ==<br />
<br />
* [https://mathspp.com/meetup-apl Meetup page (schedule, contents covered in each session, etc)]<br />
<br />
{{APL community}}<br />
[[Category:User groups]]</div>RGShttps://aplwiki.com/index.php?title=FinnAPL&diff=6639FinnAPL2021-04-03T15:48:59Z<p>RGS: Fix "reknown" → "renown" typo.</p>
<hr />
<div>'''FinnAPL''' (formally the ''Finnish APL Association'' or ''Suomen APL-yhdistys ry'' in Finnish) is an active [[user group]] in Finland, famous for producing the renown [[FinnAPL idiom library]]. Its current activities include meetings twice a year and the FinnAPL Forest Seminar, and several of its members are regulars and recurring presenters at the [[Dyalog user meeting]]s.<br />
<br />
<br />
== External links ==<br />
<br />
* [http://www.finnapl.fi/ Website]<br />
<br />
{{APL community}}<br />
[[Category:User groups]]</div>RGShttps://aplwiki.com/index.php?title=Template:APL_community&diff=6634Template:APL community2021-03-26T19:07:30Z<p>RGS: Add Portuguese meetup to the user groups</p>
<hr />
<div><noinclude>__NOTITLE__</noinclude><br />
{| class="wikitable <includeonly>{{{1|mw-collapsible mw-collapsed}}}</includeonly>" style="width:100%"<br />
! colspan="2" | '''<big>APL community</big>''' [[{{fullurl:Template:APL_community|action=edit}} edit]]<br />
|-<br />
! Activities<br />
| [[Conferences]] ∙ [[Advent of Code]] ∙ [[APL Cultivation]] ∙ [[APL Problem Solving Competition]] ∙ [[APL Seeds]] ∙ [[BAA#Webinar|BAA sessions]] ∙ [[Code golf]] ∙ [[Dyalog user meeting]]s ∙ [[Dyalog webinar]]s ∙ [[Iverson Award]] ∙ [[Sharing code]]<br />
|-<br />
! [[:Category:User groups|User groups]]<br />
| [[APL Borealis]] (Canada) ∙ [[APL et J]] (France) ∙ [[APL Germany]] ([[German terminology|terminology]]) ∙ [[BAA]] (UK) ∙ [[FinnAPL]] (Finland) ∙ [[JAPLA]] (Japan) ∙ [[SAUG]] (Switzerland) ∙ [[SIGAPL]] (USA) ∙ [[SwedAPL]] (Sweden) ∙ [[Portuguese APL Meetup]] (Portugal)<br />
|-<br />
! People<br />
| [[Phil Abrams]] ∙ [[Brian Becker]] ∙ [[Bob Bernecky]] ∙ [[Larry Breed]] ∙ [[Charles Brenner]] ∙ [[Jim Brown]] ∙ [[Adám Brudzewsky]] ∙ [[Gitte Christensen]] ∙ [[Philip Van Cleave]] ∙ [[Peter Donnelly]] ∙ [[Dan Dyer]] ∙ [[Adin Falkoff]] ∙ [[Garth Foster]] ∙ [[Aaron Hsu]] ∙ [[Roger Hui]] ∙ [[Ken Iverson]] ∙ [[Morten Kromberg]] ∙ [[Marshall Lochbaum]] ∙ [[Eugene McDonnell]] ∙ [[John McPherson]] ∙ [[Jon McGrew]] ∙ [[Donald McIntyre]] ∙ [[Roger Moore]] ∙ [[Alex Morrow]] ∙ [[Alan Perlis]] ∙ [[Al Rose]] ∙ [[William Rutiser]] ∙ [[John Scholes]] ∙ [[Ian Sharp]] ∙ [[Lynne Shaw]] ∙ [[Bob Smith]] ∙ [[Geoff Streeter]] ∙ [[Roy Sykes]] ∙ [[Raymond Tisserand]] ∙ [[Arthur Whitney]] ∙ [[Clark Wiedmann]]<br />
|-<br />
! Other<br />
| [[APL Orchard]] ∙ [[APL Quote Quad]] ∙ [[APL_Wiki:About|APL Wiki]] ∙ [[Blogs]] ∙ [[Books]] ∙ [[Forums]] ∙ [[Humour]] ∙ [[Jobs]] ∙ [[Papers]] ∙ [[Subreddits]]<br />
|}</div>RGShttps://aplwiki.com/index.php?title=APL_Seeds&diff=6633APL Seeds2021-03-26T19:04:46Z<p>RGS: Fix sentence.</p>
<hr />
<div>[[File:APL seeds logo.png|thumb|The APL Seeds logo.]]<br />
:''This article is about the conference. For the chat lesson series, see [[APL Orchard#APL Seeds]].''<br />
'''APL Seeds''' is an online [[Conferences|conference]] held by [[Dyalog Ltd.]], aimed at new and prospective users of APL. It consists of half a day with brief overviews of the language, introductions to available resources, and demonstrations of cases where APL has been successfully applied. The sessions are recorded and later released on [https://dyalog.tv dyalog.tv]. Immediately after the final session, there is an informal open discussion room where everyone, including non-presenting attendees, can talk.<br />
<br />
APL Seeds serves as a complement to the [[Dyalog user meeting]] which is mainly aimed at and attended by existing APL users, especially professionals.<br />
<br />
=== APL Seeds '21 ===<br />
<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm APL Seeds '21] will be held online on 31st March 2021. <br />
<br />
==== Dyalog presentations ====<br />
* '''D01: Welcome to APL Seeds '21''', [[Gitte Christensen]], Managing Director (CEO)<br />
* '''D02: Will You Play APL With Me?''', Rodrigo Gerrão Serrão<br />
<br />
==== User Presentations ====<br />
* '''U01: How an APL Prototype Helped Designing a Service''', Martin Janiczek, [[wikipedia:GlobalWebIndex|GWI]] (Czech Republic)<br />
* '''U02: Algorithms as a Tool of Thought''', Conor Hoekstra, [[wikipedia:Nvidia|Nvidia]] (Canada)<br />
* '''U03: Simulation and Gaming with APL''', Tomas Gustafsson, Stormwind Ab Oy (Finland)<br />
<br />
{{APL community}}[[Category:Conferences]]</div>RGShttps://aplwiki.com/index.php?title=APL_Seeds&diff=6632APL Seeds2021-03-26T19:03:55Z<p>RGS: Fix typo.</p>
<hr />
<div>[[File:APL seeds logo.png|thumb|The APL Seeds logo.]]<br />
:''This article is about the conference. For the chat lesson series, see [[APL Orchard#APL Seeds]].''<br />
'''APL Seeds''' is an online [[Conferences|conference]] held by [[Dyalog Ltd.]], aimed at new and prospective users of APL. It consists of half a day with brief overviews of the language, introductions to available resources, and demonstrations of cases where APL has been successfully applied. The sessions are recorded and later released on [https://dyalog.tv dyalog.tv]. Immediately after the final session, there is an informal open discussion room where all can everyone, including non-presenting attendees, can talk.<br />
<br />
APL Seeds serves as a complement to the [[Dyalog user meeting]] which is mainly aimed at and attended by existing APL users, especially professionals.<br />
<br />
=== APL Seeds '21 ===<br />
<br />
[https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm APL Seeds '21] will be held online on 31st March 2021. <br />
<br />
==== Dyalog presentations ====<br />
* '''D01: Welcome to APL Seeds '21''', [[Gitte Christensen]], Managing Director (CEO)<br />
* '''D02: Will You Play APL With Me?''', Rodrigo Gerrão Serrão<br />
<br />
==== User Presentations ====<br />
* '''U01: How an APL Prototype Helped Designing a Service''', Martin Janiczek, [[wikipedia:GlobalWebIndex|GWI]] (Czech Republic)<br />
* '''U02: Algorithms as a Tool of Thought''', Conor Hoekstra, [[wikipedia:Nvidia|Nvidia]] (Canada)<br />
* '''U03: Simulation and Gaming with APL''', Tomas Gustafsson, Stormwind Ab Oy (Finland)<br />
<br />
{{APL community}}[[Category:Conferences]]</div>RGShttps://aplwiki.com/index.php?title=Talk:Jobs&diff=6550Talk:Jobs2021-03-04T16:16:57Z<p>RGS: Remove my listing.</p>
<hr />
<div>{{#css:[rel="discussion"]{visibility:hidden}[rel="discussion"]:before{visibility:visible;content:"Job listings";position:absolute}.mw-redirectedfrom{display:none} }}{{DISPLAYTITLE:Job listings}}<br />
This page is open for declarations of ability to provide APL consultancy, availability for hire, and job openings.<br />
<br />
'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new}} Click here to add a new listing.]''' Make sure to begin your subject with "Needed:" or "Available:" as appropriate.<br />
<br />
Note that this page is not for communication about the listing, so make sure to include contact information. <br />
<br />
While this page is monitored and moderated, as per the [[APL_Wiki:general disclaimer|general disclaimer]]s, APL Wiki takes no responsibility for its content, nor is any listing here endorsed by APL Wiki, its contributors, or its sponsors.<br />
__TOC__<br />
== Needed: Swedish-speaking Dyalog APL consultants ==<br />
<br />
Currently looking for [[Dyalog APL]] consultants for a full time project at a large Swedish medtech company that already has about 6 APL programmers in their team. One of the requirements is understanding basic Swedish, but remote work is fine, so you don't have to be located in Sweden. The salary is highly competitive.<br />
<br />
If you're interested, or know someone who might be, please contact [https://www.linkedin.com/in/filip-olmin-7082b837/ Filip Olmin on LinkedIn].<br />
<br />
== Careers at Dyalog Ltd. ==<br />
<br />
[[Dyalog Ltd.|We]] do not currently have any open positions. However, if you think you might have the right skills for roles like the ones that we have most recently filled (described on [https://www.dyalog.com/careers.htm our careers page]), please forward your resume to [mailto:careers@dyalog.com careers@dyalog.com]. We may need to grow [https://www.dyalog.com/meet-team-dyalog.htm the team] again at short notice, and it would be good to know you are out there!</div>RGShttps://aplwiki.com/index.php?title=Talk:Jobs&diff=6544Talk:Jobs2021-03-04T12:21:22Z<p>RGS: /* Available: workshops in APL */</p>
<hr />
<div>{{#css:[rel="discussion"]{visibility:hidden}[rel="discussion"]:before{visibility:visible;content:"Job listings";position:absolute}.mw-redirectedfrom{display:none} }}{{DISPLAYTITLE:Job listings}}<br />
This page is open for declarations of ability to provide APL consultancy, availability for hire, and job openings.<br />
<br />
'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new}} Click here to add a new listing.]''' Make sure to begin your subject with "Needed:" or "Available:" as appropriate.<br />
<br />
Note that this page is not for communication about the listing, so make sure to include contact information. <br />
<br />
While this page is monitored and moderated, as per the [[APL_Wiki:general disclaimer|general disclaimer]]s, APL Wiki takes no responsibility for its content, nor is any listing here endorsed by APL Wiki, its contributors, or its sponsors.<br />
__TOC__<br />
== Needed: Swedish-speaking Dyalog APL consultants ==<br />
<br />
Currently looking for [[Dyalog APL]] consultants for a full time project at a large Swedish medtech company that already has about 6 APL programmers in their team. One of the requirements is speaking Swedish, but remote work is fine, so you don't have to be located in Sweden. The salary is highly competitive.<br />
<br />
If you're interested, or know someone who might be, please contact [https://www.linkedin.com/in/filip-olmin-7082b837/ Filip Olmin on LinkedIn].<br />
<br />
== Careers at Dyalog Ltd. ==<br />
<br />
[[Dyalog Ltd.|We]] do not currently have any open positions. However, if you think you might have the right skills for roles like the ones that we have most recently filled (described on [https://www.dyalog.com/careers.htm our careers page]), please forward your resume to [mailto:careers@dyalog.com careers@dyalog.com]. We may need to grow [https://www.dyalog.com/meet-team-dyalog.htm the team] again at short notice, and it would be good to know you are out there!<br />
<br />
== Available: workshops in APL ==<br />
<br />
I am available to give entry-level or intermediate-level workshops in APL, especially if the focus of the workshop is on using APL to explore a subject.<br />
If you are interested in arranging such a workshop or would like to know more, feel free to [mailto:rodrigo@mathspp.com write to rodrigo(at)mathspp(dot)com].</div>RGShttps://aplwiki.com/index.php?title=Talk:Jobs&diff=6543Talk:Jobs2021-03-04T12:20:47Z<p>RGS: /* Available: workshops in APL */ new section</p>
<hr />
<div>{{#css:[rel="discussion"]{visibility:hidden}[rel="discussion"]:before{visibility:visible;content:"Job listings";position:absolute}.mw-redirectedfrom{display:none} }}{{DISPLAYTITLE:Job listings}}<br />
This page is open for declarations of ability to provide APL consultancy, availability for hire, and job openings.<br />
<br />
'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new}} Click here to add a new listing.]''' Make sure to begin your subject with "Needed:" or "Available:" as appropriate.<br />
<br />
Note that this page is not for communication about the listing, so make sure to include contact information. <br />
<br />
While this page is monitored and moderated, as per the [[APL_Wiki:general disclaimer|general disclaimer]]s, APL Wiki takes no responsibility for its content, nor is any listing here endorsed by APL Wiki, its contributors, or its sponsors.<br />
__TOC__<br />
== Needed: Swedish-speaking Dyalog APL consultants ==<br />
<br />
Currently looking for [[Dyalog APL]] consultants for a full time project at a large Swedish medtech company that already has about 6 APL programmers in their team. One of the requirements is speaking Swedish, but remote work is fine, so you don't have to be located in Sweden. The salary is highly competitive.<br />
<br />
If you're interested, or know someone who might be, please contact [https://www.linkedin.com/in/filip-olmin-7082b837/ Filip Olmin on LinkedIn].<br />
<br />
== Careers at Dyalog Ltd. ==<br />
<br />
[[Dyalog Ltd.|We]] do not currently have any open positions. However, if you think you might have the right skills for roles like the ones that we have most recently filled (described on [https://www.dyalog.com/careers.htm our careers page]), please forward your resume to [mailto:careers@dyalog.com careers@dyalog.com]. We may need to grow [https://www.dyalog.com/meet-team-dyalog.htm the team] again at short notice, and it would be good to know you are out there!<br />
<br />
== Available: workshops in APL ==<br />
<br />
I am available to give entry-level or intermediate-level workshops in APL, especially if the focus of the workshop is on using APL to explore a subject.<br />
If you are interested in arranging such a workshop or would like to know more, feel free to [http://mailto:rodrigo@mathspp.com write to rodrigo(at)mathspp(dot)com].</div>RGShttps://aplwiki.com/index.php?title=Typing_glyphs&diff=5569Typing glyphs2020-10-19T10:36:14Z<p>RGS: Include screenshot of the typeset LaTeX document.</p>
<hr />
<div>APL uses a large range of [[glyphs|special graphic symbols]] to represent most functions and operators. While keyboard mappings become memorized over time, entering APL characters can frustrate the beginner. However, a study involving high school students found that typing and using APL characters did not hinder the students in any measurable way. There are several convenient ways to enter the glyphs.<br />
<br />
== How to Set up an APL Keyboard ==<br />
<br />
[[File:Adám Brudzewsky's in-browser language bar.png|thumb|right|The in-browser language bar]]<br />
=== Web ===<br />
<br />
[[Adám Brudzewsky]]'s [https://abrudz.github.io/lb/apl in-browser language bar] adds APL keyboard functionality to most web pages on demand.<br />
<br />
=== Text editors ===<br />
<br />
Keyboard layout extensions exist for several popular [[text editors]] like VS Code, Emacs and Vim. This can be an alternative, or complementary, to system-wide settings.<br />
<br />
=== Linux ===<br />
{{Main|Typing glyphs on Linux}}<br />
<br />
Most Linux distributions released after mid-2012 have Dyalog keyboard support included with the distribution.<br />
<br />
[[File:Hacker's Keyboard + APL language.png|thumb|right|Hacker's Keyboard + APL language]]<br />
=== Android ===<br />
<br />
dzaima's [https://github.com/dzaima/hackerskeyboard Hacker's Keyboard + APL language] uses a [[wikipedia:Pointing_device_gesture#Touchpad_and_touchscreen_gestures|long-press]] to access APL glyphs.<br />
<br />
=== Windows ===<br />
<br />
* [[Adám Brudzewsky]]'s [https://github.com/abrudz/Kbd keyboard layouts for Windows], which uses <kbd>AltGr</kbd>.<br />
<br />
* The [https://www.dyalog.com/apl-font-keyboard.htm#tab-1 Dyalog Unicode IME] uses <kbd>Ctrl</kbd>. It is also possible to install the [[wikipedia:Input_method|IME]] alongside a regular [[Dyalog APL]] installation:<br>[[File:Dyalog_APL_Installer.png|frameless|Dyalog APL IME selected in installer]]<br />
<br />
== Approaches to Layout and Input ==<br />
<br />
Most of today's APLs use a mapping which derives from the original [[APL\360]] terminals' keyboard layout. For example, Dyalog APL's standard US English layout for is as follows:<br />
<pre><br />
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬─────────┐<br />
│~ ⌺ │! ⌶ │@ ⍫ │# ⍒ │$ ⍋ │% ⌽ │^ ⍉ │& ⊖ │* ⍟ │( ⍱ │) ⍲ │_ ! │+ ⌹ │Backspace│<br />
│` ⋄ │1 ¨ │2 ¯ │3 < │4 ≤ │5 = │6 ≥ │7 > │8 ≠ │9 ∨ │0 ∧ │- × │= ÷ │ │<br />
├────┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬──────┤<br />
│Tab │Q │W │E ⍷ │R │T ⍨ │Y │U │I ⍸ │O ⍥ │P ⍣ │{ ⍞ │} ⍬ │| ⊣ │<br />
│ │q ? │w ⍵ │e ∊ │r ⍴ │t ~ │y ↑ │u ↓ │i ⍳ │o ○ │p * │[ ← │] → │\ ⊢ │<br />
├───────┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴──────┤<br />
│Caps │A │S │D │F │G │H │J ⍤ │K ⌸ │L ⌷ │: ≡ │" ≢ │Enter │<br />
│Lock │a ⍺ │s ⌈ │d ⌊ │f _ │g ∇ │h ∆ │j ∘ │k ' │l ⎕ │; ⍎ │' ⍕ │ │<br />
├────────┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──────────┤<br />
│Shift │Z ⊆ │X │C │V │B │N │M │< ⍪ │> ⍙ │? ⍠ │Shift │<br />
│ │z ⊂ │x ⊃ │c ∩ │v ∪ │b ⊥ │n ⊤ │m | │, ⍝ │. ⍀ │/ ⌿ │ │<br />
└───────────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────────────┘<br />
</pre><br />
Additional charts for other layouts are [https://dfns.dyalog.com/n_keyboards.htm available].<br />
<br />
There are multiple ways to access the glyphs associated with a particular key.<br />
<br />
=== Shifting key ===<br />
<br />
It is quite common to use <kbd>Ctrl</kbd> or <kbd>Alt</kbd> or <kbd>AltGr</kbd> (right-side <kbd>Alt</kbd>) as an additional shifting key. For example, <kbd>AltGr</kbd>+<kbd>AltGr</kbd>+<kbd>4</kbd> would give <source lang=apl inline>≤</source> while <kbd>AltGr</kbd>+<kbd>Shift</kbd>+<kbd>4</kbd> would give <source lang=apl inline>⍋</source>.<br />
<br />
* The [https://www.dyalog.com/apl-font-keyboard.htm#tab-1 Dyalog Unicode IME] uses <kbd>Ctrl</kbd><br />
<br />
* [[NARS2000]] uses <kbd>Alt</kbd><br />
<br />
* [[APLX]] uses <kbd>AltGr</kbd> with an option to also use <kbd>Alt</kbd><br />
<br />
=== Prefix key ===<br />
<br />
A prefix key is a special key or character which is entered immediately before typing the corresponding key.<br />
<br />
* [[TryAPL]] and [[ngn/apl]]'s scripted demo interface support <kbd>`</kbd> as prefix key.<br />
<br />
* The [https://www.dyalog.com/apl-font-keyboard.htm#tab-1 Dyalog Unicode IME] and the [https://github.com/Dyalog/ride/releases/latest Dyalog RIDE] (Remote Integrated Development Environment) uses <kbd>`</kbd> by default, but allows choosing any key as prefix key.<br />
<br />
* [[Adám Brudzewsky]]'s [https://abrudz.github.io/lb/apl in-browser language bar] recognises all the following as prefix keys: <kbd>`</kbd>, <kbd>½</kbd>, <kbd>²</kbd>, <kbd>^</kbd>, <kbd><s>º</s></kbd>, <kbd>§</kbd>, <kbd>ù</kbd>, <kbd>µ</kbd>, <kbd>°</kbd>.<br />
<br />
[[File:RIDE keyword lookup.png|thumb|right|RIDE keyword lookup]]<br />
=== Keyword look-up ===<br />
<br />
* The [https://github.com/Dyalog/ride/releases/latest Dyalog RIDE] (Remote Integrated Development Environment) allows hitting the prefix key (<kbd>`</kbd> by default, but configurable) twice, followed by the (beginning of the) name of a symbol or a functionality. It then displays a drop-down of choices with arrow keys to indicate choice and the Tab key to insert the symbol. E.g. <kbd>`</kbd>,<kbd>`</kbd>,<kbd>d</kbd>,<kbd>i</kbd>,<kbd>v</kbd>,<kbd>Tab↹</kbd> inserts <source lang=apl inline>÷</source>.<br />
<br />
=== ASCII symbol combination ===<br />
<br />
* Many APL glyphs can be approximated by overlaying or juxtaposing two ASCII characters. [[ngn/apl]]'s scripted demo interface and [https://abrudz.github.io/lb/apl Adám Brudzewsky's in-browser language bar] allow such a pair of characters and hitting the <kbd>Tab↹</kbd> key to replace them with the corresponding APL character. For example, <kbd><</kbd>,<kbd>-</kbd>,<kbd>Tab↹</kbd> will insert <source lang=apl inline>←</source> and <kbd>T</kbd>,<kbd>o</kbd>,<kbd>Tab↹</kbd> will insert <source lang=apl inline>⍕</source>.<br />
<br />
[[File:NARS2000 language bar.png|thumb|right|NARS2000 language bar]]<br />
=== On-screen language bar ===<br />
<br />
Several APL IDEs allow the display of a toolbar with a button for each APL glyph:<br />
<br />
* [[Dyalog APL]], [[NARS2000]], [[APL2]] and [[ngn/apl]]'s scripted demo interface all have this feature.<br />
<br />
=== LaTeX ===<br />
<br />
In order to typeset APL using {{LaTeX}}, you need to be sure your {{LaTeX}} engine has full Unicode support. At the time of writing, LuaLaTeX and XeLaTeX are two of the most popular such alternatives, both included with TeX Live.<br />
<br />
After ensuring you have a {{LaTeX}} engine that is Unicode capable, you need to make sure your .tex document is using a [[Fonts|font]] that has the APL glyphs you want to type. One way to do this is through the fontspec package, as seen in the example template below.<br />
<br />
To check your setup is fully functional you can try compiling the following template:<br />
<source lang=latex><br />
\documentclass[11pt]{article}<br />
<br />
\usepackage{fontspec}<br />
\setmainfont{APL385 Unicode}<br />
\setmonofont{APL385 Unicode}[Scale=MatchLowercase]<br />
<br />
\begin{document}<br />
<br />
I just want some ← +-×÷*⍟⌹○!? |⌈⌊⊥⊤⊣⊢ =≠≤<>≥≡≢ ∨∧⍲⍱ ↑↓⊂⊃⊆⌷⍋⍒ ⍳⍸∊⍷∪∩~ /\textbackslash⌿⍀ ,⍪⍴⌽⊖⍉ ¨⍨⍣.∘⍤⍥@ ⍞⎕⍠⌸⌺⌶⍎⍕ ⋄⍝→⍵⍺∇\& ¯⍬<br />
<br />
\texttt{The ``setmonofont'' was needed because of this, otherwise ⍺⌊¯→⍬ wouldn't show properly}.<br />
<br />
\end{document}<br />
</source><br />
<br />
Depending on whether you want the whole document to use the APL font or not, you may remove the command to set the main font. If you do so, APL glyphs will be rendered correctly inside code listings and similar environments, but not in the main body of the document.<br />
<br />
[[File:LaTeX APL template.png|thumb|right|Screenshot of the typeset document]]<br />
<br />
== Hardware ==<br />
<br />
[[File:Dyalog US keyboard.jpg|thumb|right|US keyboard with [[Dyalog APL]] glyphs]]<br />
<br />
A couple of keyboards are being sold with APL symbols pre-printed onto the key caps:<br />
<br />
* Dyalog sells [https://www.dyalog.com/apl-font-keyboard.htm#mainContent US English, UK English, and Danish keyboards].<br />
<br />
* Unicomp sells both [https://www.amazon.com/Unicomp-Classic-Buckling-Spring-Keyboard/dp/B01M7V3M61/ref=sr_1_8 entire keyboards] and [https://www.pckeyboard.com/page/product/USAPLSET separate key caps] for their keyboard range.<br />
<br />
{{APL development}}<br />
{{APL glyphs}}<br />
[[Category:APL character set]]</div>RGShttps://aplwiki.com/index.php?title=File:LaTeX_APL_template.png&diff=5568File:LaTeX APL template.png2020-10-19T10:32:55Z<p>RGS: Screenshot of a minimal .tex document with APL glyphs.</p>
<hr />
<div>== Summary ==<br />
Screenshot of a minimal .tex document with APL glyphs.<br />
== Licencing ==<br />
{{self|cc-by-sa-4.0,3.0,2.5,2.0,1.0}}</div>RGShttps://aplwiki.com/index.php?title=Typing_glyphs&diff=5564Typing glyphs2020-10-19T10:07:46Z<p>RGS: Include some more details on how to typeset APL glyphs with LaTeX.</p>
<hr />
<div>APL uses a large range of [[glyphs|special graphic symbols]] to represent most functions and operators. While keyboard mappings become memorized over time, entering APL characters can frustrate the beginner. However, a study involving high school students found that typing and using APL characters did not hinder the students in any measurable way. There are several convenient ways to enter the glyphs.<br />
<br />
== How to Set up an APL Keyboard ==<br />
<br />
[[File:Adám Brudzewsky's in-browser language bar.png|thumb|right|The in-browser language bar]]<br />
=== Web ===<br />
<br />
[[Adám Brudzewsky]]'s [https://abrudz.github.io/lb/apl in-browser language bar] adds APL keyboard functionality to most web pages on demand.<br />
<br />
=== Text editors ===<br />
<br />
Keyboard layout extensions exist for several popular [[text editors]] like VS Code, Emacs and Vim. This can be an alternative, or complementary, to system-wide settings.<br />
<br />
=== Linux ===<br />
{{Main|Typing glyphs on Linux}}<br />
<br />
Most Linux distributions released after mid-2012 have Dyalog keyboard support included with the distribution.<br />
<br />
[[File:Hacker's Keyboard + APL language.png|thumb|right|Hacker's Keyboard + APL language]]<br />
=== Android ===<br />
<br />
dzaima's [https://github.com/dzaima/hackerskeyboard Hacker's Keyboard + APL language] uses a [[wikipedia:Pointing_device_gesture#Touchpad_and_touchscreen_gestures|long-press]] to access APL glyphs.<br />
<br />
=== Windows ===<br />
<br />
* [[Adám Brudzewsky]]'s [https://github.com/abrudz/Kbd keyboard layouts for Windows], which uses <kbd>AltGr</kbd>.<br />
<br />
* The [https://www.dyalog.com/apl-font-keyboard.htm#tab-1 Dyalog Unicode IME] uses <kbd>Ctrl</kbd>. It is also possible to install the [[wikipedia:Input_method|IME]] alongside a regular [[Dyalog APL]] installation:<br>[[File:Dyalog_APL_Installer.png|frameless|Dyalog APL IME selected in installer]]<br />
<br />
== Approaches to Layout and Input ==<br />
<br />
Most of today's APLs use a mapping which derives from the original [[APL\360]] terminals' keyboard layout. For example, Dyalog APL's standard US English layout for is as follows:<br />
<pre><br />
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬─────────┐<br />
│~ ⌺ │! ⌶ │@ ⍫ │# ⍒ │$ ⍋ │% ⌽ │^ ⍉ │& ⊖ │* ⍟ │( ⍱ │) ⍲ │_ ! │+ ⌹ │Backspace│<br />
│` ⋄ │1 ¨ │2 ¯ │3 < │4 ≤ │5 = │6 ≥ │7 > │8 ≠ │9 ∨ │0 ∧ │- × │= ÷ │ │<br />
├────┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬──────┤<br />
│Tab │Q │W │E ⍷ │R │T ⍨ │Y │U │I ⍸ │O ⍥ │P ⍣ │{ ⍞ │} ⍬ │| ⊣ │<br />
│ │q ? │w ⍵ │e ∊ │r ⍴ │t ~ │y ↑ │u ↓ │i ⍳ │o ○ │p * │[ ← │] → │\ ⊢ │<br />
├───────┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴──────┤<br />
│Caps │A │S │D │F │G │H │J ⍤ │K ⌸ │L ⌷ │: ≡ │" ≢ │Enter │<br />
│Lock │a ⍺ │s ⌈ │d ⌊ │f _ │g ∇ │h ∆ │j ∘ │k ' │l ⎕ │; ⍎ │' ⍕ │ │<br />
├────────┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──────────┤<br />
│Shift │Z ⊆ │X │C │V │B │N │M │< ⍪ │> ⍙ │? ⍠ │Shift │<br />
│ │z ⊂ │x ⊃ │c ∩ │v ∪ │b ⊥ │n ⊤ │m | │, ⍝ │. ⍀ │/ ⌿ │ │<br />
└───────────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────────────┘<br />
</pre><br />
Additional charts for other layouts are [https://dfns.dyalog.com/n_keyboards.htm available].<br />
<br />
There are multiple ways to access the glyphs associated with a particular key.<br />
<br />
=== Shifting key ===<br />
<br />
It is quite common to use <kbd>Ctrl</kbd> or <kbd>Alt</kbd> or <kbd>AltGr</kbd> (right-side <kbd>Alt</kbd>) as an additional shifting key. For example, <kbd>AltGr</kbd>+<kbd>AltGr</kbd>+<kbd>4</kbd> would give <source lang=apl inline>≤</source> while <kbd>AltGr</kbd>+<kbd>Shift</kbd>+<kbd>4</kbd> would give <source lang=apl inline>⍋</source>.<br />
<br />
* The [https://www.dyalog.com/apl-font-keyboard.htm#tab-1 Dyalog Unicode IME] uses <kbd>Ctrl</kbd><br />
<br />
* [[NARS2000]] uses <kbd>Alt</kbd><br />
<br />
* [[APLX]] uses <kbd>AltGr</kbd> with an option to also use <kbd>Alt</kbd><br />
<br />
=== Prefix key ===<br />
<br />
A prefix key is a special key or character which is entered immediately before typing the corresponding key.<br />
<br />
* [[TryAPL]] and [[ngn/apl]]'s scripted demo interface support <kbd>`</kbd> as prefix key.<br />
<br />
* The [https://www.dyalog.com/apl-font-keyboard.htm#tab-1 Dyalog Unicode IME] and the [https://github.com/Dyalog/ride/releases/latest Dyalog RIDE] (Remote Integrated Development Environment) uses <kbd>`</kbd> by default, but allows choosing any key as prefix key.<br />
<br />
* [[Adám Brudzewsky]]'s [https://abrudz.github.io/lb/apl in-browser language bar] recognises all the following as prefix keys: <kbd>`</kbd>, <kbd>½</kbd>, <kbd>²</kbd>, <kbd>^</kbd>, <kbd><s>º</s></kbd>, <kbd>§</kbd>, <kbd>ù</kbd>, <kbd>µ</kbd>, <kbd>°</kbd>.<br />
<br />
[[File:RIDE keyword lookup.png|thumb|right|RIDE keyword lookup]]<br />
=== Keyword look-up ===<br />
<br />
* The [https://github.com/Dyalog/ride/releases/latest Dyalog RIDE] (Remote Integrated Development Environment) allows hitting the prefix key (<kbd>`</kbd> by default, but configurable) twice, followed by the (beginning of the) name of a symbol or a functionality. It then displays a drop-down of choices with arrow keys to indicate choice and the Tab key to insert the symbol. E.g. <kbd>`</kbd>,<kbd>`</kbd>,<kbd>d</kbd>,<kbd>i</kbd>,<kbd>v</kbd>,<kbd>Tab↹</kbd> inserts <source lang=apl inline>÷</source>.<br />
<br />
=== ASCII symbol combination ===<br />
<br />
* Many APL glyphs can be approximated by overlaying or juxtaposing two ASCII characters. [[ngn/apl]]'s scripted demo interface and [https://abrudz.github.io/lb/apl Adám Brudzewsky's in-browser language bar] allow such a pair of characters and hitting the <kbd>Tab↹</kbd> key to replace them with the corresponding APL character. For example, <kbd><</kbd>,<kbd>-</kbd>,<kbd>Tab↹</kbd> will insert <source lang=apl inline>←</source> and <kbd>T</kbd>,<kbd>o</kbd>,<kbd>Tab↹</kbd> will insert <source lang=apl inline>⍕</source>.<br />
<br />
[[File:NARS2000 language bar.png|thumb|right|NARS2000 language bar]]<br />
=== On-screen language bar ===<br />
<br />
Several APL IDEs allow the display of a toolbar with a button for each APL glyph:<br />
<br />
* [[Dyalog APL]], [[NARS2000]], [[APL2]] and [[ngn/apl]]'s scripted demo interface all have this feature.<br />
<br />
=== LaTeX ===<br />
<br />
In order to typeset APL using <span class="texhtml" style="font-family: 'CMU Serif', cmr10, LMRoman10-Regular, 'Latin Modern Math', 'Nimbus Roman No9 L', 'Times New Roman', Times, serif;">L<span style="text-transform: uppercase; font-size: 0.75em; vertical-align: 0.25em; margin-left: -0.36em; margin-right: -0.15em; line-height: 1ex;">a</span>T<span style="text-transform: uppercase; vertical-align: -0.5ex; margin-left: -0.1667em; margin-right: -0.125em; line-height: 1ex;">e</span>X</span>, you need to be sure your <span class="texhtml" style="font-family: 'CMU Serif', cmr10, LMRoman10-Regular, 'Latin Modern Math', 'Nimbus Roman No9 L', 'Times New Roman', Times, serif;">L<span style="text-transform: uppercase; font-size: 0.75em; vertical-align: 0.25em; margin-left: -0.36em; margin-right: -0.15em; line-height: 1ex;">a</span>T<span style="text-transform: uppercase; vertical-align: -0.5ex; margin-left: -0.1667em; margin-right: -0.125em; line-height: 1ex;">e</span>X</span> engine has full Unicode support. At the time of writing, LuaLaTeX and XeLaTeX are two of the most popular such alternatives, both included with TeX Live.<br />
<br />
After ensuring you have a <span class="texhtml" style="font-family: 'CMU Serif', cmr10, LMRoman10-Regular, 'Latin Modern Math', 'Nimbus Roman No9 L', 'Times New Roman', Times, serif;">L<span style="text-transform: uppercase; font-size: 0.75em; vertical-align: 0.25em; margin-left: -0.36em; margin-right: -0.15em; line-height: 1ex;">a</span>T<span style="text-transform: uppercase; vertical-align: -0.5ex; margin-left: -0.1667em; margin-right: -0.125em; line-height: 1ex;">e</span>X</span> engine that is Unicode capable, you need to make sure your .tex document is using a [[Fonts|font]] that has the APL glyphs you want to type. One way to do this is through the fontspec package, as seen in the example template below.<br />
<br />
To check your setup is fully functional you can try compiling the following template:<br />
<source lang=latex><br />
\documentclass[11pt]{article}<br />
<br />
\usepackage{fontspec}<br />
\setmainfont{APL385 Unicode}<br />
\setmonofont{APL385 Unicode}[Scale=MatchLowercase]<br />
<br />
\begin{document}<br />
<br />
I just want some ← +-×÷*⍟⌹○!? |⌈⌊⊥⊤⊣⊢ =≠≤<>≥≡≢ ∨∧⍲⍱ ↑↓⊂⊃⊆⌷⍋⍒ ⍳⍸∊⍷∪∩~ /\textbackslash⌿⍀ ,⍪⍴⌽⊖⍉ ¨⍨⍣.∘⍤⍥@ ⍞⎕⍠⌸⌺⌶⍎⍕ ⋄⍝→⍵⍺∇\& ¯⍬<br />
<br />
\texttt{The ``setmonofont'' was needed because of this, otherwise ⍺⌊¯→⍬ wouldn't show properly}.<br />
<br />
\end{document}<br />
</source><br />
<br />
Depending on whether you want the whole document to use the APL font or not, you may remove the command to set the main font. If you do so, APL glyphs will be rendered correctly inside code listings and similar environments, but not in the main body of the document.<br />
<br />
[[File:Dyalog US keyboard.jpg|thumb|right|US keyboard with [[Dyalog APL]] glyphs]]<br />
<br />
== Hardware ==<br />
A couple of keyboards are being sold with APL symbols pre-printed onto the key caps:<br />
<br />
* Dyalog sells [https://www.dyalog.com/apl-font-keyboard.htm#mainContent US English, UK English, and Danish keyboards].<br />
<br />
* Unicomp sells both [https://www.amazon.com/Unicomp-Classic-Buckling-Spring-Keyboard/dp/B01M7V3M61/ref=sr_1_8 entire keyboards] and [https://www.pckeyboard.com/page/product/USAPLSET separate key caps] for their keyboard range.<br />
<br />
{{APL development}}<br />
{{APL glyphs}}<br />
[[Category:APL character set]]</div>RGShttps://aplwiki.com/index.php?title=Talk:Mnemonics&diff=5522Talk:Mnemonics2020-10-16T14:43:43Z<p>RGS: Created page with "I think a page on mnemonics is a must-have for the APL Wiki, but IMO the keyboard image with the mnemonics is a bit confusing and overwhelming. Maybe we could consider adding..."</p>
<hr />
<div>I think a page on mnemonics is a must-have for the APL Wiki, but IMO the keyboard image with the mnemonics is a bit confusing and overwhelming.<br />
<br />
Maybe we could consider adding a table (?) with the glyphs, their keyboard shortcuts and then the mnemonics, with a more verbose explanation.</div>RGShttps://aplwiki.com/index.php?title=Comparison_function&diff=4566Comparison function2020-05-28T13:26:31Z<p>RGS: Fix two minor language issues and add link to jupyter notebook on the comparison functions.</p>
<hr />
<div>{| class=vertical-navbox style="float:right; font-size:500%; margin:0 1ex;"<br />
|<code><</code> <code>≤</code> <code>=</code> <code>≥</code> <code>></code> <code>≠</code><br />
|}<br />
<br />
A '''comparison function''' is one of the six [[primitive function|primitive]] [[dyadic]] [[scalar function]]s whose result on scalars is a [[Boolean]] determined by the numerical ordering of the two [[argument]]s. Comparisons are subject to [[comparison tolerance]]. The comparison functions can be subdivided into two equalities <source lang=apl inline>=</source> <source lang=apl inline>≠</source>, which depend only on whether the arguments are equal and not on the ordering of the arguments, and may be applied to [[character]]s, and four inequalities <source lang=apl inline><</source> <source lang=apl inline>≤</source> <source lang=apl inline>≥</source> <source lang=apl inline>></source>, which depend on ordering and may not be applied to [[character]]s.<br />
<br />
The six comparison functions are [[Less Than]] (<source lang=apl inline><</source>), [[Less Than or Equal]] (<source lang=apl inline>≤</source>), [[Equal to]] (<source lang=apl inline>=</source>), [[Greater Than or Equal]] (<source lang=apl inline>≥</source>), [[Greater Than]] (<source lang=apl inline>></source>), and [[Not Equal to]] (<source lang=apl inline>≠</source>). You can take a closer look at how these six comparison functions behave in [https://nbviewer.jupyter.org/github/Dyalog/dyalog-jupyter-notebooks/blob/master/Closer%20look%20at%20the%20comparison%20functions.ipynb this APL Jupyter notebook].<br />
<br />
Because comparison functions have Boolean results on Boolean arguments (they always have Boolean results), they are [[Boolean function]]s. In fact, the majority of nontrivial dyadic Boolean functions are comparison functions.<br />
<br />
== Classification ==<br />
<br />
The result of a comparison function on real numbers is determined by their ordering, which falls into one of three possible cases: the left argument is smaller (more negative), the arguments are [[Comparison tolerance|tolerantly]] equal, or the right argument is larger. A particular comparison function can thus be thought of as a choice of one [[Boolean]] value (0 or 1) for each of these three cases, which implies that there are eight total possibilities. Two of the possibilities—all 0 and all 1—are trivial and cannot be said to depend on the ordering of the arguments; they are not considered comparison functions. Every remaining possibility is one of the APL comparisons:<br />
<br />
{|class=wikitable style="text-align:center"<br />
!rowspan=2| Function !!colspan=3| Results<br />
|-<br />
! < !! = !! ><br />
|-<br />
| <source lang=apl inline><</source> || 1 || 0 || 0<br />
|-<br />
| <source lang=apl inline>≤</source> || 1 || 1 || 0<br />
|-<br />
| <source lang=apl inline>=</source> || 0 || 1 || 0<br />
|-<br />
| <source lang=apl inline>≥</source> || 0 || 1 || 1<br />
|-<br />
| <source lang=apl inline>></source> || 0 || 0 || 1<br />
|-<br />
| <source lang=apl inline>≠</source> || 1 || 0 || 1<br />
|}<br />
<br />
The traditional APL ordering of the comparison functions used above, which was used at least as early as [[APL\360]], resembles a [[wikipedia:Gray code|Gray code]] ordering of the values which define the comparison functions. Adjacent values differ by only a change of one bit, but the list is not a true Gray code because it excludes the all-0 and all-1 combinations.<br />
{{APL built-ins}}[[Category:Comparison functions| ]][[Category:Lists]]</div>RGS