Difference between revisions of "Real World Applications"

From HaskellWiki
Jump to navigation Jump to search
Line 7: Line 7:
 
== Event Driven Applications ==
 
== Event Driven Applications ==
   
An event driven application/system is here defined to be an application/system that reacts to external events.
+
An event driven application/system is here defined to be an application/system that reacts to internal/external events.
   
Examples would be:
+
Examples of events are:
   
  +
* A Loan Application has been accepted/rejected (commercial business).
* A text editor that reacts to user events (key pressed, mouse moved).
 
  +
* A new Rostering Schedule is ready for distribution to all crew (Airline Management System).
* A web server reacting to IO events (message arrived, image compression done).
 
  +
* An Illegal Trade Pattern has been detected (Trading Fraud Detection System).
* A commercial game reacting to simulated physics events and user input.
 
  +
* A simulated car has hits another simulated car (Commercial Racing Game).
* A report ready for distribution.
 
  +
* A robot has reached its destination (Real Time Warehouse Management System).
* A loan application having been accepted.
 
  +
* A HTML message has been received (Web Server).
  +
* A key has been pressed (Text Editor).
   
 
More here: [[/Event Driven Applications/]]
 
More here: [[/Event Driven Applications/]]

Revision as of 14:02, 2 July 2014

Introduction

It is not always clear how to scale up from small "batch oriented" Haskell applications to large scale "Real World/Enterprise" Haskell systems. In other words, how to create large-scale systems that support complex business processes, information flows, reporting, data analytics etc. using Haskell.

The following articles show how to attack this problem.

Event Driven Applications

An event driven application/system is here defined to be an application/system that reacts to internal/external events.

Examples of events are:

  • A Loan Application has been accepted/rejected (commercial business).
  • A new Rostering Schedule is ready for distribution to all crew (Airline Management System).
  • An Illegal Trade Pattern has been detected (Trading Fraud Detection System).
  • A simulated car has hits another simulated car (Commercial Racing Game).
  • A robot has reached its destination (Real Time Warehouse Management System).
  • A HTML message has been received (Web Server).
  • A key has been pressed (Text Editor).

More here: Event Driven Applications

Your Contribution Here

Please contribute additional/alternative ways to structure large scale Haskell applications here.

Questions and feedback

If you have any questions or suggestions, feel free to mail me.