000 | 00964camcc2200301 c 4500 | |
001 | 000045793294 | |
005 | 20140321164559 | |
007 | ta | |
008 | 140321s2014 ulka 001c kor | |
020 | ▼a 9788994774619 ▼g 93000 | |
035 | ▼a (KERIS)BIB000013415999 | |
040 | ▼a 244026 ▼c 244026 ▼d 244026 ▼d 211009 | |
041 | 1 | ▼a kor ▼h eng |
082 | 0 4 | ▼a 005.13/3 ▼2 23 |
085 | ▼a 005.133 ▼2 DDCK | |
090 | ▼a 005.133 ▼b H349 2014 | |
100 | 1 | ▼a Lipovaca, Miran |
245 | 2 0 | ▼a (가장 쉬운) 하스켈 책 : ▼b 느긋하지만, 우아하고 세련된 함수형 언어 / ▼d 미란 리포바카 지음 ; ▼e 황반석 옮김 |
246 | 1 9 | ▼a Learn you a Haskell for great good! : ▼b a beginner's guide |
260 | ▼a 서울 : ▼b BJ Public, ▼c 2014 | |
300 | ▼a xxi, 338 p. : ▼b 삽화 ; ▼c 25 cm | |
440 | 0 0 | ▼a 가장 쉬운 책 시리즈 ; ▼v 001 |
500 | ▼a 색인수록 | |
650 | 0 | ▼a Haskell (Computer program language) |
700 | 1 | ▼a 황반석, ▼e 역 |
900 | 1 0 | ▼a 리포바카, 미란, ▼e 저 |
945 | ▼a KLPA |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 005.133 H349 2014 | Accession No. 121229234 | Availability In loan | Due Date 2022-07-11 | Make a Reservation Available for Reserve | Service |
Contents information
Book Introduction
가장 쉬운 책 시리즈 1권. 복잡한 함수형 언어를 정말로 재미있고 잘 설명한 책이다. 저자의 경험에서 우러나오는 지식들과 최신 정보들, 그리고 가장 중요하고 유용한 부분이라고 할 수 있는 예제 코드들로 엮인 이 책은 여러분이 상상할 수 없는 방법으로 함수형 언어를 설명한다.
이 책은 기본 구문과 재귀, 타입, 타입 클래스와 같은 기초적인 사항부터 시작해서 기초를 다진 후 진정한 마스터 클래스를 다룬다. 이 과정을 통해 여러분은 실용적인 함수와 모나드, 지퍼 등, 하스켈의 다른 모든 구조들에 대하여 배우게 될 것이다.
하스켈을 배우기 위한 가장 쉬운 지침서!
《가장 쉬운 하스켈 책》은 복잡한 함수형 언어를 정말로 재미있고 잘 설명한 책이다. 저자의 경험에서 우러나오는 지식들과 최신 정보들, 그리고 가장 중요하고 유용한 부분이라고 할 수 있는 예제 코드들로 엮인 이 책은 여러분이 상상할 수 없는 방법으로 함수형 언어를 설명한다.
하스켈은 재미있다. 그리고 그게 전부다!
이 책은 기본 구문과 재귀, 타입, 타입 클래스와 같은 기초적인 사항부터 시작해서 기초를 다진 후 진정한 마스터 클래스를 다룬다. 이 과정을 통해 여러분은 실용적인 함수와 모나드, 지퍼 등, 하스켈의 다른 모든 구조들에 대하여 배우게 될 것이다.
저자의 풍부한 (가끔은 엉뚱한) 상상력이 발휘된 예제들을 통해 여러분이 배우게 될 것은 다음과 같다.
- 완전한 함수형 프로그래밍 기술들을 거리낌없이 사용하게 된 부작용으로 실소할 것이다.
- 무한의 데이터 세트를 가지고 놀기 위해 하스켈의 "느긋함"이란 마법을 사용한다.
- 여러분만의 타입과 타입 클래스, 모듈을 생성하여 프로그램을 구성한다.
- 여러분만의 천재성이 가득한 프로그램을 세상에 공유하기 위해 하스켈의 우아한 입력/출력 시스템을 사용한다.
저자의 머릿속을 파고들어 지식과 경험을 배워보자. 하스켈이라는 강력한 언어를 배우기 위해 이 책을 읽는 것보다 더 좋은 방법은 아마도 찾지 못할 것이다.
독자대상
초급
하스켈은 재미있다. 그리고 그게 전부다!
이 책은 C++와 자바, 파이썬과 같은 명령형 언어들에 대한 경험이 있고, 이제는 하스켈을 공부해보려는 독자를 대상으로 한다. 혹시라도 프로그래밍 경험이 충분하지 않다고 해도, 여러분처럼 똑똑한 사람이라면 충분히 하스켈을 따라 배울 수 있을 것이라고 믿는다.
하스켈에 대한 첫 반응은 "이건 너무 이상한 언어잖아!"이었다. 하지만 처음 시작하는 단계에 존재하는 고비를 넘기니 모든 것이 순조로웠다. 비록 하스켈이 처음에는 이상해 보이더라도 포기하지 말자. 하스켈을 배우는 것은 프로그래밍에 대한 거의 모든 것을 다시 처음 배우는 것과 같을 것이다.
참고
만약 하스켈을 공부하는 데 심각한 문제가 발생한다면 프리노드(freenode) 네트워크의 IRC 채널인 #haskell이 질문을 할 수 있는 가장 적합한 곳이다. 그곳에 있는 사람들은 친절하며 인내심과 이해심이 많다. 하스켈을 처음 시작하는 사람들에게는 최고의 자원이다.
Information Provided By: :

