Real World OCaml Functional programming for the masses

Real World OCaml Functional programming for the masses
Real+World+OCaml+Functional+programming+for+the+masses - фото 1
Real+World+OCaml+Functional+programming+for+the+masses - фото 2
600 грн
O'Reilly Media
70х100 1/16 (170х240 мм)
Тип бумаги 
Вес, г
Срок поставки
7-10 дней
  • По ХарьковуДоставка курьером - 100 грн
    Бесплатно - от 2000 грн
  • По УкраинеБесплатно - от 2000 грн
    Новая Почта - от 40 грн
    Укрпочта - от 25 грн
  • Международная доставкаУкрпочта...
Подробнее о доставке
This fast-moving tutorial introduces you to OCaml, an industrial-strength programming language designed for expressiveness, safety, and speed. Through the book’s many examples, you’ll quickly learn how OCaml stands out as a tool for writing fast, succinct, and readable systems code. Real World OCaml takes you through the concepts of the language at a brisk pace, and then helps you explore the tools and techniques that make OCaml an effective and practical tool. In the book’s third section, you’ll delve deep into the details of the compiler toolchain and OCaml’s simple and efficient runtime system. Learn the foundations of the language, such as higher-order functions, algebraic data types, and modules Explore advanced features such as functors, first-class modules, and objects Leverage Core, a comprehensive general-purpose standard library for OCaml Design effective and reusable libraries, making the most of OCaml’s approach to abstraction and modularity Tackle practical programming problems from command-line parsing to asynchronous network programming Examine profiling and interactive debugging techniques with tools such as GNU gdb

Language Concepts
Chapter 1 : A Guided Tour
OCaml as a Calculator
Functions and Type Inference
Tuples, Lists, Options, and Pattern Matching
Records and Variants
Imperative Programming
A Complete Program
Where to Go from Here
Chapter 2 : Variables and Functions
Chapter 3 : Lists and Patterns
List Basics
Using Patterns to Extract Data from a List
Limitations (and Blessings) of Pattern Matching
Using the List Module Effectively
Tail Recursion
Terser and Faster Patterns
Chapter 4 : Files, Modules, and Programs
Single-File Programs
Multifile Programs and Modules
Signatures and Abstract Types
Concrete Types in Signatures
Nested Modules
Opening Modules
Including Modules
Common Errors with Modules
Designing with Modules
Chapter 5 : Records
Patterns and Exhaustiveness
Field Punning
Reusing Field Names
Functional Updates
Mutable Fields
First-Class Fields
Chapter 6 : Variants
Catch-All Cases and Refactoring
Combining Records and Variants
Variants and Recursive Data Structures
Polymorphic Variants
Chapter 7 : Error Handling
Error-Aware Return Types
Choosing an Error-Handling Strategy
Chapter 8 : Imperative Programming
Example: Imperative Dictionaries
Primitive Mutable Data
for and while Loops
Example: Doubly Linked Lists
Laziness and Other Benign Effects
Input and Output
Order of Evaluation
Side Effects and Weak Polymorphism
Chapter 9 : Functors
A Trivial Example
A Bigger Example: Computing with Intervals
Extending Modules
Chapter 10 : First-Class Modules
Working with First-Class Modules
Example: A Query-Handling Framework
Living Without First-Class Modules
Chapter 11 : Objects
OCaml Objects
Object Polymorphism
Immutable Objects
When to Use Objects
Chapter 12 : Classes
OCaml Classes
Class Parameters and Polymorphism
Object Types as Interfaces
Class Types
Open Recursion
Private Methods
Binary Methods
Virtual Classes and Methods
Multiple Inheritance
Tools and Techniques
Chapter 13 : Maps and Hash Tables
Hash Tables
Choosing Between Maps and Hash Tables
Chapter 14 : Command-Line Parsing
Basic Command-Line Parsing
Argument Types
Adding Labeled Flags to the Command Line
Grouping Subcommands Together
Advanced Control over Parsing
Command-Line Autocompletion with bash
Alternative Command-Line Parsers
Chapter 15 : Handling JSON Data
JSON Basics
Parsing JSON with Yojson
Selecting Values from JSON Structures
Constructing JSON Values
Using Nonstandard JSON Extensions
Automatically Mapping JSON to OCaml Types
Chapter 16 : Parsing with OCamllex and Menhir
Lexing and Parsing
Defining a Parser
Defining a Lexer
Bringing It All Together
Chapter 17 : Data Serialization with S-Expressions
Basic Usage
The Sexp Format
Preserving Invariants
Getting Good Error Messages
Sexp-Conversion Directives
Chapter 18 : Concurrent Programming with Async
Async Basics
Examples: An Echo Server
Example: Searching Definitions with DuckDuckGo
Exception Handling
Timeouts, Cancellation, and Choices
Working with System Threads
The Runtime System
Chapter 19 : Foreign Function Interface
Example: A Terminal Interface
Basic Scalar C Types
Pointers and Arrays
Structs and Unions
Passing Functions to C
Learning More About C Bindings
Chapter 20 : Memory Representation of Values
OCaml Blocks and Values
Blocks and Values
Tuples, Records, and Arrays
Variants and Lists
Polymorphic Variants
String Values
Custom Heap Blocks
Chapter 21 : Understanding the Garbage Collector
Mark and Sweep Garbage Collection
Generational Garbage Collection
The Fast Minor Heap
The Long-Lived Major Heap
Attaching Finalizer Functions to Values
Chapter 22 : The Compiler Frontend: Parsing and Type Checking
An Overview of the Toolchain
Parsing Source Code
Preprocessing Source Code
Static Type Checking
The Typed Syntax Tree
Chapter 23 : The Compiler Backend: Bytecode and Native code
The Untyped Lambda Form
Generating Portable Bytecode
Compiling Fast Native Code
Summarizing the File Extensions

Товар входит в категории

Вы можете купить книгу с доставкой курьером новой поштой укрпочтой Кривой Рог, Львов, Полтава, Житомир, Черкассы, Харьков, Чернигов, Винница, Тернополь, Киев, Луцк, Ровно, Хмельницкий, Херсон, Кировоград, Николаев, Днепропетровск, Ужгород, Запорожье, Суммы, Черновцы, Одесса, Ивано-франковск, другие города Украины. только в нашем магазине низкие цены, прямые поступления от издательства,книги под заказ, печать книг на заказ, компьютерные книги на английском языке.