APL compiler "17 sorban"

4 views
Skip to first unread message

Balazs Komuves

unread,
Nov 27, 2020, 3:46:44 PM11/27/20
to compiler-seminar-budapest

az extrem mini compilerek folderebe mindenkeppen beletartozik ez az APL-dialektusban irt selfhosting (?) compiler, aminek a legkisebb verziojanak a _magja_ 17 sor (eleg nehez ertelmezni, de en ugy ertem hogy ez a 17 sor csak a lenyeges compiler pass-ok, ebben nincs benne ami elotte van pl. a parsing es ami utana van, azaz a code-gen).


a github-on mar egy masik verzio van ahol inkabb 2 oldal (~80 sor?) a core compiler, de abban mar 26 core pass van allitolag :) de az is eleg belathato meretu (bar olvasni szerintem csak akkor lehet ha mar atestel a matrix tuloldalara lol)



Attila Lendvai

unread,
Dec 3, 2020, 7:43:31 AM12/3/20
to Balazs Komuves, compiler-seminar-budapest
en is nezegettem kicsit (a reddit thread-et, meg a wikipediat), es meg kell mondjam, h eleg visszataszito az a gondolat, h az absztrakcioimnak csak egy katakternyi "nevet" adhatok.

ettol meg nem vetettem el, ez csak egy zsigeri reakcio, es fogom is majd tovabb nezegetni... de szerintem ez inkabb csak valami frontend moge rejtett IR-nek lehet jo. ilyen nyelven szerintem nem lehet trivialisnal nagyobb meretu programokat ertelmesen megirni.

ettol meg a compiler-es alapgondolata lehet jo, de arrol egyelore nem tudok nyilatkozni.


- attila

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

András Kovács

unread,
Dec 3, 2020, 8:09:58 AM12/3/20
to Attila Lendvai, Balazs Komuves, compiler-seminar-budapest
Én is ránéztem a tézisre. A lényeg szerintem az AST kódolása tömbös reprezentációkkal, és azon a (bizonyos) transzformációk párhuzamosítása. Maga az APL nyelv mint célnyelv és implementációs nyelv szerintem nem annyira érdekes. Én személyesen foglkoztam egy kicsit APL-család-beli nyelvvel (J), és a nyelv dizánjról nincs nagyon jó véleményem. 

A kompakt AST kódolás és a párhuzamosítás viszont valóban az extrém compiler gyorsítás fő eszköze. A kompakt AST reprezentáció sokat segít, a LoCal tetszett nekem korábban: https://dl.acm.org/doi/10.1145/3314221.3314631 Viszont az APL-es tézis ennél jóval tovább megy, az AST kódolás nem simán egy preorder szerializáció. A kérdés az az, hogy mennyire lehet ergonomikusan compiler-t fejleszteni úgy, hogy ennyi varázslat és komplexitás van az adatreprezentációban, és hogy egyáltalán mennyi praktikus pass írható ebben a stílusban. Már a LoCal esetén is igaz, hogy komoly UX support kell ahhoz, hogy értelmesen lehessen közvetlenül programozni szerializált AST-vel. Én egyelőre a LoCal-t közelebb látom a praktikus valósághoz.

--
Azért kapta ezt az üzenetet, mert feliratkozott a Google Csoportok „compiler-seminar-budapest” csoportjára.
Az erről a csoportról és az ahhoz kapcsolódó e-mailekről való leiratkozáshoz küldjön egy e-amailt a(z) compiler-seminar-b...@googlegroups.com címre.
Ha szeretné megtekinteni ezt a beszélgetést az interneten, látogasson el ide: https://groups.google.com/d/msgid/compiler-seminar-budapest/NSHkTy2Hr7VB5d-dC9DH-VbS2241lK_S2UwWfnSp54rQC-ebZTK5kR9hRmghxhmd73eh9Khfvut3DT9MIPLXuyAYkUi8nhEFhFAo6-ZNpUg%3D%40lendvai.name.

Csaba Hruska

unread,
Dec 3, 2020, 9:22:24 AM12/3/20
to András Kovács, Attila Lendvai, Balazs Komuves, compiler-seminar-budapest
Most latom hogy ez is az Indiana University-rol van mint a LoCal.

Reply all
Reply to author
Forward
0 new messages