[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#400042: ITP: happs -- Haskell library for building Internet applications



Package: wnpp
Severity: wishlist
Owner: Kari Pahula <kaol@debian.org>


* Package name    : happs
  Version         : 0.8.4
  Upstream Author : Alex Jacobson <AlexJacobson AT! HAppS.org>
* URL             : http://happs.org/
* License         : BSD with advertising clause
  Programming Lang: Haskell
  Description     : Haskell library for building Internet applications

 HAppS is a Haskell library for building industrial strength Internet
 applications safely, quickly, and easily. With HAppS you focus
 entirely on application functionality implemented in your favorite
 language and you don't have to worry about making sure all sorts of
 server subsystems are functioning properly.
 .
  - HTTP Application Server
    Performs better than Apache/PHP in our
    informal benchmarks (thanks to FastPackedString), handles serving both
    large (video) files and lazy (javascript) streaming, supports
    HTTP-Auth, and more.
  - Mail delivery agent with integrated DNS resolver
    Stop worrying about making sure a separate local mail server or DNS is
    up and running to delivery your mail. HAppS takes care of making sure
    your mail is delivered as long as your application itself is running
    and makes sure no outbound mail is lost even with unplanned restarts.
  - XML and XSLT
    Separate application logic from presentation using XML/XSLT. With
    HAppS, you can have your application output XML (via HTTP or SMTP) and
    handle style/presentation via separate XSLT files at runtime. HAppS
    takes care of doing server side XSLT for outbound mail and HTTP
    user-agents that don't support it client side.
  - SMTP Server
    Handle incoming email in your application without worrying about
    .procmail or other user level inbound mail configuration hackery. Just
    have the HAppS.SMTP listen on port 25 or have the system mail server
    SMTP forward mail for your app to some internal port.
  - Monadic ACID transaction service
    Write apps as a set of simple state transformers. MACID write-ahead
    logging and checkpointing make it easy for you to guarantee
    application integrity in the face of unplanned outages. MACID even
    guarantees that your side effects will be executed at-least-once if
    they can complete within a timelimit you define.
  - Session Service
    Define bits of per-user application state that automatically expire
    after time limits you define. No more manual housekeeping of session
    data!
  - (Experimental) Table and Index
    Do relational operations safely on in memory Haskell Data.Set(s)
    rather than dealing with an external SQL relational database. Define
    custom indices for your Haskell datatypes (e.g. geographic/geometric
    types). Use in combination with MACID for a robust relational DBMS
    customized for your application.



Reply to: