Raku

Raku
Paradigma proseduraalinen, funktionaalinen, olio-ohjelmointi
Tyypitys heikko, dynaaminen
Muistinhallinta automaattinen
Suunnitellut Larry Wall ja Rakun yhteisö
Kehittäjä Larry Wall ja Rakun yhteisö
Vakaa versio 6.d 'Diwali'[1]
Merkittävimmät toteutukset Rakudo
Vaikutteet Perl
Käyttöjärjestelmä alustariippumaton
Verkkosivu raku.org

Raku (aiemmin Perl 6) on ohjelmointikieli, joka lähtöisin Perl-kielestä. Kieltä kehitettiin aluksi nimellä Perl 6 ja vuonna 2019 nimeksi vaihdettiin Raku.[2]

Kehitys

Kehitystyö alkoi nimellä Perl 6 vuonna 2000, jolloin keskusteltiin tarvittavista muutoksista.[3] Syynä nimen vaihdokseen on, että kielet ovat erilaiset vaikkakin niillä on yhteys, ja Perlillä yleensä tarkoitetaan aiempia Perlin versioita.[4]

Rakun suunnittelussa on lähdetty Perl 5:stä, mutta kyse on koko kielen ja sen tulkin uudelleenkirjoittamisesta. Ajan mittaan Raku on kehittynyt erilliseksi kieleksi Perl 5:stä. Rakussa on monia muutoksia verrattuna Perl 5:een. Se ei ole taaksepäin yhteensopiva, mutta siellä tulee olemaan yhteensopivuustila. Perlin luoja Larry Wall on kutsunut Rakua yhteisön uudelleenkirjoittamaksi Perliksi, koska hänen suunnitelmansa perustuu 361:een yhteisön jäsenten tekemään ehdotukseen. Wall kirjoitti alkuperäisen suunnitelmansa pitkiin esseisiin, joita hän kutsuu nimellä Apocalypse. Esseiden numerointi vastaa lukuja kirjassa Programming Perl (”The Camel Book”). tärkeimpiin Apocalypse-esseisiin liittyy myös Damian Conwayn Exegesis-artikkeli, joka antaa ominaisuuksista käytännön esimerkkejä. (Nimet selittyvät sillä, että apokalypsi tarkoittaa ilmestystä tulevista asioista ja eksegeesi on selitys tekstistä.)

Rakua varten on kehitetty alustariippumatonta tavukoodia ajava virtuaalikone nimeltä MoarVM,, mutta joka on suunniteltu myös muiden kielten tarpeisiin. MoarVM perustuu aiemmpaan virtuaalikoneeseen nimeltään Parrot.[5] Rakusta on olemassa toteutus Rakudo, joka tuottaa MoarVM-virtuaalikoneen tavukoodia, mutta sillä on myös tuki tuottaa tavukoodia Javan virtuaalikoneelle.[6][5] Aiemmin oli olemassa myös Haskell-kielellä kirjoitettu Pugs sekä Perl 5:llä toteutettu v6.pm-moduuli.[5]

Suurimmat muutokset

Perl 5:n ja Rakun (aiemmin Perl 6) välillä on satoja, ellei tuhansia muutoksia, yleisenä ajatuksena on ollut: ”keep Perl 6 Perl” (”pidetään Perl 6 Perlinä”). Useat muutokset normalisoivat kieltä; tekevät oppimisen helpoksi ja tehdäkseen ”helppoja asioita helposti ja vaikeita mahdolliseksi”.

Muuttujat

# Perl 5
my @array = (0, 1, 2, 3);
my $element = $array[1]; # $element equals 1

Mutta Rakussa se näyttää hieman erilaiselta

my @array = (0, 1, 2, 3);
my $element = @array[1]; # $element equals 1

Tämä helpottaa lukemista, koska yleensä $array on yleensä @array.

Olio-ohjelmointi

Perl 5 tukee olio-ohjelmointia siunauksen (blessing) avulla. Minkä tahansa viittauksen voi siunata luokan olioksi:

# Perl 5
my $olio = bless $viittaus, 'Luokka';

