Real World Haskell

Code You Can Believe In

Author: Bryan O'Sullivan,John Goerzen,Donald Bruce Stewart

Publisher: "O'Reilly Media, Inc."

ISBN: 9780596554309

Category: Computers

Page: 714

View: 2122

This easy-to-use, fast-moving tutorial introduces you to functional programming with Haskell. You'll learn how to use Haskell in a variety of practical ways, from short scripts to large and demanding applications. Real World Haskell takes you through the basics of functional programming at a brisk pace, and then helps you increase your understanding of Haskell in real-world issues like I/O, performance, dealing with data, concurrency, and more as you move through each chapter.

Using Type Classes and I.o of Real World Haskell

Author: Eleanor Pritchard

Publisher: Createspace Independent Publishing Platform

ISBN: 9781542739764


Page: 58

View: 3810

Typeclasses are among the most powerful features in Haskell. They allow us to define generic interfaces that provide a common feature set over a wide variety of types. Typeclasses are at the heart of some basic language features such as equality testing and numeric operators. Before we talk about what exactly typeclasses are, though, we'd like to explain the need for them.

Sockets, Syslog and Software Transactional Memory in Real World Haskell

Author: Rachel Parkin

Publisher: Createspace Independent Publishing Platform

ISBN: 9781542739672


Page: 30

View: 6834

In several earlier chapters of this book, we discussed services that operate over a network. Two examples are client/server databases and web services. When the need arises to devise a new protocol or to communicate with a protocol that doesn't have an existing helper library in Haskell, you'll need to use the lower-level networking tools in the Haskell library. In this chapter, we will discuss these lower-level tools. Network communication is a broad topic with entire books devoted to it. We will show you how to use Haskell to apply the low-level network knowledge you already have. Haskell's networking functions almost always correspond directly to familiar C function calls. As most other languages also layer on top of C, you should find this interface familiar.

Learning Haskell Data Analysis

Author: James Church

Publisher: Packt Publishing Ltd

ISBN: 1784395234

Category: Computers

Page: 198

View: 9013

If you are a developer, analyst, or data scientist who wants to learn data analysis methods using Haskell and its libraries, then this book is for you. Prior experience with Haskell and a basic knowledge of data science will be beneficial.


Eine Einführung für Objektorientierte

Author: Ernst-Erich Doberkat

Publisher: Walter de Gruyter

ISBN: 3486718533

Category: Computers

Page: 227

View: 8094

Haskell gilt als schwer zu lernende Sprache. Das muß nicht sein, wie dieses Buch zeigt. Der Verfasser nimmt die Leser mit auf eine Reise ins Land der funktionalen Programmierung. Er zeigt, daß viele aus der objektorientierten Programmierung bekannten Algorithmen und Datenstrukturen knapp, durchsichtig und elegant formuliert werden können, ohne an Effizienz oder Verständlichkeit zu verlieren. Ausführliche Fallstudien begleiten die Einführung in die Sprache wie Sehenswürdigkeiten. Hierzu gehören die Diskussion der Vignére-Verschlüsselung, die Huffman-Codierung, der Algorithmus von Kruskal und die Erzeugung der Tabellen eines Parsers. Zum Abschluß werden Monaden eingeführt, eingängige Beispiele zeigen, wie man mit diesem mächtigen Instrument umgehen kann.


Ein kompakter Einstieg in die funktionale Programmierung

Author: Marco Block,Adrian Neumann

Publisher: Springer-Verlag

ISBN: 9783642047183

Category: Computers

Page: 300

View: 1213

Das Buch bietet eine kompakte Einführung in die funktionale Programmierung mit Haskell. Die Autoren vermitteln zunächst anhand von Beispielen grundlegende Konzepte, die das Fundament für die funktionale Programmentwicklung bilden. Anschließend werden fortgeschrittene Aspekte behandelt und zahlreiche neue Anwendungen und Themengebiete vorgestellt. Mit Übungsaufgaben zu jedem Kapitel und Lösungen am Ende des Buchs kann der Stoff auch im Selbststudium erarbeitet werden. Die Webseite zum Buch enthält Beispiele und weitere Materialien.

