skip to main content
10.1145/1863543.1863557acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Using functional programming within an industrial product group: perspectives and perceptions

Published: 27 September 2010 Publication History

Abstract

We present a case-study of using OCaml within a large product development project, focussing on both the technical and non-technical issues that arose as a result. We draw comparisons between the OCaml team and the other teams that worked on the project, providing comparative data on hiring patterns and cross-team code contribution.

Supplementary Material

JPG File (icfp-mon-1545-madhavapeddy.jpg)
MOV File (icfp-mon-1545-madhavapeddy.mov)

References

[1]
}}P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the art of virtualization. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP), pages 164--177, New York, NY, USA, 2003. ACM Press.
[2]
}}B. Canou, V. Balat, and E. Chailloux. O’Browser: Objective Caml on browsers. In Proceedings of the 2008 ACM SIGPLAN workshop on ML, pages 69--78, New York, NY, USA, 2008. ACM.
[3]
}}C. Clark, K. Fraser, S. Hand, J. G. Hansen, E. Jul, C. Limpach, I. Pratt, and A. Warfield. Live migration of virtual machines. In Proceedings of the 2nd Symposium of Networked Systems Design and Implementation, May 2005.
[4]
}}P. Cuoq, J. Signoles, P. Baudin, R. Bonichon, G. Canet, L. Correnson, B. Monate, V. Prevosto, and A. Puccetti. Experience report: OCaml for an industrial-strength static analysis framework. In ICFP ’09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programming, pages 281--286, New York, NY, USA, 2009. ACM.
[5]
}}M. DeBergalis, P. Corbett, S. Kleiman, A. Lent, D. Noveck, T. Talpey, and M. Wittle. The Direct Access File System. In Proceedings of the 2nd USENIX Conference on File and Storage Technologies, pages 175--188, Berkeley, CA, USA, 2003. USENIX Association.
[6]
}}J. Donham. OCamlJS, July 2010. http://jaked.github.com/ocamljs.
[7]
}}T. Gazagnaire and V. Hanquez. Oxenstored: an efficient hierarchical and transactional database using functional programming with reference cell comparisons. In ICFP ’09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programming, pages 203--214, New York, NY, USA, 2009. ACM.
[8]
}}T. Gazagnaire and A. Madhavapeddy. Statically-typed value persistence for ML. In Proceedings of the Workshop on Generative Technologies, March 2010.
[9]
}}F. Le Fessant and S. Patarin. MLdonkey, a Multi-Network Peer-to-Peer File-Sharing Program. Research Report RR-4797, INRIA, 2003.
[10]
}}A. Madhavapeddy. Creating high-performance, statically type-safe network applications. Technical Report UCAM-CL-TR-775, University of Cambridge, Computer Laboratory, Apr. 2006.
[11]
}}A. Madhavapeddy, A. Ho, T. Deegan, D. Scott, and R. Sohan. Melange: creating a “functional” Internet. SIGOPS Oper. Syst. Rev., 41(3):101--114, 2007.
[12]
}}Y. Minsky and S. Weeks. Caml trading - experiences with functional programming on Wall Street. J. Funct. Program., 18(4):553--564, 2008.
[13]
}}T. Morgan. Citrix desktop virt soars in Q4, Jan. 2010. http://bit.ly/ciB74a.
[14]
}}B. O’Sullivan. Mercurial: the definitive guide. O’Reilly Media, first edition, 2009.
[15]
}}D. Syme, A. Granicz, and A. Cisternino. Expert F#.
[16]
}}J. Yallop. Practical generic programming in OCaml. In Proceedings of the 2007 workshop on Workshop on ML, pages 83--94, New York, NY, USA, 2007. ACM.

Cited By

View all

Index Terms

  1. Using functional programming within an industrial product group: perspectives and perceptions

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICFP '10: Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
    September 2010
    398 pages
    ISBN:9781605587943
    DOI:10.1145/1863543
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 45, Issue 9
      ICFP '10
      September 2010
      382 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/1932681
      Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 27 September 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. functional programming
    2. industry
    3. perceptions

    Qualifiers

    • Research-article

    Conference

    ICFP '10
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 333 of 1,064 submissions, 31%

    Upcoming Conference

    ICFP '25
    ACM SIGPLAN International Conference on Functional Programming
    October 12 - 18, 2025
    Singapore , Singapore

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)19
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 20 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2015)JitsuProceedings of the 12th USENIX Conference on Networked Systems Design and Implementation10.5555/2789770.2789809(559-573)Online publication date: 4-May-2015
    • (2014)UnikernelsCommunications of the ACM10.1145/2541883.254189557:1(61-69)Online publication date: 1-Jan-2014
    • (2013)Unikernels: Rise of the Virtual Library Operating SystemQueue10.1145/2557963.256662811:11(30-44)Online publication date: 15-Dec-2013
    • (2013)UnikernelsACM SIGPLAN Notices10.1145/2499368.245116748:4(461-472)Online publication date: 16-Mar-2013
    • (2013)UnikernelsACM SIGARCH Computer Architecture News10.1145/2490301.245116741:1(461-472)Online publication date: 16-Mar-2013
    • (2013)UnikernelsProceedings of the eighteenth international conference on Architectural support for programming languages and operating systems10.1145/2451116.2451167(461-472)Online publication date: 16-Mar-2013
    • (2012)Combining functional and imperative programming for multicore software: an empirical study evaluating Scala and JavaProceedings of the 34th International Conference on Software Engineering10.5555/2337223.2337238(123-133)Online publication date: 2-Jun-2012
    • (2012)Combining functional and imperative programming for multicore software: An empirical study evaluating Scala and Java2012 34th International Conference on Software Engineering (ICSE)10.1109/ICSE.2012.6227200(123-133)Online publication date: Jun-2012
    • (2011)Breaking up is hard to doProceedings of the Twenty-Third ACM Symposium on Operating Systems Principles10.1145/2043556.2043575(189-202)Online publication date: 23-Oct-2011
    • (2011)Dynamics for ML using Meta-ProgrammingElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2011.06.002264:5(3-21)Online publication date: 1-Jul-2011
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    EPUB

    View this article in ePub.

    ePub

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media