장바구니 담기 close

장바구니에 상품을 담았습니다.

가장 쉬운 하스켈 책 (느긋하지만 우아하고 세련된 함수형 언어 가장 쉬운 책 시리즈 1)

가장 쉬운 하스켈 책 (느긋하지만 우아하고 세련된 함수형 언어 가장 쉬운 책 시리즈 1)

  • 미란 리포바카
  • |
  • 비제이퍼블릭
  • |
  • 2014-02-25 출간
  • |
  • 412페이지
  • |
  • 175 X 230 mm
  • |
  • ISBN 9788994774619
★★★★★ 평점(10/10) | 리뷰(1)
판매가

28,000원

즉시할인가

25,200

배송비

2,300원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
25,200

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

목차

1장. 시작하기
함수 호출하기
첫 번째 함수
리스트 소개
--연결
--리스트 항목에 접근하기
--리스트 안의 리스트
--리스트 비교하기
--더 많은 리스트 연산
범위
리스트 통합
튜플
--튜플 이용하기
--페어 이용하기
--직각 삼각형 찾기

2장. 타입
명시적 타입 선언
일반적인 하스켈 타입
타입 변수
타입 클래스 101
--Eq 타입 클래스
--Ord 타입 클래스
--Show 타입 클래스
--Read 타입 클래스
--Enum 타입 클래스
--Bounded 타입 클래스
--Num 타입 클래스
--Floating 타입 클래스
--Integral 타입 클래스
타입 클래스에 대한 마지막 정리

3장. 함수의 구문
패턴 매칭
--튜플의 패턴 매칭
--리스트와 리스트 통합의 패턴 매칭
--as-패턴
가드
where
--범위
--where와 함께하는 패턴 매칭
--where 블록 속의 함수
let
--리스트 통합에서의 let
--GHCi에서의 let
case 표현식

4장. 개념적인 개요
Maximum
몇 가지 재귀함수들
--replicate
--take
--reverse
--repeat
--zip
--elem
정렬
--알고리즘
--코드
재귀적으로 생각하기

5장. 고차원 함수
커리된 함수
--섹션
--함수 출력하기
잘 정리된 고차원주의
--zipWith 구현하기
--flip 구현하기
함수형 프로그래머의 도구상자
--map 함수
--filter 함수
--map과 filter에 대한 예제
--여러 매개변수와 함수 매핑하기
람다
폴드
--foldl로 레프트 폴드
--foldr로 라이트 폴드
--foldl1과 foldr1 함수
--몇 가지 폴드 예제
--폴드를 보는 또 다른 방법
--무한 리스트 폴드하기
--스캔
$를 가진 함수 애플리케이션
합성 함수
--여러 매개변수를 갖는 합성 함수
--포인트 프리 스타일

6장. 모듈
모듈 임포트하기
모듈 함수로 문제 해결하기
--단어 카운팅
--건초 더미에서 바늘 찾기
--시저 암호
--엄격한 레프트 폴드
--숫자 찾기
값에 키 매핑하기
--어소시에이션 리스트
--Data.Map 입력
모듈 만들기
--Geometry 모듈
--계층적인 모듈

7장. 타입과 타입 클래스 만들기
새로운 데이터 타입 정의하기
구체화하기
--Point 데이터 타입으로 Shape 개선하기
--모듈에 있는 Shape를 익스포트하기
레코드 구문
타입 매개변수
--Car를 매개변수화해야 하나?
--벡터
파생된 인스턴스
--사람 동일시하기
--읽는 방법
--순서
--한 주의 어떤 요일
--타입 동의어
--보기 좋은 전화번호부
--타입 동의어 매개변수화하기
--Left, 그리고 나서 Right
재귀적인 데이터 구조
--리스트 개선하기
--트리
타입 클래스 102
--Eq 타입 클래스의 내부
--신호등 데이터 타입
--하위 클래스
--타입 클래스의 인스턴스처럼 매개변수화된 타입
Yes-No 타입 클래스
Functor 타입 클래스
--펑터인 Maybe
--트리 역시 펑터다
--펑터인 Either a
종류와 몇몇 타입

8장. 입력과 출력
순수한 것과 순수하지 않은 것을 분리하기
Hello, World!
I/O 작업을 함께 붙이기
--I/O 작업 내에서 let 사용하기
--거꾸로 넣기
몇 가지 유용한 I/O 함수들
--putStr
--putChar
--print
--when
--sequence
--mapM
--forever
--forM
I/O 작업 리뷰