Real World Haskell

Author: ブライアンオサリバン,ジョンゴレゼン,ドンスチュワート

Publisher: "O'Reilly Media, Inc."

ISBN: 4873114233


Page: 684

View: 3297


Developing Web Apps with Haskell and Yesod

Safety-Driven Web Development

Author: Michael Snoyman

Publisher: "O'Reilly Media, Inc."

ISBN: 1491915552

Category: Computers

Page: 396

View: 3240

This fast-moving guide introduces web application development with Haskell and Yesod, a potent language/framework combination that supports high-performing applications that are modular, type-safe, and concise. Fully updated for Yesod 1.4, this second edition shows you how Yesod handles widgets, forms, persistence, and RESTful content. Author Michael Snoyman also introduces various Haskell tools to supplement your basic knowledge of the language. By the time you finish this book, you’ll create a production-quality web application with Yesod’s ready-to-use scaffolding. You’ll also examine several real-world examples, including a blog, a wiki, a JSON web service, and a Sphinx search server. Build a simple application to learn Yesod’s foundation datatype and Web Application Interface (WAI) Output HTML, CSS, and Javascript with Shakespearean template languages Get an indepth look at Yesod’s core monads for producing cleaner, more modular code Probe Yesod’s internal workings: learn the request handling process for a typical application Build forms on top of widgets by implementing the yesod-form declarative API Learn how Yesod and Haskell handle persistence and session data Serve an HTML page and a machine-friendly JSON page from the same URL

Real World OCaml

Functional Programming for the Masses

Author: Yaron Minsky,Anil Madhavapeddy,Jason Hickey

Publisher: "O'Reilly Media, Inc."

ISBN: 1449324762

Category: Computers

Page: 510

View: 6424

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

Parallel and Concurrent Programming in Haskell

Techniques for Multicore and Multithreaded Programming

Author: Simon Marlow

Publisher: "O'Reilly Media, Inc."

ISBN: 144933590X

Category: Computers

Page: 322

View: 3169

If you have a working knowledge of Haskell, this hands-on book shows you how to use the language’s many APIs and frameworks for writing both parallel and concurrent programs. You’ll learn how parallelism exploits multicore processors to speed up computation-heavy programs, and how concurrency enables you to write programs with threads for multiple interactions. Author Simon Marlow walks you through the process with lots of code examples that you can run, experiment with, and extend. Divided into separate sections on Parallel and Concurrent Haskell, this book also includes exercises to help you become familiar with the concepts presented: Express parallelism in Haskell with the Eval monad and Evaluation Strategies Parallelize ordinary Haskell code with the Par monad Build parallel array-based computations, using the Repa library Use the Accelerate library to run computations directly on the GPU Work with basic interfaces for writing concurrent code Build trees of threads for larger and more complex programs Learn how to build high-speed concurrent network servers Write distributed programs that run on multiple machines in a network

Functional Programming for Java Developers

Tools for Better Concurrency, Abstraction, and Agility

Author: Dean Wampler

Publisher: "O'Reilly Media, Inc."

ISBN: 1449311032


Page: 88

View: 4373

Software development today is embracing functional programming (FP), whether it's for writing concurrent programs or for managing Big Data. Where does that leave Java developers? This concise book offers a pragmatic, approachable introduction to FP for Java developers or anyone who uses an object-oriented language. Dean Wampler, Java expert and author of Programming Scala (O'Reilly), shows you how to apply FP principles such as immutability, avoidance of side-effects, and higher-order functions to your Java code. Each chapter provides exercises to help you practice what you've learned. Once you grasp the benefits of functional programming, you’ll discover that it improves all of the code you write. Learn basic FP principles and apply them to object-oriented programming Discover how FP is more concise and modular than OOP Get useful FP lessons for your Java type design—such as avoiding nulls Design data structures and algorithms using functional programming principles Write concurrent programs using the Actor model and software transactional memory Use functional libraries and frameworks for Java—and learn where to go next to deepen your functional programming skills

Real-World Functional Programming

With Examples in F# and C#

Author: Tomas Petricek

