Haskell - ez
Haskell (orosz Haskell és Haskell.) - a funkcionális programozási nyelv. Ez az egyik leggyakoribb lusta programozási nyelvek. Ez egy nagyon fejlett rendszer gépelés, de a rendszer úgy van kialakítva modulok rosszabb. Az utolsó nyelvi norma, amely szabvánnyá vált a funkcionális programozás - Haskell-98. Onnan származik Miranda nyelvet. amely által kifejlesztett David Turner, mint egy hagyományos funkcionális nyelvet. Nevezték matematikus Haskell Curry.
jellemzői a nyelv
A fő Haskell nyelv jellemzői a következők:
Elfogadása óta az utolsó nyelvi norma (Haskell98) tartott sokáig, és azóta vezeti a végrehajtási nyelv (GHC és ölelések) bővült számos további jellemzői:
- Polimorfizmus 2. és nagyobb helyet (2-es rangú és rang-N polimorfizmus)
- Funkcionális függőségek (FD, funkcionális függőségek)
használata
Ez tolmács (az egyik legismertebb - fordító (az egyik legismertebb - Glasgow Haskell Compiler (GHC)).
Népszerű tudományos körökben, de kevéssé ismert körében alkalmazás programozók. Legutóbb a bővített alkalmazás könyvtárak és a nyelv integrálva közös szoftver rendszerek (.Net [1]. Com / ActiveX HaskellScript. Java jaskell), ami a nyelv egyre vonzóbb a professzionális programozók.
Bővítése nyelvi implementációk (utal GHC):
A legegyszerűbb példa
A következő példa bemutatja a szintaxis Haskell végrehajtásakor funkciók faktoriális:
Ez a meghatározás írja le a folyamatot a faktoriális a rekurzív függvény. Ez a meghatározás hasonló ahhoz, amely megtalálható a tankönyvekben számítástechnika. A legtöbb forráskód nyelv, mint a Haskell matematikai jelölés szempontból a szintaxis és a használat, például a fenti példában átírható
amely megfelel a matematikai definíciója a faktoriális.
A második sor alapul mechanizmusa mintaillesztést, ami fontos jellemzője Haskell. Ez a mechanizmus okozza a tolmács hajtogat fentről lefelé mentén meghatározása és megtalálják az első mintát (azaz egy sor formális paraméterek, amelyek illeszkednek az értékeket ténylegesen átadott paraméterek a funkció), és meghatározásra kerül rögzítésre a mintával. Ebben az esetben a második sorban meghatározás van kiválasztva, ha az aktuális paraméter a hívás fac függvény nulla lesz.
A harmadik vonal mellett mintaillesztéses mechanizmust használja a védett kifejezést - n> 0. Ez biztosítja, hogy a funkció nem fog működni a negatív számok, amelyre a faktoriális nem definiált. Ha negatív számot vezetjük, mint tényleges paraméter a fac funkciót. A program leáll egy hibaüzenettel.
Bonyolultabb példák
A legegyszerűbb számológép kiszámításához kifejezéseket RPN lehet meghatározni Haskell nyelv használata a hang jellemzők:
Ebben a meghatározásban a funkció szoros (szeres) okozta az aktuális paraméterek [] (üres lista - a kezdeti érték szeres), f (a funkció értelmezéséhez egy szót a beviteli érték) és a listát a kapott eredeti szöveg szakított kifejezést szavak, azaz vonal , elválasztva egymástól térköz. Ennek eredményeként a lista kapunk, amely a közbenső és a végső értékeket kapunk, ha kiszámítjuk a bemeneti kifejezés.
Egy másik példában egy számítási módszere végtelen listáját Fibonacci-számok lineáris időben:
Végtelen lista segítségével létrehozott corecursion mechanizmus - egy listát a következő értékek alapján számítják ki a rendelkezésre álló a kezdeti a 0 és 1, mint az első két elem a listában. Ez a meghatározás egy példa alkalmazása lusta értékelési mechanizmus, amely lényeges része Haskell nyelv. Ahhoz, hogy megértsük, hogyan működik ez a meghatározás, mondhatjuk a számítás az első hat Fibonacci-számok segítségével ezt a funkciót:
Ugyanez a funkció lehet írni rövidebb és érthetőbb ha bővítése Haskell nyelv, amely végre a fordító GHC (párhuzamosítás listák meghatározó, Párhuzamos List Comprehensions):
Megvalósítása megállapítás minden prímszám a szokásos módon (ellenőrizze az egyes egyszerűség kedvéért)
És megszerzésére, általában végtelen listája prímszám:
Írt alkalmazások Haskell
- Agda - programozási nyelv függő típusú és igazolások tételek.
- verziókezelő rendszer
- Epigramma - egy programozási nyelv függő típusok.
- House - egy operációs rendszer grafikus felületen
- Jaskell - funkcionális programozási nyelv, amely fut a Java Virtual Machine
- Pugs - fordító és tolmács az Perl 6 nyelv
- terminál kliens mikroblog
- csempézés ablakkezelő az X Window System
irodalom
Haskell (Arkansas) - Város Haskell Haskell, Arkansas Ország SSHASSHA ... Wikipedia
Haskell (County, Texas) - Haskell megye Haskell megyei kerületi Ország Egyesült Államok állapota tartalmazza a Texas közigazgatási központja ... Wikipedia
Haskell, Mervyn Nathaniel - Nathaniel Mervin Haskell Nathaniel Mervin Haskell ... Wikipedia
L. Haskell - Haskell (Haskell) Arnold Lionel (1903/07/19 London, # 150; 11.14.80 BAT), Eng. ábra balett t RA. Diplomáját Cambridge University t (1926). A 1928 # 150; 35 írta kritikus. cikkek a gáz. Daily Telegraph. 1930-ban együtt F. Richardson és E. Evans ... ... Balett. enciklopédia
Ueksler Haskell - (Wexler) (p 1922/06/02.) Egy amerikai üzemben igazgatója. Diplomáját a University of California. A mozi 1955 óta (a dokumentumfilm „Living City”). Az első munkája rendező # 151; dokumentumfilm "Strange Victory" (1958). Levette ... ... Film: Collegiate Dictionary
- Hekvort, David Haskell. Dzhessi Rassel. Ez a könyv lesz összhangban a rendelését Technology Print-on-Demand technológiát. High Quality Content Wikipedia cikket! Devid Haskell Hekvort (született David Haskell Hackworth ;. 11 ... Tovább Vásárlás 1254 rubelt
- Az ügy az Arany fegyverrel. Gyilkosság egy játékboltban. Crispin E. Young színésznő Isolde Haskell gyűlölt sok, de aki még mindig úgy döntött, hogy a gyilkosságot? Bár a rendőrség megtalálja a rajongók és szerelmesek, akiknek lakóhelye Isolde amúgy ... Bővebben Vásárlás 459 rubelt
- Öt nappal Párizsban. Daniela Stil. Olivia - a titokzatos kis nő, egy tragikus múlt. Mielőtt találkozott vele egy párizsi hotel „Ritts` Peter Haskell fogalma sem volt arról, hogy az élete postroenana veszélyezteti ... Tovább Vásárolja 200 rubelt