Skip to main content
    • Aa
    • Aa

Commercial uses: Going functional on exotic trades


The Functional Payout Framework (fpf) is a Haskell application that uses an embedded domain-specific functional language to represent and process exotic financial derivatives. Whereas scripting languages for pricing exotic derivatives are common in banking, fpf uses multiple interpretations to not only price such trades, but also to analyse the scripts to provide lifecycle support and more. This paper discusses fpf in relation to the wider trading workflow and our experiences in using a functional language in such a system as both an implementation language and a domain-specific language.

Linked references
Hide All

This list contains references from the content that can be linked to their source. For a full set of references and notes please see the PDF or HTML where available.

S. Anand , W.-N. Chin & S.-C. Khoo (2001) Charting patterns on price history. In ICFP '01: Proceedings of the Sixth ACM SIGPLAN International Conference on Functional Programming. New York: ACM, pp. 134145.

K. Claessen & J. Hughes (2000) QuickCheck: A lightweight tool for random testing of Haskell programs. ACM SIGPLAN Not. 35 (9), 268279.

T. Eggenschwiler & E. Gamma (1992) ET++SwapsManager: Using object technology in the financial engineering domain. In OOPSLA '92: Conference Proceedings on Object-Oriented Programming Systems, Languages, and Applications. ACM, New York, pp. 166177.

S. I. Feldman (1979) Make—a program for maintaining computer programs. Softw. Pract. Exp. 9 (4), 255265.

S. Finne , D. Leijen , E. Meijer & S. Peyton Jones (1999) Calling Hell from Heaven and Heaven from Hell. In ICFP '99: Proceedings of the Fourth ACM SIGPLAN International Conference on Functional Programming. Paris, France, ACM Press, New York, pp. 114125.

A. Gill & C. Runciman (2007) Haskell program coverage. In Haskell '07: Proceedings of the ACM SIGPLAN Workshop on Haskell Workshop. New York: ACM, pp. 112.

P. Hudak (1996) Building domain-specific embedded languages. ACM Comput. Surv. 28 (4es), 196.

D. Kramer (1999) API documentation from source code comments: A case study of Javadoc. In SIGDOC '99: Proceedings of the 17th Annual International Conference on Computer Documentation. New York: ACM, pp. 147153.

S. Marlow (2002) Haddock, a Haskell documentation tool. In Proceedings of the ACM SIGPLAN Workshop on Haskell. ACM Press, New York.

M. Mernik , J. Heering & A. M. Sloane (2005) When and how to develop domain-specific languages. ACM Comput. Surv. 37 (4), 316344.

S. Peyton Jones & J.-M. Eber (2003) How to write a financial contract. In The Fun of Programming, J. Gibbons & O. de Moor (eds.), Palgrave Macmillan.

S. Peyton Jones , J.-M. Eber & J. Seward (2000) Composing contracts: An adventure in financial engineering (functional pearl). In ICFP '00: Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming. New York: ACM, pp. 280292.

D. Roundy (2005) Darcs: Distributed version management in Haskell. In Haskell '05: Proceedings of the 2005 ACM SIGPLAN Workshop on Haskell. ACM Press, New York, pp. 14.

P. M. Sansom & S. Peyton Jones (1995) Time and space profiling for non-strict, higher-order functional languages. In POPL '95: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. New York: ACM, pp. 355366.

D. Spinellis (2001) Notable design patterns for domain specific languages. J. Syst. Softw. 56 (1), 9199.

A. van Deursen & P. Klint (1998) Little languages: Little maintenance. J. Softw. Maintenance 10 (2), 7592.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Journal of Functional Programming
  • ISSN: 0956-7968
  • EISSN: 1469-7653
  • URL: /core/journals/journal-of-functional-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 8 *
Loading metrics...

Abstract views

Total abstract views: 2109 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 22nd May 2017. This data will be updated every 24 hours.