Publisher: Manning Publications

ISBN: 9781933988924

Category: Computers

Page: 529

View: 4196

"Real World Functional Programming" is a unique tutorial that explores the functional programming model through the F# and C# languages.

Rails Kochbuch

Author: Rob Orsini

Publisher: O'Reilly Germany

ISBN: 3897217147

Category: Ruby (Computer program language)

Page: 545

View: 3726

Implementation and Application of Functional Languages

23rd International Symposium, IFL 2011, Lawrence, KS, USA, October 3-5, 2011, Revised Selected Papers

Author: Andy Gill,Jurriaan Hage

Publisher: Springer

ISBN: 3642344070

Category: Computers

Page: 181

View: 1080

This book constitutes the thoroughly refereed post-conference proceedings of the 23rd International Symposium on Implementation and Application of Functional Languages, IFL 2011, held in Lawrence, Kansas, USA, in October 2011. The 11 revised full papers presented were carefully reviewed and selected from 33 submissions. The papers by researchers and practitioners who are actively engaged in the implementation and the use of functional and function based programming languages describe practical and theoretical work as well as applications and tools. They discuss new ideas and concepts, as well as work in progress and results.

Statistik-Workshop für Programmierer

Author: Allen B. Downey

Publisher: O'Reilly Germany

ISBN: 3868993436

Category: Computers

Page: 160

View: 9953

Wenn Sie programmieren können, beherrschen Sie bereits Techniken, um aus Daten Wissen zu extrahieren. Diese kompakte Einführung in die Statistik zeigt Ihnen, wie Sie rechnergestützt, anstatt auf mathematischem Weg Datenanalysen mit Python durchführen können. Praktischer Programmier-Workshop statt grauer Theorie: Das Buch führt Sie anhand eines durchgängigen Fallbeispiels durch eine vollständige Datenanalyse -- von der Datensammlung über die Berechnung statistischer Kennwerte und Identifikation von Mustern bis hin zum Testen statistischer Hypothesen. Gleichzeitig werden Sie mit statistischen Verteilungen, den Regeln der Wahrscheinlichkeitsrechnung, Visualisierungsmöglichkeiten und vielen anderen Arbeitstechniken und Konzepten vertraut gemacht. Statistik-Konzepte zum Ausprobieren: Entwickeln Sie über das Schreiben und Testen von Code ein Verständnis für die Grundlagen von Wahrscheinlichkeitsrechnung und Statistik: Überprüfen Sie das Verhalten statistischer Merkmale durch Zufallsexperimente, zum Beispiel indem Sie Stichproben aus unterschiedlichen Verteilungen ziehen. Nutzen Sie Simulationen, um Konzepte zu verstehen, die auf mathematischem Weg nur schwer zugänglich sind. Lernen Sie etwas über Themen, die in Einführungen üblicherweise nicht vermittelt werden, beispielsweise über die Bayessche Schätzung. Nutzen Sie Python zur Bereinigung und Aufbereitung von Rohdaten aus nahezu beliebigen Quellen. Beantworten Sie mit den Mitteln der Inferenzstatistik Fragestellungen zu realen Daten.

Visionäre der Programmierung

die Sprachen und ihre Schöpfer

Author: Federico Biancuzzi,Shane Warden

Publisher: O'Reilly Germany

ISBN: 3897219344

Category: Computer algorithms

Page: 485

View: 9570

