We present a case-study of using functional programming in the real world at a very large scale. At Standard Chartered Bank, Haskell is used in a core software library supporting the entire Markets division - a busine...
详细信息
We present a case-study of using functional programming in the real world at a very large scale. At Standard Chartered Bank, Haskell is used in a core software library supporting the entire Markets division - a business line with 3 billion USD operating income in 2023. Typed functional programming is used across the entire tech stack, including foundational APIs and CLIs for deal valuation and risk analysis, server-side components for long-running batches or sub-second RESTful services, and end-user GUIs. Thousands of users across Markets interact with software built using functional programming, and over one hundred write functional code. In this experience report we focus on how we leverage functional programming to orchestrate type-driven large-scale pricing workflows. The same API can be used to price one trade locally, or millions of trades across thousands of cloud nodes. Different parts of the computation can be run and inspected individually, and recomputing one part triggers recalculation of the dependent parts only. We build upon decades of research and experience in the functional programming community, relying on concepts such as monads, lenses, datatype generics, and closure serialisation. We conclude that the use of functional programming is one of the main drivers of the success of our project, and we see no significant downsides from it.
This paper focuses on graphical shader programming, which is essential for real-time rendering. Opposite to classical low level, structured languages, functional approach is used in this work and existing work is exte...
详细信息
ISBN:
(纸本)9788086943879
This paper focuses on graphical shader programming, which is essential for real-time rendering. Opposite to classical low level, structured languages, functional approach is used in this work and existing work is extended to cover geometry shader programming. The compiler is able to transform the program in a way that is hard to achieve with classical languages. The program is written for all pipeline stages at once and the compiler does the partitioning. This allows the programmer to focus on program semantics and let the compiler take care of the efficient execution. First, this paper describes shader stages as functions in a mathematical manner. The process of program partitioning and transformation to one of the classical languages is described. Several examples show the differences between functional description and equivalent structured code.
This paper describes the implementation of a functional programming language interpreter The interpreter is written in Forth and runs on any Forth system including a novel processor called the Scalable Configurable In...
详细信息
ISBN:
(纸本)0769526446
This paper describes the implementation of a functional programming language interpreter The interpreter is written in Forth and runs on any Forth system including a novel processor called the Scalable Configurable Instrument Processor (SCIP), designed at the Johns Hopkins Applied Physics Laboratory. The combination of this novel processor, Forth, and functional programming provides a layering of simple technologies that yields a unique programming and execution environment. The SCIP processor also has a clear transition path to use in space-borne applications.
The notation of functional programming (FP) provides a clear and general syntax for writing programs which have extremely simple semantics and exhibit a clear hierarchical structure. Unfortunately, functional language...
详细信息
We develop a calculus for lazy functional programming based on recursion operators associated with data type definitions. For these operators we derive various algebraic laws that are useful in deriving and manipulati...
详细信息
In recent years, there has been a renewed interest in functional programming (FP) as it has become a popular programming paradigm in several languages, including Python and JavaScript. Additionally, functional Program...
详细信息
ISBN:
(纸本)9798350328837;9798350328844
In recent years, there has been a renewed interest in functional programming (FP) as it has become a popular programming paradigm in several languages, including Python and JavaScript. Additionally, functional programming is the primary paradigm for increasingly used languages such as Clojure and Haskell, which have taken on significant importance for researchers and developers alike. FP has several benefits in software development, providing readable, maintainable, and scalable systems. However, despite these benefits, most of the literature related to software design currently lacks clear and detailed specifications concerning the functional paradigm. In contrast, Object-Oriented programming, for instance, possesses a vast array of design resources and tools. This and other challenges can make the adoption of FP difficult for developers who seek to integrate the FP paradigm in their systems. The objective of the research work is to present the state of the art of FP-oriented software design, covering methodologies, practices, and artefacts;analysing different proposals, and identifying open challenges. To arhieve the objective, a Systematic Literature Review (SRL) was conducted, following the Kitchenham's guidelines. We found a total of 14 primary studies published between 2012 and 2022, covering different artefacts and practices for software design under FP. Although Software design under FP is currently a little-explored topic in Software Engineering, its importance in software development is undeniable, and its use is expected to continue growing, being an interesting opportunity area for future research.
This paper discusses our experience in using a functional language in topics across the computer science curriculum. After examining the arguments for taking a functional approach, we look in detail at four case studi...
详细信息
ISBN:
(纸本)3540606750
This paper discusses our experience in using a functional language in topics across the computer science curriculum. After examining the arguments for taking a functional approach, we look in detail at four case studies from different areas: programming language semantics, machine architectures, graphics and formal languages.
This paper presents how functional programming (FP) helps to provide an other formal semantics (relation between the syntax and the model of computation) for Business Process Modeling (BPM);a semantics relatively diff...
详细信息
This paper presents how functional programming (FP) helps to provide an other formal semantics (relation between the syntax and the model of computation) for Business Process Modeling (BPM);a semantics relatively different from Object Oriented semantics. More precisely, it proposes a general methodology to model business processes using mathematical functions and higher-order functions. We describe the basic part of Business Process Modeling, behavioral semantics via Petri Nets (PN) and functional implementation of the models. Also, we will see how the business process model is translated into its equivalent form in Petri Nets and how these can be described through functional programming. (C) 2017, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved.
We discuss the application of the Haskell/Gofer type classes and constructor classes to the implementation and teaching of the manipulation techniques in the domain of formal mathematical expressions. We show also how...
详细信息
ISBN:
(纸本)3540606750
We discuss the application of the Haskell/Gofer type classes and constructor classes to the implementation and teaching of the manipulation techniques in the domain of formal mathematical expressions. We show also how the lazy evaluation paradigms simplify the construction and the presentation of several algorithms dealing with iterative data types, such as power series or formal Pade expansion. We shown the. application of higher order functions to algebra and geometry, and specifically - to the construction of parametric surfaces.
This paper presents how functional programming (FP) helps to provide an other formal semantics (relation between the syntax and the model of computation) for Business Process Modeling (BPM); a semantics relatively dif...
详细信息
暂无评论