Lambda lifting: transforming programs to recursive equations
Proc. of a conference on Functional programming languages and computer architecture
ACM Computing Surveys (CSUR)
A unified computation model for functional and logic programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system for dynamic Web documents
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of the ACM (JACM)
ACM Transactions on Internet Technology (TOIT)
PowerForms: Declarative client-side form field validation
World Wide Web
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
Functional Logic Design Patterns
FLOPS '02 Proceedings of the 6th International Symposium on Functional and Logic Programming
Proceedings of the Third International Conference on Algebraic and Logic Programming
Constructor-based conditional narrowing
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
Server side web scripting in Haskell
Journal of Functional Programming
Higher-order narrowing with definitional trees
Journal of Functional Programming
Innocent Code: A Security Wake-Up Call for Web Programmers
Innocent Code: A Security Wake-Up Call for Web Programmers
A functional logic database library
Proceedings of the 2005 ACM SIGPLAN workshop on Curry and functional logic programming
Type-oriented construction of web user interfaces
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
JavaScript: The Definitive Guide
JavaScript: The Definitive Guide
Operational semantics for declarative multi-paradigm languages
Journal of Symbolic Computation
iData for the world wide web – programming interconnected web forms
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Overlapping rules and logic variables in functional logic programs
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
AProVE 1.2: automatic termination proofs in the dependency pair framework
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Declarative Ajax and client side evaluation of workflows using iTasks
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
The Essence of Form Abstraction
APLAS '08 Proceedings of the 6th Asian Symposium on Programming Languages and Systems
Declarative Programming of User Interfaces
PADL '09 Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages
iEditors: extending iTask with interactive plug-ins
IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
Hi-index | 0.00 |
We propose a framework to construct web-oriented user interfaces in a high-level way by exploiting declarative programming techniques. Such user interfaces are intended to manipulate complex data in a type-safe way, i.e., it is ensured that only typecorrect data is accepted by the interface, where types can be specified by standard types of a programming language as well as any computable predicate on the data. The interfaces are web based, i.e., the data can be manipulated with standard web browsers without any specific requirements on the client side. However, if the client's browser has JavaScript enabled, one could also check the correctness of the data on the client side providing immediate feedback to the user. In order to release the application programmer from the tedious details to interact with JavaScript, we propose an approach where the programmer must only provide a declarative description of the requirements of the user interface from which the necessary JavaScript programs and HTML forms are automatically generated. This approach leads to a very concise and maintainable implementation of web-based user interfaces. We demonstrate an implementation of this concept in the declarative multi-paradigm language Curry where the integrated functional and logic features are exploited to enable the high level of abstraction proposed in this paper.