Siunatulla oliolla voi sen jälkeen olla metodeita, joita käytetään nuolisyntaksilla (->):

# Perl 5
$olio->metodi();

Tämä saa Perlin löytämään metodi-nimisen aliohjelman ja kutsumaan sitä niin, että $olio on ensimmäinen parametri ja muut parametrit tulevat sen jälkeen.

”Helpot asiat helposti ja vaikeat mahdolliseksi” -hengessä Raku pitää vanhan siunausmallin, mutta ottaa käyttöön paljon selvemmän olio-ohjelmointimallin.[7] Esimerkiksi jos halutaan tehdä luokka, joka sisältää sisällään pisteet x ja y:

class Piste is rw {
    has $.x;
    has $.y;
 }

Ja sitä käytetään näin:

my Piste $point .= new;
$point.x = 1.2;
$point.y = -3.7;

Raku käyttää siis monista muista kielistä, esimerkiksi C++:sta, Javasta, Pythonista ja Rubysta, tuttua pistenotaatiota olion sisältämien muuttujien tai metodien kutsumisessa.[7]

Lähteet

  1. Announce: Raku Perl 6 'Diwali' 6.d Language Specification Release blogs.perl.org. 5.11.2018. Zoffix Znet. Viitattu 19.8.2022. (englanniksi)
  2. Perl 6 renamed to Raku lwn.net. 15.10.2019. Viitattu 4.12.2024. (englanniksi)
  3. Joe Kline: Report from the Perl Conference perl.com. 21.8.2000. Viitattu 4.12.2024. (englanniksi)
  4. Thomas Claburn: We, Wall, we, Wall, Raku: Perl creator blesses new name for version 6 of text-wrangling lingo theregister.com. 11.10.2019. Viitattu 4.12.2024. (englanniksi)
  5. a b c Rakun kehittäjät: Compilers - raku.org raku.org. 26.11.2024. Viitattu 26.11.2024. (englanniksi)
  6. http://rakudo.org/2014/09/26/announce-rakudo-star-release-2014-09/ (Arkistoitu – Internet Archive)
  7. a b Rakun kehittäjät: Classes and objects - Rakun dokumentaatio docs.raku.org. 26.11.2024. Viitattu 26.11.2024. (englanniksi)

Aiheesta muualla

Read other articles:

