Portál AbcLinuxu, 25. dubna 2024 06:00


Dotaz: Haskell, CGI

28.6.2008 18:52 martyone | skóre: 18
Haskell, CGI
Přečteno: 525×
Odpovědět | Admin

Pěkný podvečer přeju.

Vsadím se, že to bude maličkost, ale nejsem schopen rozchodit něco ve smyslu následujícího výpisu:

#!/usr/bin/runghc
module Main where
import Network.CGI

main = do
       putStrLn "Content-Type: text/html\n"
       sn <- serverName -- na těchhle dvou řádcích
       putStrLn sn      -- je naznačen problematický kód

Po celodenním hledání mám tak akorát intuitivní představu o problému: míchají se tam různé typy monád(?). Nejbližší co jsem našel je tohle, ale – jistě nemusím vysvětlovat, že jsem s Haskellem sotva začal – pro mě zatím celkem alchymie.

Dík za každou reakci.

PS: GHC v6.6.1 + Apache na Gentoo


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Vašek Lorenc avatar 28.6.2008 22:13 Vašek Lorenc | skóre: 27
Rozbalit Rozbalit vše Re: Haskell, CGI
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co se očekává od řádku sn <- serverName? Proč serverName nemůže být přímo součástí putStrLn?
...včetně majestátného loosa
29.6.2008 00:55 martyone | skóre: 18
Rozbalit Rozbalit vše Re: Haskell, CGI

To jsem samozř. zkoušel jako první, jenže serverName je typu

serverName :: (MonadCGI m) => m String

a konstrukcí <- by právě mělo – jestli to dobře chápu – jakoby dojít k extrakci toho stringu… ale asi ne tak úplně, protože to stejně zařve.

10.12.2008 17:39 jh
Rozbalit Rozbalit vše Re: Haskell, CGI
Odpovědět | | Sbalit | Link | Blokovat | Admin

Zdravim,

asi pozde, ale prece :) serverName volate v IO monade, je nutne to volat v CGI.

Tady wiki.haskell.cz/knihovny:fastcgi nebo tady  blog.haskell.cz/jh/haskell-a-ruby-on-rails-i/ je priklad (ackoli ne uplne stejny, pouziva se fastCGI).

Cili v main zavolat "runCGI f" a ve funkci f pak muzete smele volat serverName. Ovsem zase vam tam nepujde putStrLn pouzit primo, bude potreba ho liftnout "liftIO $ putStrLn sn".

jh

11.7.2009 15:20 martyone | skóre: 18
Rozbalit Rozbalit vše Re: Haskell, CGI
Zdravim, asi pozde, ale prece dekuji :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.