Rikat, ze haskel je deklarativni jazyk, je teda opravdu trochu mimo. ,,Ciste funkcionalni'' by mozna bylo lepsi.
Názory k článku
Happstack: část první
Re: ehm, ...
celé vláknoDeklarativní paradigma jsem ve výkladu bral jako opak imperativního. Funkcionální programování je jeho podmnožinou. To, že je Haskell čistě funkcionální, neznamená, že není funkcionální nebo není deklarativní.
Re: ehm, ...
celé vláknoPopis v prvim odstavci spis odpovida jazykum logickym (napr. Prolog).
Deklarativni je taky SQL. Funkcionalni jazyky funguji jinak, napr. lambda vyrazy mi moc deklarativni neprijdou. A vubec … http://en.wikipedia.org/wiki/Programming_language_theory
Re: ehm, ...
celé vláknoPod pojem „deklarativní programování“ spadají i jiné jazyky, než jenom Prolog a SQL. V tom vašem odkazu se o tom nic nepíše, neměl jste na mysli spíše heslo Declarative programming?
Re: ehm, ...
celé vláknoVzhledem k tomu, že funkcionální (zejména čistě funkcionální) jazyky patří mezi deklarativní jazyky, tak mimo není ani trochu.
Ubuntu a happstack
celé vláknoPodarilo sa niekomu nainštalovať happstack pomocou cabal na Ubuntu 9.10? Samotná inštalácia zlyhá kvôli (mimo iné) balíčku trhsx:
> cabal install trhsx
Resolving dependencies…
Configuring trhsx-0.2.2…
Preprocessing library trhsx-0.2.2…
Building trhsx-0.2.2…
[1 of 1] Compiling Trhsx ( Trhsx.hs, dist/build/Trhsx.o )
Trhsx.hs:1:0:
Failed to load interface for `Prelude':
it is a member of the hidden package `base-3.0.3.1'
it is a member of the hidden package `base'
Use -v to see a list of the files searched for.
cabal: Error: some packages failed to install:
trhsx-0.2.2 failed during the building phase. The exception was:
exit: ExitFailure 1
Dostal sa niekto ďalej?
Re: Ubuntu a happstack
celé vláknoBalík trhsx je zastaralý. Současná verze Happstacku používá balík hsx. Pokud to při instalaci píše, že nemůže nalézt program trhsx, pravděpodobně není součástí proměnné $PATH cesta $HOME/.cabal/bin.
proč?
celé vláknoMožná je to mnou, ale v článku mi, kromě tématu „výzvy“, chybý nějaký adekvátní důvod proč vůbec vyvíjet web aplikaci pod tímhle frameworkem, resp. ned haskelem obecně. Kromě informace, že překlad a stabilita je ok tam nevidím nic. Díky
Re: proč?
celé vláknoTo je pravda. Člověk může mít mnoho různých důvodů: zná už nějaký funkcionální jazyk, tak je zvědavý, jak by vývoj webových aplikací mohl v něčem takovém vypadat; má chuť se naučit něco nového a netradičního; studuje danou problematiku dlouhodoběji a chce znát její možnosti a případné hranice (což je můj případ).
V textu jsem odkazoval na článek Beating the Averages, který doporučuji k přečtení. Ovšem bavit se o přednostech a slabinách Haskellu nebo funkcionálního programování obecně mi nepřijde jako moc dobrý nápad, většinou tohle téma vyvolá flamewar.
Re: proč?
celé vláknoProtože si procvičíte Haskell nebo protože se naučíte něco nového.
Re: Happstack: část první
celé vláknoKromě toho existuje nejeden úspěšný webový projekt, jenž byl napsán v nějakém z funkcionálních jazyků, což popisuje kupříkladu…
Docela by mě zajímalo, co si představujete pod pojmem funkcionální jazyk. IMO funkcionální jazyky kladou důraz na neměnitelnost dat, což se o většině Lispů říct nedá (vyjma Clojure).
Re: Happstack: část první
celé vláknoNeměnitelnost dat požadují pouze čistě funkcionální jazyky, Lisp je tedy „jenom“ funkcionální.
Re: Happstack: část první
celé vláknoJá jsem právě napsal „klade důraz“, čímž jsem chtěl říci, že data je sice možné měnit, ale jazyk včetně základních knihoven je uzpůsoben tak, že to ve většině případů není nutné.