Advertisement

The Practice of a Compositional Functional Programming Language

  • Timothy Jones
  • Michael Homer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11275)

Abstract

Function composition is a very natural operation, but most language paradigms provide poor support for it. Without linguistic support programmers must work around or manually implement what would be simple compositions. The Kihi language uses only composition, makes all state visible, and reduces to just six core operations. Kihi programs are easily stepped by textual reduction but provide a foundation for compositional design and analysis.

Keywords

Function composition Concatenative programming 

Supplementary material

References

  1. 1.
    Curry, H.B.: Grundlagen der kombinatorischen logik. Am. J. Math. 52(3), 509–536 (1930)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Erb, J.: Om programming language web site. https://sparist.github.io/Om/
  3. 3.
    Felleisen, M., Findler, R.B., Flatt, M.: Semantics Engineering with PLT Redex. MIT Press, Cambridge (2009)zbMATHGoogle Scholar
  4. 4.
    Frenger, P.: The JOY of forth. SIGPLAN Not. 38(8), 15–17 (2003).  https://doi.org/10.1145/944579.944583CrossRefGoogle Scholar
  5. 5.
    Homer, M., Noble, J.: A tile-based editor for a textual programming language. In: VISSOFT 2013, pp. 1–4, September 2013.  https://doi.org/10.1109/VISSOFT.2013.6650546
  6. 6.
    Homer, M., Bruce, K.B., Noble, J., Black, A.P.: Modules as gradually-typed objects. In: DYLA 2013. ACM (2013).  https://doi.org/10.1145/2489798.2489799
  7. 7.
    Jones, T., Homer, M., Noble, J.: Brand objects for nominal typing. In: ECOOP 2015. LIPIcs, Dagstuhl, Germany, vol. 37, pp. 198–221 (2015).  https://doi.org/10.4230/LIPIcs.ECOOP.2015.198
  8. 8.
    Jones, T., Homer, M., Noble, J., Bruce, K.: Object inheritance without classes. In: ECOOP 2016. LIPIcs, Dagstuhl, Germany , vol. 56, pp. 13:1–13:26 (2016).  https://doi.org/10.4230/LIPIcs.ECOOP.2016.13
  9. 9.
    Krivine, J.L.: A call-by-name lambda-calculus machine. Higher Order Symbol. Comput. 20(3), 199–207 (2007).  https://doi.org/10.1007/s10990-007-9018-9MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Moore, C.: 1x Forth (1999)Google Scholar
  11. 11.
    Post, E.L.: Formal reductions of the general combinatorial decision problem. Am. J. Math. 65(2), 197–215 (1943)MathSciNetCrossRefGoogle Scholar
  12. 12.
    von Thun, M., Thomas, R.: Joy: forth’s functional cousin. In: Proceedings of the 17th EuroForth Conference (2001)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.MontouxNew YorkUSA
  2. 2.Victoria University of WellingtonWellingtonNew Zealand

Personalised recommendations