Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Programming Perl (2nd ed.)
The Design of a Pretty-printing Library
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
Journal of Functional Programming
Domain specific embedded compilers
Proceedings of the 2nd conference on Domain-specific languages
Haskell: language for business systems
Trends in functional programming
Client-Side Web Scripting with HaskellScript
PADL '99 Proceedings of the First International Workshop on Practical Aspects of Declarative Languages
PADL '00 Proceedings of the Second International Workshop on Practical Aspects of Declarative Languages
High-Level Server Side Web Scripting in Curry
PADL '01 Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages
WASH/CGI: Server-Side Web Scripting with Sessions and Typed, Compositional Forms
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
Web Programming with SMLserver
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Functional Logic Design Patterns
FLOPS '02 Proceedings of the 6th International Symposium on Functional and Logic Programming
A typed representation for HTML and XML documents in Haskell
Journal of Functional Programming
Web programming in Scheme with LAML
Journal of Functional Programming
An embedded domain-specific language for type-safe server-side web scripting
ACM Transactions on Internet Technology (TOIT)
A refinement calculus for software components and architectures
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Haskell server pages through dynamic loading
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
Type-oriented construction of web user interfaces
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Domain specific embedded compilers
DSL'99 Proceedings of the 2nd conference on Conference on Domain-Specific Languages - Volume 2
Putting declarative programming into the web: translating curry to javascript
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
iTasks: executable specifications of interactive work flow systems for the web
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Confessions of a used programming language salesman
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
An Introduction to iTasks: Defining Interactive Work Flows for the Web
Central European Functional Programming School
Declarative Programming of User Interfaces
PADL '09 Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages
A conference management system based on the iData toolkit
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
An iTask case study: a conference management system
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
iData for the world wide web – programming interconnected web forms
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
Defining multi-user web applications with itasks
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
Task-oriented programming in a pure functional language
Proceedings of the 14th symposium on Principles and practice of declarative programming
Hi-index | 0.00 |
The Common Gateway Interface (CGI) for generating dynamic documents on web servers imposes much accidental complexity on the programmer. The Haskell/CGI library documented in this paper hides all this unpleasantness by using the common sense ‘design pattern’ of separating model and presentation. Low-level query string requests are represented by association lists, and primitive HTTP responses are easily constructed using a set of HTML generating combinators. The CGI programmer only needs to write a worker function that maps an abstract request into an abstract response. A (higher-order) wrapper function then transmutes the worker into a real low-level CGI script that deals with the exact format of concrete requests and responses as required by the CGI standard.