J: 기억술
J: 기억술 (Intro 1)
J 입문 1장에서는 기호와 의미의 관계를 기억술(mnemonics)로 익히는 방법을 설명해요. 화면 왼쪽의 세션 예시를 보고 각 원시형의 뜻을 짐작해 보는 훈련을 다뤄요.
출처: 문서
본문
페이지 왼쪽은 실제 컴퓨터 세션이며 각 문장의 결과가 왼쪽 여백에 표시돼요. 먼저 오른쪽의 주석을 가리고, 관련 기호들 사이의 관계가 분명해지도록 각 원시형(primitive)의 의미를 영어로 말해 보세요. 예를 들어, "<는 less than(보다 작다)"이고 "<.은 lesser of(즉 최소값)"이에요. 그런 다음 주석을 펼쳐 자신의 것과 비교해 보세요.
7<5 Less than
0 A zero is interpreted as false.
7<.5 Lesser of
5
7>5 Greater than
1 A one is true (à la George Boole)
7>.5 Greater of
7
10^3 Power (à la Augustus De Morgan)
1000
10^.1000 Logarithm
3
7=5 Equals
0
b=: 5 Is (assignment or copula)
7<.b
5
Min=: <. Min is <.
power=: ^ power is ^
gt=: > gt is >
10 power (5 Min 3)
1000
연습문제 (Exercises)
1.1
다음 문장들을 컴퓨터에 입력하고 결과를 관찰한 다음, 새 원시형(*, +., *. 등)에 적절한 이름을 붙이고 그 동작을 주석으로 달아 보세요.
a=:0 1 2 3
b=:3 2 1 0
a+b
a*b
a-b
a%b
a^b
a^.b
a<b
a>b
(a<b)+(a>b)
(a<b)+.(a>b)
자신의 주석을 다음 내용과 비교해 보세요:
- a) 음수 3은
_3으로 표기돼요. 밑줄_는, 소수점이 0.5 형태로 쓸 때 2분의 1의 표현의 일부인 것과 같은 의미에서 음수 표현의 일부이며, 음부호_는 뺄셈을 나타내는 기호(즉-)와 혼동해서는 안 돼요. - b) 0으로 나누기(
%)는 밑줄 단독으로 표기되는 무한대(infinity)를 산출해요. - c) 밑이 1인 로그 2는 무한대이고, 밑이 3인 로그 0은 음의 무한대(
__)예요. - d) 관계
5<7이 참이고5<7의 결과가 1이므로, 참과 거짓이 보통 정수 1과 0으로 표현된다고 말할 수 있어요. George Boole은 부울 함수 or를 나타내는 기호+와 함께 이 동일한 관례를 사용했어요. 우리는 더하기(addition,+로 표기)와 유사하지만 다른 것과의 충돌을 피하기 위해 별개의 표현+.를 사용해요.
1.2
Min=: <.의 예를 따라, 지금까지 마주친 각 원시형에 대해 이름을 고안하고 할당하고 사용해 보세요.