상세 컨텐츠

본문 제목

가장 쉬운 하스켈 책: 느긋하지만, 우아하고 세련된 함수형 언어

전체 출간 도서

by 비제이퍼블릭 2014. 2. 13. 19:46

본문

가장 쉬운 하스켈

: 느긋하지만, 우아하고 세련된 함수형 언어

 

시리즈명 가장 쉬운 책 시리즈 001

저자 미란 리포바카

역자 황반석

 

출간예정일 2014225()

정가 28,000

페이지 412

판형 188 x 245

 

ISBN 978-89-94774-61-9 (93000)

원서정보 Learn You a Haskell for Great Good!: A Beginner’s Guide

 

샘플챕터 서문, 제1장

가장 쉬운 하스켈 책_서문_1장.pdf

 

 

책 소개

 

하스켈을 배우기 위한 가장 쉬운 지침서!

 

《가장 쉬운 하스켈 책》은 복잡한 함수형 언어를 정말로 재미있고 잘 설명한 책이다. 저자의 경험에서 우러나오는 지식들과 최신 정보들, 그리고 가장 중요하고 유용한 부분이라고 할 수 있는 예제 코드들로 엮인 이 책은 여러분이 상상할 수 없는 방법으로 함수형 언어를 설명한다.

 

하스켈은 재미있다. 그리고 그게 전부다!

 

이 책은 기본 구문과 재귀, 타입, 타입 클래스와 같은 기초적인 사항부터 시작해서 기초를 다진 후 진정한 마스터 클래스를 다룬다. 이 과정을 통해 여러분은 실용적인 함수와 모나드, 지퍼 등, 하스켈의 다른 모든 구조들에 대하여 배우게 될 것이다.

 

저자의 풍부한 (가끔은 엉뚱한) 상상력이 발휘된 예제들을 통해 여러분이 배우게 될 것은 다음과 같다.

 

- 완전한 함수형 프로그래밍 기술들을 거리낌없이 사용하게 된 부작용으로 실소할 것이다.

- 무한의 데이터 세트를 가지고 놀기 위해 하스켈의느긋함이란 마법을 사용한다.

- 여러분만의 타입과 타입 클래스, 모듈을 생성하여 프로그램을 구성한다.

- 여러분만의 천재성이 가득한 프로그램을 세상에 공유하기 위해 하스켈의 우아한 입력/출력 시스템을 사용한다.

 

저자의 머릿속을 파고들어 지식과 경험을 배워보자. 하스켈이라는 강력한 언어를 배우기 위해 이 책을 읽는 것보다 더 좋은 방법은 아마도 찾지 못할 것이다.

 

독자대상

초급

 

 

저자 소개

 

미란 리포바카 (Miran Lipovača)

슬로베니아의 류블랴나(Ljubljana)에서 컴퓨터 공학을 배웠다. 하스켈에 대한 열정뿐만 아니라, 복싱을 즐기며 베이스 키타를 연주하고 그림도 그린다. 그는 해골 춤과 숫자 71에 빠져있으며, 자동문을 통과할 때면 자신의 마음으로 문을 여는 것처럼 행동한다.

 

 

역자 소개

 

황반석

