Monadic Operations in Modern C++: A Practical Approach
Monadic Operations in Modern C++: A Practical Approach2About me ● Vitaly Fanaskov ● Senior software engineer at reMarkable ● 10+ years of C++ experience ● GIS, VFX, frameworks, and libraries ● Ph (CS) 3Agenda ● Briefly about expected and optional ● Common use cases of expected ● Monadic operations in software development ● Tips and tricks 4In this talk ● Less theory ● C++ only ● Practical a new widget {}: {}.", widgetBox.value(), error); } } 22How do we handle this? 23Monadic operations: and_then if (const auto widgetBox = getNewWidget(); widgetBox.has_value()) { const auto0 码力 | 61 页 | 411.49 KB | 5 月前3Pipeline Architectures in C++: Overloaded Pipe Operator | and Its Monadic Operations
Title: Pipeline architectures in C++: overloaded pipe operator | std::expected and its monadic operations Brief overview: Functional programming in C++ is gaining importance and is attracting programmers operator | will be presented, as well as I’ll explain std::expected and especially its monadic operations that can be tricky in practice. All these together present novel and efficient programming paradigms What's more, std::expected itself allows you to build pipelines – this time using its monadic operations. In this poseter I will explain details how to build your own pipeline architecture in modern0 码力 | 3 页 | 422.24 KB | 5 月前3Back to Basics: The Abstract Machine
machine. The instructions of an abstract machine are tailored to the particular operations required to implement operations of a specific source language or class of languages.” (my emphasis) - Stephan end • There is no room for another language between C++ and the hardware • C++ maps types and operations directly onto hardware • Fundamental C++ types (e.g., char, int, double) map directly into memory directly to hardware addressing capabilities • Modern hardware supports useful arithmetic/logical operations on those entities CppCon 2020 - The Abstract Machine 16Copyright © 2020 Bob Steagall K E W B0 码力 | 91 页 | 538.90 KB | 5 月前3Go 101 (Golang 101) v1.21.0
Channels §39. Other Concurrency Synchronization Techniques - the sync standard package. §40. Atomic Operations - the sync/atomic standard package. §41. Memory Order Guarantees in Go §42. Common Concurrent Programming manipulating operations in all kinds of ways to reach certain goals. Operations write data to and read data from hardware devices to complete tasks. For modern computers, elemental operations are low-level encapsulations for low-level operations, and make some abstracts for data, to make programming more intuitive and human-friendly. In popular high-level programming languages, operations are mainly achieved by0 码力 | 610 页 | 945.17 KB | 1 年前3Computer Programming with the Nim Programming Language
inheritance Other builtin data types Iterators Templates Casts and type conversions Bitwise operations Exceptions Destructors Finalizers Modules Include Part III: Nim’s Standard Library Command-line functions and data types that we can use in our programs to solve common tasks like input and output operations, using the file system, or sorting data. In Part IV, we will apply what we have learned by solving functionalities. Part VI of the book will finally introduce advanced concepts like asynchronous operations, threading and parallel processing, macros and meta- programming, and, last but not least, Nim’s0 码力 | 865 页 | 7.45 MB | 1 年前3Computer Programming with the Nim Programming Language
inheritance Other builtin data types Iterators Templates Casts and type conversions Bitwise operations Exceptions Destructors Finalizers Modules Include Part III: Nim’s Standard Library Command-line functions and data types that we can use in our programs to solve common tasks like input and output operations, using the file system, or sorting data. In Part IV, we will apply what we have learned by solving functionalities. Part VI of the book will finally introduce advanced concepts like asynchronous operations, threading and parallel processing, macros and meta- programming, and, last but not least, Nim’s0 码力 | 784 页 | 2.13 MB | 1 年前3Go 101 (Golang 101) v1.21.0
Channels §39. Other Concurrency Synchronization Techniques - the sync standard package. §40. Atomic Operations - the sync/atomic standard package. §41. Memory Order Guarantees in Go §42. Common Concurrent manipulating operations in all kinds of ways to reach certain goals. Operations write data to and read data from hardware devices to complete tasks. For modern computers, elemental operations are low-level encapsulations for low-level operations, and make some abstracts for data, to make programming more intuitive and human-friendly. In popular high-level programming languages, operations are mainly achieved by0 码力 | 630 页 | 3.77 MB | 1 年前3Kotlin Language Documentation 1.3
Collections Overview Constructing Collections Iterators Ranges and Progressions Sequences Collection Operations Overview Collection Transformations Filtering plus and minus Operators Grouping Retrieving Aggregate Operations 121 126 128 129 136 137 139 144 149 151 158 158 165 173 177 177 182 185 187 189 192 194 198 201 202 203 206 209 212 3 Collection Write Operations List Specific Specific Operations Set Specific Operations Map Specific Operations Multiplatform Programming Platform-Specific Declarations Building Multiplatform Projects with Gradle Other Destructuring Declarations0 码力 | 597 页 | 3.61 MB | 1 年前3Go 101 (Golang 101) v1.21.0
Channels §39. Other Concurrency Synchronization Techniques - the sync standard package. §40. Atomic Operations - the sync/atomic standard package. §41. Memory Order Guarantees in Go §42. Common Concurrent manipulating operations in all kinds of ways to reach certain goals. Operations write data to and read data from hardware devices to complete tasks. For modern computers, elemental operations are low-level encapsulations for low-level operations, and make some abstracts for data, to make programming more intuitive and human-friendly. In popular high-level programming languages, operations are mainly achieved by0 码力 | 880 页 | 833.34 KB | 1 年前3C++23: An Overview of Almost All New and Updated Features
s() Construct string(_view) From nullptr basic_string::resize_and_overwrite() Monadic Operations for std::optional Stacktrace Library Changes to Ranges Library Changes to Views Library s() Construct string(_view) From nullptr basic_string::resize_and_overwrite() Monadic Operations for std::optional Stacktrace Library Changes to Ranges Library Changes to Views Library s() Construct string(_view) From nullptr basic_string::resize_and_overwrite() Monadic Operations for std::optional Stacktrace Library Changes to Ranges Library Changes to Views Library0 码力 | 105 页 | 759.96 KB | 5 月前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100