2014-10-30 27 views
13

PureScript wygląda bardzo podobnie do Haskella. Wydaje mi się, że duże części, głównie czyste części programu PureScript, powinny być kompilowane również przez kompilator Haskell. Czy to prawda?Jakie są różnice między Haskell i PureScript?

Prowadzi to do pytań pokrewnych: Czy możliwe byłoby udostępnienie kodu między serwerem Haskella i interfejsem PureScript, np. struktury danych, walidacje formularzy?

+4

Ze swojej strony internetowej "PureScript to mały, silnie statycznie napisany język programowania z wyrazistymi typami, napisany i zainspirowany przez Haskella i kompilujący się do Javascript." Wyobrażam sobie, że istnieje wiele różnic, ale istotą tego języka jest to, że są bardzo podobne. Szybki rzut oka pokazuje, że krotki różnią się między Haskellem i PureScriptem i prawdopodobnie wieloma innymi typami. – bheklilr

Odpowiedz

20

To jest nadal w toku, ale here's some of the differences na początek. Wkrótce powinniśmy mieć nową stronę, która ułatwi znalezienie tego rodzaju informacji!

+0

czy istnieje również lista uzasadnień/przyczyn dla różnic? podczas gdy niektóre rzeczy w PureScript są ładniejsze niż odpowiedniki w Haskell, niektóre wydają się nieprzydatne. –

+0

Nie, przepraszam, nie w tej chwili. W dolnej części tego artykułu wciąż znajduje się TODO, które zawiera listę zalet i wad różnic, a także dokumentuje rzeczy, które różnią się tylko dlatego, że nie udało nam się jeszcze ich wdrożyć. –

0

Udostępnianie kodu jest dobrą rzeczą i eliminuje wiele nadmiarowości, jednak można dzielić typ między ps i haskell przy użyciu purescript bridge.

Jednak, aby uzyskać większą kontrolę nad udostępnianiem kodu, myślę, że powinieneś używać tego samego języka zarówno na interfejsie, jak i na zapleczu, i myślę, że jest to jeden z głównych powodów, dla których został utworzony reflex.

Jeśli bardziej interesuje Cię architektura reactjs i flux, możesz użyć react-flux i słyszałem, że niektórzy ludzie używają jej w produkcji z dobrym skutkiem.

Powiązane problemy