Komentáře k článku
Happstack: část první

Webový framework Happstack je postaven na funkcionálním jazyce Haskell. Vývoj webových aplikací pomocí jazyka deklarativního paradigmatu je pro běžného vývojáře něčím těžko představitelným. V tomto miniseriálu si proto společně ukážeme základní koncepty a naučíme se vytvářet jednoduché aplikace.
ehm, ...
Rikat, ze haskel je deklarativni jazyk, je teda opravdu trochu mimo. ,,Ciste funkcionalni“ by mozna bylo lepsi.
Re: ehm, ...
Deklarativní 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, ...
Popis 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, ...
Pod 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, ...
Vzhledem k tomu, že funkcionální (zejména čistě funkcionální) jazyky patří mezi deklarativní jazyky, tak mimo není ani trochu.
Ubuntu a happstack
Podarilo 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
Balík
trhsx
je zastaralý. Současná verze Happstacku používá balíkhsx
. Pokud to při instalaci píše, že nemůže nalézt programtrhsx
, pravděpodobně není součástí proměnné$PATH
cesta$HOME/.cabal/bin
.proč?
Mož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č?
To 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č?
Protože si procvičíte Haskell nebo protože se naučíte něco nového.
Re: Happstack: část první
Kromě 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í
Neměnitelnost dat požadují pouze čistě funkcionální jazyky, Lisp je tedy „jenom“ funkcionální.
Re: Happstack: část první
Já 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é.