
Hi, References to a Hack. module came in the responses to my posts on HTML-GUIs. What is Hack then? Günther

http://hackage.haskell.org/package/hack
2010/1/13 Günther Schmidt
Hi,
References to a Hack. module came in the responses to my posts on HTML-GUIs.
What is Hack then?
Günther
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hi John, thanks, I should have mentioned that I had found it on hackage, I just don't understand what it *is* or what it's supposed to be for. Günther Am 13.01.10 14:46, schrieb John Van Enk:
http://hackage.haskell.org/package/hack
2010/1/13 Günther Schmidt
mailto:gue.schmidt@web.de> Hi,
References to a Hack. module came in the responses to my posts on HTML-GUIs.
What is Hack then?
Günther
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org mailto:Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

This may help more: http://wiki.github.com/nfjinjing/hack
The Hack project is based off of a project known as "Rack" for ruby. I'm
fairly sure the documentation you can find on Rack will help you understand
what Hack does.
2010/1/13 Günther Schmidt
Hi John,
thanks, I should have mentioned that I had found it on hackage, I just don't understand what it *is* or what it's supposed to be for.
Günther
Am 13.01.10 14:46, schrieb John Van Enk:
http://hackage.haskell.org/package/hack
2010/1/13 Günther Schmidt
Hi,
References to a Hack. module came in the responses to my posts on HTML-GUIs.
What is Hack then?
Günther
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

2010/1/13 John Van Enk
This may help more: http://wiki.github.com/nfjinjing/hack
The Hack project is based off of a project known as "Rack" for ruby. I'm fairly sure the documentation you can find on Rack will help you understand what Hack does.
Not knowing what Rack is myself I found this, and assume that's the Ruby project you refer to: http://rack.rubyforge.org/ /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

Günther,
Hack is a layer between a web application and a web server. It allows you to
write a web application once and have it communicate with the server in
different ways simply by swapping the handler. For example, I have
applications that I test on my local system using hack-handler-simpleserver
and then deploy onto an Apache server using either hack-handler-cgi or
hack-handler-fastcgi.
Michael
2010/1/13 Günther Schmidt
Hi John,
thanks, I should have mentioned that I had found it on hackage, I just don't understand what it *is* or what it's supposed to be for.
Günther
Am 13.01.10 14:46, schrieb John Van Enk:
http://hackage.haskell.org/package/hack
2010/1/13 Günther Schmidt
Hi,
References to a Hack. module came in the responses to my posts on HTML-GUIs.
What is Hack then?
Günther
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hi Michael, on first impression this seems like a good idea then. Günther Am 13.01.10 15:48, schrieb Michael Snoyman:
Günther,
Hack is a layer between a web application and a web server. It allows you to write a web application once and have it communicate with the server in different ways simply by swapping the handler. For example, I have applications that I test on my local system using hack-handler-simpleserver and then deploy onto an Apache server using either hack-handler-cgi or hack-handler-fastcgi.
Michael

Hi Michael,
what is your experience with hack? Do you have any problem moving your
apps from one server/env to another?
Regards,
titto
2010/1/13 Günther Schmidt
Hi Michael,
on first impression this seems like a good idea then.
Günther
Am 13.01.10 15:48, schrieb Michael Snoyman:
Günther,
Hack is a layer between a web application and a web server. It allows you to write a web application once and have it communicate with the server in different ways simply by swapping the handler. For example, I have applications that I test on my local system using hack-handler-simpleserver and then deploy onto an Apache server using either hack-handler-cgi or hack-handler-fastcgi.
Michael
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Pasqualino "Titto" Assini, Ph.D. http://quicquid.org/

rack (and hack) permits also to concatenate applications (request handlers)
one in top of the other. with interesting combinations (filters,
encriptation layers, applications as such). It seems that this is the reason
for its name. At first sight it seems too little code to make something
useful, but it´s fine.
2010/1/13 Pasqualino "Titto" Assini
Hi Michael,
what is your experience with hack? Do you have any problem moving your apps from one server/env to another?
Regards,
titto
2010/1/13 Günther Schmidt
: Hi Michael,
on first impression this seems like a good idea then.
Günther
Am 13.01.10 15:48, schrieb Michael Snoyman:
Günther,
Hack is a layer between a web application and a web server. It allows you to write a web application once and have it communicate with the server in different ways simply by swapping the handler. For example, I have applications that I test on my local system using hack-handler-simpleserver and then deploy onto an Apache server using either hack-handler-cgi or hack-handler-fastcgi.
Michael
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Pasqualino "Titto" Assini, Ph.D. http://quicquid.org/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Titto, I've had no problems with hack. The only things to keep in mind are outside the scope of hack such as: * Persistence. Clearly you need to optimize your application different for CGI run (load up only what you need right now) versus long-running processes like FastCGI (load data only once). * URL schemes. A lot of people assume that your web app with be served from the root of the domain. When using my simpleserver testing, that *is* the case. However, I deploy apps in subdirectories of my domain ( http://www.snoyman.com/photos/, http://www.snoyman.com/wordify/, etc), so I need to keep this in mind. My only two quips about hack itself is: * Versioning scheme. I wish (and have requested) that Hack would follow the Package Versioning Policy so that I could easily check for breaking changes. As is, I simply have to declare the exact version number of Hack I want to work with to guarantee my apps aren't broken in the future. * More serious issue is that it returns the response as a lazy bytestring. It's not really fair to call this a quip, since I fully supported this approach; nonetheless, using an enumerator for this would probably be more efficient for certain use cases. I just a few hours ago sent off an e-mail about bringing into fruition the Web Application Interface for Haskell, which I would envision as Hack with these two quips addressed. Theoretically, it would also allow easy collaboration with Hack. Michael On Wed, Jan 13, 2010 at 10:33 PM, Pasqualino "Titto" Assini < tittoassini@gmail.com> wrote:
Hi Michael,
what is your experience with hack? Do you have any problem moving your apps from one server/env to another?
Regards,
titto
2010/1/13 Günther Schmidt
: Hi Michael,
on first impression this seems like a good idea then.
Günther
Am 13.01.10 15:48, schrieb Michael Snoyman:
Günther,
Hack is a layer between a web application and a web server. It allows you to write a web application once and have it communicate with the server in different ways simply by swapping the handler. For example, I have applications that I test on my local system using hack-handler-simpleserver and then deploy onto an Apache server using either hack-handler-cgi or hack-handler-fastcgi.
Michael
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Pasqualino "Titto" Assini, Ph.D. http://quicquid.org/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (6)
-
Alberto G. Corona
-
Günther Schmidt
-
John Van Enk
-
Magnus Therning
-
Michael Snoyman
-
Pasqualino "Titto" Assini