GNU APL

GNU APL

GNU APL.png -kuvan kuvaus. Tiedot
Viimeinen versio 1,8 (23. kesäkuuta 2019)
Tallettaa svn: //svn.savannah.gnu.org/apl/trunk
Kirjoitettu C ++
Käyttöjärjestelmä GNU / Linux ja BSD ( d )
Tyyppi
GNU-paketin tulkki ( d )
Lisenssi Nestekaasu
Verkkosivusto www.gnu.org/software/apl

GNU APL on kielen APL toteutus , avoin ja ilmainen lisenssillä GNU GPL . Sen versio 1.0 ilmoitettiin27. syyskuuta 2013. Tätä toteutusta voidaan käyttää GNU / Linux- , MacOS- tai Cygwin- käyttöjärjestelmissä .

Se panee täytäntöön ISO 13751 -standardin, "Extended APL language", joka siten koostuu taulukkotaulukoista .

Se hallitsee kompleksilukuja ja jaettuja muuttujia, joiden avulla työtila voi helposti kommunikoida ulkomaailman kanssa. Se tekee jopa mahdolliseksi jokaiselle, joka haluaa käyttää APL: ää komentosarjakielenä (esimerkiksi Linuxissa, tiedoston mukana #! apltai #! /usr/bin/aplsen päällä).

Kenraali

Sisältää GNU APL: n joulukuu 2014, 60000 riviä C ++ -koodia . Jotkut työtilat toimitetaan vakiona, ne tallennetaan joko muokattavaan xml- muotoon tai binäärisäilöiksi (PSYS) paljon nopeammin. ) LIBS- komento tarjoaa luettelon niistä. On myös mahdollista tallentaa tai lukea työtila IBM: n määrittelemässä APL Transfer Form (ATF ) -muodossa komentojen ) OUT ja ) IN avulla työtilojen vaihtamiseksi eri tulkkien kanssa; työtilaa ei kuitenkaan alun perin anneta tässä muodossa.

Jaettujen muuttujien ( ⎕SVO , ⎕SVR , ⎕SVC , ⎕SVS , ⎕SVQ ) hallinta on toteutettu. Kaksi työtilaa voi siis kommunikoida ehdolla, että tällä hetkellä (2016) on sama kone.

Apu- prosessorit AP100 (lähettää komentoja isännälle ja Lue vastaukset) ja AP210 (lukea ja kirjoittaa tiedostoja) on varustettu niiden lähteet (C) esimerkkeinä. Käyttäjä voi myös helposti laajentaa GNU APL: ää omilla ulkoisilla toiminnoilla, jotka on kirjoitettu C.

Tässä toteutuksessa sekä kokonaisluvut että reaalit on esitetty 64 bitillä. Tämä antaa mahdollisuuden työskennellä ongelmitta 19-numeroisten kokonaislukujen kanssa ja vastaa reaalilukuja tavalliseen kaksoistarkkuuteen tieteellisillä työasemilla .

Versio 1.4 (2014) mahdollisti kommunikoinnin MySQL- ja PostgreSQL-tietokantojen kanssa . Versio 1.5 (2015) käyttää myös monisydämisten mikroprosessorien rinnakkaisuutta . Nykyinen versio on 1.8 (2020)

GNU APL: n kirjoittaja ja ylläpitäjä on nimeltään Jürgen Sauermann . Myös englanninkielinen GNU APL -dokumentaatio on erittäin yksityiskohtainen: https://www.gnu.org/software/apl/apl.html

Perustaminen

Asentaminen versiolla 1.8 on erittäin helppoa: lataat GNU-peilistä apl-1.8.tar.gz-tiedoston APL-hakemistosta ja purat sen koneellesi esimerkiksi apl-nimiseen hakemistoon. Kirjoita tähän hakemistoon vain:

./configure make sh-install

ja sitten aplkun sinulla on kätesi muutaman sekunnin tai minuutin kuluttua.

APL-kuviot ja näppäimistö

(Et halua lukea tätä osaa, jos et ole kiinnostunut fonttien ja näppäimistön käsittelystä aluksi)

Kuviot

Konsolista tekstitilassa

