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: 3364

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.

Learning Haskell Data Analysis

Author: James Church

Publisher: Packt Publishing Ltd

ISBN: 1784395234

Category: Computers

Page: 198

View: 7520

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.

Using Type Classes and I.o of Real World Haskell

Author: Eleanor Pritchard

Publisher: Createspace Independent Publishing Platform

ISBN: 9781542739764


Page: 58

View: 5573

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.


Eine Einführung für Objektorientierte

Author: Ernst-Erich Doberkat

Publisher: Walter de Gruyter

ISBN: 3486718533

Category: Computers

Page: 227

View: 5833

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: 3906

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: 8837


Developing Web Applications with Haskell and Yesod

Author: Michael Snoyman

Publisher: "O'Reilly Media, Inc."

ISBN: 1449336884

Category: Computers

Page: 298

View: 7513

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. You’ll work with several samples to explore the way Yesod handles widgets, forms, persistence, and RESTful content. You also get an introduction to 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) Use Shakespearean template languages for HTML, CSS, and Javascript output Produce cleaner, more modular code by learning how Yesod monads interact Implement the yesod-form declarative API to build forms on top of widgets Learn how Yesod and Haskell store session data and handle persistence Use techniques to serve an HTML page and a machine-friendly JSON page from the same URL Create reusable components for several applications with Yesod subsites

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: 4233

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: 2386

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 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: 5215

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

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: 7468

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.

Theoretische Grundlagen der Informatik

Author: Clemens H. Cap

Publisher: Springer-Verlag

ISBN: 370919329X

Category: Mathematics

Page: 332

View: 7019

Angesichts der Komplexität der Produkte der modernen Informatik wird eine saubere, theoretische Fundierung immer wichtiger. Das Buch wendet sich an Studierende im ersten Studienabschnitt und an Praktiker und gibt eine Einführung in die theoretischen und zumeist mathematischen Grundlagen der Informatik. Lesern ohne mathematische Vorbildung wird eine Vorstellung von der Denk- und Arbeitsweise der theoretischen Informatik vermittelt. Angesichts der Stoffülle und Komplexität dieses Gebietes werden detaillierte oder auch nur ausführlichere Kenntnisse in theoretischer Informatik wohl dem Spezialisten vorbehalten bleiben. Das Buch ist deshalb betont breit gehalten und zielt auf einen Überblick unterschiedlichster Techniken und Ansätze ab. Der Autor behandelt nach einer Einführung in mathematische Grundbegriffe die klassischen Themen wie formale Sprachen oder Berechenbarkeit, wendet sich aber auch der Semantik von Programmiersprachen und der Codierungstheorie zu und beantwortet die Frage, wie Information gemessen werden kann.

Practical Haskell

A Real World Guide to Programming

Author: Alejandro Serrano Mena

Publisher: Apress

ISBN: 9781484244791

Category: Computers

Page: 410

View: 7241

Get a practical, hands-on introduction to the Haskell language, its libraries and environment, and to the functional programming paradigm that is fast growing in importance in the software industry. This book contains excellent coverage of the Haskell ecosystem and supporting tools, include Cabal and Stack for managing projects, HUnit and QuickCheck for software testing, the Spock framework for developing web applications, Persistent and Esqueleto for database access, and parallel and distributed programming libraries. You’ll see how functional programming is gathering momentum, allowing you to express yourself in a more concise way, reducing boilerplate, and increasing the safety of your code. Haskell is an elegant and noise-free pure functional language with a long history, having a huge number of library contributors and an active community. This makes Haskell the best tool for both learning and applying functional programming, and Practical Haskell takes advantage of this to show off the language and what it can do. What You Will Learn Get started programming with Haskell Examine the different parts of the language Gain an overview of the most important libraries and tools in the Haskell ecosystem Apply functional patterns in real-world scenarios Understand monads and monad transformers Proficiently use laziness and resource management Who This Book Is For Experienced programmers who may be new to the Haskell programming language. However, some prior exposure to Haskell is recommended.

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: 4013

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#

Einhorn, Sphinx und Salamander

das Buch der imaginären Wesen

Author: Jorge Luis Borges,Margarita Guerrero

Publisher: N.A

ISBN: 9783596105847


Page: 222

View: 2927

Das Buch der imaginären Wesen geht weit über seinen ursprünglichen Titel und Rahmen - 'Handhabung der phantastischen Zoologie' - hinaus. Neben Fabeltieren von der doppelköpfigen Schlange Amphisbaena bis zum Schiffe versenkenden Riesenfisch Zaratan umfaßt das Werk auch die in-teressantesten metaphysischen Geschöpfe der menschlichen Phantasie, darunter etwa jüdische Dämonen, Swedenborgs Engel oder die nicht nur in verstöpselten Flaschen vorkommenden Dschinn. Die Lektüre der meisten Artikel wird dank des bewußt faktischen Tonfalls zu einem höchst spöttischen Vergnügen; der Anhang bietet weitergehende Informationen über die ergötzlichsten Monster der Weltliteratur.

Programmieren lernen

Eine grundlegende Einführung mit Java

Author: Peter Pepper

Publisher: Springer-Verlag

ISBN: 3540327827

Category: Computers

Page: 488

View: 2004

Objektorientiertes Programmieren mittels Java: Dieses Lehrbuch liefert sicher und systematisch die grundlegenden Kenntnisse dazu. Im weiteren Verlauf behandelt es u.a. folgende Themen: Objekte und (generische) Klassen, Kontrollanweisungen und Datenstrukturen, wichtige Algorithmen zum Suchen und Sortieren von Daten sowie für einfache numerische Anwendungen und elementare Graph-Traversierung. Modularisierungskonzepte und Methoden der nebenläufigen Programmierung mittels Threads, des Exception-Handlings, der Ein- und Ausgabe sowie von grafischen Benutzerschnittstellen runden das Buch ab. Systematisch und für vielfältige Anwendungen geeignet.

Haskell Tutorial

Author: 林信良

Publisher: 自行出版



Page: 119

View: 4904

函數式程式設計(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 區塊與 <- 綁定 # 發掘具有組合性的行為