머릿말
소스코드
1장 개미 수열 시작하기
- 읽고 말하기 수열
- 구글 랩스 적성 검사
- Java #0 -
for와String - Haskell #0 - 리스트
- Java #1 -
ant()와next()분리 - Wishful Thinking
2장 정규표현식
- 롭 파이크의 충고
- 반복 문자열 찾기
- JavaScript #0 - 정규표현식
- Java #2 - 정규표현식
- App-specific vs. General
3장 리스트 처리
next()가 하는 일- Java #3 - 리스트 처리
- 리스트 처리 함수들
- 연습. JavaScript 배열 처리하기
- 함수형 프로그래밍
4장 이터레이터
- 개미 수열의 특성
- 이터레이터와 이터러블
- 개미 수열과 이터레이터
- JavaScript #1 - 이터레이터
- 지연 리스트로서의 이터레이터
- 연습. Java 이터레이터 구현하기
- 이터레이터 구현 리뷰
5장 제너레이터
- JavaScript #2 - 제너레이터
- 연습. 제너레이터
group()과map() - Java #4 - 쓰레드를 이용한 제너레이터
- 이터레이터/제너레이터 리뷰
- 제너레이터 이해하기
6장 코루틴
- 코루틴 이해하기
- Go의 고루틴과 채널
- Go #0 - 채널과 고루틴
- 코루틴과 개미 수열
- C #0 - 코루틴
- C #1 - 매크로 푸!
- JavaScript #5 - 제너레이 터 코루틴
- JavaScript #6 - js-csp
- 개미 수열 복잡도
- 코루틴 구현 리뷰
7장 CPS
- JavaScript #7 - CPS
- 연습. CPS 개미 수열(JavaScript) 완성하기
- Java #5 - CPS
- 파이프를 이용한 개미 수열
- CPS 구현 리뷰
8장 CSP와 인터프리터 패턴
- Go의 동시성 요소들
- CSP를 위한 미니 언어
- 핑퐁 예제
- CSP 표현법
- Java #6 - CSP 개미 수열
- 연습. 콜백 스타일로
applyN()도움 함수 구현하기 - CSP 미니 언어 인터프리터
- CSP 인터프리터 리뷰
- 연습. CSP 미니 언어에
sleep()추가하기 - 연습. CSP 미니 언어에
select()추가하기
9장 지연 리스트
- Haskell의 리스트는 지연 리스트
- Haskell 코드 읽기
- 지연 리스트를 지원하는 언어들
- Java #7 - 지연 리스트
- 연습.
Stream클래스Iterable구현하기 - Java #8 - 지연 리스트 일반화
- 연습.
iterate구현하기 - 왜
head를 지연 연산하는가? - 지연 리스트 리뷰
10장 리액티브 스트림
- 노드로 시작
- 배압
- 리액티브 스트림
- 연습. 쓰기 스트림을
Subscriber로 감싸기 - Java로 옮겨보기
- 정리