Abstract
The concept of mathematical functions allows to declaratively express knowledge of how to project information to new derived information. The beauty of this approach emerges from the properties of pure functions fitting into a whole system like a piece of a jigsaw puzzle. Projections defining information in terms of other available information can be the building blocks of a system with a complex behaviour, where all details of how this complex behaviour is achieved can be completely separated from dealing with information used in the system. In this essay this is illustrated by examples of how the same projections can be used in two very different contexts.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Bohannon, A., Pierce, B.C., Vaughan, J.A.: Relational lenses: a language for updatable views. In: PODS 2006: Proceedings of the Twenty-fifth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, pp. 338–347. ACM, New York (2006)
Keith Hastings, W.: Monte carlo sampling methods using markov chains and their applications. Biometrika 57(1), 97–109 (1970)
Hoogle, http://www.haskell.org/hoogle/
Lijnse, B., Jansen, J.M., Nanne, R., Plasmeijer, R.: Capturing the netherlands coast guard’s sar workflow with itasks. In: Mendonca, D., Dugdale, J. (eds.) Proceedings of the 8th International Conference on Information Systems for Crisis Response and Management, ISCRAM 2011, Lisbon, Portugal. ISCRAM Association (May 2011)
Lijnse, B., Jansen, J.M., Plasmeijer, R.: Incidone: A task-oriented incident coordination tool. In: Rothkrantz, L., Ristvej, J., Franco, Z. (eds.) Proceedings of the 9th International Conference on Information Systems for Crisis Response and Management, ISCRAM 2012, Vancouver, Canada (April 2012)
Metropolis, N., Rosenbluth, A.W., Rosenbluth, M.N., Teller, A.H., Teller, E.: Equation of state calculations by fast computing machines. The Journal of Chemical Physics 21, 1087 (1953)
Michels, S., Velikova, M., Hommersom, A., Lucas, P.J.F.: A Probabilistic Logic–based Model for Fusing Attribute Information of Objects Under Surveillance. Technical Report ICIS–R12006, Radboud University Nijmegen (December 2012), https://pms.cs.ru.nl/iris-diglib/src/getContent.php?id=2012-Michels-Fusion
Pfeffer, A.: Figaro: An object-oriented probabilistic programming language. Technical report, Charles River Analytics (2009)
Plasmeijer, R., Lijnse, B., Michels, S., Achten, P., Koopman, P.: Task-Oriented Programming in a Pure Functional Language. In: Proceedings of the 2012 ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming, PPDP 2012, , Leuven, Belgium, pp. 195–206. ACM (September 2012)
Ramsey, N., Pfeffer, A.: Stochastic lambda calculus and monads of probability distributions. In: In 29th ACM POPL, pp. 154–165. ACM Press (2002)
Ripley, B.D.: Stochastic simulation, vol. 316. Wiley (2009)
Wadler, P.: Theorems for free? In: Proceedings of the Fourth International Conference on Functional Programming Languages and Computer Architecture, FPCA 1989, pp. 347–359. ACM, New York (1989)
Zhang, N., Poole, D.: A simple approach to Bayesian network computations. In: Proceedings of the Tenth Canadian Conference on Artificial Intelligence, pp. 171–178 (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Michels, S. (2013). The Beauty of Declarative Purely Functional Projections. In: Achten, P., Koopman, P. (eds) The Beauty of Functional Code. Lecture Notes in Computer Science, vol 8106. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40355-2_17
Download citation
DOI: https://doi.org/10.1007/978-3-642-40355-2_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-40354-5
Online ISBN: 978-3-642-40355-2
eBook Packages: Computer ScienceComputer Science (R0)