Лівіу Драгня рум. Liviu Nicolae Dragnea {{{ім'я}}} Нині на посадіНародився 28 жовтня 1962(1962-10-28)[1] (61 рік)Гратія, Телеорман, РумуніяВідомий як політик, барабанщик, кухар, ютубер, тіктокер, інфлюєнсерКраїна РумуніяAlma mater Carol I National Defence Universityd, Політехнічний університет Бух

 

Abies delavayi Охоронний статус Найменший ризик (МСОП 3.1) Біологічна класифікація Царство: Рослини (Plantae) Клада: Судинні рослини (Tracheophyta) Клада: Голонасінні (Gymnosperms) Відділ: Хвойні (Pinophyta) Клас: Хвойні (Pinopsida) Порядок: Соснові (Pinales) Родина: Соснові (Pinaceae) Рід: Ялиця (Abies) Вид: A. delavayi Б

 

Constantin Wilhelm Albert Müller Plaats uw zelfgemaakte foto hier Land/zijde Duitse Rijk Onderdeel Deutsches Heer Rang Generalleutnant Bevel 11. Landwehr-Infanterie-Brigade (26-02-1915) Slagen/oorlogen Eerste Wereldoorlog Constantin Wilhelm Albert Müller was een Duits militair die vocht in de Eerste Wereldoorlog. Hij bracht het tot de hoge rang van een Generalleutnant. De Duitse keizer en Pruisisch koning Wilhelm II verleende hem de IIIe Klasse van de Orde van de Rode Adelaar en bevorderde ...

Pour les autres membres de la famille, voir Famille de Beauvau. Marc Étienne Gabriel de Beauvau-CraonFonctionsPair de FrancePair de FranceTitre de noblesseComteBiographieNaissance 22 septembre 1773ParisDécès 28 janvier 1849 (à 75 ans)Ancien 10e arrondissement de ParisNationalité françaiseActivité Homme politiqueFamille Famille de BeauvauPère Ferdinand-Jérôme de Beauvau-CraonMère Louise Etienne Desmier d'Archiac (d)Conjoint Nathalie-Henriette-Victurnienne de Rochechouart de Mor...

 

Indonesia padaPesta Olahraga Asia 2022Kode IOCINAKONKomite Olimpiade IndonesiaSitus webwww.nocindonesia.or.id (dalam bahasa Inggris)Penampilan pada Pesta Olahraga Asia 2022 di HangzhouPeserta413 dalam 30 cabang olahragaPembawa benderaHernanda Zulfi Nandhira MauriskhaMedaliPeringkat ke-13 7 11 18 Total 36 Penampilan pada Pesta Olahraga Asia (ringkasan)195119541958196219661970197419781982198619901994199820022006201020142018 Indonesia berkompetisi di Pesta Olahraga Asia 2022 ...

 

Species of mammal Small Japanese mole Conservation status Least Concern (IUCN 3.1)[1] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Mammalia Order: Eulipotyphla Family: Talpidae Genus: Mogera Species: M. imaizumii Binomial name Mogera imaizumiiKuroda, 1936 Small Japanese mole range The small Japanese mole (Mogera imaizumii) is a species of mammal in the family Talpidae. It is endemic to Japan. Even though they are extinct in central To...

1988 album by Lynn Anderson This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: What She Does Best – news · newspapers · books · scholar · JSTOR (December 2011) (Learn how and when to remove this template message) What She Does BestStudio album by Lynn AndersonReleased1988Recorded1988GenreCountry popLength37...

 

Team Ice Racing World ChampionshipVenueShadrinsk, RussiaStart date10 February 2018End date11 February 2018Nations6← 20172019 (new format called Ice Speedway of Nations) → The 2018 Team Ice Racing World Championship was the 40th edition of the Team World Championship. The final was held on 10 and 11 February 2018, in Shadrinsk, Russia.[1] Final Classification Pos Riders Pts 1 Dmitry Khomitsevich 20, Daniil Ivanov 17, Dmitry Koltakov 13 50 2 Niclas Svensson 18, Ove...

 

Indian television drama Nanda Saukhya BhareGenreDramaSoap operaStory bySampada Jogalekar KulkarniDirected byVaibhav ChinchalkarStarringSee belowCountry of originIndiaOriginal languageMarathiNo. of episodes389ProductionProducerAadesh BandekarCamera setupMulti-cameraRunning time22 minutesProduction companySoham ProductionsOriginal releaseNetworkZee MarathiRelease20 July 2015 (2015-07-20) –1 October 2016 (2016-10-01) Nanda Saukhya Bhare is a Marathi language television drama ser...

Croatian footballer (born 1998) Petar Musa Musa with Benfica in 2022Personal informationDate of birth (1998-03-04) 4 March 1998 (age 25)[1]Place of birth Zagreb, CroatiaHeight 1.90 m (6 ft 3 in)[2]Position(s) StrikerTeam informationCurrent team BenficaNumber 33Youth career2006–2007 Hrvatski Dragovoljac2007–2015 NK ZagrebSenior career*Years Team Apps (Gls)2015–2017 NK Zagreb II 21 (16)2015–2017 NK Zagreb 16 (0)2017 Inter Zaprešić 0 (0)2017–2022 S...

 

PsychokinesisPoster teatrikalNama lainHangul염력 Hanja念力 Alih Aksara yang DisempurnakanYeomnyeok Sutradara Yeon Sang-ho Produser Kim Yeon-ho Ditulis oleh Yeon Sang-ho PemeranRyu Seung-ryongShim Eun-kyungPark Jung-minKim Min-jaeJung Yu-miPenata musikJang Young-gyuSinematograferByun Bong-sunPenyuntingYang Jin-moPerusahaanproduksiRedpeter FilmDistributorNext Entertainment WorldTanggal rilis 31 Januari 2018 (2018-01-31)[1] Durasi101 menitNegara Korea Selatan Bahasa ...

 

For the fast food restaurant chain, see Wendy's. This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: The Wendys – news · newspapers · books · scholar · JSTOR (September 2010) (Learn how and when to remove this template message) The WendysBackground informationOriginEdinburgh, ScotlandGenresIndie pop, baggyYears ...

Ministry of Interiorوزارة الداخليةMinistry InsigniaMinistry FlagAgency overviewFormed1971Preceding agencyBahrain Police DirectorateJurisdictionGovernment of BahrainHeadquartersDiwan Fort, Manama or named as (al-gal'aa)26°13′22.47″N 50°34′33.8″E / 26.2229083°N 50.576056°E / 26.2229083; 50.576056Minister responsibleRashid bin Abdullah Al Khalifa, Minister of InteriorChild agencyPublic Security ForcesWebsitewww.interior.gov.bh Politics of Bahrain ...

 

Castle in North Yorkshire, England Bolton CastleThe castle from the southLocation within North YorkshireGeneral informationLocationCastle Bolton, Yorkshire, EnglandCoordinates54°19′19″N 1°56′53″W / 54.321932°N 1.948106°W / 54.321932; -1.948106Construction started1378Completed1399ClientRichard, Lord Scrope of BoltonOwnerThomas, Lord BoltonDesign and constructionArchitect(s)John LewynWebsitewww.boltoncastle.co.uk Listed Building – Grade IDesignated13 Februa...

 

This is a list of mayors of Akron, Ohio, a city in the northeastern part of the U.S. state of Ohio located in Summit County. The newly elected mayor assumes office at midnight on New Year's Day according to recent practice. From 1920 to 1924 a new charter established City commission government led by an administrator. Pre-Commission Mayors of Akron Term Mayor 1836 Seth Iredell 1837–1838 John C. Singletary 1839 Lucius V. Bierce 1840 Arad Kent 1841 Lucius V. Bierce (2) 1842–1843 H. H. Johns...

An ukiyo-e woodcut from the Edo period depicting the Tōshiya The Tōshiya (通し矢, とおしや, passing arrow) or the arrows which hit the target, was an archery exhibition contest held on the west veranda of Sanjūsangen-dō temple in Kyoto, Japan. History of the contest The contest originated in the late 16th century[1] dating back to 1606 when a samurai named Asaoka Heibei is said to have shot 51 arrows in rapid succession down the length of the veranda.[2] In the begi...

 

Stencil que denuncia la manipulación televisiva. La manipulación de los medios de comunicación consiste en una serie de técnicas relacionadas entre sí con las que miembros de un determinado grupo crean una imagen o una idea que favorece sus intereses particulares.[1]​ Entre estas tácticas destacan las falacias lógicas y la propaganda, que a menudo implican la supresión de información o de otros puntos de vista a través de su distorsión, induciendo a otras personas o grupos de...

 

المجلس الثقافي العالمي الاختصار WCC البلد المكسيك  المقر الرئيسي مدينة مكسيكو  تاريخ التأسيس 1981 النوع منظمة غير حكومية دولية منطقة الخدمة Worldwide Honorary President Sir Colin Blakemore الموقع الرسمي consejoculturalmundial.org تعديل مصدري - تعديل   المجلس الثقافي العالمي هو منظمة دولية أهدافها هي ت...

Опис файлу Опис постер фільму «Червоний острів» Джерело https://kino-o-voine.ru/volodkina-zhizn-1984/ Час створення 1991 Автор зображення «Мосфільм» Ліцензія див. нижче Обґрунтування добропорядного використання Обґрунтування добропорядного використання не вказано назву статті [?] Опис...

 

English wool-stapler, magistrate and Liberal politician The Right HonourableSir George GoodmanSir George Goodman, Mayor of LeedsMember of ParliamentIn office1852–1857MonarchVictoria Personal detailsBorn17 November 1791[1]Leeds, Yorkshire, EnglandDied13 October 1859 (aged 67)Roundhay, Yorkshire, EnglandPolitical partyWhig Sir George Goodman (17 November 1791 – 13 October 1859)[2] was an English wool-stapler,[3] a magistrate for the borough and county of...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!