9장. More 입력과 출력
파일과 스트림
--입력 리다이렉션
--입력 스트림에서 문자열 얻기
--입력 변형하기
파일 읽기와 쓰기
--withFile 함수 이용하기
--Bracket 타임
--핸들을 잡아라!
To-do 리스트
--항목 삭제하기
--정리하기
커맨드 라인 인자
할 일 리스트 가지고 놀기
--멀티태스킹 할 일 리스트
--잘못된 입력 처리하기
랜덤
--동전 던지기
--더 많은 랜덤 함수들
--랜덤과 I/O
바이트스트링
--엄격한 바이트스트링과 느긋한 바이트스트링
--바이트스트링으로 파일 복사하기

10장. 함수적으로 문제 해결하기
역(逆) 폴란드 기법 계산기
--RPN 표현식 계산하기
--RPN 함수 만들기
--연산자 더 추가하기
히드로 공항에서 런던까지
--가장 빠른 경로 계산하기
--하스켈로 도로 시스템 표현하기
--최적 경로 함수 만들기
--입력으로 도로 시스템 얻기

11장. 어플리커티브 펑터
펑터의 귀환
--펑터인 I/O 작업
--펑터인 함수
펑터 규칙
--규칙 1
--규칙 2
--규칙 깨기
어플리커티브 펑터 사용하기
--Applicative
--Maybe Applicative 펑터
--어플리커티브 스타일
--List
--IO 역시 어플리커티브 펑터다
--어플리커티브인 함수
--리스트 합치기
--어플리커티브 규칙
어플리커티브를 위한 유용한 함수들

12장. 모노이드
기존 타입을 새 타입으로 래핑하기
--타입 클래스 인스턴스를 만들기 위해 newtype 사용하기
--newtype의 느긋함
--type, newtype, data
모노이드에 대하여
--모노이드 타입 클래스
--모노이드 규칙
모노이드 만나기
--리스트는 모노이드다
--곱셈과 덧셈
--Any와 All
--Ordering 모노이드
--Maybe 모노이드
모노이드로 폴드하기

13장. 수많은 모나드
강화된 어플리커티브 펑터
Maybe에 발 담그기
모나드 타입 클래스
줄 타기
--코드, 코드, 코드
--난 떨어질 거야
--줄 위의 바나나
do 표기법
--내가 했던 것처럼 해
--돌아온 피에르
--패턴 매칭과 실패
리스트 모나드
--do 표기법과 리스트 통합
--MonadPlus와 guard 함수
--기사의 임무
모나드 규칙
--좌항등원
--우항등원
--결합성

14장. More 모나드
Writer
--구조에 나선 모노이드
--Writer 타입
--Writer로 do 표기법 이용하기
--로그를 프로그램에 추가하기
--비효율적인 리스트 구조
--디퍼런스 리스트 사용하기
--성능 비교하기
Reader
--모나드인 함수
--리더 모나드
세련되게 상태를 유지하는 계산
--상태를 유지하는 계산
--스택
--State 모나드
--State 얻기와 설정하기
--난수와 State 모나드
에러
몇 가지 유용한 모나드 함수들
--liftM
--join 함수
--filterM
--foldM
안전한 RPN 계산기 만들기
모나드 함수 결합하기
모나드 만들기

15장. 지퍼
찾아가기
--빵가루 흔적
--돌아가기
--초점을 둔 트리 조작하기
--공기 좋고 깨끗한 정상으로 곧바로 가기
리스트에 초점 맞추기
매우 간단한 파일시스템
--파일시스템을 위한 지퍼 만들기
--파일시스템 조작하기

도서소개

이 책은 C++와 자바, 파이썬과 같은 명령형 언어들에 대한 경험이 있고, 이제는 하스켈을 공부해보려는 독자를 대상으로 한다. 혹시라도 프로그래밍 경험이 충분하지 않다고 해도, 여러분처럼 똑똑한 사람이라면 충분히 하스켈을 따라 배울 수 있을 것이라고 믿는다. 하스켈에 대한 첫 반응은 “이건 너무 이상한 언어잖아!”이었다. 하지만 처음 시작하는 단계에 존재하는 고비를 넘기니 모든 것이 순조로웠다. 비록 하스켈이 처음에는 이상해 보이더라도 포기하지 말자. 하스켈을 배우는 것은 프로그래밍에 대한 거의 모든 것을 다시 처음 배우는 것과 같을 것이다.
하스켈을 배우기 위한 가장 쉬운 지침서!

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

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

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

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

- 완전한 함수형 프로그래밍 기술들을 거리낌없이 사용하게 된 부작용으로 실소할 것이다.
- 무한의 데이터 세트를 가지고 놀기 위해 하스켈의 “느긋함”이란 마법을 사용한다.
- 여러분만의 타입과 타입 클래스, 모듈을 생성하여 프로그램을 구성한다.
- 여러분만의 천재성이 가득한 프로그램을 세상에 공유하기 위해 하스켈의 우아한 입력/출력 시스템을 사용한다.

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

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

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

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

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.