In Visionare der Programmierung - Die Sprachen und ihre Schopfer werden exklusive Interviews mit den Entwicklern von historischen wie auch von hoch aktuellen Programmiersprachen veroffentlicht. In dieser einzigartigen Zusammenstellung erfahren Sie uber die Hintergrunde, die zu den spezifischen Design-Entscheidungen in den Programmiersprachen gefuhrt haben und uber die ursprungliche Ziele, die die Entwickler im Kopf hatten, als sie eine neue Programmiersprache entwarfen. Ebenso konnen Sie lesen, wieso Abweichungen zum ursprunglichen Design entstanden und welchen Einflu die jeweilige Sprache auf die heutige Softwareentwicklung noch besitzt. Adin D. Falkoff: APL Thomas E. Kurtz: BASIC Charles H. Moore: FORTH Robin Milner: ML Donald D. Chamberlin: SQL Alfred Aho, Peter Weinberger und Brian Kernighan: AWK Charles Geschke und John Warnock: PostScript Bjarne Stroustrup: C++ Bertrand Meyer: Eiffel Brad Cox und Tom Love: Objective-C Larry Wall: Perl Simon Peyton Jones, Paul Hudak, Philip Wadler und John Hughes: Haskell Guido van Rossum: Python Luiz Henrique de Figueiredo und Roberto Ierusalimschy: Lua James Gosling: Java Grady Booch, Ivar Jacobson und James Rumbaugh: UML Anders Hejlsberg: Delphi-Entwickler und fuhrender Entwickler von C#

Haskell Tutorial

Author: 林信良

Publisher: 自行出版



Page: 119

View: 9292

函數式程式設計(Functional programming)已經歷經時代的考驗,這年頭做為一個開發者,或多或少都有聽過函數式程式設計這個名詞,不少主流語言中,也已經或逐步出現函數式程式設計的基礎元素,就連 Java 這個保守的語言,在 Java 8 中,除了 Lambda 語法本身具有一級函式(First class function)概念之外,也突然出現了不少函數式概念的 API。 這類主流語言中,不少本身並不是以函數式為主要典範(Paradigm),為了讓函數式元素在其本身中不至於過於突兀,這類元素多多少少都有經過一些調整,這類調整是必要的,這也是函數式程式設計得以逐漸為開發者接受的主因之一,經過調整之後,才使得讓這類元素得以成為開發者使用的選項之一。 然而,也正因為經過調整,在試圖從這類語言中探討函數式概念時,總有種朦朦朧朧看不清楚真貌的感覺,那麼,來學習一門純函數式語言如何?這就成了我想撰寫 Haskell Tutorial 一開始的動機。 實際上,已經有不少 Haskell 的好書,像是《Learn You a Haskell for Great Good!》,線上觀看是免費的,如果想購買電子書或實體書也行,中文翻譯為《Haskell 趣學指南》;其他書籍像是《Real World Haskell》也有線上版、電子書、實體書的選擇。 自己想來寫寫看,無非就是想整理一下這幾年的心得,用自己的順序來構築一個路徑。 -- 目錄 -- # 關於 Haskell Tutorial # 起步走 ## 哈囉!世界! ## 一絲不苟的型態系統## 初探代數與函式 # 從函式開始 ## 這裏,那裏,到處都是函式 ## 如喝水般自然的高階函式 ## 從 List 處理初試函數式風格 ## filter、map、fold 模式 # 從入門到進階 ## 懶惰是美德之一 ## 最代表宣告式的 List Comprehension ## 從 Tuple 初試模式比對 ## case、let 、where 與 guard ## 從 lambda 到函式合成 # 深入資料型態 ## 正式入門代數資料型態 ## 減輕型態負擔的型態參數 ## Typeclass 定義、實作與衍生 ## Record 語法、Type 同義詞 # 模組 ## 定義與使用模組 ## 認識 Data.List 模組 ## Data.Set 與 Data.Map 模組 # 銜接兩個世界 ## 初探 IO 型態 ## 來寫些迴圈吧! # 錯誤處理 ## Maybe 有無、Either 對錯 ## Exception 的 catch 與 handle ## 拋出與自訂 Exception # Functor、Applicative 到 Monad ## 可被映射盒中物的 Functor ## Functor 的 fmap 行為 ## 可直接函式套用的 Applicative ## 活用 Applicative 的 pure 與 <*> ## 一個型態的 newtype ## 解決巢狀結構的 Monad ## do 區塊與 <- 綁定 # 發掘具有組合性的行為

Implementation of Functional Languages

13th International Workshop, IFL 2001 Stockholm, Sweden, September 24-26, 2001 Selected Papers

Author: Thomas Arts,Markus Mohnen

Publisher: Springer


Category: Computers

Page: 187

View: 1662

