-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Ki Yung Ahn edited this page Jun 25, 2024
·
129 revisions
Welcome to the PLbook wiki!
프로그래밍언어론 Programming Language Theory (with exercises in Haskell), 도서출판 홍릉, 2013-01-31 초판1쇄 발행, ISBN13 9791156000884
김민식, 김종윤, 박준형, 서지웅, 신수민, 윤승준, 이동복, 이재혁, 임도은, 정종운
김지민, 문해찬, 명현철, 성재빈, 성준모, 장민혁, 유진호, 이강준, 이규호, 이승현, 이정아, 최태규, 한성준
전체적으로 "파라메터" ==> "파라미터" 표준 외래어 표기법에 따르면 이렇게 해야 한다고 함.
또 '알고리즘'과 '알고리듬'을 혼용해서 썼는데 '알고리즘'으로 통일해서 원고에 반영했습니다.
- p.v, p.78, p.79, p.230 : 지역번수 ==> 지역변수 (절 제목 및 코드 셀 안의 주석 부분에)
- p.6: 1.3절 제목에서 프로그래밍언에서 ==> 프로그래밍언어에서
- p.6: 아래와 같이 다섯
같은단계로 나눠 설명한다고 - p.8: 젼혀 -> 전혀
- p.11: 방식로 ==> 방식으로
- p.12: 단말 기호로만 이루졌다면 ==> 단말 기호로만 이루어졌다면
- p.13 <그림 2.1>의 G2 문법나무에서
$S_1$ ==>$S_2$ - p.14 <그림 2.2> 두번째 문법나무에서
$S_1$ ==>$S_2$ - p.14: 문법나무는 아래와 같이 두 가지가 ==> 문법나무는 위와 같이 두 가지가 (그림이 윗부분으로 옮겨진 후에 이건 안바뀌고 그대로 있었음)
- p.17: 여러 번 반복되는 구조가 나타나는 포함할 수 있지만 -> 여러 번 반복되는 구조가 나타나는 것을 포함할 수 있지만
- p.20: 연습문제 2번 집합의 첫번째로 나타나는 문자열
wov
==>wovv
- p.21: 설명서는 ==> 설명서에는
- p.23: <그림3.1>-(b) 토큰열에서 오탈자까진 아니지만, 의도치 않게 사각형 박스 안의
3
이 줄바꿈되어 있다.3
이 가장 오른쪽 끝에^
다음에 나타내려는 의도였음 - pp.25-26: "실용적 편의성을 고려된 ..." ==> "실용적 편의성이 고려된 ..." 원래 p.25에서 문장이 끝나고 p.26에는 그림들만 나오도록 배치하려는 의도였는데, 앞서 p.23에서 의도치 않게 그림 안에 사각형이 줄바꿈되는 바람에 p.26으로 p.25에 끝내려던 본문 문장 끝부분이 침범한 상황
- p.36: 구셩하는 ==> 구성하는
- p.44: 생략된 것으로 이해하도 무방하다. ==> 생략된 것으로 이해해도 무방하다.
- p.47: 예컨데 ==> 예컨대
- p.47: 합쳐서서 ==> 합쳐져서
- p.47: 두갈래씩 ==> 두 갈래씩
- p.50: 밥을 또 한 공기 먹는 복합적 명령은 ==> 디저트 한 그릇 먹는 복합적 명령은
- p.50: 일관된 뜻을 나타낸다 엄밀한 이론적 증명이 ==> 일관된 뜻을 나타내는 엄밀한 이론적 증명이
- p.52: 큰걸음(bit-step) ==> 큰걸음(big-step)
- p.56: 5.1.1절 제목에서 납치(catpure) -> 납치(capture)
- p.58: 유효볌위 ==> 유효범위
- p.60: 나타되므로 ==> 나타나므로 (두 곳 있음)
- p.61, p.67: 추상묶음나무 ==> 요약묶음나무, 추상문법나무 ==> 요약문법나무, 추상문법 표현을 ==> 요약문법 표현을. 책 앞부분에서 abstract를 추상..과 요약.. 두 가지로 용어를 옮기는데 이 책에서는 이후 주로 요약.. 으로 하겠다고 해놓고는 조금 일관성 없이 갑자기 추상..을 쓰고 있어서 요약..으로 통일하는 것이 좋을 듯. 바로 전 p.60 에서도 요약.. 으로 용어를 쓰고 있고
- p.62: 계신식 ==> 계산식
- p.63: '타입 보존'(type perservation) --> '타입 보존'(type preseravtion)
- p.64:
$(0,1)\to 1$ ==>$(0,1)\mapsto 1$ - p.67: 드브로인 ==> 드브루인 (두 군데 있음)
- p.71: 함수형 프로그래밍언어에 대하 ==> 함수형 프로그래밍언어에 대해
- p.71: 이야기자하면 ==> 이야기하자면
- p.78: 지역번수 ==> 지역변수 (이거 말고 한두 군데 더 있어서 여기 저장소의 원고에서는 다 수정함)
- p.88: 45번 셀의 주석에서, "기본상수 CF, CB가 선언됨" -> "기본상수 CF, CT가 선언됨"
- p.93:
uncrry
==>uncurry
- p.94: 지역 변수를 선언는 let식이나 ==> 지역 변수를 선언하는 let식이나
- p.96 연습문제 3번 "바꿀 없다고 판단되는 ..." -> "바꿀 수 없다고 판단되는 ..."
- p.97: 하스켈으로 ==> 하스켈로
- p.101: 리스트 조건제시법 바로 밑에
set comprehension이 부분은 색인 명령어를 실수해 본문으로 잘못 출력되어비린 상황. 그냥 "수학에서 집합 ..." 부터 문장이 시작한다고 보면 됨 - p.109: 결정적 작은걸음 의미구조 설명에서 왼항과 오른항을 바꿔서 작성한 문장이 있음.
"오른항이 정수값 형태이고 왼항이 계산이 완료되지 않은 형태의 식이면 마지막 셋째 규칙만 적용 가능하다" ==>
"왼항이 정수값 형태이고 오른항이 계산이 완료되지 않은 형태의 식이면 마지막 셋째 규칙만 적용 가능하다" - p.110: 아래와 같이 다시 더 구체적인 패턴을 다루는 둘째 규칙에 대한 등식이 셋째 등식에 대한 규칙보다 앞서 나타나도록 정의해야 ==> 아래와 같이 더 구체적인 패턴을 다루는 셋째 규칙에 대한 등식이 둘째 규칙에 대한 등식보다 앞서 나타나도록 다시 정의해야 (뭔가 단어들이 순서가 여기저가 뒤섞여 버렸음 ...)
- p.111: 그 차리에 ==> 그 자리에
- p.113: 실행은 되지만 미관상 코드에서 띄어쓰기 수정할 부분.
[55]
,[57]
번 셀에서==>(I 3 `Add `I 4)
(I 3 `Add` I 4)
- p.115: 합류성(...)이 만족하는 경우라면 ==> 합류성(..)이 성립하는 경우라면
- p.117, p.204: 그림 10.1과 그림 12.1에서 조건식 관련 마지막 두 규칙에서
$n_0$ 와$n_1$ 대신$v_0$ 와$v_1$ 으로 고쳐야 함. 왜냐하면 조건식의 결과는 정수값과 클로저 두 가지 다 가능하기 때문. (관련 하스켈 코드는 제대로 작성되어 있음) - p.119: 5번문제
[45]
번셀 ==>[54]
번셀 - p.121: 튜링기계(...)을 ==> 튜링기계(...)를
- p.126:
[12]
번 셀 마지막 줄step it
다음에 오는 주석 중에서(\w.\v x)
부분을(\w.\v.v x)
로 수정해야 - p.133:
Church encoding|see처치 인코딩,이 부분도 색인 명령어를 실수해 본문으로 잘못 출력되어비린 상황. - p.133-134: 처치-인코딩 ==> 처치 인코딩 (그림 8.3 캡션과 p.134 중간쯤에. 뵘-베라르두치 여기 두 사람 이름 사이에 선을 긋다가 처치 다음에까지 선을 실수로 ...)
- p.134: 다형타입로 ==> 다형타입으로
- p.138: 0과 1해당하는 => 0과 1에 해당하는
- p.139:
(\x -> 1+y)
==>(\x -> 1+x)
- p.141: 괄호와 쉼표 사에에 ==> 괄호와 쉼표 사이에
- p.153: 식(
$e$ )와 ==> 식($e$ )과 - p.155 적용 먼저(call-by-value) ==> 적용 먼저(call-by-name)
- p.160: 계산이 끝난 값의 형태(
$\langle\lambda x.e,\rho_1$ )일 ==> 계산이 끝난 값의 형태($\langle\lambda x.e,\rho_1\rangle$ )일 - p.160: 나중의 할 일 ==> 나중에 할 일 (세 군데 있음. 둘째, 셋쩨, 넷쩨 항목에서 하나씩)
- p.165: 9.3.4 제목에서 evaulation ==> evaluation
- p.168: 이제 CESKz 하스켈로 ==> 이제 CESKz를 하스켈로
- p.168: 이를 포함하는
포함하는클로저 ('포함하는'이 두 번 반복됨) - p.169: 더 좁은 유효 범위에 기존의 변수 이름과 같은
같은이름을 ('같은'이 두 번 반복됨) - p.169: 순서쌍 리스트도로 ==> 순서쌍 리스트로도
- p.169: 에컨대 ==> 예컨대
- p.171: 구성 요소로 계산이 끝난 값을
후특정 주소(Addr)에 - p.186: 파서의 타입을 여러 번에 결쳐 일반화할 수 있다. ==> 파서의 타입을 다음과 같이 여러 번에 걸쳐 일반화할 수 있다.
- p.187: 넘겨받아
받아 - p.188: 둘째 파서가 만들진다 ==> 둘째 파서가 만들어진다
- p.188: 천제 ==> 전체
- p.190:
[49]
==>[16]
- p.194: FAC언어를 토큰화를 ==> FAC언어의 토큰화를
- p.194: 결과(n)을 ==> 결과(n)를
- p.196: 컴비네터까지 ==> 컴비네이터까지
- p.200:
lexFAC :: Parser Char Tok
==>lexFAC :: Parser Char [Tok]
- p.203: 프로그래밍어 ==> 프로그래밍언어
- p.201: embeeded ==> embeded, embeded ==> embedded
- p.201: 우선순와의 ==> 우선순위와
- p.201: 강하게 결하는 ==> 강하게 결합하는
- p.205: 아래 그림처럼 자기 자신을 참조하는 화살표가 출력되어야 하는데 제대로 렌더링되지 않았음
- p.206: "파란색으로" 에서 '파란색' 부분에다 p.204에서처럼 물결무늬 밑줄 추가할 것. 단도로 인쇄하는 바람에 색이 표시가 안되어서 물결무늬 밑줄도 함께 표기하게 된 것인데 처음에 한군데만 처리해 놓고 또 한번 더 나오는 곳에는 안해놓았음
- p.211: 마지막 줄에 "자연수 및 그에 연산을 ..." ==> "자연수 및 그에 대한 연산을 ..."
- p.212 에컨대 ==> 예컨대
- p.212:
$\mathcal{M};\rho\vdash P~$ ==>$~\mathcal{M};\rho\models P$ - p.213: 의미구조과 ==> 의미구조와
- p.216: 같아야 한다는 전제조건 있으며 -> 같아야 한다는 전제조건이 있으며
- p.216: 다형성(polymorphsm) -> 다형성(polymorphism)
- p.219: 정의의 ==> 정의
- p.220: 안전성(completeness)는 ==> 안전성(completeness)은
- p.220: 작성하려 시도 ==> 작성하려 시도해도
- p.220: 안전성를 ==> 안전성을
- p.220: 제공하려는 한다. ==> 제공하려고 한다.
- p.221: 간소회 ==> 간소화
- p.221: (연습문제 1번)
[5]
번 셀의 eval 함수에서 ==>[6]
번 셀의 eval 함수에서 - p.223: 이론를 ==> 이론을
- pp.223-224: 유효범휘 ==> 유효범위
- p.228: 연달아 겹쳐진 람다요약식이 와 같이 ==> 연달아 겹쳐진 람다요약식이
$(\lambda x_1.\lambda x_{22}.\ldots\lambda x_{2k}.e)~e_{21}~e_{22}\,\cdots\,e_{2k}$ 와 같이 - p.238:
tyrecon
==>recon
,tyinf
==>infer
- p.238: 서로 겹치지 i를 ==> 서로 겹치지 않도록 i를
- p.230:
[19]
번 셀 주석에서 undefiend ==> undefined - p.243: 끝부분 14.5절에서 "... 타입(Ty)에 대한 일치화를
통해설명하자면 ..." - p.250: (연습문제 3번) ... 방식 U(그림 14.1)을 따라 만들어지는 타입 치환의 멱등성(idempotence)이 어떻게 보장되는지 ... ==> ... 방식 U(그림 14.1)에 따라 만들어지는 타입 치환은 멱등성(idempotence)이 보장된다. 어떻게 해서 그러한 성질이 보장되는지 ...
- p.263: 간소회 => 간소화
- p.268: 여휘분석 ==> 어휘분석
- p.270: 어쉬분석 ==> 어휘분석