ACM Home Page
Please provide us with feedback. Feedback
Putting declarative programming into the web: translating curry to javascript
Full text PdfPdf (321 KB)
Source
International Conference on Principles and Practice of Declarative Programming archive
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming table of contents
Wroclaw, Poland
SESSION: Session 6 table of contents
Pages: 155 - 166  
Year of Publication: 2007
ISBN:978-1-59593-769-8
Author
Michael Hanus  Institut fŠr Informatik
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 67,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1273920.1273942
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
E. Albert, M. Hanus, F. Huch, J. Oliver, and G. Vidal. Operational Semantics for Declarative Multi-Paradigm Languages. Journal of Symbolic Computation, Vol. 40, No. 1, pp. 795--829, 2005.
 
2
3
4
 
5
 
6
S. Antoy and M. Hanus. Overlapping Rules and Logic Variables in Functional Logic Programs. In Proceedings of the 22nd International Conference on Logic Programming (ICLP 2006), pp. 87--101. Springer LNCS 4079, 2006.
 
7
8
 
9
D. Cabeza and M. Hermenegildo. Internet and WWW Programming using Computational Logic Systems. In Workshop on Logic Programming and the Internet, 1996. See also http://clip.dia.fi.upm.es/Software/pillow/.
 
10
J. Correas, J. M. Gómez, M. Carro, D. Cabeza, and M. Hermenegildo. A Generic Persistence Model for (C)LP Systems (and Two Useful Implementations). In Proc. of the Sixth International Symposium on Practical Aspects of Declarative Languages (PADL'04), pp. 104--119. Springer LNCS 3057, 2004.
 
11
D. Coutts, D. Stewart, and R. Leshchinsky. Rewriting Haskell Strings. In Proc. 9th International Symposium on Practical Aspects of Declarative Languages (PADL 2007), pp. 50--64. Springer LNCS 4354, 2007.
12
 
13
 
14
J. Giesl, P. Schneider-Kamp, and R. Thiemann. AProVE 1.2: Automatic Termination Proofs in the Dependency Pair Framework. In Proceedings of the 3rd International Joint Conference on Automated Reasoning (IJCAR '06), pp. 281--286. Springer LNCS 4130, 2006.
 
15
M. Hanus. The Integration of Functions into Logic Programming: From Theory to Practice. Journal of Logic Programming, Vol. 19&20, pp. 583--628, 1994.
16
 
17
 
18
M. Hanus. Dynamic Predicates in Functional Logic Programs. Journal of Functional and Logic Programming, Vol. 2004, No. 5, 2004.
 
19
M. Hanus. CurryBrowser: A Generic Analysis Environment for Curry Programs. In Proc. of the 16th Workshop on Logic-based Methods in Programming Environments (WLPE'06), pp. 61--74, 2006.
 
20
M. Hanus. Reporting Failures in Functional Logic Programs. In Proc. of the 15th International Workshop on Functional and (Constraint) Logic Programming (WFLP 2006), pp. 49--62, 2006.
21
 
22
M. Hanus, S. Antoy, B. Braßel, M. Engelke, K. Höppner, J. Koj, P. Niederau, R. Sadre, and F. Steiner. PAKCS: The Portland Aachen Kiel Curry System. Available at http://www.informatik.uni-kiel.de/~pakcs/, 2007.
 
23
 
24
M. Hanus (ed.). Curry: An Integrated Functional Logic Language (Vers. 0.8.2). Available at http://www.informatik.uni-kiel.de/~curry, 2006.
 
25
 
26
 
27
D. A. Ladd and J. C. Ramming. Programming the Web: An Application-Oriented Language for Hypermedia Services. In 4th International World Wide Web Conference, 1995.
 
28
 
29
 
30
S. Peyton Jones, editor. Haskell 98 Language and Libraries -The Revised Report. Cambridge University Press, 2003.
 
31
R. Plasmeijer and P. Achten. The Implementation of iData -A Case Study in Generic Programming. In Proc. of the 17th International Workshop on Implementation and Application of Functional Languages (IFL 2005). Trinity College, University of Dublin, Technical Report TCD-CS-2005-60, 2005.
 
32
R. Plasmeijer and P. Achten. iData for the World Wide Web - Programming Interconnected Web Forms. In Proc. of the 8th International Symposium on Functional and Logic Programming (FLOPS 2006), pp. 242--258. Springer LNCS 3945, 2006.
33
 
34
 
35
36