Functional programming and multicore architectures – review of prior research
Main Article Content
Abstract
Downloads
Article Details
DECLARATION OF ORGINIALITY OF SUBMITTED ARTICLE
With this document, I/We certify that the article submitted for possible publication in the institutional journal INGENIO MAGNO of the Research Center Alberto Magno CIIAM of the University Santo Tomás, Tunja campus, is entirely of my(our) own writing, and is a product of my(our) direct intellectual contribution to knowledge.
All data and references to completed publications are duly identified with their respective bibliographical entries and in the citations thus highlighted. If any adjustment or correction is needed, I(we) will contact the journal authorities in advance.
Due to that stated above, I(we) declare that the entirety of the submitted material is in accordance with applicable laws regarding intellectual and industrial property, and therefore, I(we) hold myself(ourselves) responsible for any complaint related to it.
If the submitted article is published, I(we) declare that I(we) fully relinquish publishing rights of the article to the University Santo Tomás, Tunja campus. As remuneration for this relinquishment of rights, I(we) declare my(our) agreement to receive two (2) copies of the edition of the journal in which my(our) article appears.
References
Al Zain, A., Trinder, P., Aswad, M., Michaelson, G., Hammond, K. y Berthold, J. (2009). Low-pain, high-gain multicore programming in Haskell. Paper presented at the DAMP’09, Savannah, Georgia, USA.
Aswad, M., Thinder, P. W. y Loidl, H. (2012). Architecture aware parallel programming in glasgow parallel Haskell (GPH). Procedia Computer Science, 9, 1807-1816. Doi: 10.1016/j.procs.2012.04.199
Bailes, P. y Kemp, C. (2004). Obstacles to a totally functional programming style. Paper presented at the 2004 Australian Software Engineering Conference.
Bergstrom, L., Rainey, M., Reppy, J., Shaw,A. y Fluet, M. (2010). Lazy tree splitting. Paper presented at the International Conference on Functional Programming.
Berthold, J., Marlow, S., Hammond, K. y Al Zain, A. (2009). Comparing and optimising parallel Haskell implementations for multicore machines. Paper presented at the 2009 International Conference on Parallel Processing Workshops.
Blelloch, G. E. (1996). Programming parallel algorithms. Communications of the ACM, 39(3), 13. Doi: 10.1145/227234.227246
Bousdira, W., Gava, F., Gesbert, L., Loulergue, F. y Petiot, G. (2010). Functional parallel programming with revised bulk synchronous parallel ML. Paper presented at the Networking and Computing (ICNC), 2010 First International Conference on.
Cerný, D. y Josef, D. (2014). Functional programming languages in computer simulation of electronics circuits. 2014 International Conference on Computational Science and Computational Intelligence, 229-235. Doi: 10.1109/ CSCI.2014.46
Collins, G. y Doug, B. (2011). The snap framework: a web toolkit for Haskell. Recuperado de http://static. googleusercontent.com/media/research.google.com/ en//pubs/archive/37267.pdf
Commercial Users of Functional Programming (CUFP) (2014a). Functional Programming at Verizon OnCue. Recuperado de http://cufp.org./2014/timothy-perrett-functional-programming-at-verizon-oncue.html
Commercial Users of Functional Programming (CUFP) (2014b). Haskell in the Misson Control Domain. Recuperado de http://cufp.org./2014/michael-oswald-haskell-in-the-misson-control-domain.html
Commercial Users of Functional Programming (CUFP) (2014c). Haskell tools for satellite operations. Recuperado de http://cufp.org./2014/bjrn-buckwalter-haskell-tools-for-satellite-operations.html
Chakravarty, M., Leshchinskiy. R., Peyton, S., Keller, G. y Marlow, S. (2007). Data parallel Haskell: a status report. Paper presented at the Workshop on Declarative Aspects of Multicore Programming.
Choppella, V., Kumar, H., Manjula, P. y Viswanath, K. (2012). From high-school algebra to computing through functional programming. Paper presented at the Technology for Education (T4E), 2012 IEEE Fourth International Conference.
Damjanovic, V. y Dragan, D. (2010). Functional programming way to interact with software attacks and vulnerabilities. Third International Conference of Software Testing, Verification, and Validation Workshops, 388- 393. doi: 10.1109/ICSTW.2010.53
Diaz, J., Muñoz-Caro, C. y Niño, A. (2012). A survey of parallel programming models and tools in the multi and many-core era. IEEE Transactions on Parallel and Distributed Systems, 23(8).
Dung, P. y Hansen, M. (2011). From functional programming to multicore parallelism: A case study based on Presburger Arithmetic. Paper presented at the Nordic Workshop on Programming Theory.
Fenwick, M., S,esanker, C., Schiller, M. R., Ellis, H. J., Vyas, J. y Grik, M. R. (2012). An open-source sandbox for increasing the accessibility of functional programming to the bioinformatics and scientific communities. Paper presented at the Ninth International Conference on Information Technology- New Generations. IEEE computer Society.
Gibbons, J. (2015). Functional programming for domain-specific languages. Recuperado de http://www.cs.ox. ac.uk/jeremy.gibbons/publications/fp4dsls.pdf
Glaser, H. y Henderson, P. (1991) Functional programming. Software Engineer’s Reference Handbook. Butterworth, 35/1-35/6.
González, F. (1998). Programación funcional: conceptos y perspectivas. Ingeniería e Investigación, 40, 65-71.
Hansen, M. y Rischel, H. (2013). Functional programming using F#. Cambridge: Cambridge University Press.
Henderson, P. (1986). Functional programming, formal specification, and rapid prototyping. IEEE Transactions on Software Engineering, SE-I2(2), 10.
Hinsen, K. (2009). The promises of Functional Programming. Computing in Science & Engineering, 86-90. Doi: 10.1109/MCSE.2009.129
Hudak, P. (1989). Conception, evolution, and application of functional programming languages. ACM Computing Surveys, 21(3), 359-411.
Hughes, J. (1990). Why functional programming matters. Recuperado de https://www.cs.kent.ac.uk/people/staff/ dat/miranda/whyfp90.pdf
Jones, S., Leshchinskiy, R., Keller, G. y Chakravarty, M. M. (2008). Harnessing the multicores: nested data parallelism in Haskell. Paper presented at the FSTTCS.
Karczmarczuk, L. (1999). Scientific computation and functional programming. Computing in Science and Engineering Magazine, 9.
Läufer, K. y George, K. (2009). The promises of typed, pure, and lazy functional programming: Part II. Recuperado de http://ecommons.luc.edu/cgi/ viewcontent.cgi?article=1022&context=cs_facpubs
Machado, R. (2013). An introduction to lambda calculus and functional programming. 2013 2nd Workshop-School on Theoretical Computer Science, 26-33. Doi: 10.1109/ WEIT.2013.40
Marlow, S. (2012). Parallel and concurrent programming in Haskell. Cambridge: Microsoft Research Ltd.
Meijer, E. (2014). The curse of the excluded middle. Communications of de ACM, 12(4), 50-55.
Muranushi, T. (2012). Paraiso: an automated tuning framework for explicit solvers of partial differential equations. Computational Science & Discovery, 5, 1-40. Doi: 10.1088/1749-4699/5/1/015003
Nelson, B., Archer, J. y Rushton, N. (2014). Easel: purely functional game programming. Paper presented at the SERP 2014.
Nelson, B. y Rushton, N. (2013). Fully automatic parallel programming. Paper presented at the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA).
OCaml.org. (2015). Companies using OCaml. Recuperado de http://ocaml.org/learn/companies.html
Ortiz, S. (2012). Computing trends lead to new programming languages. Computer, 45(7).
Pankratius, V., Schmidt, F. y Garreton, G. (2012). Combining functional and imperative programming for multicore software: An empirical study evaluating Scala and Java. Paper presented at the 34th International Conference on Software Engineering (ICSE).
Perry, A. (2007). System level design with Rosetta. San Francisco: Morgan Kaufmann.
Phan, A.-D. y Hansen, M. (2014). An approach to multicore parallelism using functional programming: A case study based on Presburger Arithmetic. Journal of Logical and Algebraic Methods in Programming, 84(1), 1-17. Doi: 10.1016/j.jlamp.2014.07.002
Reck, F. y Fischer, S. (2009). Towards a parallel search for solutions of non-deterministic computations. Paper presented at the 39th Annual Meeting of the German Informatics Society.
Ren, S. y Nogiec, J. (2008). Developing concurrent applications on emerging multicore platforms. Paper presented at the International Conference on Complex, Intelligent and Software Intensive Systems (CISIS).
Rivoire, S. (2010). A breadth-first course in multicore and manycore programming. Proceedings of the 41st ACM technical symposium on Computer Science education, 214-218. Doi: 10.1145/1734263.1734339
Sivaramakrishnan, K. C. Z., L ; Jagannathan, S. (2014). MultiMLton: Amulticore-aware runtime for standard ML. Journal of Functional Programming, 24(6), 1-62. Doi: 10.1017/S0956796814000161
Slonneger, K. (1995). Formal syntax and semantics of programming languages: a loboratory-based approach. Reading, Massachusetts: Addison-Wesley.
Subramaniam, V. (2014). Functional Programming in Java- Harnessing the Power of Java 8 Lambda Expressions. Dallas, Texas: The Pragmatic Programmers
Thiry, L. y Hassenforder, M. (2013). Surfing with fun. Paper presented at the 2013 International Symposium of Theoretical Aspects of Software Engineering.
Tran, N.-L., Skhiri, S., Lesuisse, A. y Zimányi, E. (2012). AROM: processing big data with data flow graphs and functional pogramming. IEEE 4th International Conference on Cloud Computing Technology and Science, 875-882. Doi: 10.1109/CloudCom.2012.6427487
Vara, A. (2008). Formalizando el proceso de depuraciónen programación funcional paralela y perezosa (tesis de doctorado). Madrid: Universidad Complutense de Madrid.
Veldema, R. y Philippsen, M. (2010). Safe and familiar multi-core programming by means of a hybrid functional and imperative language. Recuperado de http://link. springer.com/chapter/10.1007%2F978-3-642 13374- 9_11#page-2
Vichare, A. (2013). Algorithms, the lambda calculus and programming - An intuitive approach. Resonance, 18(4), 345-367.
Vinoski, S. (2012). The Nitrogen Erlang Web Framework. The Functional Web, 4.
Voellmy, A., Wang, J., Hudak, P. y Yamamoto, K. (2014). Mio: a high-performance multicore IO manager for GHC. Recuperado de http://haskell.cs.yale.edu/wp-content/uploads/2013/08/hask035-voellmy.pdf
Wadler, P. (2001). Monads for functional programming. Computing science. Glasgow: Universidad de Glasgow.
Wampler, D. (2011a). Functional programming for Java developers. Estados Unidos: O’Reilly.
Wampler, D. (2011b). Scala web frameworks: looking beyond lift. The Functional Web, 8.
Winter, V. (2014). Bricklayer: an authentic introduction to the functional programming language SML. Paper presented at the TFPIE 2014.