Jos haluat käyttää GNU APL: ää konsolista puhtaassa tekstitilassa (ei siis X-Window-tilassa ), Unifont-APL8x16.psf-fontti on saatavana esimerkiksi Ubuntu- arkistoissa ( psf-unifont- paketti , jonka voi ladata Synaptic ) tai muista jakeluista. Se on ladattu hakemistoon / usr / share / consolefonts / , ja siinä on 512 kuviota, mukaan lukien APL-merkkien lisäksi ranskalaiset aksenttimerkit, mutta myös ligatuurit .

Graafisen ikkunan konsolista

X-Window -sovelluksessa käytettävä TrueType- fontti ttf-unifont , joka on myös arkistoissa ja joka on myös Synapticin lataama , sisältää tarvittavat merkit ja on se ansio, että se voidaan sijoittaa kaikkiin haluttuihin mittakaavoihin. Tämän kirjasimen renderointi on optimaalinen rungossa 12, missä se on suunniteltu.

Näppäimistö

Linuxissa Unicode- merkkejä käyttävää tulkkia käytetään pääteistunnossa, joka avataan yhdistämällä se sopivaan koodisivuun. Tämä on helppo asettaa koko X-palvelimen tasolla, mutta se voi myös joillakin varotoimilla olla jokaiselle ikkunalle erilainen käytäntö, että tämä sisältää päätelaitteen tai ei.

Kuva oletusnäppäimistöstä (USA) löytyy osoitteesta /etc/gnu-apl.d/keyboard1.txt . Käyttäjän on itse muokattava sitä tekstieditorilla oman kansallisen näppäimistöasettelunsa mukaan. Alkaen GNU APL istunto, se voidaan näyttää ] KEYB (aloittaen ] eikä ) , koska se on kutsu yksinkertainen koottu C-ohjelma nimeltään GNU APL).

NARS2000: ssa ja Dyalogissa APL-merkit saadaan yhdistämällä muutosavain ( NARS2000: ssä Alt , Dyalogissa Ctrl ) ja näppäimistömerkki. GNU APL: ssä voit käyttää näppäinyhdistelmää vaihtaaksesi tekstinäppäimistön ja APL-näppäimistön välillä.

Globaali kaikille tämän X-palvelimen ikkunoille

Voit käyttää setxkbmap- apuohjelmaa  : setxkbmap apl tekee APL-merkkien näppäimistöstä saatavan, jos ttf-unifont on asennettu, mutta tekee sen kaikille avoimille päätelaitteille samanaikaisesti ja APL-fontti korvaa oletusfontin (mikä tekee ongelmasta palata normaaliksi setxkbmap fr ). Kuitenkin setxkbmap-komennon voidaan myös käyttää lisätä merkkejä sen sijaan korvata ne ; komento on sitten setxkbmap -model "pc105" -asettelu "fr, apl" -option "grp: alt_caps_toggle"  : kun tämä komento on ohitettu, vaihdamme joka kerta Alt-CapsLock , ranskalaiset näppäimistöt ja APL.

Valikoiva jokaiselle ikkunalle

Syöttötavat ovat olemassa myös pääkielillä, mukaan lukien ranska kuolleilla avaimilla . Konfigurointia on helppo - vaikkakin ikävä heti, kun muokkaat yli kymmenen näppäintä - muuttaa kokoonpanoa mieltymystesi (IBM APL2 tai NARS2000 -näppäimistö), tarpeidesi tai rajoitteidesi (esimerkiksi näppäinyhdistelmien, jotka (ennen APL-istuntoa).

Akt: APL-näppäimistötyökalu

Käytössä github on työkalu, jonka avulla voidaan automaattisesti liittää useita APL kuvioita näppäimistön näppäimet heikennä Alt näppäin  : https://github.com/TieDyedDevil/akt ehdolla deaktivointi muutokset jo määritetty, onko mitään (pikanäppäimiä , esimerkiksi).

Versiossa 1.8 (2020)

Versioon 1.8 liittyy perinteisen INSTALL-tiedoston lisäksi 9 tiedostoa, joista yksi näyttää, kuinka näppäimistö määritetään ja kirjasimet asennetaan , ja toinen kuinka moniytiminen toteutus. Asennus on entistä helpompaa.

Tulkin soittaminen ja käyttö

Kun olet asentanut GNU APL: n ja asettanut laajennetun ranskalaisen näppäimistön + APL: n tunnistuksen, kuten yllä on esitetty, sinun tarvitsee vain kirjoittaa apl konsolista ja löydät itsesi tulkin alla. Päästämme siitä lyömällä ) pois .

