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=: <.의 예를 따라, 지금까지 마주친 각 원시형에 대해 이름을 고안하고 할당하고 사용해 보세요.

더 알아보기 (Learn more)

출처: Intro 1. Mnemonics