2015-09-11 12 views
15

Czy biblioteki specyficzne dla GHC można nazwać biblioteką standardową? A może robią to tylko osoby z raportu Haskell 2010?Czym jest standardowa biblioteka Haskell?

Wiele bibliotek GHC można zaimplementować za pomocą funkcji w raporcie Haskella, ewentualnie w połączeniu z wiązaniami C. Ale inni są uzależnieni od rozszerzeń specyficznych dla GHC, ponieważ obecny język Haskella, zdefiniowany w raporcie językowym, nie obsługuje go.

Na przykład, czy Data.Array.IO można zaimplementować w czystym standardzie Haskell?

Czy to naprawdę w porządku, myśleć, że GHC to Haskell?

+2

W szczególności na temat 'Data.Array.IO', odpowiedź brzmi jednoznacznie" nie ". [The * array * docs] (https://hackage.haskell.org/package/array-0.5.1.0) mówi, że "* oprócz * udostępnienia modułu Data.Array zgodnie z raportem językowym Haskell 2010, pakiet * także * definiuje klasy IArray z niezmiennych tablic i MArray z tablic zmieniających się w odpowiednich monadach, a także niektóre przykłady tych klas "(podkreślenie moje); tymczasem ['Data.Array.IO'] (https://hackage.haskell.org/package/array-0.5.1.0/docs/Data-Array-IO.html) jest oznaczony jako" nieprzenośny (wykorzystuje dane .Array.Marray) ". – duplode

+4

O ile mi wiadomo, GHC jest jedyną obecną implementacją Haskella ogólnego zastosowania. Powiedziawszy, możesz chcieć sprawdzić, jakie biblioteki są dostępne z 'GHCJS' i' Haste', i być może podzielić się nieco z krewnymi Haskella, takimi jak Purescript i Frege. – dfeuer

+8

Niestety, społeczność Haskell nie ma prawdziwego konsensusu co do "standardowej" biblioteki. Biblioteki raportów są zbyt ograniczone do wielu zastosowań, biblioteki GHC są definiowane głównie przez to, co GHC * potrzebuje *, platforma Haskella była próbą zdefiniowania jednej, ale wiele osób nie lubi na niej polegać, a Stackage, a zwłaszcza Hackage są zbyt wielki. –

Odpowiedz

7

Niestety, społeczność Haskell nie ma prawdziwego konsensusu co do "standardowej" biblioteki.