Koko näytön editorin puuttuminen (toisin kuin NARS2000) voi olla hankala toimintoja kirjoitettaessa. Ne on kuitenkin aina mahdollista valmistaa toiseen ikkunaan ja kopioida / liittää ne GNU APL -istuntoon, mikä on Unicoden tärkein etu .

Versiossa 1.8 on syntaksiväritiedosto vimille .

Järjestelmän komennot

  • ) libs kyselee läsnä olevia kirjastoja. Ne, joiden hakemistoa ei vielä ole, merkitään "puuttuviksi". Sen on luotava mkdir -p : llä konsolista.
  • ) lib listaa kirjaston sisältämät työtilat.
  • ) lataa työtilan muistiin. ) tallenna varmuuskopio levylle.
  • ) fns ja ) vars luetellaan työtilassa olevat toiminnot ja muuttujat.
  • ) historia luetteloi viimeisimmät näppäimistöön syötetyt rivit (ohjeet tai APL-komennot yleensä).

Erityiset järjestelmän toiminnot

  • ⎕cr näyttää toiminnon kanonisen esityksen , mutta se on 4 ⎕cr, joka vastaa NARS2000 : n ⎕fmt: tä, joka näyttää laatikoissa sen oikealla puolella olevan datan.
  • ⎕FIO suorittaa merkkien syöttämisen / tulostamisen tiedostoille.
  • ⎕PLOT näyttää arvokäyrän oikealla puolella.

Uutta versiossa 1.8

  • ⎕FFT (nopea Fourier-muunnos, reaalilukuina yhtä monimutkainen).
  • ⎕GTK ( Gimp- toimintojen kutsu APL: ssä).
  • ⎕RE (säännölliset lausekkeet).
  • Järjestelmän komennot ovat käyttäjän määritettävissä APL: ssä.
  • Liitäntä Pythonin ja GNU APL: n välillä, mikä antaa pääsyn APL: n vektoritoimintoihin Pythonissa.

APL-harjoituksenvaihtokirjasto

Exercism sivuston avulla voit vaihtaa GNU APL harjoitukset: https://exercism.io/tracks/gnu-apl/

Kokeile GNU APL: ää asentamatta sitä

Th.Baruchel siirsi GNU APL: n Javascriptiin , ja siihen pääsee tässä muodossa osoitteessa http://baruchel.hd.free.fr/apps/apl/ (katso kuva vasemmalla). Junger Sauermann tarjoaa myös oman versionsa interaktiivisista esseistä http://juergen-sauermann.de/try-GNU-APL , oikea:

Laajennus standardiin

APL-standardi ilmoittaa, mitä on tuettava vähintään , mutta se ei kiellä laajennuksia. Jürgen Sauermann esitteli mahdollisuuden välittää arvo hakasulkeissa funktion lisäargumenttina, erityisesti yleistääkseen toiminnan käsitystä akselilla samalla tavalla ,[1]tai +/[1]varoittaen siitä, että tämä laajennus voi vahingoittaa GNU APL -ohjelmien yhteensopivuutta muiden järjestelmien kanssa, jos ne eivät ota sitä käyttöön. Siinä on seuraava esimerkki:

∇z←moyenne[axe] a Z←(+/[axe]a) ÷ (⍴a)[axe] ∇ moyenne[1] 5 5⍴⍳25 11 12 13 14 15 moyenne[2] 5 5⍴⍳25 3 8 13 18 23

Ulkoiset linkit

Huomautuksia ja viitteitä

  1. yli 75 000: een kesäkuussa 2016, yli 80 000: een heinäkuussa 2017 ja yli 100 000: een vuonna 2020: https://www.gnu.org/software/apl/
  2. Useat merkit kuten ? tai ! ovat saatavana molemmilta näppäimistöiltä, ​​vaikkakin eri paikoissa kullakin.
  3. Jos haluat valita toisen näppäimistönvaihtoyhdistelmän, katso täältä: http://pastebin.com/a2MTnXqg