Abstract
Context-awareness as defined in the setting of Ubiquitous Computing [3] is all about expressing the dependency of a specific computation upon some implicit piece of information. The manipulation and expression of such dependencies may thus be neatly encapsulated in a language where computations are first-class values. Perhaps surprisingly however, context-aware programming has not been explored in a functional setting, where first-class computations and higher-order functions are commonplace. In this paper we present an embedded domain-specific language (EDSL) for constructing context-aware applications in the functional programming language Haskell.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Atkey, R.: Parameterised notions of computation. Journal of Functional Programming 19(3-4), 335 (2009)
Bardram, J.: The Java Context Awareness Framework (JCAF)–a service infrastructure and programming framework for context-aware applications. Pervasive Computing, 98–115 (2005)
Dey, A., Abowd, G.: Towards a better understanding of context and context-awareness. In: CHI 2000 Workshop on the What, Who, Where, When, and How of Context-Awareness, vol. 4, pp. 1–6. Citeseer (2000)
Dey, A., Abowd, G., Salber, D.: A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications. Human-Computer Interaction 16(2), 97–166 (2001)
Elliott, C.: Push-pull functional reactive programming. In: Haskell Symposium (2009)
Kiselyov, O., Lämmel, R., Schupke, K.: Strongly typed heterogeneous collections. In: Haskell 2004: Proceedings of the ACM SIGPLAN Workshop on Haskell, pp. 96–107. ACM Press (2004)
Lewis, J.R., Launchbury, J., Meijer, E., Shields, M.B.: Implicit parameters: dynamic scoping with static types. In: Proceedings of the 27th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2000, pp. 108–118. ACM, New York (2000)
Lieberman, H., Selker, T.: Out of context: Computer systems that adapt to, and learn from, context. IBM Systems Journal 39(3.4), 617–632 (2000)
McBride, C., Paterson, R.: Applicative programming with effects. Journal of Functional Programming 18(01), 1–13 (2007)
Pinto, H., Gómez-Pérez, A., Martins, J.: Some issues on ontology integration. In: IJCAI 1999 Workshop on Ontologies and Problem-Solving Methods (KRR5), Citeseer (1999)
Sackman, M., Eisenbach, S.: Safely Speaking in Tongues: Statically Checking Domain Specific Languages in Haskell. In: LDTA 2009 (March 2009)
Sampson, C., Kotthoff, L.: Mhailist: Haskell mailing list manager (April 2010), http://hackage.haskell.org/package/Mhailist-0.0
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Martins, P.M., McCann, J.A., Eisenbach, S. (2012). The Environment as an Argument. In: Russo, C., Zhou, NF. (eds) Practical Aspects of Declarative Languages. PADL 2012. Lecture Notes in Computer Science, vol 7149. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-27694-1_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-27694-1_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-27693-4
Online ISBN: 978-3-642-27694-1
eBook Packages: Computer ScienceComputer Science (R0)