Functional Programming - 包涵卿@HANKBAO 瀑布IM  ## WHAT Functional programming is a programming paradigm 1. treats computation as the evaluation of mathematical 2. avoids changing-state and mutable data - Wikipedia ## PARADIGM Declarative Programming Functional Programming Dataflow Programming Reactive Programming Imperative Programming Object-Oriented collation.sortedArrayFromArray(wrappers, collationStringSelector: Wrapper.selector) ## FUNCTIONAL ABSTRACTION ## OPTIONAL enum Optional{ case None case Some(T) ## OPTIONAL func map(f:0 码力 | 38 页 | 1.33 MB | 2 年前3
Applicative: The Forgotten Functional Pattern## Applicative: The Forgotten Functional Pattern ## +23 ## BEN DEANE ## 20 23 October 01 - 06 ## APPLICATIVE THE FORGOTTEN FUNCTIONAL PATTERN  kind kind of understand how they work ## FIRST, A QUICK SURVEY • I've heard of these functional patterns, but that's all • I (think I) kind of understand how they work • I don't see many use cases0 码力 | 141 页 | 11.33 MB | 1 年前3
Back To Basics: Functional Programming in C++## +24 ## Back To Basics Functional Programming in C++ JONATHAN MÜLLER ## What is functional programming? ## I mperative Programming ## Definition Specify instructions that manipulate state in order Haskell, Prolog ■ formal grammar thermostat ## Functional Programming ## Definition Declarative programming by composing functions. ## Functional Programming ## Definition Declarative programming programming by composing functions. fac :: Int -> Int fac 0 = 1 fac n = n * fac (n - 1) ## Functional Programming ## Definition Declarative programming by composing functions. fac :: Int -> Int fac 00 码力 | 178 页 | 918.67 KB | 1 年前3
Leveraging a Functional Approach for More Testable and Maintainable ROS 2 Code## +23 ## Leveraging a Functional Approach for More Testable and Maintainable ROS 2 Code BILAL GILL 20 23 October 01 - 06 ## Outline • Introduction • Overview of ROS 2 ROS 2 Conventional Approach Approach - Introduction to Functional Programming Principles - Refactoring using Functional Programming Principles • Conclusion  Conor Hoekstra ☐ Libraries of similar languages (D, Rust, Java) Barry Revzin. ## • Main Innovation0 码力 | 27 页 | 1.08 MB | 1 年前3
Streaming languages and operator semantics - CS 591 K1: Data Stream Processing and Analytics Spring 20202020 2/04: Streaming languages and operator semantics Vasiliki (Vasia) Kalavri vkalavri@bu.edu ## Languages for continuous data processing ## Language Types • Transforming languages define transformations and produce output streams. - Declarative languages specify the expected results of the computation rather than the execution flow. • Imperative languages are used to describe plans of operators the the streams must flow through. • Pattern-based languages specify conditions and actions to be taken when conditions are met. - Conditions are commonly described as patterns that can match input stream events0 码力 | 53 页 | 532.37 KB | 2 年前3
Measuring Woody: The Size of Debian 3.01 billion USD to develop Debian 3.0. In addition, we offer both an analysis of the programming languages used in the distribution (C amounts for about 65%, C++ for about 12%, Shell for about 8% and LISP physical SLOC of the release, the SLOC for each package, the SLOC for each of several programming languages considered, etc. In the following sections these three steps are described in more detail. ### in the following categories: • Size of Debian woody. • Importance of the most used programming languages. - Analysis of the evolution in the size of the most relevant packages. • Effort estimations.0 码力 | 15 页 | 111.82 KB | 2 年前3
The Idris Tutorial Version 1.0Idris Language. It covers the core language features, and assumes some familiarity with an existing functional programming language such as Haskell or OCaml. Note: The documentation for Idris has been published http://creativecommons.org/publicdomain/zero/1.0/ ## I ntroduction In conventional programming languages, there is a clear distinction between types and values. For example, in Haskell, the following are Vect n a -> Vect m a -> Vect (n + m) a This tutorial introduces Idris, a general purpose functional programming language with dependent types. The goal of the Idris project is to build a dependently0 码力 | 223 页 | 1.21 MB | 2 年前3
Monads in Modern C++Bloomberg Finance L.P. All rights reserved. Bloomberg Engineering ## Monad: a definition In functional programming, a monad is a structure that combines program fragments (functions) and wraps their General-purpose languages use monads to reduce boilerplate code needed for common operations (such as dealing with undefined values or fallible functions, or encapsulating bookkeeping code). Functional languages Bloomberg Finance L.P. All rights reserved. Bloomberg Engineering ## Monad: a definition In functional programming, a monad is a structure that combines program fragments (functions) and wraps their0 码力 | 94 页 | 4.56 MB | 1 年前3
Structure and Interpretation of Computer Programsprogramming language enthusiast • I love algorithms and beautiful code • Organizer of Programming Languages Virtual Meetup • I have a YouTube channel ## 入 












