Caml trading – experiences with functional programming on Wall Street

@article{Minsky2008CamlT,
  title={Caml trading – experiences with functional programming on Wall Street},
  author={Yaron Minsky and Stephen Weeks},
  journal={Journal of Functional Programming},
  year={2008},
  volume={18},
  pages={553 - 564}
}
Abstract Jane Street Capital is a successful proprietary trading company that uses OCaml as its primary development language. We have over twenty OCaml programmers and hundreds of thousands of lines of OCaml code. We use OCaml for a wide range of tasks: critical trading systems, quantitative research, systems software, and system administration. We value OCaml because it allows us to rapidly produce readable, correct, efficient code to solve complex problems, and to change that code quickly to… 
A Case Study in Modular Programming: Using AspectJ and OCaml in an Undergraduate Compiler Project
TLDR
This article has converted an entire undergraduate compiler course from using AspectJ, an aspect-oriented language, to using OCaml, a functional language, and analyzes the usage of the two programming languages to compare and contrast the two software projects on a number of parameters.
It was never about the language: paradigm impact on software design decisions
TLDR
It is argued that programming languages have a secondary role in software development design decisions, and illustrated, based on a practical example, how the main influencer are higher-level traits: those traditionally assigned with programming paradigms.
Open pattern matching for C++
TLDR
This work presents functional-style pattern matching for C++ implemented as a library, called Mach71, which allows mapping functional code based on pattern matching directly into C++ and produces code that is only a few percent slower than hand-optimized C++ code.
Turning Down the LAMP: Software Specialisation for the Cloud
TLDR
This work presents a programming framework which permits applications to be constructed to run directly on top of it without intervening software layers, and shows significant performance speedups for I/O and memory handling versus the same code running under Linux/Xen.
Open pattern matching for C++
TLDR
This work presents functional-style pattern matching for C++ implemented as a library, called Mach7, that can be stored in variables, passed among functions, and allow the use of open class hierarchies.
ML Dependency Analysis for Assessors
TLDR
An information-flow analysis for such a language specifically designed according to the needs of assessors is presented, which can be parametrized to allow assessors getting a view of dependencies at several levels of abstraction and gives the basis for an efficient fault tolerance analysis.
Higher-order model checking with traversals
TLDR
A model checking algorithm inspired by the fully abstract game semantics of recursion schemes, but specified as a goal-directed approach to intersection type inference, that offers a unification of the views of Ong and Kobayashi is started and extended.
Using functional programming within an industrial product group: perspectives and perceptions
TLDR
Comparisons between the OCaml team and the other teams that worked on the project are drawn, providing comparative data on hiring patterns and cross-team code contribution.
Using functional programming within an industrial product group
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 O...
Flexible filters in stream programs
TLDR
Flexible filters, a load-balancing optimization technique for stream programs that utilizes the programmability of the cores in order to improve the data-processing throughput of individual bottleneck tasks by “borrowing” resources from neighbors in the stream is presented.
...
...

References

SHOWING 1-10 OF 16 REFERENCES
Practical generic programming in OCaml
TLDR
Deriving is described, a system of extensible generic functions for OCaml implemented as a preprocessor and supporting library and it is shown how this can lead to dramatically improved performance in the serialisation task without the user writing a single line of serialisation code.
Phantom types and subtyping
TLDR
It is formally demonstrated the suitability of the phantom-types technique for capturing first-order subtyping by exhibiting a type-preserving translation from a simple calculus with bounded polymorphism to a calculus embodying the type system of SML.
Haskell 98 language and libraries : the revised report
TLDR
The Haskell 98 Language: Lexical structure, Declarations and bindings, Predefined types and classes, and Libraries.
May) The Objective Caml system, documentation and user’s manual – release
  • 2007
A real-time garbage collector based on the lifetimes of objects
TLDR
This work presents a garbage collection algorithm that makes storage for short-lived objects cheaper than storage for long-livedObjects, that operates in real time, increases locality of reference, for better virtual memory performance, and works well with multiple processors and a large address space.
Programming with Polymorphic Variants
TLDR
Based on the experience with the Objective Label system, how variant polymorphism can be integrated in a programming language, and what are the benefits of type inference and compilation schemes are described.
Objective ML: An Effective Object-Oriented Extension to ML
TLDR
Objective ML allows for most features of object-oriented languages including multiple in- heritance, methods returning self and binary methods as well as parametric classes, and demonstrates that ob- jects can be added to strongly typed languages based on ML polymorphism.
On the implementation of construction functions for non-free concrete data types
TLDR
The notion of private data type is detailed and a prototype, called Moca, is described that addresses the entire problem of defining concrete data types with invariants: it generates efficient construction functions for the combination of common invariants and builds representatives that belong to a concrete data type with private constructors.
Haskell 98 language and libraries
  • In The Revised Report. http:// haskell.org/onlinereport/
  • 2002
The Objective Caml system, documentation and user's manual -release 3.10
  • INRIA. LexiFi
...
...