ABSTRACT
Functional programming, as a highly reliable programming paradigm, was once valued in the last century, but it was not popularized in education and practical applications. In recent years, due to the increase of security-critical information infrastructure and information systems, functional programming has been widely used in key areas by virtue of its advantages in program verification. There is an urgent need to provide students with a supportive learning environment, but the steep learning curve and immature ecosystem can present certain limitations and challenges for learning and practice of students. Combining functional programming languages with concrete tools is widely believed to allow for quick and practical learning, so we chose to utilize Interactive Theorem Provers (ITPs) to help students understand and apply functional programming. In this poster, we design a functional programming course and develop a tool FPAid to relieve the difficulty of getting started and improving teaching method. While students have a better comprehension of the teaching content, they can also use functional programming languages to solve problems with high quality.
- John McCarthy. 1978. History of LISP. SIGPLAN Not. 13, 8 (Aug. 1978), 217–223. https://doi.org/10.1145/960118.808387Google ScholarDigital Library
- John Hughes. 1989. Why functional programming matters. Comput. J. 32, 2 (1989), 98ś107. https://doi.org/10.1093/comjnl/32.2.98Google ScholarDigital Library
- Shafi Goldwasser, Silvio Micali, and Charles Rackoff. 1985. The Knowledge Complexity of Interactive Proof-Systems (Extended Abstract). In STOC. 291– 304.Google Scholar
- Zhenjiang Hu, John Hughes, and Meng Wang. 2015. How functional programming mattered. National Science Review 2, 3 (07 2015), 349–370. https://doi.org/10.1093/nsr/nwv042Google ScholarCross Ref
Index Terms
- Course Design and Tool Development for Functional Programming Integrating with Program Verification: from the Perspective of the Interactive Theorem Prover
Recommendations
Immutables in C++: Language Foundation for Functional Programming
Central European Functional Programming SchoolAbstractThe C++ programming language is a multiparadigm language, with a rich set of procedural, object-oriented, generative and, since C++11, functional language elements. The language is also well-known for its capability to map certain semantic ...
Functional programming, object-oriented programming and algebras!
WGP '14: Proceedings of the 10th ACM SIGPLAN workshop on Generic programmingFunctional and Object-Oriented (OO) abstractions provide dual views on programming. Functional languages, like ML or Haskell, use algebraic datatypes as the main structuring abstraction. Algebraic datatypes require programmers to think about all the ...
Systems programming in the functional language FP
AbstractThe development of systems software in functional programming language is still an open problem. This paper describes a preliminary experiment with systems programming in Backus’ FP systems[1]. It consists of two systems programs. One is a self-...
Comments