הדוגמה הבאה, גם כתובה ב־Dyalog APL, מראה קליטת טקסט HTML אקראי לתוך המשתנה codice_75 ואז משתמשת בביטוי הכתוב ב־APL על מנת להפשיט את הקלט מכל תגי ה־HTML שמעורבים בו ואז מדפיסה פלט ללא התגים.
txt←'&lt;html&gt;&lt;body&gt;&lt;p&gt;This is &lt;em&gt;emphasized&lt;/em&gt; text.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;'
{⍵ /⍨ ~{⍵∨≠\⍵}⍵∊'&lt;&gt;'} txt
This is emphasized text.
שימושיות.
APL משמשת כשפה תכנות כללית ורב תחומית ונעשה בה שימוש מסחרי ומדעי נרחב בעבר, בין היתר ליישומים בתחום הפיננסי, ניהול השקעות, ביטוח, בינה מלאכותית, למידת מכונה, רובוטיקה, ניהול נכסים, שרותי בריאות, זיהוי DNA, ועל ידי חובבי תכנות. יש הטוענים כי APL אינה שפת תכנות אלא כלי חישוב מאחר שהאופי הסימבולי ויכולת הטיפול שלה במערכים עיצבו אותה ואת אופן השימוש שלה מן היסוד ולכן היא הפכה לכלי ייעודי עבור מדעני נתונים ואנשי מחקר המתמחים בתחומים ממוקדים ואינם נדרשים בהכרח לכישורים של הנדסת תוכנה.
APL מתאימה מאוד לעיבוד תמונות מגמתי והנפשה ממוחשבת שבהם טרנספורמציות גרפיות יכולות להיות ממומשות כמכפלת מטריצות. אחד מאולפני הגרפיקה הממוחשבת המסחריים הראשונים בארצות הברית, Digital Effects, פיתחו ב־APL את "Visions", ויצרו בעזרתה את פרסומות הטלוויזיה והאנימציות לסרט Tron (1982). מאוחר יותר, סימולטור השייט "Stormwind" מיישם את כל רכיבי הליבה שלו, את מנוע ההדמיה התלת ממדית, ואת רוב סימולציית הפיזיקה שלו בעזרת APL.
מימושים בולטים.
APL\360.
המימוש הראשון של APL שהתאפיין במערכת הסימנים של אייברסון היה "APL\360" שרץ על מחשבי IBM System/360, והושלם בנובמבר 1966 אף על פי שבאותו הזמן השימוש בו היה פנימי בלבד בתוך IBM. בשנת 1973 היוצרים שלו, לַארי בְּרִיד, דִיק לַאתְ'װֶל, ורוֹגֶ'ר מוּר זכו בפרס גרייס מאריי הופר של ה-ACM על "עבודתם בתכנון ומימוש APL\360, קביעת סטנדרטים חדשים בפשטות, יעילות, אמינות, וזמן תגובה למערכות אינטראקטיביות.".
ב־1975, מיקרו־מחשבים מסוג IBM 5100 הציעו את APL\360 כאחת משתי השפות המובנות בזיכרון ה־ROM שלהם, יחד עם מקלדת וצג שתמכו בכל סימני APL.
פיתוחים משמעותיים ב־APL\360 היו "CMS/APL", שהשתמשה בזיכרון הווירטואלי של מערכת ה־CMS; ו־"APL.SV" אשר הציגה לראשונה את "המשתנים המשותפים", משתנים ופונקציות לתיווך בין APL ומערכת ההפעלה. מאוחר יותר APL\360 עברה התאמה עבור מחשבי ה־IBM System/370 ו־VSPC. פיתוחה המשיך עד גרסתה האחרונה שהושקה ב־1983, ולאחר מכן היא הוחלפה ב־APL2.
APL\1130.
בשנת 1968 הושק "APL\1130", מימוש ה־APL הראשון שהיה זמין לציבור הרחב מחוץ למעבדות של IBM. המימוש פותח על ידי IBM עבור מחשבי ה־IBM 1130. היא הפכה לתוכנת ה־IBM Type-III Library הפופולרית ביותר ש־IBM השיקה אי פעם.
APL*Plus ו־Sharp APL.
"APL*Plus" ו־"Sharp APL" הן גרסאות של APL\360 עם הרחבות שהיו חיוניות עבור חברות מסחריות באותו הזמן. ההרחבות כללו עיצוב תבניות עבור נתונים, ואמצעים לשמירת מערכי APL בקבצים חיצוניים. שני המימושים פותחו בשתי חברות נפרדות שהעסיקו עובדים מהצוות המקורי ב־IBM שפיתח את APL\360.
שתי החברות היו I. P. Sharp Associates (IPSA), חברת שירותי APL\360 שנוסדה ב־1964 על ידי אִיאַן שַארְפּ, רוֹגֶ'ר מוּר ואחרים, והשנייה הייתה Scientific Time Sharing Corporation (STSC) חברה לשירותי שיתוף משאבים ושירותי ייעוץ שנוסדה ב־1969 על ידי לורנס בְּרִיד ואחרים. שתי החברות פיתחו יחד את APL*Plus, הן המשיכו לעבוד יחד אף על פי שבהמשך הזמן הפיתוח שלהן התפצל לשני מימושים נפרדים: Sharp APL ו־APL*Plus.
STSC ייצאה את APL*Plus להרבה פלטפורמות, ביניהן VAX 11, מחשבים אישיים, ו־Unix, ואילו IPSA בחרה להפוך את המימוש שלה (Sharp APL) זמין למחשבים אישיים בעזרת "PC-XT/360", רכיב חומרה שסיפק שכבת תאימות למחשבים אישיים עבור תוכנות שפותחו במקור למחשבים מרכזיים של IBM.
ב־1993, נוסדה החברה הקנדית Soliton Incorporated כדי לתמוך ב־Sharp APL והמשך פיתוחה. היא פיתחה את "SAX" (ראשי תיבות Sharp APL ל־Unix). נכון ל־2018, "APL+Win" הוא המימוש ההמשכי ל־APL*Plus.
ב־1985, זכה איאן שארפ בפרס אייברסון מטעם קבוצת SIGPAL ב־ACM על עבודתו ותרומתו לשפת APL.
"APL2" היה מימוש מחודש של APL\360 מאת IBM שהפיתוח שלו החל ב־1971 והושק לראשונה ב־1984. APL2 הציגה שיפורים חשובים לשפה והבולט בהם היה קינון מערכים (הכלת מערכים בתוך מערכים). נכון ל־2018, APL2 זמינה עבור מחשבים מרכזיים שרצים על z/OS או z/VM, או תחנות עבודה שרצות על AIX, Linux, Solaris וחלונות.
כל הצוות שהיה אחראי על הפיתוח והתחזוקה של APL2 זכה בפרס אייברסון משותף בשנת 2007.
Dyalog APL.
המימוש "Dyalog APL" הושק לראשונה מאת Dyalog Ltd הבריטית ב־1983. נכון ל־2018 הוא זמין ל־Linux (כולל על ה־Raspberry Pi),AIX, macOS, וחלונות. הוא מבוסס על APL2, ומציע הרחבות ל־APL בשביל תכנות מונחה עצמים ותכנות פונקציונלי. הרישיון שלו הוא חינמי עבור שימוש פרטי ולא מסחרי.
ב־1995, שניים מחברי צוות הפיתוח של Dyalog APL - ג'ון סקוֹלְס ו־פיטר דוֹנֶלי - זכו בפרס אייברסון עבור עבודתם על המפרש.
NARS2000.
"NARS2000" (ראשי תיבות "Nested Arrays Research System") הוא מפרש APL חופשי וקוד פתוח מאת בּוֹבּ סְמִית', מפתח וותיק מהצוות של STSC שעבדו על המימוש של APL*Plus בשנות ה־70 וה־80. NARS2000 כולל טיפוסי נתונים חדשים עבור השפה וחידושים אחרים.
"APLX" הוא ניב חוצה-פלטפורמות של APL, מבוסס על APL2 עם מספר הרחבות כמו תכנות מונחה עצמים ותמיכה ב־NET Framework.. הוא הושק לראשונה על ידי MicroAPL הבריטית ב־2002. APLX אינו נמצא יותר בשימוש מסחרי והפיתוח שלו הפסיק. ניתן להשיג אותו בחינם מהאתר של Dyalog.
GNU APL.
"GNU APL" הוא מימוש חופשי מטעם המיזם של GNU עבור APL המורחבת כפי שאופיינה ב־"ISO/IEC 13751:2001", ולכן הוא דומה ל־APL2. המימוש רץ על GNU\Linux ועל חלונות בעזרת Cygwin ומשתמש ב־Unicode. הוא פותח על ידי יורגן זאוארמן.
ריצ'רד סטולמן, מייסד מיזם GNU, היה מהראשונים שאימצו את APL. סטולמן נעזר ב־APL כדי לכתוב עורך טקסט כשהיה בתיכון בקיץ 1969.
הידור ופירוש.
APL היא שפה מפורשת בהתאם למסורת שלה, תכונותיה כגון טיפוסיות דינמית הופכים אותה לשפה שאינה מתאימה להידור למרות זאת, מהיותה שפת תכנות מערכים המציבה את המערך במרכז השימוש בה, היא נותנת הזדמנות למיטוב תהליך הפרוש שלה בעזרת עיבוד מקבילי של כל המערכים ובעזרת VLSI. מיטובים אלה הפכו את APL לשפת ביצועים גבוהים,לדוגמה APL מצטיינת בביצועיה בפעולות מורכבות עם מטריצות מאחר שהיא פועלת על גבי מערכים בלי בקרת זרימה ופעולות ביניים שמאטות שפות אחרות.
עם זאת, APL אינה שפה מפורשת גרידא, וקטעים מהקוד עוברים תהליך הידור חלקי בשיטות ורמות שונות. דוגמאות להידור ב־APL כוללות:
זיהוי צרופים.
רוב מפרשי APL תומכים בזיהוי צרופים (באנגלית: "idioms") הטיפוסיים לשפהומעריכים צרופים כאלה כפעולה אחת וחוסכים את צעדי הביניים.לדוגמה, כשהמפרש מזהה צרוף מהצורה codice_76 (היכן ש־codice_77 הוא ערך בוליאני ו־codice_78 הוא מערך), הוא מיד מעריך את כל הביטוי כפעולה אחת במקום לפרש את הביטוי צעד אחר צעד, ובכך הוא בעצם חוסך את יצירתם של שני מערכים נוספים בפעולות הביניים על מנת להשלים את הביטוי.
בייטקוד ממוטב.
הטיפוסיות הדינמית של APL מאפשרת למשתנים להצביע על מערכים (מכל טיפוס), פונקציות, או פעולות (אופרטורים). באופן הכללי המפרש לא יכול לדעת באיזה טיפוס מדובר בלי לבצע ניתוח תחבירי ובדיקת טיפוסיות בזמן ריצה.עם זאת, במקרים מסוימים ניתן להסיק באיזה טיפוסיות (יהיה) מדובר עוד לפני הריצה ולהכין בייטקוד ממוטב מראש שייעל את הביצועים. את הבייטקוד ניתן למטב בעזרת שיטות מיטוב ידועות כגון זיהוי והידור מראש של ביטויים קבועים שאינם משנים את ערכם לאורך כל זמן הריצה (באנגלית: "Constant folding"), והחלפת והשמטת ביטויים השקולים זה לה במשתנה המצביע לביטוי המשותף לכל המקרים (באנגלית: "Common subexpression elimination").בזמן הריצה המפרש יריץ את מקטע הבייטקוד שהוכן מראש אך ורק אם ההנחות בנוגע לטיפוסיות היו אכן נכונות. Dyalog APL נותנת תמיכה מלאה למיטובי בייטקוד עבור השפה.
הידור.
הידור APL היה נושא למחקר וניסויים משחר הופעת השפה. המהדר הראשון עבור APL היה ה־"APL-700" מאת Burroughs שהושק בסביבות 1971. כדי לאפשר הידור של APL נדרשות מגבלות מסוימות.
"APEX" הוא מהדר APL מחקרי שפותח על ידי רוברט בֶּרְנֶקִי (שהיה חלק מצוות הפיתוח של IPSA ו־Sharp APL) וזמין כתוכנה חופשית תחת הרישיון הציבורי הכללי של GNU.
"STSC APL Compiler" (מהדר ל־APL מאת STSC, המפתחת של APL*Plus) מבצע שילוב של מיטוב בייטקוד והידור, אך לא הידור מלא. הוא מאפשר הידור לשפת מכונה רק עבור פונקציות שכל שאר הפונקציות והמשתנים שהן תלויות בהם כבר הוכרזו וידועים מראש. אך המפרש עדיין מספק את כל הפונקציות והפעולות עבור ספריית הליבה של השפה, ומשמש כנסיגה עבור פונקציות שאינן עומדות בתנאים הנחוצים להידור.
תקינה.
APL עברה תקינה על ידי קבוצת העבודה "X3J10" מטעם מכון התקנים האמריקני (ANSI) על ידי ארגון התקינה הבינלאומי (ISO) וע"י הנציבות הבינלאומית לאלקטרוטכניקה (IEC) בוועדה הטכנית המשותפת של ISO/IEC מס' 1, תת־וועדה מס' 22, קבוצת עבודה מס' 3. ליבת APL מאופיינת ב־"ISO 8485:1989", ו־APL המורחבת מאופיינת ב־"ISO/IEC 13751:2001".
אשוחית שחורה