This book constitutes the thoroughly refereed post-proceedings of the 13th International Workshop on the Implementation of Functional Languages, IFL 2001, held in Stockholm, Sweden in September 2001. The eleven revised full papers presented have gone through a thorough round of post-workshop reviewing and were selected from 28 workshop papers. Among the topics covered are relevant aspects of implementing and using functional languages, such as type systems, compilation, program optimization, theorem proving, program correctness, program analysis, parallel compilers, subtyping, and generic programming.

Get Programming with Haskell

Author: Will Kurt

Publisher: Manning

ISBN: 9781617293764

Category: Computers

Page: 616

View: 1587

Summary Get Programming with Haskell introduces you to the Haskell language without drowning you in academic jargon and heavy functional programming theory. By working through 43 easy-to-follow lessons, you''ll learn Haskell the best possible way--by doing Haskell! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Programming languages often differ only around the edges--a few keywords, libraries, or platform choices. Haskell gives you an entirely new point of view. To the software pioneer Alan Kay, a change in perspective can be worth 80 IQ points and Haskellers agree on the dramatic bene ts of thinking the Haskell way--thinking functionally, with type safety, mathematical certainty, and more. In this hands-on book, that''s exactly what you''ll learn to do. About the Book Get Programming with Haskell leads you through short lessons, examples, and exercises designed to make Haskell your own. It has crystal-clear illustrations and guided practice. You will write and test dozens of interesting programs and dive into custom Haskell modules. You will gain a new perspective on programming plus the practical ability to use Haskell in the everyday world. (The 80 IQ points: not guaranteed.) What''s Inside Thinking in Haskell Functional programming basics Programming in types Real-world applications for Haskell About the Reader Written for readers who know one or more programming languages. About The Author Will Kurt currently works as a data scientist. He writes a blog at, explaining data science to normal people. Table of Contents Lesson 1 Getting started with Haskell Unit 1 - FOUNDATIONS OF FUNCTIONAL PROGRAMMING Lesson 2 Functions and functional programming Lesson 3 Lambda functions and lexical scope Lesson 4 First-class functions Lesson 5 Closures and partial application Lesson 6 Lists Lesson 7 Rules for recursion and pattern matching Lesson 8 Writing recursive functions Lesson 9 Higher-order functions Lesson 10 Capstone: Functional object-oriented programming with robots! Unit 2 - INTRODUCING TYPES Lesson 11 Type basics Lesson 12 Creating your own types Lesson 13 Type classes Lesson 14 Using type classes Lesson 15 Capstone: Secret messages! Unit 3 - PROGRAMMING IN TYPES Lesson 16 Creating types with "and" and "or" Lesson 17 Design by composition--Semigroups and Monoids Lesson 18 Parameterized types Lesson 19 The Maybe type: dealing with missing values Lesson 20 Capstone: Time series Unit 4 - IO IN HASKELL Lesson 21 Hello World!--introducing IO types Lesson 22 Interacting with the command line and lazy I/O Lesson 23 Working with text and Unicode Lesson 24 Working with files Lesson 25 Working with binary data Lesson 26 Capstone: Processing binary files and book data Unit 5 - WORKING WITH TYPE IN A CONTEXT Lesson 27 The Functor type class Lesson 28 A peek at the Applicative type class: using functions in a context Lesson 29 Lists as context: a deeper look at the Applicative type class Lesson 30 Introducing the Monad type class Lesson 31 Making Monads easier with donotation Lesson 32 The list monad and list comprehensions Lesson 33 Capstone: SQL-like queries in Haskell Unit 6 - ORGANIZING CODE AND BUILDING PROJECTS Lesson 34 Organizing Haskell code with modules Lesson 35 Building projects with stack Lesson 36 Property testing with QuickCheck Lesson 37 Capstone: Building a prime-number library Unit 7 - PRACTICAL HASKELL Lesson 38 Errors in Haskell and the Either type Lesson 39 Making HTTP requests in Haskell Lesson 40 Working with JSON data by using Aeson Lesson 41 Using databases in Haskell Lesson 42 Efficient, stateful arrays in Haskell Afterword - What''s next? Appendix - Sample answers to exercises