아이스하키와 전자 기타에 빠져있는 그는 한양대학교에서 컴퓨터 공학을 전공한 이후 한결같이 개발자의 길을 걷고 있다. 처음에는 C, Visual C++를 이용한 애플리케이션을 개발하다가, 인터넷이 확산되면서 Java/JSP를 이용한 대규모 웹 프로젝트들을 진행했다. 그 후 모바일 시대가 도래하면서 Android, iPhone(iPod touch), iPad 애플리케이션들을 개발하고 있으며, 현재는 트렌디앱(http://www.trendyapp.co.kr) 회사의 공동창업자이자 Chief Operating Officer로 폭넓은 모바일 세계를 개척하고 펼치겠다는 푸른 꿈을 꾸고 있다.

 

옮긴 책으로는 《누구나 쉽게 배우는 파이썬 프로그래밍》(2013, 비제이퍼블릭), C# XAML을 이용한 Windows 8 애플리케이션 개발》(2013, 제이펍), 《핵심만 골라 배우는 iOS 6 프로그래밍》(2013, 제이펍), 《고급 개발자를 위한 iOS 프로그래밍: 그 한계를 넘어서》(2012, 비제이퍼블릭), 《핵심만 골라 배우는 오브젝티브-C 2.0(2011, 제이펍) 등이 있다.

 

 

목차

 

1. 시작하기

 

함수 호출하기

첫 번째 함수

리스트 소개

범위

리스트 통합 

튜플

 

2. 타입

 

명시적 타입 선언

일반적인 하스켈 타입

타입 변수 

타입 클래스 101

타입 클래스에 대한 마지막 정리

 

3. 함수의 구문

 

패턴 매칭 

가드

where

let

case 표현식

 

4. 개념적인 개요

 

Maximum 

몇 가지 재귀함수들

정렬

재귀적으로 생각하기

 

5. 고차원 함수

 

커리된 함수 

잘 정리된 고차원주의

함수형 프로그래머의 도구상자

람다

폴드

$를 가진 함수 애플리케이션

합성 함수 

 

6. 모듈

 

모듈 임포트하기

모듈 함수로 문제 해결하기

값에 키 매핑하기

모듈 만들기

 

7. 타입과 타입 클래스 만들기

 

새로운 데이터 타입 정의하기

구체화하기

레코드 구문 

타입 매개변수 

파생된 인스턴스 

재귀적인 데이터 구조

타입 클래스 102

Yes-No 타입 클래스

Functor 타입 클래스

종류와 몇몇 타입

 

8. 입력과 출력

 

순수한 것과 순수하지 않은 것을 분리하기

Hello, World!

I/O 작업을 함께 붙이기

몇 가지 유용한 I/O 함수들

I/O 작업 리뷰

 

9. More 입력과 출력

 

파일과 스트림 

파일 읽기와 쓰기

To-do 리스트

커맨드 라인 인자

할 일 리스트 가지고 놀기

랜덤

바이트스트링

 

10. 함수적으로 문제 해결하기

 

() 폴란드 기법 계산기

히드로 공항에서 런던까지

 

11. 어플리커티브 펑터

 

펑터의 귀환  

펑터 규칙 

어플리커티브 펑터 사용하기

어플리커티브를 위한 유용한 함수들

 

12. 모노이드

 

기존 타입을 새 타입으로 래핑하기

모노이드에 대하여 

모노이드 만나기 

모노이드로 폴드하기

 

13. 수많은 모나드

 

강화된 어플리커티브 펑터 

Maybe에 발 담그기

모나드 타입 클래스

줄 타기 

do 표기법

리스트 모나드 

모나드 규칙 

 

14. More 모나드

 

Writer

Reader

에러

몇 가지 유용한 모나드 함수들

안전한 RPN 계산기 만들기 

모나드 함수 결합하기

모나드 만들기

 

15. 지퍼

 

찾아가기

리스트에 초점 맞추기

매우 간단한 파일시스템

주의!

 

[세부목자를 보려면 아래 링크를 클릭해주세요.]

 

 

 

출판사 리뷰

 

하스켈은 재미있다. 그리고 그게 전부다!

 

이 책은 C++와 자바, 파이썬과 같은 명령형 언어들에 대한 경험이 있고, 이제는 하스켈을 공부해보려는 독자를 대상으로 한다. 혹시라도 프로그래밍 경험이 충분하지 않다고 해도, 여러분처럼 똑똑한 사람이라면 충분히 하스켈을 따라 배울 수 있을 것이라고 믿는다.

 

하스켈에 대한 첫 반응은이건 너무 이상한 언어잖아!”이었다. 하지만 처음 시작하는 단계에 존재하는 고비를 넘기니 모든 것이 순조로웠다. 비록 하스켈이 처음에는 이상해 보이더라도 포기하지 말자. 하스켈을 배우는 것은 프로그래밍에 대한 거의 모든 것을 다시 처음 배우는 것과 같을 것이다.

 

참고

만약 하스켈을 공부하는 데 심각한 문제가 발생한다면 프리노드(freenode) 네트워크의 IRC 채널인 #haskell이 질문을 할 수 있는 가장 적합한 곳이다. 그곳에 있는 사람들은 친절하며 인내심과 이해심이 많다. 하스켈을 처음 시작하는 사람들에게는 최고의 자원이다.

 

 

관련글 더보기

댓글 영역