Author Introduction
미란 리포바카(지은이)
슬로베니아의 류블랴나(Ljubljana)에서 컴퓨터 공학을 배웠다. 하스켈에 대한 열정뿐만 아니라, 복싱을 즐기며 베이스 키타를 연주하고 그림도 그린다. 그는 해골 춤과 숫자 71에 빠져있으며, 자동문을 통과할 때면 자신의 마음으로 문을 여는 것처럼 행동한다.
황반석(옮긴이)
한양대학교에서 컴퓨터 공학을 전공한 후, 지금까지 개발자의 길을 걷는 중입니다. 애플리케이션 개발이 천직임을 인정하면서도 혹시 다른 재능도 있는 건 아닐까 하는 희망으로 아이스하키도 해보고 기타도 만져 봤지만, 결국은 컴퓨터 앞에 앉아 개발에 몰두하는 자신을 발견하곤 합니다. 최근에는 플러터 같은 멀티 플랫폼 개발에 관심이 있습니다. 옮긴 책으로는 《핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍》(제이펍, 2020) 외 13종이 있으며, 독자를 위한 인터넷 카페(http://cafe.naver.com/petersbook)도 운영하고 있습니다.

Table of Contents
저자 소개 = ⅴ 감사의 글 = ⅴ 역자 소개 = ⅵ 역자 머리말 = ⅶ 서문 = ⅸ 1장. 시작하기 = 1 함수 호출하기 = 3 첫 번째 함수 = 5 리스트 소개 = 8 연결 = 8 리스트 항목에 접근하기 = 9 리스트 안의 리스트 = 10 리스트 비교하기 = 10 더 많은 리스트 연산 = 11 범위 = 14 리스트 통합 = 16 튜플 = 20 튜플 이용하기 = 20 페어 이용하기 = 21 직각 삼각형 찾기 = 22 2장. 타입 = 25 명시적 타입 선언 = 25 일반적인 하스켈 타입 = 27 타입 변수 = 28 타입 클래스 101 = 29 Eq 타입 클래스 = 30 Ord 타입 클래스 = 30 Show 타입 클래스 = 31 Read 타입 클래스 = 31 Enum 타입 클래스 = 33 Bounded 타입 클래스 = 34 Num 타입 클래스 = 34 Floating 타입 클래스 = 35 Integral 타입 클래스 = 35 타입 클래스에 대한 마지막 정리 = 36 3장. 함수의 구문 = 37 패턴 매칭 = 37 튜플의 패턴 매칭 = 39 리스트와 리스트 통합의 패턴 매칭 = 40 as-패턴 = 42 가드 = 43 where = 45 범위 = 46 where와 함께하는 패턴 매칭 = 47 where 블록 속의 함수 = 47 let = 48 리스트 통합에서의 let = 49 GHCi에서의 let = 50 case 표현식 = 50 4장. 개념적인 개요 = 53 Maximum = 54 몇 가지 재귀함수들 = 55 replicate = 55 take = 56 reverse = 57 repeat = 57 zip = 57 elem = 58 정렬 = 58 알고리즘 = 58 코드 = 60 재귀적으로 생각하기 = 60 5장. 고차원 함수 = 63 커리된 함수 = 63 섹션 = 66 함수 출력하기 = 66 잘 정리된 고차원주의 = 67 zipWith 구현하기 = 68 flip 구현하기 = 69 함수형 프로그래머의 도구상자 = 70 map 함수 = 70 filter 함수 = 71 map과 filter에 대한 예제 = 72 여러 매개변수와 함수 매핑하기 = 75 람다 = 75 폴드 = 77 foldl로 레프트 폴드 = 78 foldr로 라이트 폴드 = 79 foldl1과 foldr1 함수 = 80 몇 가지 폴드 예제 = 81 폴드를 보는 또 다른 방법 = 82 무한 리스트 폴드하기 = 83 스캔 = 84 $를 가진 함수 애플리케이션 = 85 합성 함수 = 87 여러 매개변수를 갖는 합성 함수 = 88 포인트 프리 스타일 = 89 6장. 모듈 = 91 모듈 임포트하기 = 91 모듈 함수로 문제 해결하기 = 93 단어 카운팅 = 93 건초 더미에서 바늘 찾기 = 95 시저 암호 = 96 엄격한 레프트 폴드 = 98 숫자 찾기 = 99 값에 키 매핑하기 = 102 어소시에이션 리스트 = 102 Data.Map 입력 = 104 모듈 만들기 = 109 Geometry 모듈 = 109 계층적인 모듈 = 111 7장. 타입과 타입 클래스 만들기 = 113 새로운 데이터 타입 정의하기 = 113 구체화하기 = 114 Point 데이터 타입으로 Shape 개선하기 = 115 모듈에 있는 Shape를 익스포트하기 = 117 레코드 구문 = 118 타입 매개변수 = 121 Car를 매개변수화해야 하나? = 123 벡터 = 125 파생된 인스턴스 = 127 사람 동일시하기 = 127 읽는 방법 = 129 순서 = 130 한 주의 어떤 요일 = 131 타입 동의어 = 132 보기 좋은 전화번호부 = 133 타입 동의어 매개변수화하기 = 134 Left, 그리고 나서 Right = 135 재귀적인 데이터 구조 = 138 리스트 개선하기 = 139 트리 = 140 타입 클래스 102 = 144 Eq 타입 클래스의 내부 = 144 신호등 데이터 타입 = 145 하위 클래스 = 146 타입 클래스의 인스턴스처럼 매개변수화된 타입 = 147 Yes-No 타입 클래스 = 149 Functor 타입 클래스 = 152 펑터인 Maybe = 154 트리 역시 펑터다 = 155 펑터인 Either a = 156 종류와 몇몇 타입 = 157 8장. 입력과 출력 = 161 순수한 것과 순수하지 않은 것을 분리하기 = 161 Hello, World! = 162 I/O 작업을 함께 붙이기 = 164 I/O 작업 내에서 let 사용하기 = 166 거꾸로 넣기 = 167 몇 가지 유용한 I/O 함수들 = 170 putStr = 170 putChar = 170 print = 171 when = 172 sequence = 172 mapM = 174 forever = 174 forM = 174 I/O 작업 리뷰 = 176 9장. More 입력과 출력 = 177 파일과 스트림 = 177 입력 리다이렉션 = 177 입력 스트림에서 문자열 얻기 = 178 입력 변형하기 = 181 파일 읽기와 쓰기 = 183 withFile 함수 이용하기 = 185 Bracket 타임 = 186 핸들을 잡아라! = 187 To-do 리스트 = 188 항목 삭제하기 = 189 정리하기 = 191 커맨드 라인 인자 = 192 할 일 리스트 가지고 놀기 = 194 멀티태스킹 할 일 리스트 = 194 잘못된 입력 처리하기 = 198 랜덤 = 199 동전 던지기 = 202 더 많은 랜덤 함수들 = 202 랜덤과 I/O = 204 바이트스트링 = 207 엄격한 바이트스트링과 느긋한 바이트스트링 = 208 바이트스트링으로 파일 복사하기 = 211 10장. 함수적으로 문제 해결하기 = 213 역(逆) 폴란드 기법 계산기 = 213 RPN 표현식 계산하기 = 213 RPN 함수 만들기 = 214 연산자 더 추가하기 = 217 히드로 공항에서 런던까지 = 218 가장 빠른 경로 계산하기 = 219 하스켈로 도로 시스템 표현하기 = 221 최적 경로 함수 만들기 = 222 입력으로 도로 시스템 얻기 = 225 11장. 어플리커티브 펑터 = 229 펑터의 귀환 = 229 펑터인 I/O 작업 = 230 펑터인 함수 = 232 펑터 규칙 = 235 규칙 1 = 236 규칙 2 = 236 규칙 깨기 = 237 어플리커티브 펑터 사용하기 = 239 Applicative = 240 Maybe Applicative 펑터 = 241 어플리커티브 스타일 = 243 List = 245 IO 역시 어플리커티브 펑터다 = 247 어플리커티브인 함수 = 248 리스트 합치기 = 250 어플리커티브 규칙 = 251 어플리커티브를 위한 유용한 함수들 = 252 12장. 모노이드 = 257 기존 타입을 새 타입으로 래핑하기 = 257 타입 클래스 인스턴스를 만들기 위해 newtype 사용하기 = 260 newtype의 느긋함 = 261 type, newtype, data = 263 모노이드에 대하여 = 265 모노이드 타입 클래스 = 266 모노이드 규칙 = 267 모노이드 만나기 = 268 리스트는 모노이드다 = 268 곱셈과 덧셈 = 269 Any와 All = 271 Ordering 모노이드 = 272 Maybe 모노이드 = 275 모노이드로 폴드하기 = 277 13장. 수많은 모나드 = 281 강화된 어플리커티브 펑터 = 281 Maybe에 발 담그기 = 283 모나드 타입 클래스 = 286 줄 타기 = 288 코드, 코드, 코드 = 288 난 떨어질 거야 = 290 줄 위의 바나나 = 293 do 표기법 = 294 내가 했던 것처럼 해 = 296 돌아온 피에르 = 297 패턴 매칭과 실패 = 298 리스트 모나드 = 300 do 표기법과 리스트 통합 = 302 MonadPlus와 guard 함수 = 303 기사의 임무 = 305 모나드 규칙 = 308 좌항등원 = 308 우항등원 = 309 결합성 = 310 14장. More 모나드 = 313 Writer = 313 구조에 나선 모노이드 = 316 Writer 타입 = 318 Writer로 do 표기법 이용하기 = 319 로그를 프로그램에 추가하기 = 321 비효율적인 리스트 구조 = 323 디퍼런스 리스트 사용하기 = 324 성능 비교하기 = 326 Reader = 327 모나드인 함수 = 328 리더 모나드 = 329 세련되게 상태를 유지하는 계산 = 330 상태를 유지하는 계산 = 331 스택 = 331 State 모나드 = 333 State 얻기와 설정하기 = 336 난수와 State 모나드 = 337 에러 = 338 몇 가지 유용한 모나드 함수들 = 340 liftM = 341 join 함수 = 344 filterM = 346 foldM = 349 안전한 RPN 계산기 만들기 = 350 모나드 함수 결합하기 = 353 모나드 만들기 = 355 15장. 지퍼 = 361 찾아가기 = 362 빵가루 흔적 = 364 돌아가기 = 366 초점을 둔 트리 조작하기 = 368 공기 좋고 깨끗한 정상으로 곧바로 가기 = 370 리스트에 초점 맞추기 = 370 매우 간단한 파일시스템 = 372 파일시스템을 위한 지퍼 만들기 = 373 파일시스템 조작하기 = 376 주의! = 377 감사합니다! = 379 찾아보기 = 381