Skip to content
Ki Yung Ahn edited this page Mar 15, 2015 · 3 revisions
목차
머리말 
옮긴이 머리말 
추천사 
---------------------------------------


1 소개 
함수 
함수형 프로그래밍functional programming 
하스켈의 특징 
역사적 배경 
하스켈 맛보기 
[살펴보기] 
[연습문제] 


2 첫걸음 떼기 
Hugs 시스템  
표준 서막standard prelude 
함수 
하스켈 스크립트 
[살펴보기] 
[연습문제] 


3 타입과 클래스 
기본 개념 
기본 타입 
리스트 타입 
순서쌍 타입 
함수 타입 
커리된curried 함수 
여러 모양polymorphic 타입 
여러 의미overloaded 타입 
기본 클래스 
[살펴보기] 
[연습문제] 


4 함수 정의 
새것을 옛것으로부터 
조건식conditional expression 
보초선 등식guarded equation 
패턴 매칭pattern matching 
람다식lambda expression 
잘린식section 
[살펴보기] 
[연습문제] 


5 리스트 조건제시식comprehension 
생성원generator 
보초guard 
Zip 함수 
글줄string 조건제시식comprehension 
카이사르 암호Caesar cipher 
[살펴보기] 
[연습문제] 


6 되도는 함수recursive function 
기본 개념 
리스트로 되돌기 
인자가 여럿일 때 
여러 갈래로 되돌기 
서로 부르며 되돌기mutual recursion 
되도는 함수 정의를 위한 도움말 
[살펴보기] 
[연습문제] 


7 함수를 주고받는higher-order 함수 
기본 개념 
리스트 다루기 
foldr 함수  
foldl 함수 
함수 합성 연산자 
글줄string 전송기 
[살펴보기] 
[연습문제] 


8 함수형 문법 분석기 functional parser 
문법 분석기parser 
문법 분석기 타입 
기본 문법 분석기 
순서대로 엮기sequencing 
선택choice 
간단한 문법 분석기 이끌어내기 
빈칸 처리 
산술식 문법 분석하기 
[살펴보기] 
[연습문제] 



9 대화식interactive 프로그램 
대화interaction 
입출력 타입 
기본 동작basic action 
순서대로 엮기sequencing 
간단한 동작 이끌어내기 
계산기 
생명 게임game of life 
[살펴보기] 
[연습문제] 



10 타입과 클래스 선언 
타입 선언 
데이터 선언 
되도는 타입 
늘 참tautology 검사기 
추상 기계abstract machine 
클래스와 인스턴스 선언 
[살펴보기] 
[연습문제] 



11 카운트다운 문제 countdown problem 
소개 
문제를 수식으로 정리하기 
짐승같이 무식한brute-force 풀이 
생성generation하면서 계산evaluation하기 
대수적 성질을 이용하기 
[살펴보기] 
[연습문제] 



12 느긋한 계산법lazy evaluation 
소개 
계산 방식evaluation strategy 
끝남termination 
줄이기reduction 횟수 
무한 구조infinite structure 
모듈 방식modular 프로그래밍 
깐깐한 적용strict application 
[살펴보기] 
[연습문제] 



13 프로그램에 대한 논리적 증명 
등식 바탕의 논증equational reasoning 
하스켈 프로그램에 대한 논증 
간단한 보기들 
자연수에 대한 귀납법 
리스트에 대한 귀납법 
이어붙이기 연산자 없애기 
번역기 정확성compiler correctness 
[살펴보기] 
[연습문제] 








[부록] A 표준 서막standard prelude 
클래스class 
논리값logical value 
글자character와 글줄string 
수number 
순서쌍tuples 
아마도Maybe 
리스트list 
함수function 
입출력input/output 

[부록] B 기호표 및 Hugs 명령어 

[부록] C 번역 용례 

[참고문헌]

[찾아보기] (색인)

Clone this wiki locally