āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻžāĻ§āĻŋāĻ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§āĻ° āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻ¸ā§āĻā§āĻļāĻ¨ āĻ¯ā§āĻŽāĻ¨ āĻāĻŦā§āĻ¨ā§āĻā§ āĻ āĻ¨āĻ˛āĻžāĻāĻ¨, āĻĢā§āĻĄā§āĻ°āĻž āĻ āĻ¨āĻ˛āĻžāĻāĻ¨, āĻāĻāĻ¨ā§āĻĄā§āĻ āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻāĻŽā§āĻ˛ā§āĻāĻ° āĻŦāĻž MAC OS āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻāĻŽā§āĻ˛ā§āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ OnWorks āĻĢā§āĻ°āĻŋ āĻšā§āĻ¸ā§āĻāĻŋāĻ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ¤ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻžāĻ°ā§āĻ¯āĻā§āĻ°āĻŽ:
NAME āĻāĻ°
āĻšāĻžāĻ - āĻšāĻžāĻ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ [āĻāĻŦāĻŋ: āĻšāĻžāĻ] [āĻāĻŦāĻŋ]
āĻā§āĻˇā§āĻāĻž Hy https://try-hy.appspot.com
PyPI https://pypi.python.org/pypi/hy
āĻā§āĻ¸ https://github.com/hylang/hy
āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻšāĻžāĻāĻ˛āĻžāĻ-āĻāĻ˛ā§āĻāĻ¨āĻž
āĻāĻāĻāĻ°āĻ¸āĻŋ #āĻšāĻžāĻ āĻĢā§āĻ°āĻŋāĻ¨ā§āĻĄā§
āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°āĻž āĻ āĻŦāĻ¸ā§āĻĨāĻž
āĻā§āĻ°āĻžāĻāĻŋāĻ¸ CI.UNINDENT
Hy āĻšāĻ˛ āĻ˛āĻŋāĻ¸ā§āĻĒā§āĻ° āĻāĻāĻāĻŋ āĻāĻŽā§āĻāĻžāĻ° āĻāĻĒāĻāĻžāĻˇāĻž āĻ¯āĻž āĻĒāĻžāĻāĻĨāĻ¨ā§ āĻāĻŽā§āĻŦā§āĻĄ āĻāĻ°āĻž āĻāĻā§āĨ¤
āĻ¯ā§āĻšā§āĻ¤ā§ Hy āĻ¤āĻžāĻ° āĻ˛āĻŋāĻ¸ā§āĻĒ āĻā§āĻĄāĻā§ āĻĒāĻžāĻāĻĨāĻ¨ āĻ ā§āĻ¯āĻžāĻŦāĻ¸ā§āĻā§āĻ°āĻžāĻā§āĻ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻā§āĻ°āĻŋāĻ¤ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻžāĻ° āĻāĻā§
āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻĒā§āĻ°ā§ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻĒā§āĻĨāĻŋāĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻāĻĻāĻ°ā§āĻĒāĻŖā§, āĻ˛āĻŋāĻ¸ā§āĻĒ āĻāĻāĻžāĻ°ā§!
āĻ¸ā§āĻāĻŋāĻĒāĻ¤ā§āĻ°:
āĻĻā§āĻ°ā§āĻ¤ āĻļā§āĻ°ā§
[āĻāĻŦāĻŋ: āĻāĻžāĻ°ā§āĻ¨ āĻ°āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻĄā§āĻ° āĻāĻ˛āĻŋāĻā§āĻāĻ¨] [āĻāĻŦāĻŋ]
(āĻāĻĄāĻ˛āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ°ā§āĻ¨ āĻ°ā§āĻ¸ā§āĻ¤āĻžāĻĻāĻā§ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ!)
āĻā§āĻŽāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋ āĻĒāĻžāĻāĻ¯āĻŧāĻž HY āĻāĻ¸āĻ˛ āĻĻā§āĻ°ā§āĻ¤:
1āĨ¤ āĻāĻāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ° āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻžāĻāĻĨāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļ.
2. āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻžāĻāĻĨāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°ā§āĻ¨āĨ¤
3. āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨ hy āĻĨā§āĻā§ PyPI āĻ¸āĻā§āĻā§ āĻŦā§āĻāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ hy.
4. āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ REPL āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨ hy.
5. REPL-āĻ āĻ¸ā§āĻāĻžāĻĢ āĻāĻžāĻāĻĒ āĻāĻ°ā§āĻ¨:
=> ("āĻšāĻžāĻ!" āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨)
āĻšāĻžāĻ!
=> (defn salutationsnm [name] (āĻŽā§āĻĻā§āĻ°āĻŖ (+ "Hy " name"!")))
=> (āĻ āĻāĻŋāĻŦāĻžāĻĻāĻ¨ "āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻžāĻŽ")
āĻšāĻžāĻ āĻ¤ā§āĻŽāĻžāĻ° āĻ¨āĻžāĻŽ!
āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ
6. āĻšāĻ¯āĻŧā§ āĻā§āĻ˛ā§ CTRL-D āĻāĻŋāĻĒā§āĻ¨āĨ¤
āĻšā§ āĻāĻāĻŦāĻžāĻ¨! āĻāĻāĻž āĻāĻļā§āĻāĻ°ā§āĻ¯āĻāĻ¨āĻ! I āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻĨā§āĻā§ āĻ˛ā§āĻāĻž a Hy āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ.
7. āĻāĻāĻāĻŋ āĻ āĻāĻŋāĻāĻžāĻ¤ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ āĻā§āĻ˛ā§āĻ¨ āĻāĻŦāĻ āĻāĻžāĻāĻĒ āĻāĻ°ā§āĻ¨:
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻāĻŽāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ā§ āĻā§āĻĄ āĻāĻ°āĻ¤ā§ āĻ¯āĻžāĻā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻŽāĻŋ āĻšāĻžāĻ āĻĒā§āĻ¯āĻŧā§āĻāĻŋāĨ¤")
8. āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨ awesome.hy.
9. āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ Hy āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻžāĻ˛āĻžāĻ¨:
hy awesome.hy
10.
āĻāĻāĻāĻŋ āĻāĻā§āĻ° āĻļā§āĻŦāĻžāĻ¸ āĻ¨āĻŋāĻ¨ āĻ¯āĻžāĻ¤ā§ āĻšāĻžāĻāĻĒāĻžāĻ°āĻā§āĻ¨ā§āĻāĻŋāĻ˛ā§āĻ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤
11.
āĻāĻ˛āĻ¨āĻžāĻ¯āĻŧāĻāĻāĻžāĻŦā§ āĻšāĻžāĻ¸ā§āĻ¨ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻšāĻžāĻāĻĄāĻāĻ¯āĻŧā§āĻ¤ā§ āĻ˛ā§āĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻ āĻāĻĨā§āĻ¯ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛
āĻšāĻžāĻ āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ā§ āĻ¸ā§āĻŦāĻžāĻāĻ¤āĻŽ!
āĻ¸āĻāĻā§āĻˇā§āĻĒā§, Hy āĻšāĻ˛ āĻāĻāĻāĻŋ Lisp āĻāĻĒāĻāĻžāĻˇāĻž, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯ā§āĻāĻŋ āĻāĻ° āĻāĻ āĻ¨āĻā§ āĻĒāĻžāĻāĻĨāĻ¨ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°ā§...
āĻāĻā§āĻˇāĻ°āĻŋāĻ āĻ āĻ°ā§āĻĨā§ āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻŦāĻŋāĻŽā§āĻ°ā§āĻ¤ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻā§āĻ°āĻŋāĻ¤ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°! (āĻ āĻĨāĻŦāĻž āĻāĻāĻŋ āĻāĻ°ā§ āĻ āĻļā§āĻ§āĻŋāĻ¤ āĻ°āĻžāĻāĻž
āĻļāĻ°ā§āĻ¤āĻžāĻŦāĻ˛ā§, Hy is lisp-stick on a Python!)
āĻāĻāĻŋ āĻŦā§āĻļ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻāĻžāĻ°āĻŖ āĻāĻ° āĻŽāĻžāĻ¨ā§ Hy āĻŦā§āĻļ āĻāĻŋāĻā§ āĻāĻŋāĻ¨āĻŋāĻ¸:
āĻāĻāĻāĻŋ āĻ˛āĻŋāĻ¸ā§āĻĒ āĻ¯āĻž āĻā§āĻŦ āĻĒāĻžāĻāĻĨāĻ¨āĻŋāĻ āĻŽāĻ¨ā§ āĻšāĻ¯āĻŧ
āĻ˛āĻŋāĻ¸ā§āĻĒāĻžāĻ°āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯, āĻ˛āĻŋāĻ¸ā§āĻĒā§āĻ° āĻāĻ¨ā§āĻŽāĻžāĻĻ āĻļāĻā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻāĻĒāĻžāĻ¯āĻŧ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻŦāĻŋāĻ¸ā§āĻ¤ā§āĻ¤ āĻŦāĻŋāĻļā§āĻŦā§
āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ (āĻā§āĻ¨ āĻšā§āĻ¯āĻžāĻ, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨ āĻ˛āĻŋāĻ¸ā§āĻĒā§ āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻā§āĻā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨!)
āĻĒāĻžāĻāĻĨāĻ¨āĻŋāĻ¸ā§āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯, āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻāĻ°āĻžāĻŽ āĻĨā§āĻā§ āĻ˛āĻŋāĻ¸ā§āĻĒ āĻ āĻ¨ā§āĻŦā§āĻˇāĻŖ āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻāĻĒāĻžāĻ¯āĻŧ!
¡ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯: āĻāĻāĻāĻŋ āĻŽāĻ¨ā§āĻ°āĻŽ āĻāĻžāĻˇāĻž āĻ¯āĻžāĻ¤ā§ āĻ āĻ¨ā§āĻ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻ°āĻ¯āĻŧā§āĻā§!
āĻŽā§āĻ˛āĻŋāĻ āĻāĻ¨ā§āĻā§āĻ°ā§ āĻĨā§āĻā§ āĻĒāĻžāĻ¤āĻžāĻ° āĻŽāĻ°ā§āĻŽāĻ° āĻāĻ¨ā§āĻ¨āĻ¤ āĻĒāĻžāĻāĻĨāĻ¨āĻŋāĻ¸ā§āĻāĻžāĻ¸
āĻ āĻŋāĻ āĻāĻā§, āĻšāĻ¯āĻŧāĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻā§ āĻāĻāĻ¨ā§ Lisp āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĻ¨āĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ Python āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻā§āĻ¨!
Hy āĻ¤ā§ āĻāĻāĻāĻŋ "āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ" āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻ¸āĻ˛ā§ āĻā§āĻŦ āĻ¸āĻšāĻāĨ¤ āĻāĻ˛ āĻāĻāĻž āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋ:
("āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ" āĻŽā§āĻĻā§āĻ°āĻŖ)
āĻĻā§āĻāĻž? āĻ¸āĻšāĻ ! āĻāĻĒāĻ¨āĻŋ āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻŽāĻ¤āĻ:
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ"
āĻāĻŋāĻā§ āĻ āĻ¤āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻŖāĻŋāĻ¤ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
(+ 1 3)
āĻ¯āĻž 4 āĻĢā§āĻ°āĻ¤ āĻĻā§āĻŦā§ āĻāĻŦāĻ āĻāĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻšāĻŦā§:
1 + 3
āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻŦā§āĻ¨ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻāĻā§āĻŽ āĻšāĻ˛ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻāĻŦāĻ
āĻŦāĻžāĻā§ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻšāĻ˛ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ¯āĻž āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤ āĻāĻ¸āĻ˛ā§, Hy āĻ¤ā§ (āĻ āĻ§āĻŋāĻāĻžāĻāĻļā§āĻ° āĻŽāĻ¤
Lisps) āĻāĻŽāĻ°āĻž āĻĒā§āĻ˛āĻžāĻ¸ āĻ āĻĒāĻžāĻ°ā§āĻāĻ°ā§āĻ° āĻāĻžāĻā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻĒāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
(+ 1 3 55)
āĻ¯āĻž 59 āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°āĻŦā§āĨ¤
āĻšāĻ¯āĻŧāĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻā§ āĻ˛āĻŋāĻ¸ā§āĻĒā§āĻ° āĻāĻĨāĻž āĻļā§āĻ¨ā§āĻā§āĻ¨ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ āĻ¨ā§āĻ āĻāĻŋāĻā§ āĻāĻžāĻ¨ā§āĻ¨ āĻ¨āĻžāĨ¤ āĻ˛āĻŋāĻ¸ā§āĻĒ āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻ¤ā§ āĻāĻ āĻŋāĻ¨ āĻ¨āĻ¯āĻŧ
āĻāĻžāĻŦāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŦāĻ Hy āĻĒāĻžāĻāĻĨāĻ¨ āĻĨā§āĻā§ āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ°āĻ¸ā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ¯āĻŧā§āĻā§, āĻ¤āĻžāĻ Hy āĻšāĻ˛ Lisp āĻļā§āĻāĻžāĻ° āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻāĻĒāĻžāĻ¯āĻŧāĨ¤
āĻ˛āĻŋāĻ¸ā§āĻĒ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¯ā§ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻšāĻ˛ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻĒā§āĻ°āĻā§āĻ° āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻĒā§āĻ°āĻĨāĻŽā§ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻāĻ° āĻŽāĻ¨ā§ āĻšāĻ˛ā§āĻ āĻāĻāĻŋ āĻāĻ¤ āĻāĻ āĻŋāĻ¨ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ¸ā§āĻ¨ āĻāĻŋāĻā§ āĻ¸āĻšāĻ āĻāĻŖāĻŋāĻ¤ āĻĻā§āĻāĻŋ
āĻāĻāĻā§āĻā§āĻ āĻŦāĻ¨ā§āĻ§āĻ¨ā§āĻ¤ā§ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻšāĻžāĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻĒā§āĻ°ā§āĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
(setv āĻĢāĻ˛āĻžāĻĢāĻ˛ (- (/ (+ 1 3 88) 2) 8))
āĻāĻ 38 āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻŦā§. āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻā§āĻ¨? āĻāĻ¯āĻŧā§āĻ˛, āĻāĻŽāĻ°āĻž āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻ¤āĻžāĻāĻžāĻ¨ āĻĒāĻžāĻ°ā§
āĻ āĻāĻāĻ°:
āĻĢāĻ˛āĻžāĻĢāĻ˛ = ((1 + 3 + 88) / 2) - 8
āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ°ā§āĻ°āĻā§āĻ˛āĻŋ āĻĒāĻžāĻāĻĨāĻ¨ā§ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¤āĻž āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨, āĻāĻĒāĻ¨āĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻ°āĻŦā§āĻ¨
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°ā§ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŦā§āĻ° āĻāĻ°ā§āĻ¨āĨ¤ āĻ¯ā§ āĻāĻāĻ āĻŽā§āĻ˛āĻŋāĻ āĻ§āĻžāĻ°āĻŖāĻž
āĻšāĻžāĻ āĻāĻ¸ā§āĻ¨ āĻĒāĻžāĻāĻĨāĻ¨ā§ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻ āĻ āĻ¨ā§āĻļā§āĻ˛āĻ¨āĻāĻŋ āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋ:
āĻĢāĻ˛āĻžāĻĢāĻ˛ = ((1 + 3 + 88) / 2) - 8
# āĻ¸āĻ°āĻ˛ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§...
āĻĢāĻ˛āĻžāĻĢāĻ˛ = (92 / 2) - 8
# āĻ¸āĻ°āĻ˛ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§...
āĻĢāĻ˛āĻžāĻĢāĻ˛ = 46 - 8
# āĻ¸āĻ°āĻ˛ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§...
āĻĢāĻ˛āĻžāĻĢāĻ˛ = 38
āĻāĻāĻ¨ Hy āĻ¤ā§ āĻāĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻž āĻ¯āĻžāĻ:
(setv āĻĢāĻ˛āĻžāĻĢāĻ˛ (- (/ (+ 1 3 88) 2) 8))
; āĻ¸āĻ°āĻ˛ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§...
(setv āĻĢāĻ˛āĻžāĻĢāĻ˛ (- (/ 92 2) 8))
; āĻ¸āĻ°āĻ˛ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§...
(setv āĻĢāĻ˛āĻžāĻĢāĻ˛ (- 46 8))
; āĻ¸āĻ°āĻ˛ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§...
(setv āĻĢāĻ˛āĻžāĻĢāĻ˛ 38)
āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻ āĻ¨ā§āĻŽāĻžāĻ¨, āĻ¸āĻā§āĻā§ āĻāĻ āĻļā§āĻˇ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻ¸ā§āĻāĻāĻŋ āĻŽāĻžāĻ¨ā§ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻž
"āĻĢāĻ˛āĻžāĻĢāĻ˛" āĻĨā§āĻā§ 38.
āĻĻā§āĻāĻž? āĻā§āĻŦ āĻāĻ āĻŋāĻ¨ āĻ¨āĻž!
āĻāĻāĻŋ āĻ˛āĻŋāĻ¸ā§āĻĒā§āĻ° āĻŽā§āĻ˛ āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĨ¤ āĻ˛āĻŋāĻ¸ā§āĻĒ āĻŽāĻžāĻ¨ā§ "āĻ˛āĻŋāĻ¸ā§āĻ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻŋāĻ"; āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻāĻ āĻ¨ āĻāĻ¸āĻ˛ā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĨ¤ (āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻšāĻ¨
āĻ¤āĻžāĻ˛āĻŋāĻāĻž, āĻāĻĒāĻ°ā§āĻ° āĻŽāĻ¤ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻāĻ āĻāĻžāĻ āĻžāĻŽā§ āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°ā§āĻ¨ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻŦāĻ°ā§āĻāĻžāĻāĻžāĻ° āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻ¸āĻš, āĻ¯ā§āĻā§āĻ¨āĻ
āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ°ā§āĻ° āĻāĻžāĻ āĻžāĻŽā§āĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻŦāĻ āĻĄā§āĻāĻžāĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ° āĻāĻāĻ¯āĻŧ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĻā§āĻāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§āĻ¨āĨ¤) āĻāĻāĻŋ āĻšāĻ˛
āĻāĻ°āĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻāĻŋāĻ¯āĻŧā§ āĻŦā§āĻāĻž āĻ¸āĻšāĻ, āĻ¤āĻžāĻ āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻžāĻāĻĨāĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ˛āĻŋāĻāĻŋ, āĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻŋ,
āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ Hy āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻĻā§āĻāĻžāĻ¨:
def simple_conversation():
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻšā§āĻ¯āĻžāĻ˛ā§! āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻšāĻ¤ā§ āĻāĻžāĻāĨ¤ āĻāĻŽāĻžāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻŦāĻ˛ā§āĻ¨!"
āĻ¨āĻžāĻŽ = raw_input("āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻžāĻŽ āĻāĻŋ?")
āĻŦāĻ¯āĻŧāĻ¸ = raw_input("āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻ¯āĻŧāĻ¸ āĻāĻ¤?")
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻšā§āĻ¯āĻžāĻ˛ā§ " + āĻ¨āĻžāĻŽ + "! āĻāĻŽāĻŋ āĻĻā§āĻāĻāĻŋ āĻ¤ā§āĻŽāĻžāĻ° āĻŦāĻ¯āĻŧāĻ¸ " + āĻŦāĻ¯āĻŧāĻ¸ + " āĻŦāĻāĻ°āĨ¤"
āĻ¸āĻšāĻ_āĻāĻĨā§āĻĒāĻāĻĨāĻ¨()
āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻŋ āĻāĻ°āĻāĻŽ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§:
āĻšā§āĻ¯āĻžāĻ˛ā§! āĻāĻŽāĻžāĻ° āĻ¤ā§āĻŽāĻžāĻā§ āĻāĻžāĻ¨āĻ¤ā§ āĻāĻā§āĻāĻž āĻāĻ°ā§. āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻŦāĻ˛ā§āĻ¨!
āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻžāĻŽ āĻāĻŋ? āĻā§āĻ¯āĻžāĻ°āĻŋ
āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻ¯āĻŧāĻ¸ āĻāĻ¤? 38
āĻšā§āĻ¯āĻžāĻ˛ā§ āĻā§āĻ¯āĻžāĻ°āĻŋ! āĻāĻŽāĻŋ āĻĻā§āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻ¯āĻŧāĻ¸ 38 āĻŦāĻāĻ°āĨ¤
āĻāĻāĻ¨ āĻāĻ¸ā§āĻ¨ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ Hy āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻŋ āĻĻā§āĻāĻŋ:
(defn āĻ¸āĻšāĻ-āĻāĻĨā§āĻĒāĻāĻĨāĻ¨ []
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻšā§āĻ¯āĻžāĻ˛ā§! āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻžāĻ¨āĻ¤ā§ āĻāĻžāĻāĨ¤ āĻāĻŽāĻžāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻŦāĻ˛ā§āĻ¨!")
(setv āĻ¨āĻžāĻŽ (āĻāĻžāĻāĻāĻž-āĻāĻ¨āĻĒā§āĻ "āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻžāĻŽ āĻāĻŋ?"))
(setv āĻŦāĻ¯āĻŧāĻ¸ (āĻāĻžāĻāĻāĻž-āĻāĻ¨āĻĒā§āĻ "āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻ¯āĻŧāĻ¸ āĻāĻ¤?"))
(āĻŽā§āĻĻā§āĻ°āĻŖ (+ "āĻšā§āĻ¯āĻžāĻ˛ā§ " āĻ¨āĻžāĻŽ"! āĻāĻŽāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋ āĻāĻĒāĻ¨āĻŋ"
āĻŦāĻ¯āĻŧāĻ¸ "āĻŦāĻāĻ° āĻŦāĻ¯āĻŧāĻ¸āĨ¤")))
(āĻ¸āĻ°āĻ˛-āĻāĻĨā§āĻĒāĻāĻĨāĻ¨)
āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ°ā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¤āĻžāĻāĻžāĻ¨, āĻ¯āĻ¤āĻā§āĻˇāĻŖ āĻāĻĒāĻ¨āĻŋ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĒāĻžāĻĻāĻžāĻ¨
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻšāĻ˛ āĻĢāĻžāĻāĻļāĻ¨ (āĻŦāĻž āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§... āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§ āĻ¯āĻžāĻŦā§) āĻāĻ˛ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻŦāĻ āĻŦāĻžāĻāĻŋāĻā§āĻ˛ā§ āĻ¯ā§āĻā§āĻ¤āĻŋ, āĻāĻ āĻ¸āĻŦ āĻŽāĻžāĻ¨ā§ āĻāĻŋ āĻ¤āĻž āĻŦā§āĻ° āĻāĻ°āĻž āĻŦā§āĻļ āĻ¸āĻšāĻāĨ¤
(āĻ¯ā§āĻŽāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°ā§āĻā§āĻ¨, defn āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻšāĻžāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤)
āĻ¤āĻŦā§āĻ, āĻ āĻ¨ā§āĻ āĻ˛ā§āĻ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻāĻŋāĻā§ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻāĻ° āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻāĻ°ā§ āĻāĻžāĻ°āĻŖ āĻāĻāĻžāĻ¨ā§ āĻ āĻ¨ā§āĻ āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻ°āĻ¯āĻŧā§āĻā§,
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ¨ āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻāĻŋāĻā§ āĻ¸āĻšāĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§: āĻāĻ¨ā§āĻĄā§āĻ¨ā§āĻā§āĻļāĻ¨āĻā§ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻ°āĻžāĻā§āĻ¨ āĻāĻŦāĻ
āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻŽā§āĻ¯āĻžāĻāĻŋāĻ āĻ¸āĻš āĻāĻāĻāĻŋ āĻāĻĄāĻŋāĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ (āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻŦā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻŋ
āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻā§āĻĄāĻŧāĻž āĻšāĻ¯āĻŧ) āĻāĻŦāĻ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻāĻ°āĻžāĻŽāĻĻāĻžāĻ¯āĻŧāĻ āĻŦā§āĻ§ āĻāĻ°āĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°āĻŦā§āĨ¤
āĻāĻāĻāĻŋ āĻā§āĻĄ āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ° āĻĨāĻžāĻāĻžāĻ° āĻāĻŋāĻā§ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻ¸āĻ˛ā§ āĻāĻāĻāĻŋ āĻā§āĻŦ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĄā§āĻāĻž
āĻ˛āĻŋāĻ¸ā§āĻĒā§āĻ° āĻŽā§āĻ˛ āĻāĻžāĻ āĻžāĻŽā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĨ¤ āĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻ¨ā§āĻ¯, āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ
āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻž āĻ¸āĻšāĻ āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻŋāĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻĒā§āĻ°āĻā§āĻ¤ āĻāĻžāĻ āĻžāĻŽā§ āĻā§āĻŦ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻāĻ¨ā§āĻŽā§āĻā§āĻ¤
āĻ¤ā§āĻŽāĻžāĻā§. (hy-āĻ¤ā§ āĻāĻāĻāĻŋ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ§āĻžāĻĒ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻāĻžāĻ āĻžāĻŽā§āĻāĻŋ āĻĻā§āĻā§āĻ¨ āĻ¤āĻž āĻĒāĻžāĻāĻĨāĻ¨ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž ... "āĻŦāĻŋāĻļā§āĻĻā§āĻ§" āĻ˛āĻŋāĻ¸ā§āĻĒā§ āĻ¯ā§āĻŽāĻ¨ āĻāĻŽāĻ¨ āĻ˛āĻŋāĻ¸ā§āĻĒ āĻŦāĻž āĻāĻŽā§āĻ¯āĻžāĻā§āĻ¸ āĻ˛āĻŋāĻ¸ā§āĻĒ, āĻĄā§āĻāĻž
āĻāĻĒāĻ¨āĻŋ āĻā§āĻĄā§ āĻ¯ā§ āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ° āĻĻā§āĻā§āĻ¨ āĻāĻŦāĻ āĻĄāĻžāĻāĻž āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ° āĻ¯ā§āĻāĻŋ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ āĻ¨ā§āĻ āĻŦā§āĻļāĻŋ
āĻāĻā§āĻˇāĻ°āĻŋāĻāĻāĻžāĻŦā§ āĻŦāĻ¨ā§āĻ§āĨ¤)
āĻāĻ° āĻāĻ°ā§āĻāĻāĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ āĻ°ā§āĻĨ āĻšāĻ˛ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§: āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻāĻ āĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĄā§āĻāĻž āĻšāĻ¯āĻŧ
āĻāĻ āĻ¨, āĻ¤āĻžāĻ° āĻŽāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻā§āĻĄ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯ā§ āĻā§āĻĄ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻā§āĻŦ āĻ¸āĻšāĻā§, āĻŽāĻžāĻ¨ā§
āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¨āĻ¤ā§āĻ¨ āĻāĻžāĻˇāĻž āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻšāĻžāĻ āĻĨā§āĻā§ āĻāĻā§āĻ°, āĻāĻ āĻāĻŋāĻ˛ āĻ¨āĻž
āĻĒāĻžāĻāĻĨāĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ°āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻŦāĻ āĻ¸āĻŽā§āĻāĻŦ... āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ā§āĻ¯
āĻā§āĻˇāĻŽāĻ¤āĻž (āĻļā§āĻ§ā§ āĻ¤āĻžāĻĻā§āĻ° āĻĒāĻžāĻ¯āĻŧā§āĻ° āĻĻāĻŋāĻā§ āĻ˛āĻā§āĻˇā§āĻ¯ āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ¤āĻ°ā§āĻ āĻĨāĻžāĻā§āĻ¨)!
Hy is a āĻ˛āĻŋāĻ¸ā§āĻĒ-āĻāĻ¨ā§āĻ§āĻ¯ā§āĻā§āĻ¤ āĻĒāĻžāĻāĻĨāĻ¨
āĻšāĻžāĻ āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻŦāĻŋāĻŽā§āĻ°ā§āĻ¤ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻā§āĻ°āĻŋāĻ¤ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°ā§, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻŋ āĻļā§āĻā§āĻ°āĻ āĻāĻāĻŋ āĻ¸āĻŦ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°āĻŦā§āĻ¨
āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻļāĻā§āĻ¤āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻāĻĻāĻ°ā§āĻĒāĻŖā§āĨ¤
āĻāĻĒāĻ¨āĻžāĻ° āĻšāĻžāĻ-āĻ āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻĄā§āĻāĻž āĻĒā§āĻ°āĻāĻžāĻ° āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻ¯āĻžāĻ
āĻšāĻžāĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻĒā§āĻ°ā§āĻāĻžāĻ°ā§ āĻāĻ° āĻ¸āĻžāĻĨā§:
=> [ā§§ ā§¨ ā§Š]
[1, 2, 3]
=> {"āĻā§āĻā§āĻ°" "āĻā§āĻ˛āĻž"
... "āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛" "āĻŽā§āĻ¯āĻžāĻ"}
...
{'āĻā§āĻā§āĻ°': 'āĻŦāĻžāĻ°ā§āĻ', 'āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛': 'āĻŽāĻŋāĻ'}
=> (, 1 2 3)
(1, 2, 3)
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ˛āĻŋāĻ¸ā§āĻĒā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻšāĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻāĻā§āĻ°āĻšā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯ā§ Hy āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§
āĻāĻĻā§āĻ§ā§āĻ¤āĻŋāĻ° āĻ˛āĻŋāĻ¸ā§āĻĒ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ:
=> '(1 2 3)
(1L 2L 3L)
āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻŋāĻ˛ā§āĻ-āĻāĻ¨ āĻ§āĻ°āĻŖā§āĻ° āĻāĻŽā§āĻāĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ°āĻ¯āĻŧā§āĻā§:
=> (. āĻ¸ā§āĻā§āĻ°āĻŋāĻĒ " fooooo ")
"āĻĢā§āĻāĻāĻ"
āĻāĻāĻž āĻā§? āĻšā§āĻ¯āĻžāĻ āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§, āĻāĻāĻŋ āĻ āĻŦāĻŋāĻāĻ˛ āĻāĻāĻ āĻ°āĻāĻŽ:
"fooooo"āĨ¤ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒ()
āĻāĻāĻž āĻ āĻŋāĻ---āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻ¸ā§āĻŦāĻ°āĻ˛āĻŋāĻĒāĻŋ āĻ¸āĻš āĻ˛āĻŋāĻ¸ā§āĻĒ! āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻā§, āĻāĻŽāĻ°āĻž
āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
(āĻ¸ā§āĻāĻŋāĻāĻŋ āĻāĻ-āĻ¸ā§āĻā§āĻ°āĻŋāĻ " fooooo ")
(this-string.strip)
āĻļāĻ°ā§āĻ¤āĻžāĻŦāĻ˛ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋ?:
(āĻ¯āĻĻāĻŋ (āĻāĻŋāĻā§-āĻāĻŋāĻā§ āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨)
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨ "āĻāĻāĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯ āĻšāĻ¯āĻŧ")
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻāĻāĻŋ āĻ¯āĻĻāĻŋ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻšāĻ¯āĻŧ"))
āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ°ā§ āĻŦāĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻĒā§āĻ°āĻĨāĻŽ āĻ¯ā§āĻā§āĻ¤āĻŋ if āĻāĻāĻāĻŋ āĻ¸āĻ¤ā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻž, āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻšāĻ¯āĻŧ
āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯ āĻšāĻ¯āĻŧ, āĻāĻŦāĻ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻ¯ā§āĻā§āĻ¤āĻŋ (āĻāĻā§āĻāĻŋāĻ!) āĻ¯āĻĻāĻŋ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻšāĻ¯āĻŧ (āĻ¯ā§āĻŽāĻ¨āĨ¤ āĻāĻ°).
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ°āĻ āĻāĻāĻŋāĻ˛ āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§āĻā§āĻˇā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻ¨ā§āĻ Elif
Hy āĻ āĻāĻĒāĻ˛āĻŦā§āĻ§āĨ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻ¨āĻžāĻŽāĻ āĻāĻŋāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ Cond. āĻĒāĻžāĻāĻĨāĻ¨ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻŋāĻā§āĻāĻž āĻāĻāĻ°āĻāĻŽ:
somevar = 33
āĻ¯āĻĻāĻŋ āĻāĻŋāĻā§> 50 āĻšāĻ¯āĻŧ:
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻā§āĻŦ āĻŦāĻĄāĻŧ!"
āĻāĻ˛āĻŋāĻĢ āĻ¸āĻžāĻŽāĻāĻžāĻ° <10:
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻā§āĻŦ āĻā§āĻ!"
āĻ āĻ¨ā§āĻ¯:
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ āĻŋāĻ āĻ āĻŋāĻ āĻāĻā§!"
Hy āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻ°āĻŦā§āĻ¨:
(cond
[(> somevar 50)
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨ "āĻ¸ā§āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛āĻāĻŋ āĻā§āĻŦ āĻŦāĻĄāĻŧ!")]
[(< somevar 10)
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨ "āĻ¸ā§āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĻāĻŋ āĻā§āĻŦāĻ āĻā§āĻ!")]
[āĻ¸āĻ¤ā§āĻ¯
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨ "āĻ¸ā§āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĻāĻŋ āĻ āĻŋāĻ āĻāĻā§!")])
āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻŦā§āĻ¨ āĻ¯ā§ Cond āĻāĻāĻāĻŋ āĻāĻŋāĻā§ āĻŦāĻŋāĻŦā§āĻ¤āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸ā§āĻāĻ āĻ āĻĢ āĻāĻ°ā§ āĻ¯āĻž āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ
āĻ¸āĻ¤ā§āĻ¯ āĻŦāĻž āĻŽāĻŋāĻĨā§āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§āĻā§āĻˇā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻšāĻ˛ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻā§āĻĄ
āĻ¸āĻ¤ā§āĻ¯ āĻšāĻ¤ā§ āĻāĻāĻ āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻĒāĻ¨āĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻŦā§āĻ¨ āĻ¯ā§ āĻāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻšāĻāĻāĻžāĻŦā§ āĻļā§āĻˇā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¸āĻ¤ā§āĻ¯ -- āĻāĻāĻžāĻ° āĻāĻžāĻ°āĻ¨ āĻ¸āĻ¤ā§āĻ¯ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸āĻ¤ā§āĻ¯ āĻšāĻŦā§, āĻ¤āĻžāĻ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻ¤āĻĻā§āĻ° āĻĒāĻžāĻ, āĻāĻŽāĻ°āĻž āĻāĻ°āĻŦ
āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ¯ā§ āĻāĻ āĻāĻžāĻ˛āĻžāĻ¨!
āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ°ā§ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻā§āĻĄ āĻĨāĻžāĻā§:
(āĻ¯āĻĻāĻŋ āĻāĻŋāĻā§ āĻļāĻ°ā§āĻ¤ āĻĨāĻžāĻā§
(āĻļāĻ°ā§āĻ°-āĻ¯āĻĻāĻŋ-āĻ¸āĻ¤ā§āĻ¯)
(āĻļāĻ°ā§āĻ°-āĻ¯āĻĻāĻŋ-āĻŽāĻŋāĻĨā§āĻ¯āĻž))
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°ā§! āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋāĻ° āĻļāĻ°ā§āĻ°ā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻŦā§ āĻā§ āĻšāĻŦā§
āĻāĻāĻā§āĻ˛ā§?
āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
(āĻ¯āĻĻāĻŋ (āĻāĻŋāĻā§-āĻāĻŋāĻā§ āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨)
(āĻāĻ°
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨ "āĻāĻāĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯ āĻšāĻ¯āĻŧ")
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻāĻŦāĻ āĻā§āĻ¨ āĻ¨āĻ¯āĻŧ, āĻāĻ¸ā§āĻ¨ āĻāĻāĻŋ āĻāĻ¤āĻāĻž āĻ¸āĻ¤ā§āĻ¯ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻž āĻ¯āĻžāĻ!))
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨ "āĻāĻāĻŋ āĻāĻāĻ¨āĻ āĻā§āĻŦāĻ˛ āĻŽāĻŋāĻĨā§āĻ¯āĻž"))
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ do āĻāĻāĻžāĻ§āĻŋāĻ āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ āĻ¨ā§āĻ¯ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻšāĻ¨
Lisps, āĻāĻ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ progn āĻ āĻ¨ā§āĻ¯āĻ¤ā§āĻ°āĨ¤
āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ¸ā§āĻŽāĻŋāĻā§āĻ˛āĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ:
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻāĻāĻŋ āĻāĻ˛āĻŦā§")
; (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻšāĻŦā§ āĻ¨āĻž")
(+ 1 2 3); āĻāĻŽāĻ°āĻž āĻ¸āĻāĻ¯ā§āĻāĻ¨ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻŦ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ¨āĻ¯āĻŧ!
āĻ˛ā§āĻĒāĻŋāĻ āĻāĻ āĻŋāĻ¨ āĻ¨āĻ¯āĻŧ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻŦāĻŋāĻļā§āĻˇ āĻāĻžāĻ āĻžāĻŽā§ āĻāĻā§āĨ¤ āĻĒāĻžāĻāĻĨāĻ¨ā§, āĻāĻŽāĻ°āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
āĻāĻŽāĻŋ āĻāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻ¸āĻ°(10)
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "'i' āĻāĻāĻ¨ " + str(i) āĻ āĻāĻā§
Hy āĻāĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻšāĻŦā§:
(āĻāĻ° āĻāĻ¨ā§āĻ¯ [i (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10)]
(āĻŽā§āĻĻā§āĻ°āĻŖ (+ "'i' āĻāĻāĻ¨ " (str i))))
āĻāĻĒāĻ¨āĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻžāĻāĻĨāĻ¨ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ:
(āĻāĻāĻ¸ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨)
(āĻ¯āĻĻāĻŋ (os.path.isdir "/tmp/somedir")
(os.mkdir "/tmp/somedir/anotherdir")
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻāĻ°ā§, āĻ¸ā§āĻ āĻĒāĻĨāĻāĻŋ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ¨ā§āĻ!"))
āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¸āĻā§āĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ (āĻ¸āĻā§āĻā§ āĻŦāĻŋāĻŦā§āĻ¤āĻŋ) āĻāĻ āĻŽāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
(āĻ¸āĻš [[f ("/tmp/data.in" āĻā§āĻ˛ā§āĻ¨)]]
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ (.āĻĒāĻĄāĻŧā§āĻ¨ āĻ)))
āĻ¯āĻž āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯:
f āĻšāĻŋāĻ¸āĻžāĻŦā§ open("/tmp/data.in") āĻ¸āĻš:
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ f.read()
āĻāĻŦāĻ āĻšā§āĻ¯āĻžāĻ, āĻāĻŽāĻžāĻĻā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻŦā§āĻāĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻā§! āĻĒāĻžāĻāĻĨāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
odds_squared = [
āĻĒāĻžāĻ (āĻ¸āĻāĻā§āĻ¯āĻž, 2)
āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻ¸āĻ°(100)
āĻ¯āĻĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻž % 2 == 1]
Hy āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻā§āĻ˛āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
(setv odds-squared
(āĻ¤āĻžāĻ˛āĻŋāĻāĻž-āĻāĻŽā§āĻĒāĻžāĻā§āĻ
(āĻĒāĻžāĻ āĻ¨āĻŽā§āĻŦāĻ° 2)
(āĻ¸āĻāĻā§āĻ¯āĻž (āĻ¸ā§āĻŽāĻž 100))
(= (% āĻ¸āĻāĻā§āĻ¯āĻž 2) 1)))
; āĻāĻŦāĻ, Clojure āĻĒā§āĻˇā§āĻ āĻž āĻĨā§āĻā§ āĻ¨āĻŋāĻ°ā§āĻ˛āĻā§āĻāĻāĻžāĻŦā§ āĻā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
; āĻāĻāĻāĻŋ āĻā§āĻ¸āĻŦā§āĻ°ā§āĻĄā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ˛āĻā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻ°āĻž āĻ¯āĻžāĻ:
(āĻ¤āĻžāĻ˛āĻŋāĻāĻž-āĻāĻŽā§āĻĒāĻžāĻā§āĻ
(, xy)
(x (āĻ¸ā§āĻŽāĻž 8)
y "ABCDEFGH"))
; [(0, 'A'), (0, 'B'), (0, 'C'), (0, 'D'), (0, 'E'), (0, 'F'), ( 0, 'G'), (0, 'H'),
; (1, 'A'), (1, 'B'), (1, 'C'), (1, 'D'), (1, 'E'), (1, 'F'), (1 , 'G'), (1, 'H'),
; (2, 'A'), (2, 'B'), (2, 'C'), (2, 'D'), (2, 'E'), (2, 'F'), (2 , 'G'), (2, 'H'),
; (3, 'A'), (3, 'B'), (3, 'C'), (3, 'D'), (3, 'E'), (3, 'F'), (3 , 'G'), (3, 'H'),
; (4, 'A'), (4, 'B'), (4, 'C'), (4, 'D'), (4, 'E'), (4, 'F'), (4 , 'G'), (4, 'H'),
; (5, 'A'), (5, 'B'), (5, 'C'), (5, 'D'), (5, 'E'), (5, 'F'), (5 , 'G'), (5, 'H'),
; (6, 'A'), (6, 'B'), (6, 'C'), (6, 'D'), (6, 'E'), (6, 'F'), (6 , 'G'), (6, 'H'),
; (7, 'A'), (7, 'B'), (7, 'C'), (7, 'D'), (7, 'E'), (7, 'F'), (7 , 'G'), (7, 'H')]
āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ āĻāĻŋāĻ¨āĻŦ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻāĻŦāĻ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻĒāĻžāĻāĻĨāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ
āĻĻā§āĻā§āĻ¨:
>>> def optional_arg(pos1, pos2, keyword1=None, keyword2=42):
... āĻĢā§āĻ°āĻ¤ [pos1, pos2, keyword1, keyword2]
...
>>> āĻāĻā§āĻāĻŋāĻ_āĻāĻ°ā§āĻ(1, 2)
[ā§§, ā§¨, āĻā§āĻ¨ā§āĻāĻŋāĻ āĻ¨āĻ¯āĻŧ, ā§Ēā§¨]
>>> āĻāĻā§āĻāĻŋāĻ_āĻāĻ°ā§āĻ(1, 2, 3, 4)
[ā§§, ā§Š, ā§Ģ, ā§§]
>>> āĻāĻā§āĻāĻŋāĻ_āĻāĻ°ā§āĻ(āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ1=1, pos2=2, pos1=3, āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ2=4)
[ā§§, ā§Š, ā§Ģ, ā§§]
Hy āĻ¤ā§ āĻāĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸:
=> (defn āĻāĻā§āĻāĻŋāĻ-āĻāĻ°ā§āĻ [pos1 pos2 & āĻāĻā§āĻāĻŋāĻ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ1 [āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ2 42]]
... [pos1 pos2 keyword1 keyword2])
=> (āĻāĻā§āĻāĻŋāĻ-āĻāĻ°ā§āĻ 1 2)
[ā§§ ā§¨ āĻ¨āĻž ā§Ēā§¨]
=> (āĻāĻā§āĻāĻŋāĻ-āĻāĻ°ā§āĻ 1 2 3 4)
[ā§§ ā§¨ ā§Š ā§Ē]
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ Hy past 0.10.1 (āĻ¯ā§āĻŽāĻ¨, git master) āĻāĻ° āĻāĻāĻāĻŋ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻžāĻ˛āĻžāĻā§āĻā§āĻ¨ āĻ¤āĻŦā§ āĻāĻāĻāĻŋ āĻāĻŽā§āĻāĻžāĻ° āĻ¨āĻ¤ā§āĻ¨āĻ āĻ°āĻ¯āĻŧā§āĻā§
āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸:
=> (āĻāĻā§āĻāĻŋāĻ-āĻāĻ°ā§āĻ :āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ1 1
... :pos2 2
... :pos1 3
... :āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ2 4)
[ā§§, ā§Š, ā§Ģ, ā§§]
āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž. āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž?
āĻāĻĒāĻ¨āĻŋ āĻĒāĻžāĻ¸ āĻ¸āĻā§āĻā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ *āĻāĻ°ā§āĻāĻ¸ āĻāĻŦāĻ **āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻ¸ āĻĒāĻžāĻāĻĨāĻ¨ā§?:
>>> args = [1 2]
>>> kwargs = {"keyword2": 3
... "āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ1": 4}
>>> āĻāĻā§āĻāĻŋāĻ_āĻāĻ°ā§āĻ(*args, **kwargs)
āĻāĻŽāĻ°āĻž āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž:
=> (setv args [1 2])
=> (setv kwargs {"keyword2" 3
... "āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ1" 4})
=> (āĻāĻā§āĻāĻŋāĻ-āĻāĻ°ā§āĻ args kwargs āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨)
[ā§§, ā§Š, ā§Ģ, ā§§]
āĻāĻāĻāĻŋ āĻ āĻāĻŋāĻ§āĻžāĻ¨-āĻļā§āĻ˛ā§ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖāĻ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻĻā§āĻāĻ¤ā§ āĻāĻāĻ°āĻāĻŽ:
(defn āĻ āĻ¨ā§āĻ¯-āĻļā§āĻ˛ā§ [&key {"key1" "val1" "key2" "val2"}]
[āĻā§1 āĻā§2])
āĻāĻāĻžāĻ¨ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻšāĻ˛ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ āĻāĻŋāĻ§āĻžāĻ¨, āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¨ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž
āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻāĻĻā§āĻļ.
āĻšāĻžāĻāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ *āĻāĻ°ā§āĻāĻ¸ āĻāĻŦāĻ **āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻ¸. āĻĒāĻžāĻāĻĨāĻ¨ā§:
def some_func(foo, bar, *args, **kwargs):
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨
pprint.pprint((foo, bar, args, kwargs))
āĻšāĻžāĻ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯:
(defn some-func [foo bar &rest args &kwargs kwargs]
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ)
(pprint.pprint (, foo bar args kwargs)))
āĻ āĻŦāĻļā§āĻˇā§, āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ˛āĻžāĻ¸ āĻĻāĻ°āĻāĻžāĻ°! āĻĒāĻžāĻāĻĨāĻ¨ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§:
āĻā§āĻ˛āĻžāĻ¸ FooBar(āĻ āĻŦāĻā§āĻā§āĻ):
"" "
āĻ¤āĻŦā§āĻ āĻāĻ°ā§āĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻā§āĻ˛āĻžāĻ¸
"" "
def __init__(self, x):
self.x = x
def get_x(self):
"" "
āĻāĻŽāĻžāĻĻā§āĻ° x āĻāĻ° āĻāĻĒāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻāĻŋāĻ¨
"" "
āĻ¸ā§āĻŦ.x āĻĢā§āĻ°āĻ¤ āĻĻāĻŋāĻ¨
āĻšāĻžāĻāĻ¤ā§:
(defclass FooBar [āĻ āĻŦāĻā§āĻā§āĻ]
"āĻāĻāĻ¨āĻ āĻāĻ°ā§āĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻā§āĻ˛āĻžāĻ¸"
[[--āĻāĻāĻž--
(fn [self x]
(setv self.xx)
; āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ --init--āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻžāĻ°āĻŖ __init__-āĻāĻ° āĻā§āĻ¨ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ
; āĻāĻļāĻž āĻāĻ°āĻŋ āĻāĻāĻŋ āĻāĻ˛ā§ āĻ¯āĻžāĻŦā§ :)
āĻā§āĻ¨āĻāĻŋāĻ āĻ¨āĻ¯āĻŧ)]
[āĻā§āĻ-āĻāĻā§āĻ¸
(fn [āĻ¸ā§āĻŦāĻ¯āĻŧāĻ]
"āĻāĻŽāĻžāĻĻā§āĻ° x āĻāĻ° āĻāĻĒāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻāĻžāĻ"
self.x)]])
āĻāĻĒāĻ¨āĻŋ āĻā§āĻ˛āĻžāĻ¸-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻĒāĻžāĻāĻĨāĻ¨ā§:
āĻļā§āĻ°ā§āĻŖā§āĻ° āĻā§āĻ°āĻžāĻšāĻ (āĻŽāĻĄā§āĻ˛āĨ¤ āĻŽāĻĄā§āĻ˛):
āĻ¨āĻžāĻŽ = āĻŽāĻĄā§āĻ˛āĨ¤ āĻāĻžāĻ°āĻĢāĻŋāĻ˛ā§āĻĄ(āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ_āĻĻā§āĻ°ā§āĻā§āĻ¯=255)
āĻ āĻŋāĻāĻžāĻ¨āĻž = āĻŽāĻĄā§āĻ˛āĨ¤ āĻā§āĻā§āĻ¸āĻāĻĢāĻŋāĻ˛ā§āĻĄ()
āĻ¨ā§āĻ = āĻŽāĻĄā§āĻ˛āĨ¤ āĻā§āĻā§āĻ¸āĻāĻĢāĻŋāĻ˛ā§āĻĄ()
āĻšāĻžāĻāĻ¤ā§:
(defclass āĻā§āĻ°āĻžāĻšāĻ [models.Model]
[[āĻ¨āĻžāĻŽ (āĻŽāĻĄā§āĻ˛āĨ¤ āĻāĻžāĻ°āĻĢāĻŋāĻ˛ā§āĻĄ : āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĻā§āĻ°ā§āĻā§āĻ¯ 255})]
[āĻ āĻŋāĻāĻžāĻ¨āĻž (āĻŽāĻĄā§āĻ˛āĨ¤ āĻā§āĻā§āĻ¸āĻāĻĢāĻŋāĻ˛ā§āĻĄ)]
[āĻ¨ā§āĻ (āĻŽāĻĄā§āĻ˛āĨ¤ āĻā§āĻā§āĻ¸āĻāĻĢāĻŋāĻ˛ā§āĻĄ)]])
Hy <-> āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻ¨ā§āĻāĻžāĻ°āĻĒ
Hy āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻĨā§āĻā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ Hy āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨!
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨ greetings.hy:
(defn greet [name] (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨ "āĻšā§āĻ¯āĻžāĻ˛ā§ āĻĢā§āĻ°āĻŽ āĻšāĻžāĻ," āĻ¨āĻžāĻŽ))
āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻĒāĻ¨āĻŋ āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻžāĻ° āĻāĻā§ hy āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻĨā§āĻā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻŋāĻ¤āĻ°ā§
āĻĒāĻžāĻāĻĨāĻ¨:
āĻšāĻžāĻ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨
āĻ āĻāĻŋāĻŦāĻžāĻĻāĻ¨ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨
greetings.greet("Foo")
āĻāĻĒāĻ¨āĻŋ āĻĒāĻžāĻāĻĨāĻ¨ā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻā§āĻˇāĻŖāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ (āĻŦāĻž āĻāĻŽāĻ¨āĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸!) āĻāĻŦāĻ āĻāĻāĻŋ Hy!
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨ greetings.py āĻĒāĻžāĻāĻĨāĻ¨ā§:
def greet(āĻ¨āĻžāĻŽ):
āĻŽā§āĻĻā§āĻ°āĻŖ ("āĻšā§āĻ¯āĻžāĻ˛ā§, %s" % (āĻ¨āĻžāĻŽ))
āĻāĻĒāĻ¨āĻŋ Hy āĻ¤ā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
(āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻļā§āĻā§āĻā§āĻāĻž)
(. āĻļā§āĻā§āĻā§āĻāĻž āĻ āĻāĻŋāĻŦāĻžāĻĻāĻ¨ "foo")
āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ greetings.py:
def greet(āĻ¨āĻžāĻŽ, āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽ="āĻ¸ā§āĻ¯āĻžāĻ°"):
āĻŽā§āĻĻā§āĻ°āĻŖ ("āĻ āĻāĻŋāĻŦāĻžāĻĻāĻ¨, %s %s" % (āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽ, āĻ¨āĻžāĻŽ))
(āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻļā§āĻā§āĻā§āĻāĻž)
(. āĻļā§āĻā§āĻā§āĻāĻž āĻ āĻāĻŋāĻŦāĻžāĻĻāĻ¨ "Foo")
(. āĻļā§āĻā§āĻā§āĻāĻž āĻ āĻāĻŋāĻŦāĻžāĻĻāĻ¨ "Foo" "Darth")
(āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨ (. āĻļā§āĻā§āĻā§āĻāĻž āĻ āĻāĻŋāĻŦāĻžāĻĻāĻ¨) ["Foo"] {"title" "Lord"})
āĻ¯āĻž āĻāĻāĻāĻĒā§āĻ āĻšāĻŦā§:
āĻ āĻāĻŋāĻŦāĻžāĻĻāĻ¨, āĻ¸ā§āĻ¯āĻžāĻ° āĻĢā§
āĻļā§āĻā§āĻā§āĻāĻž, āĻĄāĻžāĻ°ā§āĻĨ āĻĢā§
āĻ āĻāĻŋāĻŦāĻžāĻĻāĻ¨, āĻ˛āĻ°ā§āĻĄ āĻĢā§
āĻĒā§āĻ°ā§āĻāĻŋāĻĒāĻ¸ !
Hy āĻ¤ā§ "āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§" āĻ¨āĻžāĻŽā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻāĻŋāĻā§ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻāĻāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻāĻ°āĻāĻ°ā§ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯
Clojure āĻāĻ°. "āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§" (āĻāĻāĻžāĻŦā§ āĻ˛ā§āĻāĻž ->) āĻāĻ° āĻāĻā§āĻ° āĻŦāĻžāĻ¸āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ
āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ
āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨āĻā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļāĻŋāĻ¤ āĻāĻ°ā§
āĻāĻžāĻ¯āĻŧāĻāĻžāĨ¤
āĻāĻ˛ā§āĻ¨ āĻā§āĻ˛āĻžāĻ¸āĻŋāĻ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ:
(āĻ˛ā§āĻĒ (āĻŽā§āĻĻā§āĻ°āĻŖ (āĻāĻāĻžāĻ˛ (āĻĒāĻĄāĻŧā§āĻ¨))))
āĻāĻāĻŋ āĻāĻŽāĻ¨āĻāĻžāĻŦā§ āĻ˛ā§āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻāĻāĻŋāĻā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
(-> (āĻĒāĻĄāĻŧā§āĻ¨) (āĻāĻāĻžāĻ˛) (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ) (āĻ˛ā§āĻĒ))
āĻāĻāĻ¨, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ python-sh, āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ (āĻĒāĻžāĻāĻĨāĻ¨-āĻļ āĻāĻ° āĻ¸ā§āĻāĻāĻĒā§āĻ° āĻāĻžāĻ°āĻŖā§)
āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĒ āĻŽāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§:
=> (āĻāĻŽāĻĻāĻžāĻ¨āĻŋ [sh [cat grep wc]])
=> (-> (āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ "/usr/share/dict/words") (grep "-E" "^hy") (wc "-l"))
210
āĻ¯āĻž, āĻ āĻŦāĻļā§āĻ¯āĻ, āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ:
(wc (grep (cat "/usr/share/dict/words") "-E" "^hy") "-l")
āĻ āĻ¨ā§āĻ āĻŦā§āĻļāĻŋ āĻĒāĻ āĻ¨āĻ¯ā§āĻā§āĻ¯, āĻ¨āĻž? āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨!
HY āĻļā§āĻ˛ā§ āĻāĻžāĻāĻĄ
"āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨ā§āĻ¨, āĻŽāĻ¨ā§āĻ¤ā§āĻ°ā§, āĻāĻŽāĻŋ āĻĄāĻžāĻŽā§āĻŦāĻ˛āĻĄā§āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ āĻ¨ā§āĻ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻāĻŽāĻ¤ āĻ¨āĻ... āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻ āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž āĻ¯ā§ āĻ¤āĻŋāĻ¨āĻŋ
āĻļā§āĻ˛ā§ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ..." - āĻĢāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ¸ āĻ¨āĻžāĻāĻā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ˛ā§āĻ¯āĻžāĻ, āĻ˛ā§āĻŖā§āĻ āĻ¨ āĻāĻ°āĻž āĻā§āĻ˛āĻžāĻ˛ āĻāĻŦāĻ āĻĻā§āĻ¯ āĻ āĻ°ā§āĻĄāĻžāĻ° of āĻĻā§āĻ¯ āĻĢāĻŋāĻ¨āĻŋāĻā§āĻ¸
Hy āĻ¸ā§āĻāĻžāĻāĻ˛ āĻāĻžāĻāĻĄāĻāĻŋ Hyve (āĻšā§āĻ¯āĻžāĻ, Hy āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŽā§āĻ˛āĻŋāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻ āĻšāĻ¤ā§ āĻāĻžāĻ¯āĻŧ
āĻ¸āĻŦ āĻāĻŋāĻā§āĻ° āĻ¸āĻžāĻĨā§ Hy āĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§ āĻ¨āĻŋāĻā§āĻā§ āĻāĻ°ā§āĻŦāĻŋāĻ¤ āĻāĻ°ā§) āĻāĻĄāĻŋāĻāĻŽā§āĻāĻŋāĻ āĻšāĻžāĻ āĻā§āĻĄ āĻ˛āĻŋāĻāĻ¤ā§āĨ¤ āĻšāĻžāĻ āĻ āĻ¨ā§āĻ āĻāĻšāĻ°āĻŖ
Clojure āĻāĻŦāĻ Common Lisp āĻĨā§āĻā§, āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻ¨ā§āĻ¤āĻāĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤
āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻ¨āĻž
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° tao of Hy
āĻāĻŽā§āĻŽāĻ¨ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸āĻ¨ā§āĻ¨ā§āĻ¯āĻžāĻ¸ā§āĻā§ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻ˛ā§āĻ¨, "āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¨ āĻ¸ā§āĻ¤ā§āĻ°ā§āĻ° āĻāĻĒāĻ° āĻŦāĻā§āĻ¤ā§āĻ¤āĻž āĻāĻ°āĻā§āĻ¨?"
"āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻŖ āĻ¸ā§āĻ¤ā§āĻ°āĨ¤"
"āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻŖ āĻ¸ā§āĻ¤ā§āĻ°ā§ āĻāĻžāĻ°āĻāĻŋ āĻā§āĻŖ āĻāĻā§, āĻ¤āĻžāĻ āĻ¨āĻž?"
"āĻāĻšāĻž āĻāĻŋāĻ˛."
āĻāĻŽā§āĻŽāĻ¨ āĻāĻāĻāĻž āĻĒā§āĻ¯āĻŧāĻžāĻ˛āĻž āĻ¤ā§āĻ˛ā§ āĻāĻŋāĻā§āĻā§āĻ¸ āĻāĻ°āĻ˛, "āĻāĻ° āĻāĻ¤ āĻĢāĻāĻŋāĻ˛āĻ¤ āĻāĻā§?"
"āĻāĻŋāĻā§āĻ āĻ¨āĻž," āĻ¸āĻ¨ā§āĻ¨ā§āĻ¯āĻžāĻ¸ā§ āĻŦāĻ˛āĻ˛ā§āĻ¨āĨ¤
"āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻžāĻā§āĻ¨ āĻ˛ā§āĻā§āĻ°āĻž āĻŦāĻ˛ā§āĻāĻŋāĻ˛, āĻ¤āĻžāĻ āĻ¨āĻž?" Ummon āĻŦāĻ˛ā§āĻ¨.
"āĻ¤āĻžāĻ°āĻž āĻ¯āĻž āĻŦāĻ˛ā§āĻā§ āĻ¤āĻžāĻ¤ā§ āĻāĻŋ āĻŽāĻ¨ā§ āĻšāĻ¯āĻŧ?"
āĻāĻŽā§āĻŽāĻ¨ āĻāĻžāĻĒāĻāĻž āĻŽā§āĻ°ā§ āĻāĻŋāĻā§āĻā§āĻ¸ āĻāĻ°āĻ˛, āĻŦā§āĻāĻ˛āĻŋ?
"āĻ¨āĻž," āĻ¸āĻ¨ā§āĻ¨ā§āĻ¯āĻžāĻ¸ā§ āĻŦāĻ˛āĻ˛ā§āĻ¨āĨ¤
"āĻ¤āĻžāĻšāĻ˛ā§," āĻāĻŽā§āĻŽāĻ¨ āĻŦāĻ˛āĻ˛ā§āĻ¨, "āĻ¤ā§āĻŽāĻŋ āĻ¸ā§āĻ¤ā§āĻ°ā§āĻ° āĻāĻĒāĻ° āĻ¤ā§āĻŽāĻžāĻ° āĻŦāĻā§āĻ¤ā§āĻ¤āĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤"
â (āĻā§āĻ¯āĻŧāĻžāĻ¨) āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¨āĻāĻļāĻž āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§ āĻ¯āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛
āĻšāĻžāĻ
¡ āĻāĻāĻāĻŋ Lisp āĻŽāĻ¤ āĻā§āĻšāĻžāĻ°āĻž; āĻāĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ DTRT (āĻ¯ā§āĻŽāĻ¨ āĻĄā§āĻ¯āĻžāĻļāĻā§āĻ˛āĻŋ āĻāĻ¨ā§āĻĄāĻžāĻ°āĻ¸ā§āĻā§āĻ°ā§ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧ, āĻāĻžāĻ¨ā§āĻ° āĻĒāĻžāĻ˛ā§āĻā§ āĻ¯āĻžāĻ¯āĻŧ
āĻ¸āĻŦ āĻā§āĻ¯āĻžāĻĒ).
āĻāĻŽāĻ°āĻž āĻāĻāĻ¨āĻ āĻĒāĻžāĻāĻĨāĻ¨āĨ¤ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖāĻā§āĻ˛āĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖāĻā§āĻ˛āĻŋāĻ¤ā§ 1:1 āĻ āĻ¨ā§āĻŦāĻžāĻĻ āĻāĻ°ā§āĨ¤
¡ āĻ¸āĻ°ā§āĻŦāĻ¤ā§āĻ° āĻāĻāĻ¨āĻŋāĻā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤
āĻĒāĻžāĻāĻĨāĻ¨ 2-āĻ āĻāĻžāĻ°āĻžāĻĒ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤āĻā§āĻ˛āĻŋ āĻ āĻŋāĻ āĻāĻ°ā§āĻ¨ āĻ¯āĻāĻ¨ āĻāĻŽāĻ°āĻž āĻĒāĻžāĻ°āĻŋ (āĻĻā§āĻā§āĻ¨ āĻ¸āĻ¤ā§āĻ¯_āĻŦāĻŋāĻāĻžāĻ).
¡ āĻ¸āĻ¨ā§āĻĻā§āĻš āĻšāĻ˛ā§, āĻĒāĻžāĻāĻĨāĻ¨ āĻĨā§āĻā§ āĻŦāĻŋāĻ°āĻ¤ āĻĨāĻžāĻā§āĻ¨āĨ¤
¡ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻ¨āĻ āĻ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻšāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ Clojure āĻ āĻĒāĻŋāĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¨āĨ¤
¡ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ°āĻ āĻŦā§āĻļāĻŋ āĻ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻšāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ¨ āĻ˛āĻŋāĻ¸ā§āĻĒā§ āĻ¯ā§āĻ¤ā§ āĻĻāĻŋāĻ¨āĨ¤
āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻāĻŽāĻ°āĻž Clojure āĻ¨āĻāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻŽāĻ¨ āĻ˛āĻŋāĻ¸ā§āĻĒ āĻ¨āĻāĨ¤ āĻāĻŽāĻ°āĻž āĻšā§āĻŽā§āĻāĻāĻ¨āĻŋāĻ āĻĒāĻžāĻāĻĨāĻ¨, āĻ¸āĻžāĻĨā§
āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŦāĻŋāĻ āĻ¯ā§ āĻ āĻ°ā§āĻĨāĻĒā§āĻ°ā§āĻŖ.
āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ & āĻāĻžāĻāĻ
¡ āĻĒāĻŋāĻāĻ¨ā§āĻ° āĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻāĻ˛ā§āĻ¨āĨ¤ āĻ¤āĻžāĻ°āĻž āĻā§āĻˇā§!
āĻāĻ¨ā§āĻĄā§āĻ¨ā§āĻā§āĻļāĻ¨ 2āĻāĻŋ āĻ¸ā§āĻĒā§āĻ¸ āĻšāĻ¤ā§ āĻšāĻŦā§ (āĻā§āĻ¨āĻ āĻšāĻžāĻ°ā§āĻĄ āĻā§āĻ¯āĻžāĻŦ āĻ¨ā§āĻ), āĻ¯āĻāĻ¨ āĻāĻ° āĻāĻ¨ā§āĻĄā§āĻ¨ā§āĻā§āĻļāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§
āĻāĻā§āĻ° āĻ˛āĻžāĻāĻ¨āĨ¤
;; āĻāĻžāĻ˛ (āĻāĻŦāĻ āĻĒāĻāĻ¨ā§āĻĻā§āĻ°)
(defn fib [n]
(āĻ¯āĻĻāĻŋ (<= n 2)
n
(+ (fib (- n 1)) (fib (- n 2)))))
;; āĻāĻāĻ¨āĻ āĻ āĻŋāĻ āĻāĻā§
(defn fib [n]
(āĻ¯āĻĻāĻŋ (<= n 2) n (+ (fib (- n 1)) (fib (- n 2)))))
;; āĻāĻāĻ¨āĻ āĻ āĻŋāĻ āĻāĻā§
(defn fib [n]
(āĻ¯āĻĻāĻŋ (<= n 2)
n
(+ (fib (- n 1)) (fib (- n 2)))))
;; āĻšāĻŋāĻ¸ā§āĻāĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻŋ āĻšāĻžāĻ¸ā§āĻ¯āĻāĻ°
(defn fib [n]
(āĻ¯āĻĻāĻŋ (<= n 2)
n;; āĻšā§āĻ¯āĻžāĻ, āĻāĻŽāĻŋ āĻāĻ˛ā§āĻŽā§āĻ˛ā§āĻāĻžāĻŦā§ āĻ¸ā§āĻĒā§āĻ¸ āĻā§ āĻāĻāĻžāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°āĻŋ
(+ (fib (- n 1)) (fib (- n 2)))))
āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻ¨āĻž āĻ¤āĻžāĻĻā§āĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ˛āĻžāĻāĻ¨ā§ āĻāĻāĻž, āĻĻā§: āĻāĻŋāĻ¤ āĻāĻŦāĻ āĻāĻāĻž āĻā§āĻĄāĻŧā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻŦā§.
;; āĻāĻžāĻ˛ (āĻāĻŦāĻ āĻĒāĻāĻ¨ā§āĻĻā§āĻ°)
(defn fib [n]
(āĻ¯āĻĻāĻŋ (<= n 2)
n
(+ (fib (- n 1)) (fib (- n 2)))))
;; āĻšāĻŋāĻ¸ā§āĻāĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻŋ āĻšāĻžāĻ¸ā§āĻ¯āĻāĻ°
(defn fib [n]
(āĻ¯āĻĻāĻŋ (<= n 2)
n
(+ (fib (- n 1)) (fib (- n 2)))
)
); āĻāĻžāĻš, āĻāĻā§āĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻĻāĻžāĻ
¡ āĻāĻ˛ā§āĻ˛āĻŽā§āĻŦāĻāĻžāĻŦā§ āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻĻāĻŋāĻ¨ āĻŦā§āĻ˛āĻāĨ¤
(āĻāĻ˛ā§āĻ¨ [[foo (āĻŦāĻžāĻ°)]
[āĻāĻŋāĻāĻāĻā§āĻ¸ (āĻŦāĻžāĻ)]]
(foo qux))
¡ āĻāĻ¨āĻ˛āĻžāĻāĻ¨ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯āĻā§āĻ˛āĻŋ āĻā§āĻĄā§āĻ° āĻļā§āĻˇ āĻĨā§āĻā§ āĻĻā§āĻāĻŋ āĻ¸ā§āĻĒā§āĻ¸ āĻšāĻ¤ā§ āĻšāĻŦā§; āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§
āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§āĻ° āĻ āĻā§āĻˇāĻ° āĻāĻŦāĻ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§āĻ° āĻļā§āĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨
āĻ¸ā§āĻĒāĻˇā§āĻ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻāĻ°ā§āĻ¨āĨ¤
;; āĻāĻžāĻ˛
(setv ind (dec x)); āĻāĻ¨āĻĄā§āĻā§āĻ¸āĻŋāĻ 0 āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ
;; āĻļā§āĻ˛ā§-āĻ¸āĻā§āĻāĻ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻļā§āĻ§ā§ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻ āĻ°āĻžāĻˇā§āĻā§āĻ°
(setv ind (dec x)); x-1 āĻ¸ā§āĻā§ āĻ¸ā§āĻ āĻāĻ°ā§
;; āĻāĻžāĻ°āĻžāĻĒ
(setv ind (dec x)); āĻŽāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻļāĻŦā§āĻĻ āĻāĻžāĻāĻĒ āĻāĻ°āĻž
āĻā§āĻĄāĻŋāĻ āĻļā§āĻ˛ā§
āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨ Def āĻā§āĻ˛ā§āĻŦāĻžāĻ˛ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻāĻžāĻĄāĻŧāĻž āĻ āĻ¨ā§āĻ¯ āĻāĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯; āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸ā§āĻāĻāĻŋ
āĻāĻŋāĻ¤āĻ°ā§ āĻĢāĻžāĻāĻļāĻ¨, āĻ˛ā§āĻĒ, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ
;; āĻāĻžāĻ˛ (āĻāĻŦāĻ āĻĒāĻāĻ¨ā§āĻĻā§āĻ°)
(def *āĻ¸ā§āĻŽāĻž * 400000)
(defn fibs [ab]
(āĻ¯āĻĻāĻŋāĻ āĻ¸āĻ¤ā§āĻ¯
(āĻĢāĻ˛āĻ¨ āĻ)
(setv (, ab) (, b (+ ab)))))
;; āĻāĻžāĻ°āĻžāĻĒ (āĻāĻŦāĻ āĻĒāĻāĻ¨ā§āĻĻā§āĻ° āĻ¨āĻ¯āĻŧ)
(defn fibs [ab]
(āĻ¯āĻĻāĻŋāĻ āĻ¸āĻ¤ā§āĻ¯
(āĻĢāĻ˛āĻ¨ āĻ)
(def (, ab) (, b (+ ab)))))
āĻ¯ā§āĻāĻžāĻ¨ā§ āĻā§āĻā§āĻāĻ° āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ° āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§ s-āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻ¨āĻž
āĻāĻ āĻĻā§āĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻāĻā§āĻ°āĻāĻŋ āĻāĻžāĻ āĻāĻ°ā§ āĻāĻžāĻ°āĻŖ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻ āĻ¤ā§āĻ¯āĻ§āĻŋāĻ āĻ¨āĻ¯āĻŧ
āĻāĻ ā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§, āĻ¸āĻ āĻŋāĻ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻ¯ā§āĻŽāĻ¨ āĻāĻ āĻŽāĻ¤ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ.
;; āĻāĻžāĻ°āĻžāĻĒ (āĻāĻŦāĻ āĻŽāĻ¨ā§āĻĻ)
(defn foo (x) (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ x))
(foo 1)
;; āĻāĻžāĻ˛ (āĻāĻŦāĻ āĻĒāĻāĻ¨ā§āĻĻā§āĻ°)
(defn foo [x] (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ x))
(foo 1)
āĻāĻā§āĻ°āĻāĻžāĻŦā§ āĻ¨ā§āĻ¸ā§āĻā§āĻĄā§āĻ° āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻšāĻ˛ā§ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦāĻž āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻā§āĻ˛ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨
s- āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻŋāĻāĻā§āĻˇāĻŖ āĻšā§āĻ¨āĨ¤ āĻ¸ā§āĻŦāĻā§āĻāĻ¤āĻž āĻāĻŦāĻ āĻ¯āĻāĻ¨ āĻ¤āĻžāĻĻā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĻ¨
āĻĒāĻ āĻ¨āĻ¯ā§āĻā§āĻ¯āĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻšāĻ¯āĻŧ; āĻāĻāĻŋāĻ˛, āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻŦā§āĻāĻž āĻāĻ āĻŋāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤
;; āĻĒāĻāĻ¨ā§āĻĻā§āĻ°
(def *āĻ¨āĻžāĻŽ*
(āĻāĻ° āĻ¸āĻžāĻĨā§ [f ("names.txt" āĻā§āĻ˛ā§āĻ¨)]
(-> (.read f) (.strip) (.replace "\"" "") (.split ",") (sorted))))
;; āĻāĻ¤ āĻāĻžāĻ˛ā§ āĻ¨āĻž
(def *āĻ¨āĻžāĻŽ*
(āĻāĻ° āĻ¸āĻžāĻĨā§ [f ("names.txt" āĻā§āĻ˛ā§āĻ¨)]
(āĻŦāĻžāĻāĻžāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (.split "," (.replace "\"" "" (.strip (.read f)))))))
;; āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻ§āĻžāĻ°āĻŖāĻž āĻ¨āĻž
(defn āĻŦāĻ°ā§āĻ? [x]
(->> 2 (āĻĒāĻžāĻ (int (sqrt x))) (= x)))
āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻ˛ā§āĻ° āĻā§āĻ¯āĻŧā§ Clojure-āĻļā§āĻ˛ā§ āĻĄāĻ āĻ¨ā§āĻā§āĻļāĻ¨ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ,
āĻāĻāĻ¯āĻŧ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°āĻž āĻ āĻŦā§āĻ¯āĻžāĻšāĻ¤ āĻĨāĻžāĻāĻŦā§ āĻ¯āĻĻāĻŋāĻ.
;; āĻāĻžāĻ˛
(āĻāĻ° āĻ¸āĻžāĻĨā§ [fd (āĻā§āĻ˛āĻž"/ Etc / passwd")]
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ (.readlines fd)))
;; āĻāĻ¤ āĻāĻžāĻ˛ā§ āĻ¨āĻž
(āĻāĻ° āĻ¸āĻžāĻĨā§ [fd (āĻā§āĻ˛āĻž"/ Etc / passwd")]
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ (fd.readlines)))
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
"āĻĢā§āĻ¯āĻžāĻļāĻ¨ āĻŦāĻŋāĻŦāĻ°ā§āĻŖ, āĻļā§āĻ˛ā§ āĻāĻŋāĻ°āĻ¨ā§āĻ¤āĻ¨" - āĻāĻ¯āĻŧā§āĻā§āĻ¸ āĻ¸ā§āĻ¨ā§āĻ āĻ˛āĻ°ā§āĻ¨ā§āĻ
āĻāĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻžāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻ, āĻāĻŦāĻ āĻ¸ā§āĻĒāĻˇā§āĻāĻ¤āĻ, āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻžāĻā§āĻ˛āĻŋ āĻāĻ°ā§ā§ˇ
āĻāĻāĻāĻŋ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧ āĻāĻžāĻĄāĻŧāĻž āĻ āĻ°ā§āĻĨāĻšā§āĻ¨. āĻ āĻŦāĻĻāĻžāĻ¨ āĻ¸ā§āĻŦāĻžāĻāĻ¤ āĻāĻžāĻ¨āĻžāĻ. #hy in-āĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻ āĻĻāĻŋāĻ¨
freenode, āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻŦā§āĻ˛āĻ, āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻā§āĻāĻ, āĻāĻŦāĻ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ, Hy āĻāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻāĻž āĻāĻ°ā§āĻ¨āĨ¤
āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ
¡ āĻāĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻžāĻāĻŋ āĻĨā§āĻā§ āĻŦā§āĻ¯āĻžāĻĒāĻāĻāĻžāĻŦā§ āĻ āĻ¨ā§āĻĒā§āĻ°āĻžāĻŖāĻŋāĻ¤ @āĻĒāĻ˛ā§āĻāĻžāĻ āĻāĻ° āĻŦā§āĻ˛āĻ āĻĒā§āĻ¸ā§āĻ Hy āĻāĻĻā§āĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻžāĻāĻĄ
¡ āĻĻā§āĻ¯ Clojure āĻļā§āĻ˛ā§ āĻāĻžāĻāĻĄ
āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻāĻ° INDEX
āĻ¸ā§āĻāĻŋāĻĒāĻ¤ā§āĻ°:
āĻāĻĻā§āĻļ āĻ˛āĻžāĻāĻ¨ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸
hy
āĻāĻĻā§āĻļ āĻ˛āĻžāĻāĻ¨ āĻ āĻĒāĻļāĻ¨ āĻ¸āĻŽā§āĻš
-c
āĻŽāĻ§ā§āĻ¯ā§ Hy āĻā§āĻĄ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°ā§āĻ¨ āĻšā§āĻā§āĻŽ.
$ hy -c "(āĻŽā§āĻĻā§āĻ°āĻŖ (+ 2 2))"
4
-i
āĻŽāĻ§ā§āĻ¯ā§ Hy āĻā§āĻĄ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°ā§āĻ¨ āĻšā§āĻā§āĻŽ, āĻ¤āĻžāĻ°āĻĒāĻ° REPL āĻ āĻĨāĻžāĻā§āĻ¨āĨ¤
-m
āĻŽāĻ§ā§āĻ¯ā§ Hy āĻā§āĻĄ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°ā§āĻ¨ āĻŽāĻĄāĻŋāĻāĻ˛āĻ¸āĻš defmain āĻ¯āĻĻāĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° -m āĻĒāĻ¤āĻžāĻāĻž āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§ āĻĻā§āĻ¯āĻŧ āĻ¯āĻžāĻ¤ā§ āĻāĻ° āĻĒāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¨āĻžāĻŽ
āĻŽāĻ§ā§āĻ¯ā§ āĻŽāĻĄāĻŋāĻāĻ˛ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ sys.argv.
0.10.2 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
--āĻā§āĻĒā§āĻ¤āĻāĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻāĻā§ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻĒāĻžāĻāĻĨāĻ¨ āĻā§āĻĄ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ:
=> (defn salutationsnm [name] (āĻŽā§āĻĻā§āĻ°āĻŖ (+ "Hy " name"!")))
def salutationsnm(āĻ¨āĻžāĻŽ):
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ(((u'Hy ' + name) + u'!'))
=> (āĻ āĻāĻŋāĻŦāĻžāĻĻāĻ¨ "āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻžāĻŽ")
āĻ āĻāĻŋāĻŦāĻžāĻĻāĻ¨ (u'Your Name')
āĻšāĻžāĻ āĻ¤ā§āĻŽāĻžāĻ° āĻ¨āĻžāĻŽ!
=>
0.9.11 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
--āĻļā§-āĻā§āĻ°ā§āĻ¸āĻŦā§āĻ¯āĻžāĻ
Hy āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻā§āĻ°ā§āĻ¸āĻŦā§āĻ¯āĻžāĻ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
0.9.12 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
-v āĻšāĻžāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¨āĻŽā§āĻŦāĻ° āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤
hyc
āĻāĻĻā§āĻļ āĻ˛āĻžāĻāĻ¨ āĻ āĻĒāĻļāĻ¨ āĻ¸āĻŽā§āĻš
āĻĢāĻžāĻāĻ˛[, āĻĢāĻžāĻāĻ˛āĻāĻ¨]
āĻšāĻžāĻ āĻā§āĻĄ āĻĒāĻžāĻāĻĨāĻ¨ āĻŦāĻžāĻāĻāĻā§āĻĄā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻā§āĻĄ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨
hyname.hy:
(defn hy-hy [āĻ¨āĻžāĻŽ]
(āĻŽā§āĻĻā§āĻ°āĻŖ (+ "āĻšāĻžāĻ " āĻ¨āĻžāĻŽ"!")))
(āĻšāĻžāĻ-āĻšāĻžāĻ "āĻāĻĢā§āĻ°ā§āĻŽā§āĻ¯āĻžāĻ¨")
āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻžāĻ˛āĻžāĻ¨:
$ hyc hyname.hy
$python hyname.pyc
āĻšāĻžāĻ āĻāĻĢā§āĻ°ā§āĻŽā§āĻ¯āĻžāĻ¨!
hy2py
0.10.1 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻāĻĻā§āĻļ āĻ˛āĻžāĻāĻ¨ āĻ āĻĒāĻļāĻ¨ āĻ¸āĻŽā§āĻš
-s
--āĻā§āĻ¸ āĻ¸āĻš
āĻĒāĻžāĻ°ā§āĻ¸āĻĄ āĻ¸ā§āĻ°ā§āĻ¸ āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ° āĻĻā§āĻāĻžāĻ¨āĨ¤
-a
--with-ast
āĻā§āĻĒāĻ¨ā§āĻ¨ AST āĻĻā§āĻāĻžāĻ¨āĨ¤
-āĻāĻ¨āĻĒāĻŋ
--āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻžāĻĄāĻŧāĻž
AST āĻĨā§āĻā§ āĻā§āĻĒāĻ¨ā§āĻ¨ āĻĒāĻžāĻāĻĨāĻ¨ āĻā§āĻĄ āĻĻā§āĻāĻžāĻŦā§āĻ¨ āĻ¨āĻžāĨ¤
Hy (āĻĻā§āĻ¯ āĻāĻžāĻˇāĻž)
āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž:
āĻāĻāĻŋ āĻ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ; āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻĒā§āĻ°āĻā§āĻˇā§āĻāĻž āĻ āĻŦāĻĻāĻžāĻ¨ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§āĻ¨.
āĻ¤āĻ¤ā§āĻ¤ā§āĻŦ of Hy
āĻšāĻžāĻ, āĻ¸āĻŦ āĻāĻŋāĻā§āĻ° āĻāĻĒāĻ°ā§, āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¯āĻŧ āĻĻāĻŋāĻā§āĻ 100% āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯ āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻā§
āĻ¨āĻŋāĻā§āĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻšāĻžāĻ āĻā§āĻĄ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ¸āĻšāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°ā§āĨ¤ āĻāĻ āĻŽā§āĻāĻ¸ā§āĻ¤, āĻāĻāĻž āĻāĻ¸āĻ¤ā§ āĻ¯āĻžāĻā§āĻā§ āĻšāĻŋāĻ¸āĻžāĻŦā§
āĻ¸āĻšāĻ
āĻāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§ āĻ¯ā§ Hy āĻā§āĻĄāĻāĻŋ āĻāĻĄāĻŋāĻāĻŽā§āĻ¯āĻžāĻāĻŋāĻ āĻāĻŦāĻ āĻāĻāĻ¯āĻŧ āĻāĻžāĻˇāĻžāĻ¯āĻŧ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸āĻ¯ā§āĻā§āĻ¯āĨ¤
¡ āĻāĻ¯āĻŧāĻžāĻ°āĻŽā§āĻĢā§āĻ° āĻāĻŋāĻšā§āĻ¨āĻā§āĻ˛āĻŋ āĻ¸ā§āĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻĒāĻ°ā§āĻ°-āĻā§āĻ¸ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ āĻ¨ā§āĻŦāĻžāĻĻ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻāĻ¨ā§āĻ¯
āĻāĻĻāĻžāĻšāĻ°āĻŖ, foo āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§ āĻ¯āĻĻāĻŋ foo.
¡ UTF-8 āĻ¸āĻ¤ā§āĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¨āĻā§āĻĄ āĻāĻ°āĻž āĻšāĻŦā§ punycode āĻāĻŦāĻ āĻ¸āĻā§āĻā§ āĻāĻĒāĻ¸āĻ°ā§āĻ āĻšāĻžāĻ_āĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, â
āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§ hy_w7h, âĨ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§ hy_g6h, āĻāĻŦāĻ āĻāĻŽāĻŋâĨ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§ hy_iu_t0x.
¡ āĻ¯ā§ āĻāĻŋāĻšā§āĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĄā§āĻ¯āĻžāĻļ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻāĻ¨ā§āĻĄāĻžāĻ°āĻ¸ā§āĻā§āĻ° āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ,
āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°-āĻā§āĻŽāĻĒā§āĻ˛ā§āĻ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°_āĻā§āĻŽāĻĒā§āĻ˛ā§āĻ. āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻĄā§āĻ¯āĻžāĻļ āĻ¸āĻš āĻĒā§āĻ°āĻ¤ā§āĻ āĻšāĻŦā§
āĻāĻžāĻ¯āĻŧāĻž āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻĄāĻžāĻ°āĻ¸ā§āĻā§āĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯, āĻāĻŦāĻ āĻ¤āĻĻā§āĻŦāĻŋāĻĒāĻ°ā§āĻ¤.
āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻāĻ¨
Hy-āĻ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻĢāĻ°ā§āĻŽ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻ¸āĻ āĻŋāĻ Python AST āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋ "āĻŦāĻŋāĻļā§āĻˇ" āĻĢāĻ°ā§āĻŽāĻā§āĻ˛āĻŋ, āĻ¯ā§āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻŽāĻ¨ āĻāĻāĻ°āĻŖ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻāĻŋāĻā§āĻāĻž āĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ā§ˇ
āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§āĨ¤
.
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
. āĻ āĻŦāĻā§āĻā§āĻā§ āĻ ā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻ āĻĄāĻŋāĻāĻ¸āĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
āĻ¨ā§āĻ¸ā§āĻā§āĻĄ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻ āĻāĻŦāĻ āĻāĻāĻā§āĻŽāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĨ¤
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§,
(. foo bar baz [(+ 1 2)] frob)
āĻ¨āĻŋāĻā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§:
foo.bar.baz[1 + 2].frob
. āĻāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖā§, foo āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸) āĻŦāĻ¸ā§āĻ¤ā§ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¯āĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ dereference. āĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ˛āĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻŦāĻžāĻ°,
āĻāĻŋāĻ¤ā§āĻ¤āĻŋ, frob), āĻāĻŦāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖā§, [(+ 1 2)]) āĻ¸ā§āĻā§āĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻāĻāĻāĻŋ āĻ¸āĻāĻāĻ˛āĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¨āĻŋāĻā§āĻˇā§āĻĒ.
āĻ āĻāĻžāĻ¨āĻž āĻā§āĻŖāĻžāĻŦāĻ˛ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¤ā§āĻ°ā§āĻāĻŋ. āĻ āĻāĻžāĻ¨āĻž āĻā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻā§āĻˇā§āĻĒ
āĻ¸ā§āĻāĻŋāĻĒāĻ¤ā§āĻ° (āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻŦāĻ āĻāĻŋāĻĒāĻ˛ā§) āĻŦāĻž āĻ āĻā§ āĻ¤ā§āĻ°ā§āĻāĻŋ (āĻ āĻāĻŋāĻ§āĻžāĻ¨ā§)āĨ¤
->
-> (āĻ āĻĨāĻŦāĻž āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§) āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¨ā§āĻ¸ā§āĻāĻŋāĻ āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻžāĻ¯āĻŧāĨ¤ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ
āĻā§āĻĄ āĻāĻāĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°ā§:
=> (defn āĻāĻāĻāĻĒā§āĻ [a b] (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ a b))
=> (-> (+ 4 6) (āĻāĻāĻāĻĒā§āĻ 5))
10 5
- >>
- >> (āĻ āĻĨāĻŦāĻž āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻ˛ā§āĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§) āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ āĻĸā§āĻāĻžāĻ¨ā§, āĻāĻāĻŋ āĻāĻāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§
āĻļā§āĻˇ āĻ¯ā§āĻā§āĻ¤āĻŋāĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻā§āĻĄ āĻāĻāĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°ā§:
=> (defn āĻāĻāĻāĻĒā§āĻ [a b] (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ a b))
=> (->> (+ 4 6) (āĻāĻāĻāĻĒā§āĻ 5))
5 10
āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž
āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻāĻā§āĻāĻŋāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻŦāĻ āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻā§āĻ° āĻāĻā§āĻāĻŋāĻ āĻ āĻāĻŋāĻ§āĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ
āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ā§
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨ fn-āĻ¨āĻžāĻŽ [āĻāĻ°ā§āĻāĻ¸] [āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻ¸])
āĻāĻĻāĻžāĻšāĻ°āĻŖ:
(defn thunk []
"āĻšāĻžāĻ āĻ¸ā§āĻāĻžāĻ¨ā§")
(āĻĨāĻžāĻā§āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨)
;=> "āĻšāĻžāĻ āĻāĻāĻžāĻ¨ā§"
(defn āĻŽā§āĻ-āĻā§āĻ°āĻ¯āĻŧ [āĻŽā§āĻ˛ā§āĻ¯ā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻāĻŦāĻ āĻāĻā§āĻāĻŋāĻ [āĻĢāĻŋ 1.05] [āĻā§āĻ¯āĻžāĻ 1.1]]
(* āĻŽā§āĻ˛ā§āĻ¯ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻĢāĻŋ āĻā§āĻ¯āĻžāĻ))
(āĻŽā§āĻ-āĻā§āĻ°āĻ¯āĻŧ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨ [10 15])
;=> 173.25
(āĻŽā§āĻ-āĻā§āĻ°āĻ¯āĻŧ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨ [10 15] {"āĻā§āĻ¯āĻžāĻ" 1.05})
;=> 165.375
(āĻŽā§āĻ-āĻā§āĻ°āĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨ [] {"āĻŽā§āĻ˛ā§āĻ¯" 10 "āĻ ā§āĻ¯āĻžāĻŽāĻžāĻāĻ¨ā§āĻ" 15 "āĻā§āĻ¯āĻžāĻ" 1.05})
;=> 165.375
āĻāĻŦāĻ
āĻāĻŦāĻ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻāĻŽāĻĒāĻā§āĻˇā§ āĻĻā§āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ˛āĻžāĻā§āĨ¤ āĻ¯āĻĻāĻŋ āĻ¸āĻŦ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ
āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ¸āĻ¤ā§āĻ¯, āĻļā§āĻˇ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻĒā§āĻ°āĻĨāĻŽ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻŽāĻžāĻ¨
āĻĢā§āĻ°āĻ¤ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻŦā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°:
=> (āĻāĻŦāĻ āĻ¸āĻ¤ā§āĻ¯ āĻŽāĻŋāĻĨā§āĻ¯āĻž)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (āĻāĻŦāĻ āĻ¸āĻ¤ā§āĻ¯ āĻ¸āĻ¤ā§āĻ¯)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻāĻŦāĻ āĻ¸āĻ¤ā§āĻ¯ 1)
1
=> (āĻāĻŦāĻ āĻ¸āĻ¤ā§āĻ¯ [] āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻ¸āĻ¤ā§āĻ¯)
[]
āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻ¨:
āĻāĻŦāĻ āĻļāĻ°ā§āĻ-āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ āĻāĻŦāĻ āĻĒā§āĻ°āĻĨāĻŽ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻž āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§ āĻĻā§āĻ¯āĻŧ
āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨āĨ¤
=> (āĻāĻŦāĻ āĻŽāĻŋāĻĨā§āĻ¯āĻž ("āĻšā§āĻ¯āĻžāĻ˛ā§" āĻŽā§āĻĻā§āĻ°āĻŖ))
āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻāĻžāĻšāĻŋāĻ° āĻāĻ°āĻž
āĻāĻžāĻšāĻŋāĻ° āĻāĻ°āĻž āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻ˛āĻžāĻāĻžāĻ˛ā§āĻ¨ āĻļāĻ°ā§āĻ¤ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻļāĻ°ā§āĻ¤ āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§
āĻĻā§āĻāĻž, āĻāĻāĻāĻŋ āĻĻāĻžāĻŦā§āĻ° āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻ¤ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧ. āĻāĻžāĻšāĻŋāĻ° āĻāĻ°āĻž āĻāĻ āĻŦāĻž āĻĻā§āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ
āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻšāĻ˛ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻļāĻ°ā§āĻ¤, āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻāĻ¯āĻŧā§āĻ°āĻ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¸āĻ¤ā§āĻ¯ or āĻŽāĻŋāĻĨā§āĻ¯āĻž. āĻĻā§āĻ¯
āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°, āĻāĻā§āĻāĻŋāĻ, āĻĻāĻžāĻŦāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ˛ā§āĻŦā§āĻ˛, āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻāĻŋ āĻšāĻŦā§
āĻ¸āĻā§āĻā§ āĻāĻ¤ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻĻāĻžāĻŦā§āĻ° āĻ¤ā§āĻ°ā§āĻāĻŋāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ:
(āĻāĻŦā§āĻĻāĻ¨ (= āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤-āĻŽāĻžāĻ¨))
(āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻĻāĻžāĻŦāĻŋ)
; āĻĻāĻžāĻŦā§āĻ° āĻ¤ā§āĻ°ā§āĻāĻŋ
(āĻāĻŦā§āĻĻāĻ¨ (= 1 2) "āĻāĻāĻāĻŋ āĻ¸āĻŽāĻžāĻ¨ āĻĻā§āĻāĻāĻŋ")
; āĻĻāĻžāĻŦā§āĻ° āĻ¤ā§āĻ°ā§āĻāĻŋ: āĻāĻāĻāĻ¨ā§āĻ° āĻ¸āĻŽāĻžāĻ¨ āĻĻā§āĻ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤
āĻ¸āĻšāĻ¯ā§āĻāĻŋāĻ¤āĻž
āĻ¸āĻšāĻ¯ā§āĻāĻŋāĻ¤āĻž āĻāĻāĻāĻŋ āĻ āĻāĻŋāĻ§āĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻŽāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻā§ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻŦāĻž āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻ āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ
āĻāĻāĻāĻŋ āĻŽāĻžāĻ¨ āĻāĻāĻŋ āĻ āĻ¨ā§āĻ¤āĻ¤ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ˛āĻžāĻā§: āĻāĻĒāĻžāĻ¤ā§āĻ¤ āĻāĻ āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž, āĻ āĻāĻžāĻŦāĻŋ
or āĻ¸ā§āĻāĻ, āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻŽā§āĻ˛ā§āĻ¯. āĻ¯āĻĻāĻŋ āĻ¤āĻŋāĻ¨āĻāĻŋāĻ° āĻŦā§āĻļāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻŋ āĻā§āĻĄāĻŧāĻžāĻ¯āĻŧ āĻā§āĻĄāĻŧāĻžāĻ¯āĻŧ āĻ¯ā§āĻā§āĻ¤ āĻšāĻŦā§āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ:
=>(āĻāĻ˛ā§āĻ¨ [[āĻ¸āĻāĻā§āĻ°āĻš{}]]
... (āĻ ā§āĻ¯āĻžāĻ¸ā§āĻ āĻāĻžāĻ˛ā§āĻāĻļāĻ¨ "āĻā§āĻā§āĻ°" "āĻŦāĻžāĻ°ā§āĻ")
... (āĻŽā§āĻĻā§āĻ°āĻŖ āĻ¸āĻāĻā§āĻ°āĻš))
{u'Dog': u'Bark'}
=>(āĻāĻ˛ā§āĻ¨ [[āĻ¸āĻāĻā§āĻ°āĻš{}]]
... (āĻ ā§āĻ¯āĻžāĻ¸ā§āĻ āĻāĻžāĻ˛ā§āĻāĻļāĻ¨ "āĻā§āĻā§āĻ°" "āĻŦāĻžāĻ°ā§āĻ" "āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛" "āĻŽāĻŋāĻ")
... (āĻŽā§āĻĻā§āĻ°āĻŖ āĻ¸āĻāĻā§āĻ°āĻš))
{u'Cat': u'Meow', u'dog': u'Bark'}
=>(āĻāĻ˛ā§āĻ¨ [[āĻ¸āĻāĻā§āĻ°āĻš [1 2 3 4]]]]
... (āĻ¸āĻšāĻ¯ā§āĻā§ āĻ¸āĻāĻā§āĻ°āĻš 2 āĻā§āĻ¨āĻāĻŋāĻ āĻ¨āĻ¯āĻŧ)
... (āĻŽā§āĻĻā§āĻ°āĻŖ āĻ¸āĻāĻā§āĻ°āĻš))
[ā§§, ā§¨, āĻā§āĻ¨ā§āĻāĻŋāĻ āĻ¨āĻ¯āĻŧ, ā§Ēā§¨]
āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻ¨:
āĻ¸āĻšāĻ¯ā§āĻāĻŋāĻ¤āĻž āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻĄā§āĻāĻžāĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°ā§ āĻ¨āĻž.
āĻŦāĻŋāĻ°āĻ¤āĻŋ
āĻŦāĻŋāĻ°āĻ¤āĻŋ āĻāĻāĻāĻŋ āĻ˛ā§āĻĒ āĻĨā§āĻā§ āĻŦāĻŋāĻ°āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ. āĻāĻāĻž āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻ˛ā§āĻĒ āĻŦāĻ¨ā§āĻ§. āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻāĻāĻŋ āĻ āĻ¸ā§āĻŽ āĻāĻā§ āĻ¯āĻāĻ¨ āĻ˛ā§āĻĒ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§āĻ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ k.
(āĻ¯āĻĻāĻŋāĻ āĻ¸āĻ¤ā§āĻ¯ (āĻ¯āĻĻāĻŋ (= "āĻā§" (āĻāĻžāĻāĻāĻž-āĻāĻ¨āĻĒā§āĻ "? "))
(āĻŦā§āĻ°ā§āĻ)
("āĻāĻŦāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨" āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨)))
Cond
Cond āĻŦāĻžāĻ¸āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ if āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻāĻžāĻ¯āĻŧ
āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻŦāĻ āĻāĻ° āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ:
(cond [āĻļāĻ°ā§āĻ¤-1 āĻĢāĻ˛āĻžāĻĢāĻ˛-1]
[āĻļāĻ°ā§āĻ¤-ā§¨ āĻĢāĻ˛āĻžāĻĢāĻ˛-ā§¨])
(āĻ¯āĻĻāĻŋ āĻļāĻ°ā§āĻ¤-ā§§ āĻĢāĻ˛āĻžāĻĢāĻ˛-ā§§
(āĻ¯āĻĻāĻŋ āĻļāĻ°ā§āĻ¤-ā§¨ āĻĢāĻ˛āĻžāĻĢāĻ˛-ā§¨))
āĻ¨ā§āĻā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻŽā§āĻ¯āĻžāĻāĻŋāĻ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŦā§āĻ˛āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ.
=> (defn āĻā§āĻ-āĻŽāĻžāĻ¨ [āĻŽāĻžāĻ¨]
... (cond [(< āĻŽāĻžāĻ¨ 5) (āĻŽā§āĻĻā§āĻ°āĻŖ "āĻŽāĻžāĻ¨ 5 āĻĨā§āĻā§ āĻā§āĻ")]
... [(= āĻŽāĻžāĻ¨ 5) (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻŽāĻžāĻ¨ 5 āĻāĻ° āĻ¸āĻŽāĻžāĻ¨")]
... [(> āĻŽāĻžāĻ¨ 5) (āĻŽā§āĻĻā§āĻ°āĻŖ "āĻŽāĻžāĻ¨ 5 āĻāĻ° āĻā§āĻ¯āĻŧā§ āĻŦāĻĄāĻŧ")]
... [āĻ¸āĻ¤ā§āĻ¯ (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻŽāĻžāĻ¨ āĻāĻŽāĻ¨ āĻāĻŋāĻā§ āĻ¯āĻž āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ")]))
=> (āĻā§āĻ-āĻŽāĻžāĻ¨ 6)
āĻŽāĻžāĻ¨ 5 āĻāĻ° āĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ
āĻ āĻŦāĻŋāĻ°āĻ¤
āĻ āĻŦāĻŋāĻ°āĻ¤ āĻāĻāĻāĻŋ āĻ˛ā§āĻĒā§āĻ° āĻļā§āĻ°ā§āĻ¤ā§ āĻŽā§āĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖā§,
(āĻĒāĻžāĻ°ā§āĻļā§āĻŦ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž1) āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤ (āĻĒāĻžāĻ°ā§āĻļā§āĻŦ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž2), āĻ¤āĻŦā§, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ
āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ āĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨āĨ¤
;; āĻ§āĻ°ā§ āĻ¨āĻŋāĻā§āĻāĻŋ āĻ¯ā§ (āĻ¸āĻžāĻāĻĄ-āĻāĻĢā§āĻā§āĻ1) āĻāĻŦāĻ (āĻ¸āĻžāĻāĻĄ-āĻāĻĢā§āĻā§āĻ2) āĻšāĻ˛ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŦāĻ
;; āĻ¸āĻāĻā§āĻ°āĻš āĻšāĻ˛ āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ āĻŽāĻžāĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž
(āĻāĻ° āĻāĻ¨ā§āĻ¯ [x āĻ¸āĻāĻā§āĻ°āĻš]
(āĻāĻ°
(āĻĒāĻžāĻ°ā§āĻļā§āĻŦ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž1 x)
(āĻ¯āĻĻāĻŋ (% x 2)
(āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¨))
(āĻĒāĻžāĻ°ā§āĻļā§āĻŦ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž2 x)))
dict-com
dict-com āĻ āĻāĻŋāĻ§āĻžāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻ¤āĻŋāĻ¨ āĻŦāĻž āĻāĻžāĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ˛āĻžāĻā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ
āĻĻā§āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ (āĻā§-āĻŽāĻžāĻ¨ āĻā§āĻĄāĻŧāĻž) āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧāĻāĻŋ
āĻāĻāĻāĻŋ āĻā§āĻ°āĻŽ āĻĨā§āĻā§ āĻāĻāĻā§āĻŽ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤. āĻāĻ¤ā§āĻ°ā§āĻĨ āĻāĻŦāĻ āĻāĻā§āĻāĻŋāĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§āĻā§āĻˇ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻ āĻ¨ā§āĻā§āĻ°āĻŽā§āĻ° āĻāĻŋāĻā§ āĻāĻāĻā§āĻŽ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤
=> (dict-comp x (* x 2) [x (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10)] (āĻŦāĻŋāĻā§āĻĄāĻŧ? x))
{1: 2, 3: 6, 9: 18, 5: 10, 7: 14}
do / progn
do āĻāĻŦāĻ progn āĻ¤āĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻļā§āĻˇāĻāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻāĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻ¨
āĻļā§āĻˇ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻŦā§āĻ¯āĻ¤ā§āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĨā§āĻā§ āĻŽāĻžāĻ¨ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ˛ā§āĻ¯āĻžāĻŽāĻĄāĻž or
list-com āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋāĻ¤ā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻ°āĻ āĻāĻāĻŋāĻ˛ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ¸āĻā§āĻāĻžāĻ˛āĻ¨ āĻāĻ°āĻ¤ā§āĨ¤
āĻāĻŋāĻā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°:
=> (āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯
... (āĻāĻ°ā§āĻ¨ (āĻŽā§āĻĻā§āĻ°āĻŖ āĻāĻ°ā§āĻ¨ "āĻĒāĻžāĻ°ā§āĻļā§āĻŦ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ°āĻ!")
... (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻšā§āĻ¯āĻžāĻ, āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ!")))
āĻĒāĻžāĻ°ā§āĻļā§āĻŦāĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻļāĻŋāĻ˛āĻž!
āĻšāĻžāĻ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ!
;; āĻ§āĻ°ā§ āĻ¨āĻŋāĻā§āĻāĻŋ āĻ¯ā§ (āĻĒāĻžāĻ°ā§āĻļā§āĻŦ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž) āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ
;; āĻāĻŦāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŽāĻžāĻ¨, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻžāĻ° āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°āĻŋ āĻ¨āĻž
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž-āĻāĻŽā§āĻĒ (āĻāĻ°ā§āĻ¨ (āĻĒāĻžāĻ°ā§āĻļā§āĻŦ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž x)
... (āĻ¯āĻĻāĻŋ (< x 5) (* 2 x)
... (*4 x)))
... (x (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10)))
[ā§Ļ, ā§¨, ā§Ē, ā§Ŧ, ā§Ž, ā§¨ā§Ļ, ā§¨ā§Ē, ā§¨ā§Ž, ā§Šā§¨, ā§Šā§Ŧ]
do 1 āĻĨā§āĻā§ n āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¯ā§āĻā§āĻ¨ā§ āĻ¸āĻāĻā§āĻ¯āĻ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
Def / āĻ¸ā§āĻāĻāĻŋ
Def āĻāĻŦāĻ āĻ¸ā§āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŽāĻžāĻ¨, āĻŦāĻ¸ā§āĻ¤ā§, āĻŦāĻž āĻĢāĻžāĻāĻļāĻ¨ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻā§ āĻāĻŦāĻĻā§āĻ§ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ:
=> (āĻĄā§āĻĢ āĻ¨āĻžāĻŽ ["āĻāĻ˛āĻŋāĻ¸" "āĻŦāĻŦ" "āĻāĻžāĻ°ā§āĻ˛āĻŋ"])
=> (āĻ¨āĻžāĻŽ āĻŽā§āĻĻā§āĻ°āĻŖ)
[u'Alice', u'Bob', u'Charlie']
=> (setv āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ° (fn [āĻ¸āĻāĻā§āĻ°āĻš āĻāĻāĻā§āĻŽ] (.āĻāĻŖāĻ¨āĻž āĻ¸āĻāĻā§āĻ°āĻš āĻāĻāĻā§āĻŽ)))
=> (āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ° [1 2 3 4 5 2 3] 2)
2
defclass
āĻ¸āĻžāĻĨā§ āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻ˛āĻžāĻ¸ āĻā§āĻˇāĻŖāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ defclass. āĻāĻāĻŋ āĻĻā§āĻāĻŋ āĻāĻā§āĻāĻŋāĻ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§: āĻāĻāĻāĻŋ āĻā§āĻā§āĻāĻ°
āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻ¸ā§āĻĒāĻžāĻ° āĻā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ āĻ¨āĻ¤ā§āĻ¨ā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ§āĻžāĻ°āĻŖāĻāĻžāĻ°ā§ āĻāĻ°ā§āĻāĻāĻŋ āĻā§āĻā§āĻāĻ° āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž
āĻĻā§āĻāĻŋ āĻāĻāĻā§āĻŽ āĻā§āĻā§āĻāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻļā§āĻ°ā§āĻŖā§āĨ¤
(āĻĄāĻŋāĻĢāĻā§āĻ˛āĻžāĻ¸ āĻā§āĻ˛āĻžāĻ¸-āĻ¨āĻžāĻŽ [āĻ¸ā§āĻĒāĻžāĻ°-āĻā§āĻ˛āĻžāĻ¸-1 āĻ¸ā§āĻĒāĻžāĻ°-āĻā§āĻ˛āĻžāĻ¸-2]
[[āĻ ā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻ āĻŽāĻžāĻ¨]])
āĻŽāĻžāĻ¨ āĻāĻŦāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻāĻ¯āĻŧāĻ āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻ˛āĻžāĻ¸ā§ āĻāĻŦāĻĻā§āĻ§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯ā§āĻŽāĻ¨āĻāĻŋ āĻ¨ā§āĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§:
=> (āĻĄāĻŋāĻĢāĻā§āĻ˛āĻžāĻ¸ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ []
... [[āĻŦāĻ¯āĻŧāĻ¸ āĻ¨ā§āĻ]
... [āĻ°āĻ "āĻ¸āĻžāĻĻāĻž"]
... [āĻŦāĻ˛ā§āĻ¨ (fn [āĻ¸ā§āĻŦāĻ¯āĻŧāĻ] (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻŽāĻŋāĻ"))]])
=> (āĻĄāĻŋāĻĢ āĻ¸ā§āĻĒāĻ (āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛))
=> (setv spot.colour "āĻāĻžāĻ˛ā§")
'āĻāĻžāĻ˛ā§'
=> (.āĻ¸ā§āĻĒāĻŋāĻ āĻ¸ā§āĻĒāĻ)
āĻŽāĻŋāĻ
defn / defun
defn āĻāĻŦāĻ defun āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻ°āĻž āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§: āĻ¨āĻžāĻŽ
āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋāĻ° āĻāĻāĻāĻŋ āĻā§āĻā§āĻāĻ° āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ, āĻāĻŦāĻ āĻļāĻ°ā§āĻ° āĻĢāĻžāĻāĻļāĻ¨ā§āĻ°:
(defn name [params] body)
āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻŽāĻ¨ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§:
&āĻāĻā§āĻāĻŋāĻ
āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻāĻā§āĻāĻŋāĻāĨ¤ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻāĻāĻāĻŋ āĻĻā§āĻāĻŋ āĻāĻāĻā§āĻŽ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯ā§āĻāĻžāĻ¨ā§
āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŽāĻžāĻ¨āĨ¤ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°
āĻāĻāĻāĻŋ āĻāĻāĻ āĻāĻāĻā§āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§āĻ āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯ā§ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŽāĻžāĻ¨ āĻ¨āĻž.
=> (defn āĻŽā§āĻ-āĻŽāĻžāĻ¨ [āĻŽāĻžāĻ¨ āĻ āĻāĻā§āĻāĻŋāĻ [āĻŽāĻžāĻ¨-āĻ¸āĻāĻ¯ā§āĻāĻŋāĻ¤-āĻāĻ° 10]]
... (+ (/ (* āĻŽāĻžāĻ¨ āĻŽāĻžāĻ¨-āĻ¸āĻāĻ¯ā§āĻāĻŋāĻ¤-āĻāĻ°) 100) āĻŽāĻžāĻ¨))
=> (āĻŽā§āĻ-āĻŽāĻžāĻ¨ 100)
110.0
=> (āĻŽā§āĻ-āĻŽāĻžāĻ¨ 100 1)
101.0
&āĻāĻžāĻŦāĻŋ
&kwargs
āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§ 0 āĻŦāĻž āĻ¤āĻžāĻ° āĻŦā§āĻļāĻŋ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻĨāĻžāĻāĻŦā§āĨ¤
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻā§āĻĄ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻŦā§
āĻ¯ā§āĻā§āĻ¤āĻŋ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻžāĻ¨āĨ¤
=> (defn āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ-āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° [&kwargs kwargs]
... (āĻāĻ° āĻāĻ¨ā§āĻ¯ [(, k v) (.items kwargs)] (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ k v)))
=> (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ-āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨ [] {"āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°-1" 1 "āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°-2" 2})
āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°-2 2
āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°-1 1
&āĻŦāĻŋāĻļā§āĻ°āĻžāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§ 0 āĻŦāĻž āĻ¤āĻžāĻ° āĻŦā§āĻļāĻŋ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨āĻāĻ¤ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨āĻāĻ¤
āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻāĻ āĻāĻ āĻĒāĻ°ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§.
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻā§āĻĄ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯āĻž 0 āĻĨā§āĻā§ n āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻāĻāĻŋ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŦāĻŋāĻā§āĻĄāĻŧ āĻ¸āĻāĻā§āĻ¯āĻž āĻ¯ā§āĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻā§āĻĄāĻŧ āĻ¸āĻāĻā§āĻ¯āĻž āĻŦāĻŋāĻ¯āĻŧā§āĻ āĻāĻ°ā§āĨ¤
=> (defn zig-zag-sum [&āĻŦāĻžāĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻž]
(āĻāĻ˛ā§ [[āĻŦāĻŋāĻā§āĻĄāĻŧ-āĻ¸āĻāĻā§āĻ¯āĻž (āĻ¤āĻžāĻ˛āĻŋāĻāĻž-āĻāĻŽā§āĻĒ x [x āĻ¸āĻāĻā§āĻ¯āĻž] (āĻŦāĻŋāĻā§āĻĄāĻŧ? x))]]
[āĻā§āĻ°-āĻ¸āĻāĻā§āĻ¯āĻž (āĻ¤āĻžāĻ˛āĻŋāĻāĻž-āĻāĻŽā§āĻĒ x [x āĻ¸āĻāĻā§āĻ¯āĻž] (āĻāĻŽāĻ¨? x))]]
(- (āĻā§āĻĄāĻŧ-āĻŦāĻŋāĻā§āĻĄāĻŧ-āĻ¸āĻāĻā§āĻ¯āĻž) (āĻā§āĻĄāĻŧ-āĻ¸āĻāĻā§āĻ¯āĻž))))
=> (āĻāĻŋāĻ-āĻā§āĻ¯āĻžāĻ-āĻ¸āĻŽ)
0
=> (zig-zag-sum 3 9 4)
8
=> (zig-zag-sum 1 2 3 4 5 6)
-3
defn- alias / defun- alias
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° defn- alias āĻāĻŦāĻ defun- alias āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ āĻ¨ā§āĻāĻāĻž āĻāĻ°āĻāĻŽ defn, āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻ¸āĻā§āĻā§ āĻ¯ā§
āĻāĻāĻāĻŋ āĻāĻāĻ āĻ¨āĻžāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻā§āĻ˛āĻŋ āĻāĻĒāĻ¨āĻžāĻŽāĻā§āĻ˛āĻŋāĻ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯
āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĢāĻžāĻāĻļāĻ¨ āĻ¨āĻžāĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤ā§āĻāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¨ā§āĻāĻ¯āĻŧāĻžāĻ° āĻā§āĻ¯āĻŧā§, defn- alias āĻāĻŦāĻ
defun- alias āĻĨā§āĻā§ āĻāĻ˛āĻžāĻĻāĻž āĻ¨āĻ¯āĻŧ defn āĻāĻŦāĻ defun.
=> (defn-alias [main-name alias] []
... (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻšā§āĻ¯āĻžāĻ˛ā§!"))
=> (āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¨āĻžāĻŽ)
"āĻšā§āĻ¯āĻžāĻ˛ā§!"
=> (āĻāĻ°āĻĢā§)
"āĻšā§āĻ¯āĻžāĻ˛ā§!"
defmain
0.10.1 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° defmain āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯āĻž āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧ sys.argv as
āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ¯āĻĻāĻŋ āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¯āĻĻāĻŋ āĻāĻ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻā§āĻā§āĨ¤ āĻ āĻ¨ā§āĻ¯ āĻāĻĨāĻžāĻ¯āĻŧ, āĻāĻ:
(defmain [&rest args]
(āĻāĻ°ā§āĻāĻ¸ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻŋāĻā§ āĻāĻ°ā§āĻ¨))
āĻāĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯:
def main(*args):
do_something_with(args)
āĻāĻā§āĻ¸āĻāĻ¨āĻāĻŽāĻāĻā§āĻ¸ āĻĢāĻŋāĻ°ā§ āĻāĻ¸ā§āĻ¨
āĻ¯āĻĻāĻŋ __āĻ¨āĻžāĻŽ__ == "__āĻĒā§āĻ°āĻ§āĻžāĻ¨__":
āĻāĻŽāĻĻāĻžāĻ¨āĻŋ sys
retval = āĻĒā§āĻ°āĻ§āĻžāĻ¨ (*sys.arg)
āĻ¯āĻĻāĻŋ instance (retval, int):
sys.exit(retval)
āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ°ā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¨ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻšāĻŦā§
āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ (āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸ 0 āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻāĻĨāĻ¨ āĻĄāĻŋāĻĢāĻ˛ā§āĻ,
āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻ āĻāĻā§!)
(āĻĨā§āĻā§ (sys.exit 0) āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¨āĻ¨-āĻāĻ¨āĻāĻŋāĻāĻžāĻ° āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ āĻ¨āĻž
defmain, āĻāĻāĻž āĻ°āĻžāĻāĻž āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻ§āĻžāĻ°āĻŖāĻž (āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤) āĻāĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻāĻ˛ā§āĻ° āĻā§āĻĄā§āĻ° āĻļā§āĻˇ āĻ āĻāĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§āĨ¤)
āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻšāĻ˛ (āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¨āĻžāĻŽ [āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ]
āĻāĻā§āĻ¸āĻĒā§āĻ°).
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ āĻāĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯āĻž āĻā§āĻĄā§ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻā§āĻ°āĻŽ āĻ āĻĻāĻ˛āĻŦāĻĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§,
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻā§ āĻāĻ¨āĻĢāĻŋāĻā§āĻ¸ āĻ¨ā§āĻā§āĻļāĻ¨ā§ āĻā§āĻĄ āĻ˛ā§āĻāĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ āĻĒāĻžāĻ°ā§āĻāĻ° āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĨāĻžāĻā§
āĻ āĻĒāĻžāĻ°ā§āĻ¨ā§āĻĄ
=> (āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻ¨āĻĢāĻŋāĻā§āĻ¸ [āĻā§āĻĄ]
... (āĻāĻ§āĻžāĻāĻĻā§āĻ§ā§āĻ¤āĻŋ (
... (āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻāĻĻā§āĻ§ā§āĻ¤ āĻāĻ°ā§āĻ¨ (āĻā§āĻĄ 1 āĻĒāĻžāĻ¨))
... (āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻāĻĻā§āĻ§ā§āĻ¤ āĻāĻ°ā§āĻ¨ (āĻā§āĻĄ 0 āĻĒāĻžāĻ¨))
... (āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻāĻĻā§āĻ§ā§āĻ¤ āĻāĻ°ā§āĻ¨ (āĻā§āĻĄ 2 āĻĒāĻžāĻ¨)))))
=> (āĻāĻ¨āĻĢāĻŋāĻā§āĻ¸ (1 + 1))
2
āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§-āĻāĻ¨āĻžāĻĢā§
āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§-āĻāĻ¨āĻžāĻĢā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻ¨āĻžāĻŽ (āĻāĻ¨āĻžāĻŽā§) āĻ¸āĻš āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸
is (defmacro-alias [āĻ¨āĻžāĻŽ] [āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ] āĻāĻā§āĻ¸āĻĒā§āĻ°). āĻāĻāĻŋ āĻāĻāĻ āĻ¸āĻžāĻĨā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§
āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻŦāĻ āĻŦāĻĄāĻŋ, āĻ¨āĻžāĻŽā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻ āĻ§ā§āĻ¨ā§āĨ¤
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻāĻŋ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§, āĻāĻāĻ¯āĻŧāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻā§ āĻā§āĻĄ āĻ˛āĻŋāĻāĻ¤ā§ āĻĻā§āĻ¯āĻŧ
infix āĻ¸ā§āĻŦāĻ°āĻ˛āĻŋāĻĒāĻŋāĨ¤
=> (defmacro-alias [infix infi] [āĻā§āĻĄ]
... (āĻāĻ§āĻžāĻāĻĻā§āĻ§ā§āĻ¤āĻŋ (
... (āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻāĻĻā§āĻ§ā§āĻ¤ āĻāĻ°ā§āĻ¨ (āĻā§āĻĄ 1 āĻĒāĻžāĻ¨))
... (āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻāĻĻā§āĻ§ā§āĻ¤ āĻāĻ°ā§āĻ¨ (āĻā§āĻĄ 0 āĻĒāĻžāĻ¨))
... (āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻāĻĻā§āĻ§ā§āĻ¤ āĻāĻ°ā§āĻ¨ (āĻā§āĻĄ 2 āĻĒāĻžāĻ¨)))))
=> (āĻāĻ¨āĻĢāĻŋāĻā§āĻ¸ (1 + 1))
2
=> (āĻāĻ¨āĻĢāĻŋ (1 + 1))
2
āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§/āĻāĻŋ!
0.9.12 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§/āĻāĻŋ! āĻāĻ° āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¯āĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ gensym
āĻ¯ā§ āĻā§āĻ¨ā§ āĻāĻŋāĻšā§āĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ g!.
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ, g!a āĻšāĻŦā§ (āĻā§āĻ¨āĻ¸āĻŋāĻŽ "āĻ").
SEE āĻāĻāĻžāĻĄāĻŧāĻžāĻ:
āĻā§āĻ¨āĻ¸āĻŋāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦāĻŋāĻāĻžāĻ
āĻĄāĻŋāĻĢā§āĻ°āĻŋāĻĄāĻžāĻ°
0.9.12 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻĄāĻŋāĻĢā§āĻ°āĻŋāĻĄāĻžāĻ° āĻāĻāĻāĻŋ āĻĒāĻžāĻ āĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻĒā§āĻ¨āĻ°ā§āĻāĻ āĻ¨ āĻŦāĻž āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°ā§āĨ¤
=> (āĻĄāĻŋāĻĢā§āĻ°āĻŋāĻĄāĻžāĻ° ^ [āĻāĻā§āĻ¸āĻĒāĻŋāĻāĻ°] (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻā§āĻ¸āĻĒā§āĻ°))
=> #^(1 2 3 4)
(1)
=> #^"āĻšā§āĻ¯āĻžāĻ˛ā§"
"āĻšā§āĻ¯āĻžāĻ˛ā§"
SEE āĻāĻāĻžāĻĄāĻŧāĻžāĻ:
āĻ¸ā§āĻāĻļāĻ¨ āĻ°āĻŋāĻĄāĻžāĻ° āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
āĻāĻ°
0.9.12 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§ āĻĻā§āĻ¯āĻŧāĨ¤
=> (setv foo 42)
=> (āĻĄā§āĻ˛ āĻĢā§)
=> foo
āĻā§āĻ°ā§āĻ¸āĻŦā§āĻ¯āĻžāĻ (āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻāĻ¤āĻŽ āĻāĻ˛ āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ):
āĻĢāĻžāĻāĻ˛ "", āĻ˛āĻžāĻāĻ¨ 1, -āĻ
NameError: āĻ¨āĻžāĻŽ 'foo' āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ
āĻāĻ° āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ, āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻŦāĻ āĻāĻ°āĻ āĻ āĻ¨ā§āĻ āĻāĻŋāĻā§ āĻĨā§āĻā§ āĻ āĻŦāĻā§āĻā§āĻ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
=> (āĻ¸ā§āĻāĻŋāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10)))
=> āĻĒāĻ°ā§āĻā§āĻˇāĻž
[ā§Ļ, ā§¨, ā§Ē, ā§Ŧ, ā§Ž, ā§¨ā§Ļ, ā§¨ā§Ē, ā§¨ā§Ž, ā§Šā§¨, ā§Šā§Ŧ]
=> (āĻĄā§āĻ˛ (āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻā§āĻ¸ā§āĻ 2 4));; 2 āĻĨā§āĻā§ 4 āĻŦāĻžāĻĻ āĻĻā§āĻāĻ¯āĻŧāĻž āĻāĻāĻā§āĻŽāĻā§āĻ˛āĻŋ āĻ¸āĻ°āĻžāĻ¨
=> āĻĒāĻ°ā§āĻā§āĻˇāĻž
[ā§Ļ, ā§§, ā§Ē, ā§Ģ, ā§Ŧ, ā§, ā§Ž, ā§¯]
=> (setv dic {"foo" "āĻŦāĻžāĻ°"})
=> āĻĄāĻŋāĻ¸āĻŋ
{"foo": "āĻŦāĻžāĻ°"}
=> (āĻĄā§āĻ˛ (āĻĄāĻŋāĻ "āĻĢā§" āĻĒāĻžāĻ¨))
=> āĻĄāĻŋāĻ¸āĻŋ
{}
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻžāĻ§āĻ°
0.10.1 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻžāĻ§āĻ° āĻāĻāĻāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻ˛ā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻ°āĻŽ āĻ¸āĻ°āĻ˛ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
=> (āĻĄā§āĻā§ [] (.āĻ¸āĻāĻ¯ā§āĻāĻ¨ 1) (.āĻ¸āĻāĻ¯ā§āĻāĻ¨ 2) .āĻŦāĻŋāĻĒāĻ°ā§āĻ¤)
[2 1]
=> (āĻ¸ā§āĻāĻŋāĻāĻŋ āĻ¸āĻāĻā§āĻ°āĻš [])
=> (.āĻ¸āĻāĻā§āĻ°āĻš 1 āĻ¸āĻāĻ¯ā§āĻāĻ¨)
=> (.āĻ¸āĻāĻā§āĻ°āĻš 2 āĻ¸āĻāĻ¯ā§āĻāĻ¨)
=> (. āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ āĻ¸āĻāĻā§āĻ°āĻš)
=> āĻ¸āĻāĻā§āĻ°āĻš
[2 1]
āĻ¸ā§āĻĒāĻˇā§āĻ
āĻ¸ā§āĻĒāĻˇā§āĻ āĻāĻāĻāĻŋ āĻāĻĻā§āĻ§ā§āĻ¤ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤
=> (eval '("āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ" āĻŽā§āĻĻā§āĻ°āĻŖ))
"āĻāĻšā§ āĻŦāĻŋāĻļā§āĻŦ"
eval-āĻāĻŦāĻ-āĻāĻŽā§āĻĒāĻžāĻāĻ˛
eval-when-āĻāĻŽā§āĻĒāĻžāĻāĻ˛
āĻĒā§āĻ°āĻĨāĻŽ / āĻāĻžāĻĄāĻŧā§
āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŦāĻ āĻāĻžāĻĄāĻŧā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ°āĻšā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§:
=> (āĻĒā§āĻ°āĻĨāĻŽ (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10))
0
āĻāĻ¨ā§āĻ¨āĻ¤
āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻŦāĻž āĻā§āĻā§āĻāĻ°ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛
āĻāĻ˛ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻ¨ā§āĻ¨āĻ¤ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻĢāĻŋāĻ°ā§ āĻāĻ¸ā§ āĻ¨āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§. āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻā§āĻĄ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ
āĻļā§āĻˇ āĻ¸āĻāĻā§āĻ°āĻš āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻžāĻĻāĻžāĻ¨ in āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ˛ āĻĒāĻžāĻ°ā§āĻļā§āĻŦ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻā§āĻā§ āĻĢāĻžāĻāĻļāĻ¨
āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¤āĻžāĻ° āĻ¯ā§āĻā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§:
;; āĻ§āĻ°ā§ āĻ¨āĻŋāĻā§āĻāĻŋ āĻ¯ā§ (āĻĒāĻžāĻ°ā§āĻļā§āĻŦ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž) āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¯āĻž āĻāĻāĻāĻŋ āĻāĻāĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ¨ā§āĻ¯āĻŧ
(āĻāĻ° āĻāĻ¨ā§āĻ¯ [āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻāĻā§āĻ°āĻš] (āĻĒāĻžāĻ°ā§āĻļā§āĻŦ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻĒāĻžāĻĻāĻžāĻ¨))
;; āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻā§āĻāĻŋāĻ āĻ āĻ¨ā§āĻ¯ āĻŦā§āĻ˛āĻ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§
(āĻāĻ° āĻāĻ¨ā§āĻ¯ [āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻāĻā§āĻ°āĻš] (āĻĒāĻžāĻ°ā§āĻļā§āĻŦ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻĒāĻžāĻĻāĻžāĻ¨)
(āĻ āĻ¨ā§āĻ¯ (āĻĒāĻžāĻ°ā§āĻļā§āĻŦ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž-2)))
.āĻā§āĻāĻŋāĻ āĻāĻ° āĻŦā§āĻ˛āĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻāĻ¨ā§āĻ¨āĻ¤ āĻ˛ā§āĻĒ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āĻļā§āĻˇ āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ
āĻ¸āĻā§āĻā§ āĻŽā§āĻ¤ā§āĻ¯ā§āĻĻāĻŖā§āĻĄ āĻ¸ā§āĻĨāĻāĻŋāĻ¤ āĻŦāĻŋāĻ°āĻ¤āĻŋ, āĻĻā§āĻ¯ āĻāĻ° āĻŦā§āĻ˛āĻ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤
=> (āĻāĻ° āĻāĻ¨ā§āĻ¯ [āĻāĻĒāĻžāĻĻāĻžāĻ¨ [1 2 3]] (āĻ¯āĻĻāĻŋ (< āĻāĻĒāĻžāĻĻāĻžāĻ¨ 3)
... (āĻŽā§āĻĻā§āĻ°āĻŖ āĻāĻĒāĻžāĻĻāĻžāĻ¨)
... (āĻŦāĻŋāĻ°āĻ¤āĻŋ))
... (āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ (āĻŽā§āĻĻā§āĻ°āĻŖ "āĻ˛ā§āĻĒ āĻ¸āĻŽāĻžāĻĒā§āĻ¤")))
1
2
=> (āĻāĻ° āĻāĻ¨ā§āĻ¯ [āĻāĻĒāĻžāĻĻāĻžāĻ¨ [1 2 3]] (āĻ¯āĻĻāĻŋ (< āĻāĻĒāĻžāĻĻāĻžāĻ¨ 4)
... (āĻŽā§āĻĻā§āĻ°āĻŖ āĻāĻĒāĻžāĻĻāĻžāĻ¨)
... (āĻŦāĻŋāĻ°āĻ¤āĻŋ))
... (āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ (āĻŽā§āĻĻā§āĻ°āĻŖ "āĻ˛ā§āĻĒ āĻ¸āĻŽāĻžāĻĒā§āĻ¤")))
1
2
3
āĻ˛ā§āĻĒ āĻļā§āĻˇ
genexpr
genexpr āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻĻā§āĻ āĻŦāĻž āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ˛āĻžāĻā§āĨ¤ āĻĻā§āĻ¯
āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻāĻŋ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖāĻāĻžāĻ°ā§ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ, āĻ¯āĻāĻ¨ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ
āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĨā§āĻā§ āĻāĻāĻā§āĻŽ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§āĨ¤ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻāĻā§āĻāĻŋāĻ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§āĻā§āĻˇ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻāĻŋāĻā§ āĻāĻāĻā§āĻŽāĨ¤ genexpr āĻ āĻ¨ā§āĻ°ā§āĻĒ
list-com, āĻŦā§āĻ¯āĻ¤ā§āĻ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻ¯āĻž āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻā§āĻ° āĻĒāĻ° āĻāĻ āĻŽāĻžāĻ¨ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°ā§
āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻ¤āĻžāĻĻā§āĻ° āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨āĨ¤
=> (āĻĄāĻŋāĻāĻĢ āĻ¸āĻāĻā§āĻ°āĻš (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10))
=> (def āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻž (genexpr x [x āĻ¸āĻāĻā§āĻ°āĻš] (āĻāĻŽāĻ¨āĻāĻŋ? x)))
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§)
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
gensym
0.9.12 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
gensym āĻāĻāĻāĻŋ āĻ āĻ¨āĻ¨ā§āĻ¯ āĻāĻŋāĻšā§āĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻžāĻĄāĻŧāĻžāĻ āĻ˛ā§āĻāĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ
āĻāĻāĻ¸ā§āĻŽāĻŋāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¨āĻžāĻŽā§āĻ° āĻ¸āĻāĻāĻ°ā§āĻˇāĨ¤
=> (āĻā§āĻ¨āĻ¸āĻŋāĻŽ)
u':G_1235'
=> (āĻā§āĻ¨āĻ¸āĻŋāĻŽ "x")
u':x_1236'
SEE āĻāĻāĻžāĻĄāĻŧāĻžāĻ:
āĻā§āĻ¨āĻ¸āĻŋāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦāĻŋāĻāĻžāĻ
āĻĒāĻžāĻāĻ¯āĻŧāĻž
āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻŦāĻ āĻ āĻāĻŋāĻ§āĻžāĻ¨ā§ āĻāĻāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻĻā§āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ˛āĻžāĻā§:
āĻĻā§āĻ¯ āĻāĻĒāĻžāĻ¤ā§āĻ¤ āĻāĻ āĻ¨ āĻāĻŦāĻ āĻ¸ā§āĻāĻ or āĻāĻžāĻŦāĻŋ āĻāĻāĻā§āĻŽāĻāĻŋāĻ° āĻāĻāĻŋ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻŦā§
āĻ āĻāĻŋāĻ§āĻžāĻ¨ āĻŦāĻž āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĨā§āĻā§ āĻŽāĻžāĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°:
=> ([[āĻĒā§āĻ°āĻžāĻŖā§ {"āĻā§āĻā§āĻ°" "āĻā§āĻ˛āĻž" "āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛" "āĻŽāĻŋāĻ"}]
... [āĻ¸āĻāĻā§āĻ¯āĻž ["āĻļā§āĻ¨ā§āĻ¯" "āĻāĻ" "āĻĻā§āĻ" "āĻ¤āĻŋāĻ¨"]]]
... (āĻŽā§āĻĻā§āĻ°āĻŖ (āĻĒā§āĻ°āĻžāĻŖā§ "āĻā§āĻā§āĻ°" āĻĒāĻžāĻ¨))
... (āĻŽā§āĻĻā§āĻ°āĻŖ (āĻ¸āĻāĻā§āĻ¯āĻž 2 āĻĒāĻžāĻ¨)))
āĻŦāĻžāĻāĻ˛
āĻĻā§āĻ
āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻ¨:
āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻāĻāĻāĻŋ āĻ -āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻā§ āĻāĻ¨ā§āĻ¯ āĻ āĻāĻŋāĻ§āĻžāĻ¨ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ˛ā§ āĻāĻāĻāĻŋ KeyError āĻāĻ¤ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĨ¤
āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻ¨:
āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻ¤ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻŦāĻž āĻāĻāĻāĻŋ āĻāĻŋāĻĒāĻ˛ āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻž
āĻ¸ā§āĻŽāĻžāĻ¨āĻž
āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§
āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻāĻā§ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ°āĻā§ āĻāĻāĻāĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ
āĻāĻāĻāĻŋ āĻŦā§āĻļā§āĻŦāĻŋāĻ āĻĒā§āĻ°āĻ¤ā§āĻā§āĻ° āĻŽāĻžāĻ¨āĨ¤ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§ āĻĒā§āĻ°āĻ¤ā§āĻ āĻĒāĻĄāĻŧāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ --
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ.
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻāĻžāĻ¯āĻŧ āĻāĻŋāĻāĻžāĻŦā§ āĻŦāĻŋāĻļā§āĻŦ āĻĒā§āĻ°āĻ¤ā§āĻ a āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ā§ āĻāĻāĻāĻŋ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ
āĻĒāĻ°ā§ āĻ āĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻļāĻ¨ā§ āĻŽā§āĻĻā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻžāĻĄāĻŧāĻž āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ, āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĢāĻžāĻāĻļāĻ¨
āĻāĻāĻāĻŋ āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻāĻ°āĻž āĻšāĻŦā§ āĻ¨āĻžāĻŽ āĻ¤ā§āĻ°ā§āĻāĻŋ.
(defn set-a [value]
(āĻā§āĻ˛ā§āĻŦāĻžāĻ˛ āĻ)
(āĻāĻāĻāĻŋ āĻŽāĻžāĻ¨ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨))
(defn print-a []
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻ))
(āĻ¸ā§āĻ-a 5)
(āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ-āĻ)
if / āĻ¯āĻĻāĻŋ āĻ¨āĻž
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨: āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ
if āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§āĻā§āĻˇā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻļāĻ°ā§āĻ¤ āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž āĻāĻŦāĻļā§āĻ¯āĻ
āĻŦā§āĻ˛āĻ āĻāĻŦāĻ āĻŦā§āĻ˛āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻŦā§ āĻ¯āĻĻāĻŋ āĻļāĻ°ā§āĻ¤ āĻŦā§āĻ˛āĻ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°ā§ āĻ¸āĻ¤ā§āĻ¯. āĻāĻā§āĻāĻŋāĻāĻāĻžāĻŦā§,
āĻāĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻŦā§āĻ˛āĻ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻļāĻ°ā§āĻ¤ā§āĻ° āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻŽāĻŋāĻĨā§āĻ¯āĻž.
āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ āĻ¨ā§āĻ°ā§āĻĒ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻŦā§āĻ˛āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻŦā§ āĻ¯āĻāĻ¨ āĻļāĻ°ā§āĻ¤ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧ āĻ¯āĻāĻ¨
āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻŦā§āĻ˛āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¸āĻĢāĻ˛ āĻšāĻ¯āĻŧ -- āĻāĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ āĻā§āĻ°āĻŽ if.
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°:
(āĻ¯āĻĻāĻŋ (āĻāĻžāĻāĻž āĻŦāĻžāĻāĻŋ? āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ)
("āĻāĻ˛ā§ āĻā§āĻ¨āĻžāĻāĻžāĻāĻž āĻāĻ°āĻŋ" āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨)
("āĻāĻ˛ āĻ¯āĻžāĻ āĻāĻŦāĻ āĻāĻžāĻ āĻāĻ°āĻŋ" āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻŋ))
(āĻ¯āĻĻāĻŋ-āĻ¨āĻž āĻšāĻ¯āĻŧ (āĻāĻžāĻāĻž āĻŦāĻžāĻāĻŋ? āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ)
("āĻāĻ˛ āĻ¯āĻžāĻ āĻāĻŦāĻ āĻāĻžāĻ āĻāĻ°āĻŋ" āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨)
("āĻāĻ˛ā§ āĻā§āĻ¨āĻžāĻāĻžāĻāĻž āĻāĻ°āĻŋ" āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨))
āĻĒāĻžāĻāĻĨāĻ¨ āĻ¸āĻ¤ā§āĻ¯āĻ¤āĻžāĻā§ āĻ¸āĻŽā§āĻŽāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¨āĻž, āĻŽāĻŋāĻĨā§āĻ¯āĻž, āĻ¯ā§āĻā§āĻ¨ā§ āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻļā§āĻ¨ā§āĻ¯, āĻāĻāĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻā§āĻ°āĻŽ,
āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻ āĻāĻŋāĻ§āĻžāĻ¨ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻŽāĻŋāĻĨā§āĻ¯āĻž; āĻŦāĻžāĻāĻŋ āĻ¸āĻŦāĻāĻŋāĻā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¸āĻ¤ā§āĻ¯.
lisp-āĻ¯āĻĻāĻŋ / āĻ¤āĻ¨ā§āĻ¤ā§ āĻāĻŦāĻ lisp-āĻ¯āĻĻāĻŋ-āĻ¨āĻž / lif-āĻ¨āĻž
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
0.10.2 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨: lisp-if-not / lif-not
āĻ¯āĻžāĻ°āĻž āĻāĻ°ā§ āĻ˛āĻŋāĻ¸ā§āĻĒāĻŋ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°ā§āĻ¨ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ if āĻ§āĻžāĻ°āĻž, āĻāĻŽāĻ°āĻž āĻāĻā§ lisp-āĻ¯āĻĻāĻŋ, āĻŦāĻž āĻ¤āĻ¨ā§āĻ¤ā§. āĻāĻ āĻā§āĻŦāĻ˛ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§
āĻ¨āĻž / āĻļā§āĻ¨ā§āĻ¯ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻšāĻ¤ā§! āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ "āĻŽāĻŋāĻĨā§āĻ¯āĻž-āĻāĻļ" āĻĒāĻžāĻāĻĨāĻ¨ āĻŽāĻžāĻ¨ āĻ¸āĻ¤ā§āĻ¯ āĻŦāĻ˛ā§ āĻŦāĻŋāĻŦā§āĻāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻŦāĻŋāĻĒāĻ°ā§āĻ¤āĻāĻžāĻŦā§, āĻāĻŽāĻ°āĻž āĻāĻā§ lisp-āĻ¯āĻĻāĻŋ-āĻ¨āĻž āĻāĻŦāĻ lif-āĻ¨āĻž āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻāĻžāĻŦā§ if āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ¯āĻž āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ āĻšāĻ¯āĻŧ
āĻ¤ā§āĻ˛āĻ¨āĻž.
=> (āĻ˛āĻŋāĻ¸ā§āĻĒ-āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯ "āĻ¸āĻ¤ā§āĻ¯" "āĻŽāĻŋāĻĨā§āĻ¯āĻž")
"āĻ¸āĻ¤ā§āĻ¯"
=> (āĻ˛āĻŋāĻ¸ā§āĻĒ-āĻ¯āĻĻāĻŋ āĻŽāĻŋāĻĨā§āĻ¯āĻž "āĻ¸āĻ¤ā§āĻ¯" "āĻŽāĻŋāĻĨā§āĻ¯āĻž")
"āĻ¸āĻ¤ā§āĻ¯"
=> (āĻ˛āĻŋāĻ¸ā§āĻĒ-āĻ¯āĻĻāĻŋ 0 "āĻ¸āĻ¤ā§āĻ¯" "āĻŽāĻŋāĻĨā§āĻ¯āĻž")
"āĻ¸āĻ¤ā§āĻ¯"
=> (āĻ˛āĻŋāĻ¸ā§āĻĒ-āĻ¯āĻĻāĻŋ āĻ¨ā§āĻ "āĻ¸āĻ¤ā§āĻ¯" "āĻŽāĻŋāĻĨā§āĻ¯āĻž")
"āĻŽāĻŋāĻĨā§āĻ¯āĻž"
=> (āĻ˛āĻŋāĻ¸ā§āĻĒ-āĻ¯āĻĻāĻŋ āĻā§āĻ¨āĻāĻŋāĻ "āĻ¸āĻ¤ā§āĻ¯" "āĻŽāĻŋāĻĨā§āĻ¯āĻž")
"āĻŽāĻŋāĻĨā§āĻ¯āĻž"
=> (āĻ˛āĻŋāĻ¸ā§āĻĒ-āĻ¯āĻĻāĻŋ-āĻ¨āĻŋāĻ˛ "āĻ¸āĻ¤ā§āĻ¯" "āĻŽāĻŋāĻĨā§āĻ¯āĻž")
"āĻ¸āĻ¤ā§āĻ¯"
=> (āĻ˛āĻŋāĻ¸ā§āĻĒ-āĻ¯āĻĻāĻŋ-āĻ¨āĻž āĻšāĻ¯āĻŧ "āĻ¸āĻ¤ā§āĻ¯" "āĻŽāĻŋāĻĨā§āĻ¯āĻž")
"āĻ¸āĻ¤ā§āĻ¯"
=> (āĻ˛āĻŋāĻ¸ā§āĻĒ-āĻ¯āĻĻāĻŋ-āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻ¨āĻ¯āĻŧ "āĻ¸āĻ¤ā§āĻ¯" "āĻŽāĻŋāĻĨā§āĻ¯āĻž")
"āĻŽāĻŋāĻĨā§āĻ¯āĻž"
; āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻžāĻā§
=> (āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯ "āĻ¸āĻ¤ā§āĻ¯" "āĻŽāĻŋāĻĨā§āĻ¯āĻž")
"āĻ¸āĻ¤ā§āĻ¯"
=> (āĻ¯āĻĻāĻŋ "āĻ¸āĻ¤ā§āĻ¯" "āĻŽāĻŋāĻĨā§āĻ¯āĻž" āĻ¨ā§āĻ)
"āĻŽāĻŋāĻĨā§āĻ¯āĻž"
=> (life-None None "āĻ¸āĻ¤ā§āĻ¯" "āĻŽāĻŋāĻĨā§āĻ¯āĻž")
"āĻ¸āĻ¤ā§āĻ¯"
āĻāĻŽāĻĻāĻžāĻ¨āĻŋ
āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻŽāĻ¤ā§ āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¯ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧ āĻāĻā§ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻĒāĻžāĻ°ā§āĻ¨
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž.
;; āĻāĻ āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§
;;
;; āĻĒāĻžāĻāĻĨāĻ¨:
;; āĻāĻŽāĻĻāĻžāĻ¨āĻŋ sys
;; os.path āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨
(sys os.path āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨)
;; āĻāĻāĻāĻŋ āĻŽāĻĄāĻŋāĻāĻ˛ āĻĨā§āĻā§ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨
;;
;; Python: os.path āĻĨā§āĻā§ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨, isdir, isfile
(āĻāĻŽāĻĻāĻžāĻ¨āĻŋ [os.path [āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ isdir isfile]])
;; āĻāĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨ā§ˇ
;;
;; āĻĒāĻžāĻāĻĨāĻ¨: āĻ¸āĻŋāĻ¸ā§āĻā§āĻ¸ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ sys āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨
(āĻāĻŽāĻĻāĻžāĻ¨āĻŋ [sys: as systest])
;; āĻāĻĒāĻ¨āĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻāĻ¨ā§āĻĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ āĻ¨ā§āĻ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨.
(āĻāĻŽāĻĻāĻžāĻ¨āĻŋ [tests.resources [kwtest function-with-a-dash]]
[os.path [isdir isfile āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨]]
[sys : as systest])
;; āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻĄāĻŋāĻāĻ˛ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨
(āĻāĻŽāĻĻāĻžāĻ¨āĻŋ [sys [*]])
āĻ˛ā§āĻ¯āĻžāĻŽāĻĄāĻž / fn
āĻ˛ā§āĻ¯āĻžāĻŽāĻĄāĻž āĻāĻŦāĻ fn āĻāĻāĻāĻŋ āĻŦā§āĻ¨āĻžāĻŽā§ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ āĻ¨ā§āĻ°ā§āĻĒ
defn: āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§āĻ° āĻā§āĻā§āĻāĻ° āĻāĻŦāĻ āĻŦāĻžāĻāĻŋāĻāĻŋ āĻšāĻ˛ āĻāĻ° āĻŦāĻĄāĻŋ
āĻĢāĻžāĻāĻļāĻ¨. āĻ˛ā§āĻ¯āĻžāĻŽāĻĄāĻž āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖā§, āĻāĻāĻāĻŋ āĻŦā§āĻ¨āĻžāĻŽā§ āĻĢāĻžāĻāĻļāĻ¨
āĻāĻāĻāĻĒā§āĻ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻļāĻ¨ā§ āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
=> (āĻāĻ¨āĻāĻŖ [{:āĻ¨āĻžāĻŽ "āĻāĻ˛āĻŋāĻ¸" : āĻŦāĻ¯āĻŧāĻ¸ 20}
... {:āĻ¨āĻžāĻŽ "āĻŦāĻŦ" : āĻŦāĻ¯āĻŧāĻ¸ 25}
... {:āĻ¨āĻžāĻŽ "āĻāĻžāĻ°ā§āĻ˛āĻŋ" : āĻŦāĻ¯āĻŧāĻ¸ ā§Ģā§Ļ}
... {:āĻ¨āĻžāĻŽ "āĻĄā§āĻ" : āĻŦāĻ¯āĻŧāĻ¸ ā§Ģ}])
=> (defn display-people [people filter]
... ([āĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻŽāĻžāĻ¨ā§āĻˇā§āĻ° āĻāĻ¨ā§āĻ¯] (āĻ¯āĻĻāĻŋ (āĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°) (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ (:āĻ¨āĻžāĻŽ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋ)))))
=> (āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨āĻāĻžāĻ°ā§ āĻŽāĻžāĻ¨ā§āĻˇ (fn [āĻŦā§āĻ¯āĻā§āĻ¤āĻŋ] (< (:āĻŦāĻ¯āĻŧāĻ¸ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋ) 25)))
āĻāĻ˛āĻŋāĻ¸
āĻĄā§āĻ
āĻ āĻŋāĻ āĻ¯ā§āĻŽāĻ¨ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻž, āĻ¯āĻĻāĻŋ āĻļāĻ°ā§āĻ°ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻšāĻ¯āĻŧ, āĻāĻāĻŋ
āĻāĻāĻāĻŋ āĻĄāĻāĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĄāĻāĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§āĨ¤
=> (āĻ¸ā§āĻāĻŋāĻāĻŋ āĻŦāĻžāĻ°-āĻ¤āĻŋāĻ¨
... (fn [x]
... "āĻāĻ¨āĻĒā§āĻāĻā§ āĻ¤āĻŋāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻā§āĻŖ āĻāĻ°ā§ āĻāĻŦāĻ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤"
... (* x 3)))
āĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻĢāĻžāĻāĻļāĻ¨:
=> (āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻŦāĻžāĻ°-āĻ¤āĻŋāĻ¨)
āĻĢāĻžāĻāĻļāĻ¨ āĻāĻžāĻāĻŽ_āĻĨā§āĻ°āĻŋāĻ¤ā§ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž:
āĻŦāĻžāĻ°_āĻ¤āĻŋāĻ¨(x)
āĻāĻ¨āĻĒā§āĻāĻā§ āĻ¤āĻŋāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻā§āĻŖ āĻāĻ°ā§ āĻāĻŦāĻ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§
(āĻļā§āĻˇ)
āĻāĻ¤
0.10.2 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻāĻ¤ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ°āĻšā§āĻ° āĻļā§āĻˇ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§:
=> (āĻļā§āĻˇ [ā§¨ ā§Ē ā§Ŧ])
6
āĻĻāĻŋāĻ¨
āĻĻāĻŋāĻ¨ āĻāĻāĻŋāĻ§āĻžāĻ¨āĻŋāĻāĻāĻžāĻŦā§ āĻ¸ā§āĻā§āĻĒāĻĄ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻā§āĻ˛ā§āĻ° āĻļā§āĻ°ā§āĻ¤ā§ āĻ¤ā§āĻ°āĻŋ āĻšāĻ¯āĻŧ
āĻĻāĻŋāĻ¨ āĻĢāĻ°ā§āĻŽ āĻāĻŦāĻ āĻĢāĻ°ā§āĻŽ āĻĒāĻ°ā§ āĻ āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦ āĻŦāĻ¨ā§āĻ§. āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻāĻŋ āĻĻā§āĻāĻžāĻ¯āĻŧ
āĻāĻāĻ°āĻŖ:
=> (āĻāĻ˛ā§āĻ¨ [[x 5]] (x āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨)
... (āĻāĻ˛ā§āĻ¨ [[x 6]] (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ x))
... (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ x))
5
6
5
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻĻāĻŋāĻ¨ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻĻā§āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨ā§āĻ¯āĻŧ: āĻāĻāĻāĻŋ āĻā§āĻā§āĻāĻ° āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻāĻŦāĻ āĻļāĻ°ā§āĻ° āĻ¯āĻž āĻĒāĻžāĻ¯āĻŧ
āĻ¨āĻŋāĻˇā§āĻĒāĻ¨ā§āĻ¨. āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻāĻāĻāĻŋ āĻā§āĻā§āĻāĻ° āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻšāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻāĻāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻŦāĻž āĻāĻāĻāĻŋ āĻā§āĻā§āĻāĻ°
āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻŽāĻžāĻ¨ āĻā§āĻĄāĻŧāĻž āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĨ¤ āĻāĻāĻāĻŋ āĻāĻāĻ āĻāĻ˛āĻā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻŽāĻžāĻ¨
āĻ¨āĻž; āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻ¸āĻ°āĻŦāĻ°āĻžāĻšāĻā§āĻ¤ āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
=> (āĻāĻ˛ā§ [x [y 5]] (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ x y))
āĻā§āĻ¨āĻāĻŋāĻ 5
list-com
list-com āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻŦā§āĻāĻžāĻ° āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻĻā§āĻ āĻŦāĻž āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ˛āĻžāĻā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ
āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻšāĻ˛ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻ¯āĻž āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°ā§, āĻ¯āĻāĻ¨ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ
āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĨā§āĻā§ āĻāĻāĻā§āĻŽ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻāĻā§āĻāĻŋāĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻāĻŋ āĻāĻŋāĻā§ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻāĻāĻŋ āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§āĻā§āĻˇ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻāĻāĻā§āĻŽāĻā§āĻ˛āĻŋāĻ°āĨ¤ āĻāĻŋāĻā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
=> (āĻĄāĻŋāĻāĻĢ āĻ¸āĻāĻā§āĻ°āĻš (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10))
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž-āĻāĻŽā§āĻĒ x [x āĻ¸āĻāĻā§āĻ°āĻš])
[ā§Ļ, ā§¨, ā§Ē, ā§Ŧ, ā§Ž, ā§¨ā§Ļ, ā§¨ā§Ē, ā§¨ā§Ž, ā§Šā§¨, ā§Šā§Ŧ]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž-āĻāĻŽā§āĻĒ (* x 2) [x āĻ¸āĻāĻā§āĻ°āĻš])
[ā§Ļ, ā§¨, ā§Ē, ā§Ŧ, ā§Ž, ā§¨ā§Ļ, ā§¨ā§Ē, ā§¨ā§Ž, ā§Šā§¨, ā§Šā§Ŧ]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž-āĻāĻŽā§āĻĒāĻ¨ (* x 2) [x āĻ¸āĻāĻā§āĻ°āĻš] (< x 5))
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
āĻ¨āĻž
āĻ¨āĻž āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻāĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ¨ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ
āĻ¸āĻ¤ā§āĻ¯ āĻŽāĻžāĻ¨ āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ, āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻĢā§āĻ°āĻ¤ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻŦā§, āĻāĻŦāĻ āĻ¤āĻĻā§āĻŦāĻŋāĻĒāĻ°ā§āĻ¤āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°:
=> (āĻ¸āĻ¤ā§āĻ¯ āĻ¨āĻ¯āĻŧ)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻ¨āĻ¯āĻŧ)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻā§āĻ¨āĻāĻŋ āĻ¨āĻ¯āĻŧ)
āĻ¸āĻ¤ā§āĻ¯
or
or āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻāĻŽāĻĒāĻā§āĻˇā§ āĻĻā§āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ˛āĻžāĻā§āĨ¤ āĻāĻāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻŦā§
āĻĒā§āĻ°āĻĨāĻŽ āĻ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻ¨ā§ āĻŽāĻžāĻ¨ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨āĻž āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻļā§āĻˇ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻŦā§āĨ¤
=> (āĻŦāĻž āĻ¸āĻ¤ā§āĻ¯ āĻŽāĻŋāĻĨā§āĻ¯āĻž)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻāĻŦāĻ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻŽāĻŋāĻĨā§āĻ¯āĻž)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (āĻāĻŦāĻ āĻŽāĻŋāĻĨā§āĻ¯āĻž 1 āĻ¸āĻ¤ā§āĻ¯ āĻŽāĻŋāĻĨā§āĻ¯āĻž)
1
āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻ¨:
or āĻļāĻ°ā§āĻ-āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ āĻāĻŦāĻ āĻĒā§āĻ°āĻĨāĻŽ āĻ¸āĻ¤ā§āĻ¯ āĻŽāĻžāĻ¨ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻž āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§ āĻĻā§āĻ¯āĻŧ
āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨āĨ¤
=> (āĻŦāĻž āĻ¸āĻ¤ā§āĻ¯ ("āĻšā§āĻ¯āĻžāĻ˛ā§" āĻŽā§āĻĻā§āĻ°āĻŖ))
āĻ¸āĻ¤ā§āĻ¯
āĻāĻžāĻĒāĻžāĻ¨ā§
āĻāĻžāĻĒāĻžāĻ¨ā§ āĻĒāĻ°ā§āĻĻāĻžāĻ¯āĻŧ āĻāĻāĻāĻĒā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ. āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°:
("āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ" āĻŽā§āĻĻā§āĻ°āĻŖ āĻāĻ°ā§āĻ¨!)
āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻ¨:
āĻāĻžāĻĒāĻžāĻ¨ā§ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻĢāĻŋāĻ°ā§ āĻāĻ¸ā§ āĻ¨āĻž.
quasiquote
quasiquote āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻĢāĻ°ā§āĻŽ āĻāĻĻā§āĻ§ā§āĻ¤ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ā§āĻāĻžāĻŦā§ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻŋāĻ¤āĻ°ā§ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ a quasiquote āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦā§āĻā§ āĻŦā§āĻā§ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻĻā§āĻ§āĻ¤āĻŋ āĻļā§āĻˇ āĻāĻ°āĻž (~)āĨ¤ āĻĻā§āĻ¯
āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻž āĻĢāĻ°ā§āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ spliced ââāĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ unquote- splice (~@) QuasiquoteāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻŦā§āĻ¯āĻžāĻāĻā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ˛ā§āĻāĻž (`) āĻĒā§āĻ°āĻ¤ā§āĻāĨ¤
;; āĻ¯āĻžāĻ 'qux' āĻŽāĻžāĻ¨ āĻ¸āĻš āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ (āĻŦāĻžāĻ° āĻŦāĻžāĻ)
`(foo ~qux)
; '(foo (āĻŦāĻžāĻ° āĻŦāĻžāĻ)) āĻāĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯
`(foo ~@qux)
; '(āĻĢā§ āĻŦāĻžāĻ° āĻŦāĻžāĻ) āĻāĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯
āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ
āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻāĻāĻŋāĻā§ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ¨āĻž āĻāĻ°ā§āĻ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻĢāĻ°ā§āĻŽāĻāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻžāĻŦā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
apostrophe āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ˛ā§āĻāĻž (') āĻĒā§āĻ°āĻ¤ā§āĻāĨ¤
=> (setv x '("āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ" āĻŽā§āĻĻā§āĻ°āĻŖ))
; āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ x āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ
=> x
(u'print' u'Hello World')
=> (āĻāĻāĻžāĻ˛ āĻāĻā§āĻ¸)
āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻŽāĻĄāĻŋāĻāĻ˛ āĻĨā§āĻā§ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻāĻŽāĻĒāĻā§āĻˇā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ˛āĻžāĻā§
āĻā§āĻ¨ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻŽāĻĄāĻŋāĻāĻ˛āĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻžāĨ¤ āĻāĻāĻžāĻ§āĻŋāĻ āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻāĻ āĻ¸āĻā§āĻā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨.
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĨā§āĻā§ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻšāĻŦā§ āĻŽāĻĄāĻŋāĻāĻ˛ 1 āĻāĻŦāĻ āĻŽāĻĄāĻŋāĻāĻ˛ 2:
(āĻŽāĻĄāĻŋāĻāĻ˛-ā§§ āĻŽāĻĄāĻŋāĻāĻ˛-ā§¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨)
āĻŦāĻŋāĻļā§āĻ°āĻžāĻŽ / CDR
āĻŦāĻŋāĻļā§āĻ°āĻžāĻŽ āĻāĻŦāĻ CDR āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻ¸āĻāĻā§āĻ°āĻšāĻāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻāĻŋāĻ¨:
=> (āĻŦāĻŋāĻļā§āĻ°āĻžāĻŽ (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10))
[ā§§, ā§¨, ā§Š, ā§Ē, ā§Ģ, ā§Ŧ, ā§, ā§Ž, ā§¯]
āĻ¸ā§āĻ-āĻāĻŽā§āĻĒ
āĻ¸ā§āĻ-āĻāĻŽā§āĻĒ āĻ¸ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻĻā§āĻ āĻŦāĻž āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ˛āĻžāĻā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻšāĻ˛
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯, āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻāĻŋ āĻāĻāĻāĻŋ āĻĨā§āĻā§ āĻāĻāĻā§āĻŽ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ
āĻā§āĻ°āĻŽ. āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻāĻā§āĻāĻŋāĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻāĻŋ āĻāĻŋāĻā§ āĻāĻāĻā§āĻŽ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻāĻāĻŋ āĻļāĻ°ā§āĻ¤āĻžāĻ§ā§āĻ¨ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻā§āĻ°āĻŽāĨ¤
=> (setv āĻĄā§āĻāĻž [1 2 3 4 5 2 3 4 5 3 4 5])
=> (āĻ¸ā§āĻ-āĻāĻŽā§āĻĒ x [x āĻĄā§āĻāĻž] (āĻŦāĻŋāĻā§āĻĄāĻŧ? x))
{1, 3, 5}
āĻĢāĻžāĻ˛āĻŋ
āĻĢāĻžāĻ˛āĻŋ āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĒāĻ¸ā§āĻ āĻ¨āĻŋāĻ¤ā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĢāĻ°ā§āĻŽ
āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻāĻŋ āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻāĻ°āĻ¤ā§ āĻ āĻ¨ā§āĻ¤āĻ¤ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ˛āĻžāĻā§āĨ¤ āĻĻā§āĻāĻŋ āĻāĻā§āĻāĻŋāĻ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻĒāĻ¸ā§āĻā§āĻ° āĻļā§āĻ°ā§ āĻāĻŦāĻ āĻļā§āĻˇ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻĻāĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ°āĻž āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻž āĻ¨āĻž āĻšāĻ¯āĻŧ,
āĻāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŽāĻžāĻ¨ āĻ¨āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻāĻā§āĻāĻŋāĻ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĒāĻĻāĻā§āĻˇā§āĻĒāĨ¤
āĻĢāĻžāĻ˛āĻŋ āĻāĻ° āĻĒāĻžāĻāĻĨāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§āĻĒ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°ā§āĨ¤ āĻ¨ā§āĻ¤āĻŋāĻŦāĻžāĻāĻ āĻ¸ā§āĻāĻ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻļā§āĻˇ āĻĨā§āĻā§ āĻļā§āĻ°ā§āĨ¤ āĻāĻŋāĻā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°:
=> (āĻĄāĻŋāĻāĻĢ āĻ¸āĻāĻā§āĻ°āĻš (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10))
=> (āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻ¸āĻāĻā§āĻ°āĻš)
[ā§Ļ, ā§¨, ā§Ē, ā§Ŧ, ā§Ž, ā§¨ā§Ļ, ā§¨ā§Ē, ā§¨ā§Ž, ā§Šā§¨, ā§Šā§Ŧ]
=> (āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻ¸āĻāĻā§āĻ°āĻš 5)
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
=> (āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻ¸āĻāĻā§āĻ°āĻš 2 8)
[ā§Ļ, ā§§, ā§§, ā§¨, ā§Š, ā§Ģ]
=> (āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻ¸āĻāĻā§āĻ°āĻš 2 8 2)
[2, 4, 6]
=> (āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻ¸āĻāĻā§āĻ°āĻš -4 -2)
[6, 7]
āĻ¨āĻŋāĻā§āĻˇā§āĻĒ / āĻŦā§āĻĻā§āĻ§āĻŋ
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻ¨āĻŋāĻā§āĻˇā§āĻĒ or āĻŦā§āĻĻā§āĻ§āĻŋ āĻĢāĻ°ā§āĻŽ āĻāĻāĻāĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°:
(āĻ¨āĻŋāĻā§āĻˇā§āĻĒ)
; āĻļā§āĻˇ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨
(IOError āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻāĻ°ā§āĻ¨)
; āĻāĻāĻāĻŋ IOError āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻāĻ°ā§āĻ¨
(āĻ¨āĻŋāĻā§āĻˇā§āĻĒ (IOError "foobar"))
; āĻāĻāĻāĻŋ IOError āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻāĻ°ā§āĻ¨ ("foobar")
āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻāĻāĻāĻŋ āĻāĻāĻ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻā§āĻ˛āĻžāĻ¸ āĻŦāĻž āĻāĻĻāĻžāĻšāĻ°āĻŖ) āĻŦāĻž āĻā§āĻ¨ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ¨ā§āĻ
āĻļā§āĻˇ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ.
āĻā§āĻˇā§āĻāĻž
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻā§āĻˇā§āĻāĻž āĻĢāĻ°ā§āĻŽāĻāĻŋ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻā§āĻˇā§āĻāĻž / āĻĻāĻā§āĻāĻ˛ āĻŦā§āĻ˛āĻ āĻĢāĻ°ā§āĻŽāĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
(āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨
(āĻ¤ā§āĻ°ā§āĻāĻŋ-āĻĒā§āĻ°āĻŦāĻŖ-āĻĢāĻžāĻāĻļāĻ¨)
(catch [e ZeroDivisionError] ("āĻļā§āĻ¨ā§āĻ¯ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻāĻžāĻ" āĻŽā§āĻĻā§āĻ°āĻŖ))
(āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻā§āĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¨ā§āĻ"))
(āĻ āĻŦāĻļā§āĻˇā§ ("āĻ¸āĻŦ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨" āĻŽā§āĻĻā§āĻ°āĻŖ)))
āĻā§āĻˇā§āĻāĻž āĻ āĻ¨ā§āĻ¤āĻ¤ āĻāĻāĻāĻŋ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§ āĻĻāĻā§āĻāĻ˛ āĻŦā§āĻ˛āĻ, āĻāĻŦāĻ āĻāĻā§āĻāĻŋāĻāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻ° or āĻĒāĻ°āĻŋāĻļā§āĻˇā§
āĻŦā§āĻ˛āĻ āĻ¯āĻĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻāĻŋāĻ āĻā§āĻ¯āĻžāĻ āĻŦā§āĻ˛āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻ¤ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻ¤ā§āĻ°ā§āĻāĻŋ-āĻĒā§āĻ°āĻŦāĻŖ-āĻĢāĻžāĻāĻļāĻ¨, āĻ¯ā§ āĻĻāĻā§āĻāĻ˛ āĻŦā§āĻ˛āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻ¯āĻĻāĻŋ āĻā§āĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻ¤ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻāĻ°
āĻŦā§āĻ˛āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĻā§āĻ¯ āĻĒāĻ°āĻŋāĻļā§āĻˇā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻļā§āĻˇā§ āĻŦā§āĻ˛āĻ āĻļā§āĻˇ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻŦā§ āĻŦāĻž āĻ¨āĻž
āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻ¤ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻ¯āĻĻāĻŋ āĻ¨āĻž
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻāĻāĻŋ āĻ˛ā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻļāĻ°ā§āĻāĻšā§āĻ¯āĻžāĻ¨ā§āĻĄ if āĻ¯ā§ āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§
āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§āĻā§āĻˇ āĻšāĻ¯āĻŧ āĻŽāĻŋāĻĨā§āĻ¯āĻž. āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖ āĻĻā§āĻāĻžāĻ¯āĻŧ.
(āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§āĻā§āĻˇ āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻāĻžāĻĄāĻŧāĻž)
(āĻ¯āĻĻāĻŋ āĻļāĻ°ā§āĻ¤āĻžāĻ§ā§āĻ¨
āĻ¨āĻž
(āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻĻāĻžāĻ))
āĻāĻĻā§āĻ§āĻ¤āĻŋ āĻļā§āĻˇ āĻāĻ°āĻž
āĻāĻāĻāĻŋ quasiquoted āĻĢāĻ°ā§āĻŽ āĻŽāĻ§ā§āĻ¯ā§, āĻāĻĻā§āĻ§āĻ¤āĻŋ āĻļā§āĻˇ āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻā§āĻ° āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻā§āĻ° āĻāĻ°ā§āĨ¤ āĻāĻĻā§āĻ§āĻ¤āĻŋ āĻļā§āĻˇ āĻāĻ°āĻž āĻāĻĒāĻ¨āĻžāĻŽ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻāĻŋāĻ˛ā§āĻĄ (~) āĻĒā§āĻ°āĻ¤ā§āĻāĨ¤
(def āĻ¨āĻžāĻŽ "cuddles")
(āĻā§āĻ¯āĻŧāĻžāĻ¸āĻŋāĻā§āĻ (= āĻ¨āĻžāĻŽ (āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻ¨āĻžāĻŽ āĻ¨āĻž)))
;=> (u'=' u'name' u'cuddles')
`(= āĻ¨āĻžāĻŽ ~ āĻ¨āĻžāĻŽ)
;=> (u'=' u'name' u'cuddles')
unquote- splice
unquote- splice āĻāĻāĻāĻŋ quasiquoted āĻĢāĻ°ā§āĻŽ āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻā§āĻ° āĻāĻ°ā§, āĻ āĻ¨ā§āĻāĻāĻž āĻŽāĻ¤
āĻāĻĻā§āĻ§āĻ¤āĻŋ āĻļā§āĻˇ āĻāĻ°āĻž. unquote- splice āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻāĻ¨āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻāĻ¨ āĻāĻĻā§āĻ§ā§āĻ¤āĻŋāĻšā§āĻ¨ āĻĒā§āĻ°āĻ¤ā§āĻāĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻĨāĻžāĻā§
āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯ āĻŽāĻžāĻ¨, āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ "āĻŦāĻŋāĻāĻā§āĻ¤" āĻāĻ°ā§ āĻ¯ā§āĻāĻŋāĻā§ quasiquoted āĻāĻāĻžāĻ°ā§ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ unquote- splice is
āĻāĻĒāĻ¨āĻžāĻŽ ~@ āĻĒā§āĻ°āĻ¤ā§āĻāĨ¤
(āĻĄāĻŋāĻāĻĢ āĻ¸āĻāĻā§āĻ¯āĻž [1 2 3 4])
(āĻā§āĻ¯āĻŧāĻžāĻ¸āĻŋāĻā§āĻ (+ (āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ-āĻŦāĻŋāĻāĻā§āĻ¤ āĻ¸āĻāĻā§āĻ¯āĻž)))
;=> (u'+' 1L 2L 3L 4L)
`(+ ~@āĻ¸āĻāĻā§āĻ¯āĻž)
;=> (u'+' 1L 2L 3L 4L)
āĻāĻāĻ¨
āĻāĻāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻ¯āĻĻāĻŋ āĻ¨āĻž, āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻļāĻ°ā§āĻ¤āĻžāĻ§ā§āĻ¨ āĻšāĻ˛ā§ āĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻāĻžāĻĄāĻŧāĻž āĻ¸āĻ¤ā§āĻ¯āĨ¤ āĻāĻāĻāĻž āĻ¨āĻž
āĻāĻāĻāĻŋ āĻāĻā§ āĻ¸āĻŽā§āĻāĻŦ āĻāĻ° āĻāĻāĻāĻŋ āĻŽāĻ§ā§āĻ¯ā§ āĻŦā§āĻ˛āĻ āĻāĻāĻ¨ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¨āĻŋāĻā§āĻ° āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖ āĻĻā§āĻāĻžāĻ¯āĻŧ
āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
(āĻ¯āĻāĻ¨ āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§āĻā§āĻˇ āĻŦāĻŋāĻŦā§āĻ¤āĻŋ)
(āĻ¯āĻĻāĻŋ āĻļāĻ°ā§āĻ¤āĻ¯ā§āĻā§āĻ¤ (āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻĻāĻŋāĻ¨))
āĻ¯āĻāĻ¨
āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ āĻļāĻ°ā§āĻ¤ āĻĒā§āĻ°āĻŖ āĻ¨āĻž āĻšāĻāĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ āĻŦāĻž āĻāĻāĻžāĻ§āĻŋāĻ āĻŦā§āĻ˛āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻāĻāĻĒā§āĻ āĻšāĻŦā§ "āĻšā§āĻ¯āĻžāĻ˛ā§ āĻŦāĻŋāĻļā§āĻŦ!" āĻĒāĻ°ā§āĻĻāĻžāĻ¯āĻŧ āĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻāĻāĻžāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯:
(āĻ¯āĻĻāĻŋāĻ āĻ¸āĻ¤ā§āĻ¯ (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ!"))
āĻ¸āĻā§āĻā§
āĻ¸āĻā§āĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¸āĻā§āĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻŦā§āĻ˛āĻā§āĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ¸āĻā§āĻ
āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ° āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻĻā§āĻ¯
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¨āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻā§āĻā§ āĻĢāĻžāĻāĻ˛ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻā§āĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¸āĻā§āĻ āĻāĻŦāĻĻā§āĻ§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ¯ā§āĻā§āĻ¤āĻŋ āĻŦāĻž āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨, āĻ¨ā§āĻā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻŋāĻ¸āĻžāĻŦā§:
([[arg (expr)]] āĻŦā§āĻ˛āĻ āĻ¸āĻš)
([[(expr)]] āĻŦā§āĻ˛āĻ āĻ¸āĻš)
([[arg(expr)] [(expr)]] āĻŦā§āĻ˛āĻ āĻ¸āĻš)
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻā§āĻ˛āĻŦā§ āĻ¸āĻāĻŦāĻžāĻĻ āĻĢāĻžāĻāĻ˛ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻ¨ā§ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻĻā§āĻ¯
āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
(āĻ¸āĻš [[f ("āĻ¨āĻŋāĻāĻ" āĻā§āĻ˛ā§āĻ¨)]] (āĻŽā§āĻĻā§āĻ°āĻŖ (.āĻĒāĻĄāĻŧā§āĻ¨ āĻ)))
āĻ¸āĻā§āĻā§-āĻĄā§āĻā§āĻ°ā§āĻāĻ°
āĻ¸āĻā§āĻā§-āĻĄā§āĻā§āĻ°ā§āĻāĻ° āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨āĻā§ āĻ āĻ¨ā§āĻ¯āĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻā§āĻāĻžāĻ˛āĻ¨
āĻ¸āĻā§āĻāĻž āĻāĻāĻāĻŋ āĻāĻāĻ āĻŽāĻžāĻ¨ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤: āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻā§āĻāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻā§āĻā§, āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĢā§āĻ°āĻ¤
āĻĢāĻžāĻāĻļāĻ¨. āĻ¸āĻā§āĻā§-āĻĄā§āĻā§āĻ°ā§āĻāĻ° āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽ āĻĻā§āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ˛āĻžāĻā§: āĻĢāĻžāĻāĻļāĻ¨ āĻĒāĻžāĻ°āĻĢāĻ°ā§āĻŽ āĻāĻ°āĻā§
āĻ¸āĻā§āĻāĻž āĻāĻŦāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻā§āĻāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻā§āĻā§. āĻāĻāĻžāĻ§āĻŋāĻ āĻĄā§āĻā§āĻ°ā§āĻāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻāĻā§āĻ˛āĻŋ āĻŦāĻžāĻāĻ°ā§āĻ° āĻĨā§āĻā§ āĻā§āĻ¤āĻ°ā§āĻ° āĻĻāĻŋāĻā§ āĻā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻŦā§, āĻ āĻ°ā§āĻĨāĻžā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ
āĻĄā§āĻā§āĻ°ā§āĻāĻ° āĻšāĻŦā§ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻŦāĻžāĻāĻ°ā§āĻ°, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¸āĻžāĻāĻ¸āĻā§āĻāĻžāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧāĻ¸āĻā§āĻāĻ¤
āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻŽāĻ¤.
(āĻ¸āĻžāĻĨā§-āĻĄā§āĻā§āĻ°ā§āĻāĻ° āĻĄā§āĻā§āĻ°ā§āĻāĻ°-āĻŽāĻāĻž
(defn some-function [] ...)
(āĻ¸āĻā§āĻāĻŋāĻ¤ āĻĄā§āĻā§āĻ°ā§āĻāĻ°1 āĻĄā§āĻā§āĻ°ā§āĻāĻ°ā§¨...
(defn some-function [] ...)
(āĻ¸āĻā§āĻāĻŋāĻ¤āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ (āĻĄā§āĻā§āĻ°ā§āĻāĻ° āĻāĻ°ā§āĻ) ..
(defn some-function [] ...)
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖā§, āĻāĻ¨āĻ-āĻĄā§āĻā§āĻ°ā§āĻāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻžāĻāĻžāĻāĻ¯āĻŧāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§āĻ āĻ¸āĻā§āĻā§ āĻāĻāĻāĻŋ
āĻĢāĻžāĻāĻļāĻ¨ āĻ¯āĻž āĻĻā§āĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ¨ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻŽāĻžāĻ¨ āĻ¸āĻš āĻ¸āĻā§āĻāĻŋāĻ¤ āĻĢāĻžāĻāĻļāĻ¨āĻā§ āĻāĻ˛ āĻāĻ°ā§
1 āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻĻā§āĻ§āĻŋ. āĻ¯āĻāĻ¨ āĻ¸āĻā§āĻāĻŋāĻ¤ āĻ¯ā§āĻ āĻŽāĻžāĻ¨ 1 āĻāĻŦāĻ 1, āĻļā§āĻˇā§ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ
āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻŦā§ 4 (1 + + 1 + 1 + + 1).
=> (defn inc-decorator [func]
... (fn [value-1 value-2] (func (+ value-1 1) (+ value-2 1))))
=> (defn inc2-āĻĄā§āĻā§āĻ°ā§āĻāĻ° [func]
... (fn [value-1 value-2] (func (+ value-1 2) (+ value-2 2))))
=> (āĻ¸āĻā§āĻāĻŋāĻ¤āĻāĻžāĻ°ā§ inc-āĻĄā§āĻā§āĻ°ā§āĻāĻ° āĻ¸āĻš (defn āĻ¯ā§āĻ [a b] (+ a b)))
=> (āĻ¸āĻāĻ¯ā§āĻāĻ¨ 1 1)
4
=> (āĻ¸āĻā§āĻāĻŋāĻ¤ inc2-āĻĄā§āĻā§āĻ°ā§āĻāĻ° āĻāĻ¨āĻ-āĻĄā§āĻā§āĻ°ā§āĻāĻ°
... (defn āĻ¸āĻāĻ¯ā§āĻāĻ¨ [a b] (+ a b)))
=> (āĻ¸āĻāĻ¯ā§āĻāĻ¨ 1 1)
8
āĻ¸āĻš-āĻā§āĻ¨āĻ¸āĻŋāĻŽ
0.9.12 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻ¸āĻš-āĻā§āĻ¨āĻ¸āĻŋāĻŽ āĻāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ gensym āĻāĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻā§āĻĄ:
(gensyms āĻ¸āĻš [a b c]
...)
āĻāĻ¤ā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ:
(āĻāĻ˛ā§ [[a (gensym))
[āĻŦāĻŋ (āĻā§āĻ¨āĻ¸āĻŋāĻŽ)
[āĻ (āĻā§āĻ¨āĻ¸āĻŋāĻŽ)]]
...)
SEE āĻāĻāĻžāĻĄāĻŧāĻžāĻ:
āĻā§āĻ¨āĻ¸āĻŋāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦāĻŋāĻāĻžāĻ
āĻāĻ¤ā§āĻĒāĻžāĻĻ
āĻāĻ¤ā§āĻĒāĻžāĻĻ āĻāĻāĻāĻŋ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻāĻ āĻŦāĻž āĻāĻāĻžāĻ§āĻŋāĻ āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ°
āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯ āĻāĻŦāĻ āĻ¤āĻžāĻ āĻ˛ā§āĻĒ, āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻŦā§āĻāĻž āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻ āĻ¨ āĻāĻ°ā§
āĻāĻžāĻ āĻāĻ˛ā§āĻŽā§āĻ˛ā§-āĻ¸āĻāĻā§āĻ¯āĻž āĻĻā§āĻāĻžāĻ¯āĻŧ āĻāĻŋāĻāĻžāĻŦā§ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻ āĻ¸ā§āĻŽ āĻ¸āĻŋāĻ°āĻŋāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻ āĻ¸ā§āĻŽ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻŽā§āĻŽāĻ°āĻŋ āĻā§āĻ°āĻžāĻ¸ āĻ¨āĻž āĻāĻ°ā§āĨ¤
=> (defn āĻā§āĻ¨ [āĻŦā§āĻ¸ āĻ¸āĻšāĻ]
... (āĻāĻ° āĻāĻ¨ā§āĻ¯ [[(, āĻŦā§āĻ¸ āĻ¸āĻšāĻ) (āĻāĻŋāĻĒ āĻŦā§āĻ¸ āĻ¸āĻšāĻ)]]
... (āĻĢāĻ˛āĻ¨ (* āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻ¸āĻšāĻ))))
=> (āĻā§āĻŖ āĻāĻ°ā§āĻ¨ (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 5) (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 5))
āĻ āĻā§āĻ¨ āĻāĻ°ā§āĻ¨
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž-āĻāĻŽā§āĻĒ āĻŽāĻžāĻ¨ [āĻŽāĻžāĻ¨ (āĻā§āĻŖ āĻāĻ°ā§āĻ¨ (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10) (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10))])
[ā§Ļ, ā§¨, ā§Ē, ā§Ŧ, ā§Ž, ā§¨ā§Ļ, ā§¨ā§Ē, ā§¨ā§Ž, ā§Šā§¨, ā§Šā§Ŧ]
=> (āĻāĻ˛ā§āĻŽā§āĻ˛ā§ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ)
=> (āĻāĻ˛ā§āĻŽā§āĻ˛ā§-āĻ¸āĻāĻā§āĻ¯āĻž [āĻ¨āĻŋāĻŽā§āĻ¨ āĻāĻā§āĻ]
... (āĻ¯āĻĻāĻŋāĻ āĻ¸āĻ¤ā§āĻ¯ (āĻĢāĻ˛āĻ¨ (.randint āĻāĻ˛ā§āĻŽā§āĻ˛ā§ āĻāĻŽ āĻāĻā§āĻ))))
=> (āĻ˛āĻŋāĻ¸ā§āĻ-āĻāĻŽ x [x (15 āĻ¨āĻŋāĻ¨ (āĻāĻ˛ā§āĻŽā§āĻ˛ā§-āĻ¸āĻāĻā§āĻ¯āĻž 1 50))])])
[7, 41, 6, 22, 32, 17, 5, 38, 18, 38, 17, 14, 23, 23, 19]
yield- āĻĨā§āĻā§
0.9.13 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻĒāĻžāĻāĻĨāĻ¨ 3.3 āĻāĻŦāĻ UP āĻā§āĻŦāĻ˛!
yield- āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¸āĻžāĻŦāĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° coroutine āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°ā§
āĻ āĻāĻŋāĻ¨āĻŦ āĻāĻŋāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ˛ā§ āĻ āĻ¨ā§āĻ¯ āĻā§āĻ°ā§āĻāĻŋāĻ¨ā§ āĻāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋ āĻ āĻ°ā§āĻĒāĻŖ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§āĻ¨
asyncio.
Hy āĻŽā§āĻ˛
āĻŽā§āĻ˛ āĻāĻžāĻ°ā§āĻ¯āĻžāĻŦāĻ˛ā§
āĻŦāĻžāĻāĻ˛āĻžāĻ¸ā§āĻ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻŦāĻžāĻāĻ˛āĻžāĻ¸ā§āĻ āĻāĻ˛)
āĻŽāĻ§ā§āĻ¯ā§ āĻļā§āĻˇ āĻāĻāĻā§āĻŽ āĻāĻžāĻĄāĻŧāĻž āĻ¸āĻŦāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ā§ˇ Coll.
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻŦāĻžāĻāĻ˛āĻžāĻ¸ā§āĻ (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10)))
[ā§§, ā§¨, ā§Š, ā§Ē, ā§Ģ, ā§Ŧ, ā§, ā§Ž, ā§¯]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻŦāĻžāĻāĻ˛āĻžāĻ¸ā§āĻ [ā§§]))
[]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻŦāĻžāĻāĻ˛āĻžāĻ¸ā§āĻ []))
[]
=> (āĻāĻāĻžāĻ°āĻā§āĻ˛ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨)
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (5 āĻ¨āĻŋāĻ¨ (āĻŦāĻžāĻāĻ˛āĻžāĻ¸ā§āĻ (itertools.count 10))))
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
āĻāĻ˛?
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻāĻ˛? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ¨āĻ¯āĻŧāĨ¤
=> (āĻāĻ˛? [1 2 3 4])
āĻ¸āĻ¤ā§āĻ¯
=> (āĻāĻ˛? {"a" 1 "b" 2})
āĻ¸āĻ¤ā§āĻ¯
=> (āĻāĻ˛? "abc")
āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻāĻ¨āĻ¸
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (cons a b)
āĻāĻžāĻĄāĻŧāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻāĻ¨āĻ¸ āĻ¸ā§āĻ˛ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ a āĻāĻŦāĻ cdr b.
=> (setv a (cons 'hd 'tl))
=> (='hd (āĻāĻžāĻ° a))
āĻ¸āĻ¤ā§āĻ¯
=> (= 'tl (cdr a))
āĻ¸āĻ¤ā§āĻ¯
āĻāĻžāĻ°āĻžāĻĒ?
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ āĻĒāĻ°āĻžāĻ§? foo)
āĻāĻŋāĻ¨āĻž āĻ¯āĻžāĻāĻžāĻ āĻāĻ°ā§ foo āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻāĻāĻāĻŋ āĻāĻ¨āĻ¸ āĻ¸ā§āĻ˛āĨ¤
=> (setv a (cons 'hd 'tl))
=> (āĻ āĻĒāĻ°āĻžāĻ§? āĻ)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻ āĻĒāĻ°āĻžāĻ§? āĻļā§āĻ¨ā§āĻ¯)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (āĻ āĻĒāĻ°āĻžāĻ§? [1 2 3])
āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻĄāĻŋāĻ¸ā§āĻŽā§āĻŦāĻ°
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĄāĻŋāĻ¸ā§āĻŽā§āĻŦāĻ° x)
āĻāĻ° āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻŽ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ x. āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ (- x 1). āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ āĻāĻžāĻāĻĒ āĻ¤ā§āĻ°ā§āĻāĻŋ if (āĻ¨āĻž (āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ? āĻāĻā§āĻ¸)).
=> (āĻĄāĻŋāĻ¸ā§āĻŽā§āĻŦāĻ° ā§Š)
2
=> (āĻĄāĻŋāĻ¸ā§āĻŽā§āĻŦāĻ° ā§Š)
-1
=> (āĻĄāĻŋāĻ¸ā§āĻŽā§āĻŦāĻ° ā§Š)
11.3
āĻ āĻŦāĻ¤āĻ°āĻŖ āĻāĻ°āĻž
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻ°āĻž āĻŦā§āĻā§āĻˇ &āĻāĻā§āĻāĻŋāĻ [āĻā§āĻĄāĻā§āĻ¨ āĻŽāĻŋāĻĨā§āĻ¯āĻž])
āĻĻā§āĻāĻ¯āĻŧāĻž Hy āĻāĻ° āĻāĻ¨ā§āĻ¯ Python AST āĻĄāĻžāĻŽā§āĻĒ āĻāĻ°ā§āĻ¨ āĻŦā§āĻā§āĻˇ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻāĻāĻāĻĒā§āĻā§āĨ¤ āĻ¯āĻĻāĻŋ āĻā§āĻĄāĻā§āĻ¨ is āĻ¸āĻ¤ā§āĻ¯, āĻāĻžāĻ
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻĒāĻžāĻāĻĨāĻ¨ āĻā§āĻĄ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĨ¤
=> (āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻ°āĻž '("āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ!" āĻŽā§āĻĻā§āĻ°āĻŖ))
āĻŽāĻĄāĻŋāĻāĻ˛(
āĻļāĻ°ā§āĻ°=[
Expr(value=Call(func=Name(id='print'), args=[Str(s='Hello World!')], keyword=[], starargs=None, kwargs=None))])
=> (āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ '("āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ!" āĻŽā§āĻĻā§āĻ°āĻŖ) āĻ¸āĻ¤ā§āĻ¯)
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ ('āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ!')
āĻāĻžāĻ˛āĻŋ?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻāĻžāĻ˛āĻŋ? āĻāĻ˛)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if Coll āĻāĻžāĻ˛āĻŋ. āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ (= 0 (āĻ˛ā§āĻ¨ āĻāĻ˛)).
=> (āĻāĻžāĻ˛āĻŋ? [])
āĻ¸āĻ¤ā§āĻ¯
=> (āĻāĻžāĻ˛āĻŋ? "")
āĻ¸āĻ¤ā§āĻ¯
=> (āĻāĻžāĻ˛āĻŋ? (, 1 2))
āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻĒā§āĻ°āĻ¤āĻŋ?
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĒā§āĻ°āĻ¤āĻŋ? āĻ¸āĻžāĻŽāĻ¨ā§ āĻāĻ˛)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if (āĻĒā§āĻ°ā§āĻŦ x) āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻ¸āĻ¤ā§āĻ¯ x in CollāĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻŽāĻŋāĻĨā§āĻ¯āĻž. āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻ¤ā§āĻ¯
if Coll āĻāĻžāĻ˛āĻŋ.
=> (āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ? āĻāĻŽāĻ¨āĻāĻŋ? [2 4 6])
āĻ¸āĻ¤ā§āĻ¯
=> (āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ? āĻāĻŽāĻ¨āĻāĻŋ? [1 3 5])
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ? āĻāĻŽāĻ¨āĻāĻŋ? [2 4 5])
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ? āĻāĻŽāĻ¨āĻāĻŋ? [])
āĻ¸āĻ¤ā§āĻ¯
āĻāĻžāĻ¸āĻž?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻāĻžāĻ¸āĻž? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻāĻāĻāĻŋ āĻĢā§āĻ˛ā§āĻ āĻšāĻ¯āĻŧ
=> (āĻāĻžāĻ¸āĻŽāĻžāĻ¨? 3.2)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻāĻžāĻ¸āĻž? -2)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻāĻŽāĻ¨ āĻāĻŋ?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻāĻŽāĻ¨ āĻāĻŋ? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻāĻŽāĻ¨āĻāĻŋ. āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ āĻāĻžāĻāĻĒ āĻ¤ā§āĻ°ā§āĻāĻŋ if (āĻ¨āĻž (āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ? āĻāĻā§āĻ¸)).
=> (āĻāĻŽāĻ¨āĻāĻŋ? 2)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻāĻŽāĻ¨āĻāĻŋ? 13)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (āĻāĻŽāĻ¨āĻāĻŋ? 0)
āĻ¸āĻ¤ā§āĻ¯
āĻĒāĻ°āĻŋāĻāĻ¯āĻŧ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĒāĻ°āĻŋāĻāĻ¯āĻŧ x)
āĻĢāĻžāĻāĻļāĻ¨ā§ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻž āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧāĨ¤
=> (āĻĒāĻ°āĻŋāĻāĻ¯āĻŧ ā§Ē)
4
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§āĻ° āĻĒāĻ°āĻŋāĻāĻ¯āĻŧ [1 2 3 4]))
[ā§§ ā§¨ ā§Š ā§Ē]
Inc
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (inc x)
āĻāĻ° āĻĨā§āĻā§ āĻŦā§āĻļāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ x. āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ (+ x 1). āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ āĻāĻžāĻāĻĒ āĻ¤ā§āĻ°ā§āĻāĻŋ if (āĻ¨āĻž (āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ? āĻāĻā§āĻ¸)).
=> (inc 3)
4
=> (inc 0)
1
=> (inc 12.3)
13.3
āĻĻā§āĻˇā§āĻāĻžāĻ¨ā§āĻ¤?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĻā§āĻˇā§āĻāĻžāĻ¨ā§āĻ¤? āĻļā§āĻ°ā§āĻŖā§ x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻļā§āĻ°ā§āĻŖā§.
=> (āĻāĻĻāĻžāĻšāĻ°āĻŖ? āĻĢā§āĻ˛ā§āĻ 1.0)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻāĻĻāĻžāĻšāĻ°āĻŖ? int 7)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻāĻĻāĻžāĻšāĻ°āĻŖ? str (str "foo"))
āĻ¸āĻ¤ā§āĻ¯
=> (āĻĄāĻŋāĻĢāĻā§āĻ˛āĻžāĻ¸ āĻā§āĻ¸ā§āĻāĻā§āĻ˛āĻžāĻ¸ [āĻ āĻŦāĻā§āĻā§āĻ])
=> (setv inst (TestClass))
=> (āĻāĻĻāĻžāĻšāĻ°āĻŖ? āĻā§āĻ¸ā§āĻāĻā§āĻ˛āĻžāĻ¸ āĻāĻ¨āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻ¸)
āĻ¸āĻ¤ā§āĻ¯
āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻžāĨ¤ āĻĒāĻžāĻāĻĨāĻ¨ 2 āĻāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻŋ āĻšāĻ¯āĻŧ āĻā§āĻ¨ int or āĻĻā§āĻ°ā§āĻ. āĻĒāĻžāĻāĻĨāĻ¨ 3 āĻāĻ° āĻāĻ¨ā§āĻ¯,
āĻāĻ āĻā§āĻ¨ int.
=> (āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž? 3)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž? -2.4)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻāĻ¨ā§āĻāĻžāĻ°āĻ˛āĻŋāĻ
0.10.1 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻāĻ¨ā§āĻāĻžāĻ°āĻ˛āĻŋāĻ seq1 seq2 ...)
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸āĻŋāĻā§āĻ¯āĻŧā§āĻ¨ā§āĻ¸ā§ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻāĻā§āĻŽā§āĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯, āĻ¤āĻžāĻ°āĻĒāĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻāĻŋ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻāĻ¨ā§āĻāĻžāĻ°āĻ˛āĻŋāĻ (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 5) (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 100 105)))
[ā§Ļ, ā§¨, ā§Ē, ā§Ŧ, ā§Ž, ā§¨ā§Ļ, ā§¨ā§Ē, ā§¨ā§Ž, ā§Šā§¨, ā§Šā§Ŧ]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻāĻ¨ā§āĻāĻžāĻ°āĻ˛āĻŋāĻ (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 1000000) "abc"))
[0, 'a', 1, 'b', 2, 'c']
āĻāĻ¨ā§āĻāĻžāĻ°āĻĒā§āĻ
0.10.1 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻšāĻ¸ā§āĻ¤āĻā§āĻˇā§āĻĒ āĻāĻ°āĻž āĻĒāĻĻ āĻ¸ā§āĻ)
āĻāĻāĻā§āĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻāĻā§āĻ¤ āĻ āĻ¨ā§āĻā§āĻ°āĻŽā§āĻ° āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻāĻ¨ā§āĻāĻžāĻ°āĻĒā§āĻ "!" "abcd"))
['āĻ āĻŦāĻŋ āĻ¸āĻŋ āĻĄāĻŋ']
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻāĻ¨ā§āĻāĻžāĻ°āĻĒā§āĻ -1 (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 5)))
[0, -1, 1, -1, 2, -1, 3, -1, 4]
āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯āĨ¤ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ (iter x) is
āĻĄāĻžāĻāĻž āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§?.
=>;; āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ āĻāĻ°ā§
=> (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤? (str "abcde"))
āĻ¸āĻ¤ā§āĻ¯
=>;; āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ āĻāĻ°ā§
=> (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤? [1 2 3 4 5])
āĻ¸āĻ¤ā§āĻ¯
=>;; tuples āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ āĻāĻ°ā§
=> (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯? (, 1 2 3))
āĻ¸āĻ¤ā§āĻ¯
=>;; dicts āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ āĻāĻ°ā§
=> (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯? {:a 1 :b 2 :c 3})
āĻ¸āĻ¤ā§āĻ¯
=>;; āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§/āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ āĻāĻ°ā§
=> (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤? (3 āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ))
āĻ¸āĻ¤ā§āĻ¯
āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§āĨ¤ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻāĻŽāĻ¨ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¯āĻž āĻ¨āĻŋāĻā§āĻā§ āĻāĻāĻāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§ āĻĻā§āĻ¯āĻŧ
āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻ¯āĻāĻ¨ (iter x) āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ. āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯?.
=>;; āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ āĻāĻ°ā§ āĻ¨āĻž
=> (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤? [1 2 3 4 5])
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=>;; āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĨā§āĻā§ āĻāĻāĻāĻŋ iter āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ
=> (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤? (iter [1 2 3 4 5]))
āĻ¸āĻ¤ā§āĻ¯
=>;; āĻĄāĻŋāĻā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ āĻāĻ°ā§ āĻ¨āĻž
=> (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤? {:a 1 :b 2 :c 3})
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=>;; āĻĄāĻŋāĻā§āĻ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
=> (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤? (iter {:a 1 :b 2 :c 3}))
āĻ¸āĻ¤ā§āĻ¯
āĻ¤āĻžāĻ˛āĻŋāĻāĻž*
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ¤āĻžāĻ˛āĻŋāĻāĻž* āĻŽāĻžāĻĨāĻž &āĻŦāĻŋāĻļā§āĻ°āĻžāĻŽ āĻ˛ā§āĻ)
āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻ¨ā§āĻ¸ā§āĻā§āĻĄ āĻāĻ¨āĻ¸ āĻ¸ā§āĻ˛ā§āĻ° (āĻāĻāĻāĻŋ āĻŦāĻŋāĻ¨ā§āĻĻā§āĻ¯ā§āĻā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻāĻž) āĻāĻāĻāĻŋ āĻā§āĻāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋ
āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻā§, āĻāĻāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻāĻŋāĻ¨āĨ¤
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž* 1 2 3 4)
(1 2 3āĨ¤ 4)
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž* 1 2 3 [4])
[ā§§, ā§Š, ā§Ģ, ā§§]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž* 1)
1
=> (āĻ āĻĒāĻ°āĻžāĻ§? (āĻ¤āĻžāĻ˛āĻŋāĻāĻž* 1 2 3 4))
āĻ¸āĻ¤ā§āĻ¯
macroexpand
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻā§āĻ¸āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĄ āĻĢāĻ°ā§āĻŽ)
āĻāĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻĢāĻ°ā§āĻŽ.
=> (āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻāĻā§āĻ¸āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĄ '(-> (a b) (x y)))
(u'x' (u'a' u'b') u'y')
=> (āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻāĻā§āĻ¸āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĄ '(-> (a b) (-> (c d) (e f))))
(u'e' (u'c' (u'a' u'b') u'd') u'f')
macroexpand-1
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (macroexpand-1 āĻĢāĻ°ā§āĻŽ)
āĻāĻ° āĻāĻāĻ āĻ§āĻžāĻĒ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻĢāĻ°ā§āĻŽ.
=> (macroexpand-1' (-> (a b) (-> (c d) (e f))))
(u'_>' (u'a' u'b') (u'c' u'd') (u'e' u'f'))
āĻ¸āĻžāĻĨā§ āĻāĻāĻ¤ā§āĻ°ā§āĻāĻ°āĻŖ
0.10.1 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ¸āĻžāĻĨā§ āĻāĻāĻ¤ā§āĻ°ā§āĻāĻ°āĻŖ f &āĻŦāĻŋāĻļā§āĻ°āĻžāĻŽ āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§āĻ°)
āĻāĻāĻāĻŋ āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§āĻ° āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ āĻ¯āĻž āĻĒā§āĻ°āĻĨāĻŽā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻŦāĻžāĻāĻŋ āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§āĻ°ā§āĻ° āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧā§ āĻāĻ āĻŋāĻ¤āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻā§ āĻāĻā§
āĻāĻāĻžāĻ§āĻŋāĻ āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§āĻ°, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ (āĻŦāĻžāĻŽ-āĻĨā§āĻā§-āĻĄāĻžāĻ¨) āĻĨā§āĻā§ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ(āĻā§āĻ˛āĻŋ) āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻŦā§
āĻāĻ˛ āĻāĻ°ā§ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ (f āĻāĻžāĻ˛-āĻāĻ¨-āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻžāĻ˛-āĻāĻ¨-āĻ˛ā§āĻāĻžāĻ°).
=> (āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§āĻ¨ (fn [x y] (+ x y)) {"a" 10 "b" 20} {"a" 1 "c" 30})
{u'a': 11L, u'c': 30L, u'b': 20L}
neg?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ¨ā§āĻ? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻļā§āĻ¨ā§āĻ¯ā§āĻ° āĻā§āĻ¯āĻŧā§ āĻāĻŽāĨ¤ āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ āĻāĻžāĻāĻĒ āĻ¤ā§āĻ°ā§āĻāĻŋ if (āĻ¨āĻž (āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ? āĻāĻā§āĻ¸)).
=> (āĻ¨ā§āĻ? -2)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻ¨ā§āĻ? 3)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (āĻ¨ā§āĻ? 0)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻļā§āĻ¨ā§āĻ¯?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻļā§āĻ¨ā§āĻ¯? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x is āĻļā§āĻ¨ā§āĻ¯ / āĻ¨āĻž.
=> (āĻļā§āĻ¨ā§āĻ¯? āĻļā§āĻ¨ā§āĻ¯)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻļā§āĻ¨ā§āĻ¯? āĻā§āĻ¨ā§āĻāĻŋāĻ āĻ¨āĻ¯āĻŧ)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻļā§āĻ¨ā§āĻ¯? 0)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (setf x āĻļā§āĻ¨ā§āĻ¯)
=> (āĻļā§āĻ¨ā§āĻ¯? x)
āĻ¸āĻ¤ā§āĻ¯
=>;; list.append āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻ¨āĻāĻŋāĻ āĻĻā§āĻ¯āĻŧ āĻ¨āĻž
=> (āĻļā§āĻ¨ā§āĻ¯? (.āĻ¸āĻāĻ¯ā§āĻāĻ¨ [1 2 3] 4))
āĻ¸āĻ¤ā§āĻ¯
āĻā§āĻ¨āĻāĻŋ?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻā§āĻ¨ā§āĻāĻŋ? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x is āĻ¨āĻž.
=> (āĻā§āĻ¨ā§āĻāĻŋ? āĻā§āĻ¨ā§āĻāĻŋāĻ āĻ¨āĻ¯āĻŧ)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻā§āĻ¨ā§āĻāĻŋ? 0)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (setf x āĻā§āĻ¨āĻāĻŋāĻ āĻ¨āĻ¯āĻŧ)
=> (āĻā§āĻ¨ā§āĻāĻŋ? x)
āĻ¸āĻ¤ā§āĻ¯
=>;; list.append āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻ¨āĻāĻŋāĻ āĻĻā§āĻ¯āĻŧ āĻ¨āĻž
=> (āĻāĻŋāĻā§āĻ āĻ¨āĻ¯āĻŧ? (.āĻ¸āĻāĻ¯ā§āĻāĻ¨ [1 2 3] 4))
āĻ¸āĻ¤ā§āĻ¯
n āĻ¤āĻŽ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ¨āĻŽ Coll n &āĻāĻā§āĻāĻŋāĻ [āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻļā§āĻ¨ā§āĻ¯])
āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ n-āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ°āĻšā§āĻ° āĻ¤āĻŽ āĻāĻāĻā§āĻŽ, 0 āĻĨā§āĻā§ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŽāĻžāĻ¨ āĻĢā§āĻ°āĻ¤ āĻĻāĻŋāĻ¨, āĻļā§āĻ¨ā§āĻ¯, āĻ¯āĻĻāĻŋ
āĻ¸ā§āĻŽāĻžāĻ° āĻŦāĻžāĻāĻ°ā§ (āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¨āĻž āĻšāĻ˛ā§) āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ āĻŽāĻžāĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋ if n āĻ¨ā§āĻ¤āĻŋāĻŦāĻžāĻāĻ
=> (āĻ¨āĻŽ [ā§§ ā§¨ ā§Ē ā§] ā§§)
2
=> (āĻ¨āĻŽ [ā§§ ā§¨ ā§Ē ā§] ā§§)
7
=> (āĻļā§āĻ¨ā§āĻ¯? (nāĻŽ [1 2 4 7] 5))
āĻ¸āĻ¤ā§āĻ¯
=> (nāĻŽ [1 2 4 7] 5 "āĻĄāĻŋāĻĢāĻ˛ā§āĻ")
'āĻĄāĻŋāĻĢāĻ˛ā§āĻ'
=> (āĻ¨āĻŽ (3 āĻ¨āĻŋāĻ¨ (āĻĄā§āĻ°āĻĒ 2 [1 2 3 4 5 6])) 2))
5
=> (āĻ¨āĻŽ [1 2 4 7] -1)
āĻā§āĻ°ā§āĻ¸āĻŦā§āĻ¯āĻžāĻ (āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻāĻ¤āĻŽ āĻāĻ˛ āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ):
...
āĻŽāĻžāĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋ: islice() āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻāĻāĻā§āĻ˛āĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ āĻā§āĻ¨ā§āĻāĻŋ āĻ¨āĻ¯āĻŧ āĻŦāĻž āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž āĻšāĻ¤ā§ āĻšāĻŦā§: 0 <= x <= sys.maxsizeāĨ¤
āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ āĻ¸āĻāĻā§āĻ¯āĻžāĨ¤āĻ¸āĻāĻā§āĻ¯āĻž āĻŦāĻ°ā§āĻ.
=> (āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ? -2)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ? 3.2)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ? "foo")
āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻ āĻĻā§āĻā§āĻ¤ āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ āĻāĻžāĻāĻĒ āĻ¤ā§āĻ°ā§āĻāĻŋ if (āĻ¨āĻž (āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ? āĻāĻā§āĻ¸)).
=> (āĻŦāĻŋāĻā§āĻĄāĻŧ? 13)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻŦāĻŋāĻā§āĻĄāĻŧ? 2)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (āĻŦāĻŋāĻā§āĻĄāĻŧ? 0)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (pos? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻļā§āĻ¨ā§āĻ¯ā§āĻ° āĻā§āĻ¯āĻŧā§ āĻŦāĻĄāĻŧāĨ¤ āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ āĻāĻžāĻāĻĒ āĻ¤ā§āĻ°ā§āĻāĻŋ if (āĻ¨āĻž (āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ? āĻāĻā§āĻ¸)).
=> (āĻĒāĻĻ? 3)
āĻ¸āĻ¤ā§āĻ¯
=> (pos? -2)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (āĻĒāĻĻ? 0)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻāĻ˛)
āĻāĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ Coll. āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ (āĻĒāĻžāĻāĻ¯āĻŧāĻž Coll 1).
=> (āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ [0 1 2])
1
āĻāĻŋāĻā§
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻāĻŋāĻā§ āĻ¸āĻžāĻŽāĻ¨ā§ āĻāĻ˛)
āĻāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ-āĻ¸āĻ¤ā§āĻ¯ āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ (āĻĒā§āĻ°ā§āĻŦ x) āĻā§āĻ¨ āĻāĻ¨ā§āĻ¯ x in CollāĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻļā§āĻ¨ā§āĻ¯.
āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻ¨ āĻļā§āĻ¨ā§āĻ¯ if Coll āĻāĻžāĻ˛āĻŋ.
=> (āĻāĻŋāĻā§ āĻāĻŽāĻ¨āĻāĻŋ? [2 4 6])
āĻ¸āĻ¤ā§āĻ¯
=> (āĻļā§āĻ¨ā§āĻ¯? (āĻāĻŋāĻā§ āĻāĻŽāĻ¨āĻāĻŋ? [1 3 5]))
āĻ¸āĻ¤ā§āĻ¯
=> (āĻļā§āĻ¨ā§āĻ¯? (āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻāĻ¯āĻŧ [0 "" []]))
āĻ¸āĻ¤ā§āĻ¯
=> (āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻāĻ¯āĻŧ [0 "āĻ -āĻāĻžāĻ˛āĻŋ-āĻ¸ā§āĻā§āĻ°āĻŋāĻ" []])
'āĻ -āĻāĻžāĻ˛āĻŋ-āĻ¸ā§āĻā§āĻ°āĻŋāĻ'
=> (āĻļā§āĻ¨ā§āĻ¯? (āĻāĻŋāĻā§ āĻāĻŽāĻ¨āĻāĻŋ? []))
āĻ¸āĻ¤ā§āĻ¯
āĻ¸ā§āĻā§āĻ°āĻŋāĻ?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ¸ā§āĻā§āĻ°āĻŋāĻ? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻšāĻ¯āĻŧ
=> (āĻ¸ā§āĻā§āĻ°āĻŋāĻ? "foo")
āĻ¸āĻ¤ā§āĻ¯
=> (āĻ¸ā§āĻā§āĻ°āĻŋāĻ? -2)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻĒā§āĻ°āĻ¤ā§āĻ?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĒā§āĻ°āĻ¤ā§āĻ? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻāĨ¤
=> (āĻĒā§āĻ°āĻ¤ā§āĻ? 'foo)
āĻ¸āĻ¤ā§āĻ¯
=> (āĻĒā§āĻ°āĻ¤ā§āĻ? '[a b c])
āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻļā§āĻ¨ā§āĻ¯?
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻļā§āĻ¨ā§āĻ¯? x)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨āĻ¸ āĻŦāĻž āĻŽā§āĻ¨āĻžāĻĢāĻž āĻ¸āĻ¤ā§āĻ¯ if x āĻļā§āĻ¨ā§āĻ¯āĨ¤
=> (āĻļā§āĻ¨ā§āĻ¯? 3)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (āĻļā§āĻ¨ā§āĻ¯? -2)
āĻŽāĻŋāĻĨā§āĻ¯āĻž
=> (āĻļā§āĻ¨ā§āĻ¯? 0)
āĻ¸āĻ¤ā§āĻ¯
āĻā§āĻ°āĻŽ āĻāĻžāĻ°ā§āĻ¯āĻžāĻŦāĻ˛ā§
āĻ¸āĻŋāĻā§āĻ¯āĻŧā§āĻ¨ā§āĻ¸ āĻĢāĻžāĻāĻļāĻ¨ āĻšāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻ āĻ¸ā§āĻŽ āĻā§āĻ°āĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦāĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻŦāĻž āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻā§āĻ°āĻŽāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻāĻĒāĻ˛āĻŦā§āĻ§āĻŋ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ˇ āĻ¤āĻžāĻ°āĻž āĻāĻāĻž āĻāĻ°ā§
āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻā§āĨ¤
āĻāĻŋāĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸ā§āĻŦā§ āĻāĻŽāĻ°āĻž āĻā§āĻ¯āĻžāĻ¨ā§āĻ¨āĻŋāĻāĻžāĻ˛ āĻāĻ¨āĻĢāĻŋāĻ¨āĻŋāĻ āĻĢāĻŋāĻŦā§āĻ¨āĻžāĻāĻŋ āĻ¨āĻŽā§āĻŦāĻ° āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ
āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŋāĻā§.
(defn fib []
(setv a 0)
(setv āĻ 1)
(āĻ¯āĻĻāĻŋāĻ āĻ¸āĻ¤ā§āĻ¯
(āĻĢāĻ˛āĻ¨ āĻ)
(setv (, ab) (, b (+ ab)))))
āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ (āĻ¯āĻāĻ¨ āĻ¸āĻ¤ā§āĻ¯ ...) āĻ˛ā§āĻĒ. āĻāĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻāĻāĻŋ REPL āĻ āĻāĻžāĻ˛āĻžāĻ,
=> (āĻĢāĻžāĻāĻŦ)
āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°āĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻā§āĻ¨ āĻāĻžāĻ āĻāĻ°ā§ āĻ¨āĻžāĨ¤
āĻāĻāĻ°āĻāĻŽ āĻāĻŋāĻā§ āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻžāĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž āĻāĻžāĻ°āĻŖ āĻ āĻ¸ā§āĻŽ āĻ˛ā§āĻĒ āĻāĻāĻŋ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ˛āĻŦā§
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻ˛āĻŦā§āĻ§ RAM āĻā§āĻ°āĻžāĻ¸ āĻāĻ°ā§, āĻŦāĻž āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¯āĻ¤āĻā§āĻˇāĻŖ āĻ¨āĻž āĻāĻŽāĻŋ āĻāĻāĻŋāĻā§ āĻšāĻ¤ā§āĻ¯āĻž āĻāĻ°āĻŋāĨ¤
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĢāĻžāĻāĻŦ))
[ā§§] ā§¯ā§§ā§Ēā§ā§Ē āĻāĻ¨ āĻ¨āĻŋāĻšāĻ¤ āĻšāĻ¨
āĻĒā§āĻ°āĻĨāĻŽ 10āĻāĻŋ āĻĢāĻŋāĻŦā§āĻ¨āĻžāĻāĻŋ āĻ¨āĻŽā§āĻŦāĻ° āĻĒā§āĻ¤ā§, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻžāĨ¤ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻž āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻāĻāĻŋ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ,
āĻ¤āĻžāĻ āĻāĻŽāĻŋ āĻāĻāĻŋ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋāĨ¤
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (10 āĻ¨āĻŋāĻ¨ (āĻĢāĻžāĻāĻŦ)))
[ā§Ļ, ā§¨, ā§Ē, ā§Ŧ, ā§Ž, ā§¨ā§Ļ, ā§¨ā§Ē, ā§¨ā§Ž, ā§Šā§¨, ā§Šā§Ŧ]
āĻ¸ā§āĻāĻ 9 āĻ āĻĢāĻŋāĻŦā§āĻ¨āĻžāĻāĻŋ āĻ¨āĻŽā§āĻŦāĻ° āĻĒā§āĻ¤ā§, (0 āĻĨā§āĻā§ āĻļā§āĻ°ā§):
=> (āĻ¨āĻŽ (āĻĢāĻžāĻāĻŦ) 9)
34
āĻāĻā§āĻ°
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ¸āĻžāĻāĻā§āĻ˛ āĻāĻ˛)
āĻāĻ˛ā§āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯āĻĻā§āĻ° āĻāĻāĻāĻŋ āĻ āĻ¸ā§āĻŽ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (7 āĻ¨āĻŋāĻ¨ (āĻāĻā§āĻ° [1 2 3])))
[1, 2, 3, 1, 2, 3, 1]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (2 āĻ¨āĻŋāĻ¨ (āĻāĻā§āĻ° [1 2 3])))
[1, 2]
āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ°
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻāĻ˛)
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ āĻ¨āĻ¨ā§āĻ¯ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ Coll.
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° [ 1 2 3 4 3 5 2 ]))
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° []))
[]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° (iter [ 1 2 3 4 3 5 2 ])))
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
āĻāĻ°āĻž
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĄā§āĻ°āĻĒ n āĻāĻ˛)
āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ, āĻĒā§āĻ°āĻĨāĻŽāĻāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ n āĻāĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯ Coll. āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ āĻŽāĻžāĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋ if n is
āĻ¨ā§āĻ¤āĻŋāĻŦāĻžāĻāĻ.
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĄā§āĻ°āĻĒ 2 [1 2 3 4 5]))
[3, 4, 5]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĄā§āĻ°āĻĒ 4 [1 2 3 4 5]))
[5]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĄā§āĻ°āĻĒ 0 [1 2 3 4 5]))
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĄā§āĻ°āĻĒ 6 [1 2 3 4 5]))
[]
āĻĄā§āĻ°āĻĒ-āĻ˛āĻžāĻ¸ā§āĻ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĄā§āĻ°āĻĒ-āĻ˛āĻžāĻ¸ā§āĻ n āĻāĻ˛)
āĻļā§āĻˇ āĻŦāĻžāĻĻā§ āĻ¸āĻāĻ˛ā§āĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ n āĻāĻāĻā§āĻŽ Coll. āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ āĻŽāĻžāĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋ if n is
āĻ¨ā§āĻ¤āĻŋāĻŦāĻžāĻāĻ.
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĄā§āĻ°āĻĒ-āĻ˛āĻžāĻ¸ā§āĻ 5 (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10 20)))
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĄā§āĻ°āĻĒ-āĻ˛āĻžāĻ¸ā§āĻ 0 (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 5)))
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĄā§āĻ°āĻĒ-āĻ˛āĻžāĻ¸ā§āĻ 100 (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 100)))
[]
=> (āĻāĻāĻžāĻ°āĻā§āĻ˛ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨)
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (5 āĻ¨āĻŋāĻ¨ (āĻĄā§āĻ°āĻĒ-āĻ˛āĻžāĻ¸ā§āĻ 100 (itertools.count 10))))
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
drop-while
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĄā§āĻ°āĻĒ-āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻžāĻŽāĻ¨ā§ āĻāĻ˛)
āĻ¸āĻĻāĻ¸ā§āĻ¯āĻĻā§āĻ° āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ Coll āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻžāĻŽāĻ¨ā§ is āĻŽāĻŋāĻĨā§āĻ¯āĻž.
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĄā§āĻ°āĻĒ-āĻ¯āĻāĻ¨āĻ? [2 4 7 8 9]))
[7, 8, 9]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĄā§āĻ°āĻĒ-āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§ āĻ¸āĻžāĻāĻā§āĻ¯āĻŋāĻ? [1 2 3 āĻā§āĻ¨āĻāĻŋāĻ "a"])))
[āĻā§āĻ¨āĻāĻŋāĻ āĻ¨āĻ¯āĻŧ, āĻ'āĻ']
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĄā§āĻ°āĻĒ-āĻšā§āĻ¯āĻŧā§āĻ¯āĻžāĻ˛ āĻĒā§āĻ¸ā§āĻ? [2 4 7 8 9]))
[]
āĻāĻžāĻāĻāĻ¨āĻŋ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻāĻžāĻāĻāĻ¨āĻŋ āĻ¸āĻžāĻŽāĻ¨ā§ āĻāĻ˛)
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻāĻā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ā§ˇ Coll āĻ¯ā§ predicate āĻĒāĻžāĻ¸ āĻ¸āĻžāĻŽāĻ¨ā§.
āĻāĻ°ā§ āĻĻā§āĻā§āĻ¨ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ.
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻĒā§āĻ¸? ââ[1 2 3 -4 5 -7]))
[ā§§, ā§Š, ā§Ģ, ā§§]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻŽāĻ¨āĻāĻŋ? [1 2 3 -4 5 -7]))
[ā§¨, -ā§Ē]
āĻā§āĻĒāĻāĻžāĻ¨
0.9.12 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ¸āĻŽāĻ¤āĻ˛ āĻāĻ°āĻž āĻāĻ˛)
āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĨāĻžāĻāĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻāĻā§āĻŽā§āĻ° āĻāĻāĻāĻŋ āĻāĻāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ā§ˇ Coll, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻŦāĻ/āĻ āĻĨāĻŦāĻž āĻ¸āĻŽāĻ¤āĻ˛ āĻāĻ°ā§
tuples
=> (āĻā§āĻ¯āĻžāĻĒā§āĻāĻž [1 2 [3 4] 5])
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
=> (āĻā§āĻ¯āĻžāĻĒā§āĻāĻž ["foo" (, 1 2) [1 [2 3] 4] "āĻŦāĻžāĻ°"])
['āĻĢā§', 1, 2, 1, 2, 3, 4, 'āĻŦāĻžāĻ°']
āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ fn x)
āĻāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ x, fn(x), fn(fn(x))āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (5 āĻ¨āĻŋāĻ¨ (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ 5)))
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (5 āĻ¨āĻŋāĻ¨ (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ (fn [x] (* x x)) 5)))
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
āĻĒāĻĄāĻŧāĻž
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĒāĻĄāĻŧāĻž &āĻāĻā§āĻāĻŋāĻ [āĻĢāĻžāĻāĻ˛ āĻĨā§āĻā§ eof])
āĻĨā§āĻā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ Hy āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻĒāĻĄāĻŧā§ āĻĨā§āĻā§ āĻĢāĻžāĻāĻ˛ (āĻāĻ¤ā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻ sys.stdin), āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
EOF āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻ āĻŦāĻžāĻāĻ (āĻāĻāĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻ)āĨ¤ āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ āĻāĻāĻāĻĢā§āĻ°āĻ° if āĻĨā§āĻā§ āĻĢāĻžāĻāĻ˛ āĻāĻā§ āĻļā§āĻˇ āĻšāĻ¯āĻŧ
āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
=> (āĻĒāĻĄāĻŧā§āĻ¨)
(+ 2 2)
('+' 2 2)
=> (āĻāĻāĻžāĻ˛ (āĻĒāĻĄāĻŧā§āĻ¨))
(+ 2 2)
4
=> (āĻāĻŽāĻĻāĻžāĻ¨āĻŋ io)
=> (def āĻŦāĻžāĻĢāĻžāĻ° (io.StringIO "(+ 2 2)\n(- 2 1)"))
=> (eval (āĻĒāĻ āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨ [] {"from_file" āĻŦāĻžāĻĢāĻžāĻ°}))
4
=> (eval (āĻĒāĻ āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨ [] {"from_file" āĻŦāĻžāĻĢāĻžāĻ°}))
1
=> āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻž "example.hy" āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ°āĻ¯āĻŧā§āĻā§:
=> ("āĻšā§āĻ¯āĻžāĻ˛ā§" āĻŽā§āĻĻā§āĻ°āĻŖ)
=> ("hyfriends!" āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨)
=> ([[f ("example.hy" āĻā§āĻ˛ā§āĻ¨)]] āĻĻāĻŋāĻ¯āĻŧā§
... (āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨
... (āĻ¯āĻĻāĻŋāĻ āĻ¸āĻ¤ā§āĻ¯
... (āĻāĻ˛ā§āĻ¨ [[exp (āĻĒāĻĄāĻŧā§āĻ¨ āĻ)]]
... (āĻāĻ°ā§āĻ¨
... ("OHY" āĻāĻā§āĻ¸āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻŽā§āĻĻā§āĻ°āĻŖ)
... (āĻāĻāĻžāĻ˛ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻ¸))))
... (āĻ§āĻ°ā§āĻ¨ [āĻ āĻāĻāĻāĻĢā§āĻ°āĻ°]
... (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ "EOF!"))))
āĻāĻš ('āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ' 'āĻšā§āĻ¯āĻžāĻ˛ā§')
āĻšā§āĻ¯āĻžāĻ˛ā§
āĻāĻš ('āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ' 'āĻšāĻžāĻāĻĢā§āĻ°ā§āĻ¨ā§āĻĄāĻ¸!')
āĻŦāĻ¨ā§āĻ§ā§āĻ°āĻž!
āĻāĻāĻāĻĢ !
āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ¸āĻžāĻŽāĻ¨ā§ āĻāĻ˛)
āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ Coll āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¯āĻž āĻĒā§āĻ°ā§āĻŦāĻžāĻāĻžāĻ¸ āĻĒāĻžāĻ¸ āĻāĻ°ā§, āĻ¸āĻžāĻŽāĻ¨ā§, āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ°ā§ āĻĻā§āĻā§āĻ¨ āĻāĻžāĻāĻāĻ¨āĻŋ.
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻŦāĻŋāĻā§āĻĄāĻŧ āĻ¸āĻ°āĻžāĻ¨? [1 2 3 4 5 6 7]))
[2, 4, 6]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻĒā§āĻ¸ āĻ¸āĻ°āĻžāĻ¨? [1 2 3 4 5 6 7]))
[]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻ¨ā§āĻ āĻ¸āĻ°āĻžāĻ¨? [1 2 3 4 5 6 7]))
[1, 2, 3, 4, 5, 6, 7]
āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ x)
āĻāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ (āĻ āĻ¸ā§āĻŽ) āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ x.
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (6 āĻ¨āĻŋāĻ¨ (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ "s")))
[āĻ¤ā§āĻŽāĻŋ', āĻ¤ā§āĻŽāĻŋ', āĻ¤ā§āĻŽāĻŋ', āĻ¤ā§āĻŽāĻŋ', āĻ¤ā§āĻŽāĻŋ', āĻ¤ā§āĻŽāĻŋ']
āĻĒā§āĻ¨āĻāĻĒā§āĻ¨āĻ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻĒā§āĻ¨āĻāĻĒā§āĻ¨āĻ fn)
āĻāĻ˛ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ fn āĻĒā§āĻ¨āĻāĻĒā§āĻ¨āĻ.
=> (āĻāĻŽāĻĻāĻžāĻ¨āĻŋ [āĻāĻ˛ā§āĻŽā§āĻ˛ā§ [āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŋāĻ¨ā§āĻ]])
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (5 āĻ¨āĻŋāĻ¨ (āĻŦāĻžāĻ°āĻŦāĻžāĻ° (fn [] (randint 0 10)))))
[ā§§, ā§Ē, ā§Ģ,,, ā§¯]
āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻž
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻž n āĻāĻ˛)
āĻĒā§āĻ°āĻĨāĻŽāĻāĻŋ āĻ§āĻžāĻ°āĻŖāĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ n āĻāĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯ Coll. āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ āĻŽāĻžāĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋ if n is
āĻ¨ā§āĻ¤āĻŋāĻŦāĻžāĻāĻ.
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (ā§Š āĻ¨āĻŋāĻ¨ [ā§§ ā§¨ ā§Š ā§Ē ā§Ģ]))
[1, 2, 3]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (4 āĻ¨āĻŋāĻ¨ (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ "s")))
[āĻ¤ā§āĻŽāĻŋ', āĻ¤ā§āĻŽāĻŋ', āĻ¤ā§āĻŽāĻŋ', āĻ¤ā§āĻŽāĻŋ']
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (0 āĻ¨āĻŋāĻ¨ (āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ "s")))
[]
āĻā§āĻ°āĻšāĻŖ-āĻ¨āĻŽ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻā§āĻ-āĻ¨āĻŽ n āĻāĻ˛)
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ§āĻžāĻ°āĻŖāĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ n-āĻāĻ° āĻ¤āĻŽ āĻ¸āĻĻāĻ¸ā§āĻ¯ Coll.
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻ¨āĻŽ 2 [1 2 3 4 5 6 7]))
[ā§§, ā§Š, ā§Ģ, ā§§]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻ¨āĻŽ 3 [1 2 3 4 5 6 7]))
[1, 4, 7]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻ¨āĻŽ 4 [1 2 3 4 5 6 7]))
[1, 5]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻ¨āĻŽ 10 [1 2 3 4 5 6 7]))
[1]
take-while
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¨ āĻ¸āĻžāĻŽāĻ¨ā§ āĻāĻ˛)
āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ Coll āĻ¯āĻ¤āĻā§āĻˇāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¨āĻž āĻ¸āĻžāĻŽāĻ¨ā§ āĻāĻ¯āĻŧ āĻ¸āĻ¤ā§āĻ¯.
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻ¨ā§āĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ? [ 1 2 3 -4 5]))
[1, 2, 3]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻ¨ā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ? [ -4 -3 1 2 5]))
[-ā§Ē, -ā§Š]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻ¨ā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ? [ 1 2 3 -4 5]))
[]
āĻāĻŋāĻĒ āĻĻāĻŋāĻ¯āĻŧā§
0.9.13 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻāĻŋāĻĒ āĻĻāĻŋāĻ¯āĻŧā§ fn Coll ...)
āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻĢā§āĻ¯āĻžāĻ¸ā§ āĻļāĻŦā§āĻĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻāĻŋāĻĒāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋ
āĻāĻŋāĻĒ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¤āĻžāĻ°āĻĒāĻ° N āĻ¸āĻāĻā§āĻ°āĻšā§āĻ° āĻ¸āĻžāĻĨā§ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ fn N āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
=> (āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻ āĻĒāĻžāĻ°ā§āĻāĻ°)
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (zipwith operator.add [1 2 3] [4 5 6]))
[5, 7, 9]
āĻĒāĻžāĻ āĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
āĻ°āĻŋāĻĄāĻžāĻ° āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ˛āĻŋāĻ¸ā§āĻĒāĻā§ āĻĢā§āĻ˛āĻžāĻāĻ¤ā§ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨ āĻ¨āĻž
āĻĒā§āĻ˛āĻŋāĻļ āĻ¸ā§āĻŦāĻ°āĻ˛āĻŋāĻĒāĻŋ? āĻāĻāĻāĻŋ āĻĒāĻžāĻ āĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¸āĻšāĻā§āĻ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻāĻŋ āĻĨāĻžāĻāĻžāĻ° Clojure āĻāĻ° āĻāĻĒāĻžāĻ¯āĻŧ āĻāĻžāĻ¨
regex? āĻĒāĻžāĻ āĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ āĻāĻāĻŋ āĻ¸āĻšāĻā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻŦāĻžāĻā§āĻ¯ āĻāĻ āĻ¨
=> (āĻĄāĻŋāĻĢā§āĻ°āĻŋāĻĄāĻžāĻ° ^ [āĻāĻā§āĻ¸āĻĒāĻŋāĻāĻ°] (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻā§āĻ¸āĻĒā§āĻ°))
=> #^(1 2 3 4)
(1)
=> #^"āĻšā§āĻ¯āĻžāĻ˛ā§"
"āĻšā§āĻ¯āĻžāĻ˛ā§"
=> #^1+2+3+4+3+2
1+2+3+4+3+2
Hy tuples āĻāĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻāĻā§āĻˇāĻ°āĻŋāĻ āĻāĻā§. āĻāĻĒāĻ¨āĻŋ āĻ āĻĒāĻāĻ¨ā§āĻĻ āĻŦāĻ˛ā§āĻ¨ (, ...) āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻāĻžāĻāĨ¤ āĻāĻ
āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĒāĻžāĻ āĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻāĻāĻŋ āĻāĻ°āĻāĻ°ā§ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻ¯āĻŧ.
=> (āĻĄāĻŋāĻĢā§āĻ°āĻŋāĻĄāĻžāĻ° āĻāĻŋ [āĻāĻā§āĻ¸āĻĒā§āĻ°] `(, ~@āĻāĻā§āĻ¸āĻĒā§āĻ°))
=> #t(1 2 3)
(1, 2, 3)
āĻāĻŽāĻ¨āĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ Clojure āĻāĻ° āĻŽāĻ¤ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻā§āĻˇāĻ°āĻŋāĻ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨!
=> (āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ)
=> (defreader r [expr] `(re.compile ~expr))
=> #r"*"
āĻ
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨
āĻĄāĻŋāĻĢā§āĻ°āĻŋāĻĄāĻžāĻ° āĻĒāĻžāĻ āĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤ā§āĻ āĻ¨āĻžāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻāĻāĻ āĻ āĻā§āĻˇāĻ° āĻ¨ā§āĻ¯āĻŧ; āĻāĻ° āĻāĻŋāĻā§
āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻŦā§āĨ¤ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ, āĻĄāĻŋāĻĢā§āĻ°āĻŋāĻĄāĻžāĻ° āĻāĻāĻāĻŋ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻā§āĻāĻžāĻĻāĻŋāĻ¤ āĻāĻāĻāĻŋ āĻ˛ā§āĻ¯āĻžāĻŽā§āĻŦāĻĄāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻĄā§āĻā§āĻ°ā§āĻāĻ° āĻāĻ āĻĄā§āĻā§āĻ°ā§āĻāĻ° āĻ˛ā§āĻ¯āĻžāĻŽā§āĻŦāĻĄāĻžāĻā§ āĻ¤āĻžāĻ° āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¨āĻžāĻŽ āĻ¸āĻš āĻāĻāĻāĻŋ āĻ āĻāĻŋāĻ§āĻžāĻ¨ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§
āĻĒā§āĻ°āĻ¤ā§āĻāĨ¤
=> (āĻĄāĻŋāĻĢā§āĻ°āĻŋāĻĄāĻžāĻ° ^ [āĻāĻā§āĻ¸āĻĒāĻŋāĻāĻ°] (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻā§āĻ¸āĻĒā§āĻ°))
;=> (āĻ¸āĻžāĻĨā§_āĻĄā§āĻā§āĻ°ā§āĻāĻ° (hy.macros.reader ^) (fn [expr] (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ expr)))
# āĻŽāĻ§ā§āĻ¯ā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ (āĻĒā§āĻ°ā§āĻ°āĻŖ_āĻ°āĻŋāĻĄāĻžāĻ°_āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ ...) āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒā§āĻ°āĻ¤ā§āĻ āĻāĻŦāĻ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¸āĻ āĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨āĨ¤
=> #^()
;=> (āĻĄāĻŋāĻ¸āĻĒā§āĻ¯āĻžāĻ_āĻ°āĻŋāĻĄāĻžāĻ°_āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ ^ ())
=> #^"āĻšā§āĻ¯āĻžāĻ˛ā§"
"āĻšā§āĻ¯āĻžāĻ˛ā§"
āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž:
āĻšāĻžāĻ āĻāĻ° āĻ˛ā§āĻā§āĻ¸āĻžāĻ° āĻāĻŦāĻ āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻžāĻ° āĻāĻžāĻ°āĻŖā§, āĻĒāĻžāĻ āĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻž
āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻ¯ā§āĻŽāĻ¨ ()[]{}. āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻ¸āĻŽā§āĻŦā§āĻ§āĻ¨ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ Hy āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨
āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻ¨:
āĻāĻ āĻŦāĻŋāĻāĻā§āĻ˛āĻŋ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻ˛ā§āĻāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ¯āĻžāĻ°āĻž Hy āĻ¨āĻŋāĻā§āĻ āĻšā§āĻ¯āĻžāĻ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻāĻ° āĻāĻ¨ā§āĻ¯āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻ¯āĻžāĻ°āĻž āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻ° āĻāĻā§āĻ°ā§ āĻ¤āĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
Hy āĻŽāĻĄā§āĻ˛
āĻā§āĻŽāĻŋāĻāĻž āĻĨā§āĻā§ Hy āĻŽāĻĄā§āĻ˛
āĻšāĻžāĻ āĻŽāĻĄā§āĻ˛āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻĒāĻžāĻāĻĨāĻ¨ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻĒāĻ°ā§ āĻāĻāĻāĻŋ āĻā§āĻŦ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ¸ā§āĻ¤āĻ°, āĻ¯āĻž Hy āĻāĻ¤ā§āĻ¸āĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻāĻ°ā§
āĻĄā§āĻāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§āĻĄāĨ¤ āĻŽāĻĄā§āĻ˛ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻā§āĻ¸ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻ¤āĻĨā§āĻ¯ āĻ¯ā§āĻ āĻāĻ°ā§, āĻāĻŦāĻ āĻāĻŋāĻā§ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§
āĻšāĻžāĻ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄā§āĻ° āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻļāĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ¤ā§āĨ¤ āĻ¯ā§ āĻ āĻ°ā§āĻāĻ¨
āĻ˛āĻā§āĻˇā§āĻ¯, āĻšāĻžāĻ āĻŽāĻĄā§āĻ˛āĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻŦā§āĻ¸ āĻĒāĻžāĻāĻĨāĻ¨ āĻā§āĻ˛āĻžāĻ¸ā§āĻ° āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻāĻŦāĻ HyObject.
HyObject
hy.models.HyObject āĻšāĻžāĻ āĻŽāĻĄā§āĻ˛ā§āĻ° āĻŦā§āĻ¸ āĻā§āĻ˛āĻžāĻ¸āĨ¤ āĻāĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§, āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž,
āĻ¯āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ āĻŦāĻā§āĻā§āĻā§āĻ° āĻ¸ā§āĻ°ā§āĻ¸ āĻĒāĻāĻŋāĻļāĻ¨āĻā§ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻšāĻŋāĻ¸ā§āĻŦā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĨ¤
āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ° āĻŽā§āĻ˛ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻ°āĻžāĻāĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻ¯āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§, āĻ¸ā§āĻāĻž āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°ā§ āĻšā§āĻ āĻŦāĻž āĻŦāĻŋāĻļā§āĻĻā§āĻ§ āĻšāĻžāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ¤ā§āĨ¤
HyObject āĻšāĻžāĻ āĻŽāĻĄā§āĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻāĻ¨āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻāĻŋāĻ¯āĻŧā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻā§āĻ˛āĻžāĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤
āĻ¯ā§āĻāĻŋāĻ āĻŽāĻĄā§āĻ˛
āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻāĻŦāĻ āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻšāĻžāĻ āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¯ā§āĻāĻŋāĻ āĻŽāĻĄā§āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻšāĻžāĻāĻ˛āĻŋāĻ¸ā§āĻ
hy.models.list.HyList "āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤" āĻšāĻžāĻ āĻŽāĻĄā§āĻ˛ā§āĻ° āĻŦā§āĻ¸ āĻā§āĻ˛āĻžāĻ¸āĨ¤ āĻāĻ° āĻŽā§āĻ˛āĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻšāĻā§āĻā§
āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ [] āĻ¤āĻžāĻ˛āĻŋāĻāĻž, āĻ¯āĻž, āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ āĻļā§āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ, āĻāĻ¤ā§ āĻ āĻ¨ā§āĻŦāĻžāĻĻ āĻāĻ°ā§
āĻ¸āĻāĻāĻ˛āĻ¨ āĻĒāĻ°ā§āĻŦā§ āĻĒāĻžāĻāĻĨāĻ¨ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻā§āĻˇāĻ°āĻŋāĻāĨ¤
āĻ āĻ¨ā§āĻ¯ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§ āĻāĻāĻāĻŋ HyList āĻ¯ā§āĻ āĻāĻ°āĻž āĻŦāĻžāĻŽ-āĻšāĻžāĻ¤ā§āĻ°-āĻ¸āĻžāĻāĻĄ āĻ āĻŦāĻā§āĻā§āĻā§āĻ° āĻā§āĻ˛āĻžāĻ¸ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§,
āĻāĻāĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻāĻāĻ°āĻŖ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ¤ā§ āĻšāĻžāĻ āĻ āĻŦāĻā§āĻā§āĻāĻā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒāĨ¤
āĻšāĻžāĻ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨
hy.models.expression.HyExpression āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ° āĻšāĻžāĻāĻ˛āĻŋāĻ¸ā§āĻ āĻŦāĻ¨ā§āĻ§āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ () āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻĻā§āĻ¯
āĻāĻ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻāĻāĻ˛āĻ¨ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§:
āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻŦāĻŋāĻļā§āĻˇ-āĻĢāĻ°ā§āĻŽ, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§-āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻŦāĻ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°ā§
āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻĒāĻžāĻāĻĨāĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛āĨ¤
āĻšāĻžāĻāĻĄāĻŋāĻā§āĻ
hy.models.dict.HyDict āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ° āĻšāĻžāĻāĻ˛āĻŋāĻ¸ā§āĻ āĻā§āĻāĻāĻĄāĻŧāĻž-āĻŦāĻ¨ā§āĻ§āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ {} āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ, āĻ¯āĻž āĻāĻŽā§āĻĒāĻžāĻāĻ˛
āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ āĻāĻŋāĻ§āĻžāĻ¨ā§ āĻāĻā§āĻˇāĻ°āĻŋāĻāĨ¤
āĻŦā§āĻ¸ āĻā§āĻ˛āĻžāĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ dict āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻšāĻžāĻāĻĄāĻŋāĻā§āĻ āĻ¸āĻšāĻ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ
āĻ¯ā§āĻāĻŋāĻ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¸āĻš āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§āĻ° āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻļāĻ¨
āĻĄāĻŋāĻā§āĻ āĻā§ āĻšāĻŋāĻ¸āĻžāĻŦā§ (āĻ¯ā§āĻŽāĻ¨, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻšāĻžāĻ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ āĻĒāĻžāĻāĻĨāĻ¨ āĻā§āĻ˛āĻžāĻ¸ āĻšā§āĻ¯āĻžāĻļā§āĻŦāĻ˛ āĻ¨āĻ¯āĻŧ)āĨ¤
āĻĒāĻžāĻ°āĻŽāĻžāĻŖāĻŦāĻŋāĻ āĻŽāĻĄā§āĻ˛
āĻāĻ¨āĻĒā§āĻ āĻ¸ā§āĻā§āĻ°ā§āĻŽā§, āĻĄāĻŦāĻ˛-āĻāĻĻā§āĻ§ā§āĻ¤ āĻ¸ā§āĻā§āĻ°āĻŋāĻ, āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻžāĻāĻĨāĻ¨ āĻ¸ā§āĻŦāĻ°āĻ˛āĻŋāĻĒāĻŋāĻā§ āĻ¸āĻŽā§āĻŽāĻžāĻ¨ āĻāĻ°ā§,
āĻāĻāĻāĻŋ āĻāĻāĻ āĻā§āĻā§āĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ a āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§ˇ āĻšāĻžāĻāĻ¸ā§āĻā§āĻ°āĻŋāĻ.
āĻ āĻā§āĻˇāĻ°āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°āĻŦāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻ, āĻ¸ā§āĻĒā§āĻ¸, āĻŦāĻ¨ā§āĻ§āĻ¨ā§, āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ, āĻĻā§āĻŦāĻŋ-āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¯āĻŧā§
āĻāĻŦāĻ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯, āĻāĻāĻāĻŋ āĻļāĻ¨āĻžāĻā§āĻ¤āĻāĻžāĻ°ā§ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ.
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻā§āĻ°āĻŽā§ āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ āĻĒāĻ°ā§āĻŦā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻļāĻ¨āĻžāĻā§āĻ¤āĻāĻžāĻ°ā§āĻ°āĻž āĻĒāĻžāĻ°āĻŽāĻžāĻŖāĻŦāĻŋāĻ āĻŽāĻĄā§āĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
¡ HyInteger
¡ āĻšāĻžāĻāĻĢā§āĻ˛ā§āĻ
¡ āĻšāĻžāĻāĻāĻŽāĻĒā§āĻ˛ā§āĻā§āĻ¸ (āĻ¯āĻĻāĻŋ āĻĒāĻ°āĻŽāĻžāĻŖā§āĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ j)
¡ āĻšāĻžāĻāĻāĻŋāĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ (āĻ¯āĻĻāĻŋ āĻĒāĻ°āĻŽāĻžāĻŖā§ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ :)
¡ āĻšāĻžāĻāĻ¸āĻŋāĻŽā§āĻŦāĻ˛
āĻšāĻžāĻāĻ¸ā§āĻā§āĻ°āĻŋāĻ
hy.models.string.HyString āĻ¸ā§āĻā§āĻ°āĻŋāĻ-āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ Hy āĻŽāĻĄā§āĻ˛ā§āĻ° āĻŦā§āĻ¸ āĻā§āĻ˛āĻžāĻ¸āĨ¤ āĻāĻāĻžāĻ
āĻĄāĻŦāĻ˛-āĻāĻĻā§āĻ§ā§āĻ¤ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ˛āĻŋāĻāĻžāĻ°ā§āĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻāĻ°ā§, "", āĻ¯āĻž āĻāĻāĻ¨āĻŋāĻā§āĻĄ āĻ¸ā§āĻā§āĻ°āĻŋāĻ-āĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§
āĻĒāĻžāĻāĻĨāĻ¨ā§ āĻāĻā§āĻˇāĻ°āĻŋāĻāĨ¤ āĻšāĻžāĻāĻ¸ā§āĻā§āĻ°āĻŋāĻāĻ¸ āĻĒāĻžāĻāĻĨāĻ¨ 2 āĻ āĻāĻāĻ¨āĻŋāĻā§āĻĄ āĻ āĻŦāĻā§āĻā§āĻ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ āĻŦāĻā§āĻā§āĻ āĻāĻ¨āĻšā§āĻ°āĻŋāĻ āĻāĻ°ā§āĻ¨
āĻĒāĻžāĻāĻĨāĻ¨ 3 (āĻāĻŦāĻ āĻ¤āĻžāĻ āĻāĻ¨āĻā§āĻĄāĻŋāĻ-āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻ¨āĻ¯āĻŧ)āĨ¤
āĻšāĻžāĻāĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻŽāĻĄā§āĻ˛āĻā§āĻ˛āĻŋ āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ¯āĻŧāĨ¤
āĻšāĻžāĻ āĻāĻā§āĻˇāĻ°āĻŋāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻāĻžāĻ§āĻŋāĻ āĻ˛āĻžāĻāĻ¨ āĻŦāĻŋāĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŦāĻ āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻāĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻāĻāĻ¨āĻŋāĻ, āĻĒāĻžāĻāĻĨāĻ¨āĻā§ āĻ¸āĻŽā§āĻŽāĻžāĻ¨ āĻāĻ°ā§ āĻāĻāĻ¨āĻŋāĻā§āĻĄ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻ¸āĻžāĻāĻā§āĻ¯āĻŋāĻ āĻŽāĻĄā§āĻ˛
hy.models.integer.HyInteger āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž āĻāĻā§āĻˇāĻ°āĻŋāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻāĻ°ā§ ( āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĻā§āĻ°ā§āĻ āĻĒāĻžāĻāĻĨāĻ¨ 2 āĻ āĻāĻžāĻāĻĒ āĻāĻ°ā§āĻ¨,
āĻāĻŦāĻ āĻā§āĻ¨ int āĻĒāĻžāĻāĻĨāĻ¨ 3 āĻ)āĨ¤
hy.models.float.HyFloat āĻāĻžāĻ¸āĻŽāĻžāĻ¨-āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻāĻā§āĻˇāĻ°āĻŋāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻāĻ°ā§āĨ¤
hy.models.complex.HyComplex āĻāĻāĻŋāĻ˛ āĻāĻā§āĻˇāĻ°āĻŋāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻāĻ°ā§āĨ¤
āĻ¸āĻžāĻāĻā§āĻ¯āĻŋāĻ āĻŽāĻĄā§āĻ˛āĻā§āĻ˛āĻŋ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻĒāĻžāĻāĻĨāĻ¨ āĻ°ā§āĻāĻŋāĻ¨ āĻāĻŦāĻ āĻŦā§āĻ§ āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ āĻĒāĻžāĻāĻĨāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻāĻā§āĻˇāĻ°āĻŋāĻ āĻ¤āĻžāĻĻā§āĻ° Hy āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§āĻĒ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻāĻ°āĻž āĻšāĻŦā§.
āĻšāĻžāĻāĻ¸āĻŋāĻŽā§āĻŦāĻ˛
hy.models.symbol.HySymbol āĻšāĻžāĻ āĻāĻžāĻˇāĻžāĻ¯āĻŧ āĻāĻŋāĻšā§āĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻŽāĻĄā§āĻ˛āĨ¤ āĻāĻāĻž
āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ° āĻšāĻžāĻāĻ¸ā§āĻā§āĻ°āĻŋāĻ.
āĻšāĻžāĻāĻ¸āĻŋāĻŽā§āĻŦāĻ˛ āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻ¨ā§āĻāĻžāĻ°āĻ āĻĒāĻžāĻ°ā§āĻŦāĻŋāĻ˛āĻŋāĻāĻŋ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ āĻĒāĻ°ā§āĻŦā§ āĻ āĻŦāĻā§āĻā§āĻāĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧ:
āĻ¤āĻžāĻ°āĻāĻžāĻāĻŋāĻšā§āĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻˇā§āĻāĻŋāĻ¤ āĻĒā§āĻ°āĻ¤ā§āĻ (*) āĻŦāĻĄāĻŧ āĻšāĻžāĻ¤ā§āĻ° āĻ āĻā§āĻˇāĻ°ā§ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧ;
¡ āĻĄā§āĻ¯āĻžāĻļ (-) āĻāĻ¨ā§āĻĄāĻžāĻ°āĻ¸ā§āĻā§āĻ°ā§ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧ (_);
āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻāĻžāĻŽā§ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻŋāĻšā§āĻ¨ (?) āĻāĻāĻāĻŋ āĻ¨ā§āĻ¤ā§āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧ is_.
āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž: āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ āĻĒāĻ°ā§āĻŦā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŽā§āĻ¯āĻžāĻāĻ˛āĻŋāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦ
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ¯āĻžāĻāĻŋāĻāĻāĻžāĻŦā§ HySymbols āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻ¯āĻž Hy āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¯ā§āĻŽāĻ¨ āĻ
āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ gensym āĻĻā§āĻŦāĻžāĻ°āĻž "uninterned" āĻāĻŋāĻšā§āĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§āĨ¤
āĻšāĻžāĻāĻāĻŋāĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ
hy.models.keyword.HyKeyword Hy-āĻ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻāĻ°ā§āĨ¤ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻšāĻ˛ āĻĒā§āĻ°āĻ¤ā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§
a :. āĻā§āĻ˛āĻžāĻ¸ āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ°āĻ¸ā§āĻ¤ā§āĻ°ā§ āĻĒāĻžāĻ¯āĻŧ āĻšāĻžāĻāĻ¸ā§āĻā§āĻ°āĻŋāĻ.
āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻšāĻžāĻāĻāĻŋāĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻ¸ āĻĨā§āĻā§ āĻšāĻžāĻāĻ¸āĻŋāĻŽā§āĻŦāĻ˛, āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻāĻžāĻĄāĻŧāĻž (āĻ āĻ¨āĻŋāĻā§āĻāĻžāĻā§āĻ¤)
āĻ¸āĻāĻāĻ°ā§āĻˇ, āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤-āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻāĻ¨āĻŋāĻā§āĻĄ āĻ āĻā§āĻˇāĻ° "\uFDD0" āĻāĻŋāĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻā§āĻˇāĻ°āĻŋāĻ āĻāĻā§ āĻĒā§āĻ°āĻŋāĻĒā§āĻ¨āĻĄ āĻšāĻ¯āĻŧ
āĻ¸ā§āĻā§āĻ°ā§āĻ āĻāĻā§āĨ¤
āĻŽāĻ¨ā§āĻĻ āĻĻāĻŋāĻ āĻ¸ā§āĻ˛
hy.models.cons.HyCons āĻĒāĻžāĻāĻĨāĻ¨-āĻŦāĻžāĻ¨ā§āĻ§āĻŦ āĻāĻāĻāĻŋ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻāĻ¨āĻ¸ āĻā§āĻˇ. āĻāĻ¨āĻ¸ āĻ¸ā§āĻ˛ āĻšāĻ¯āĻŧ
āĻŦāĻŋāĻļā§āĻˇ āĻāĻ°ā§ "āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ" LISP āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¯ā§āĻŽāĻ¨ āĻ¸ā§āĻāĻŋāĻŽ āĻŦāĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻāĻĒāĻ¯ā§āĻā§ā§ˇ
āĻ˛āĻŋāĻ¸ā§āĻĒ
āĻāĻāĻāĻŋ āĻāĻ¨āĻ¸ āĻ¸ā§āĻ˛ āĻšāĻ˛ āĻāĻāĻāĻŋ 2-āĻāĻāĻā§āĻŽ āĻ āĻŦāĻā§āĻā§āĻ, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻāĻžāĻĄāĻŧā§ (āĻŽāĻžāĻĨāĻž) āĻāĻŦāĻ āĻ CDR (āĻ˛ā§āĻ)āĨ¤ āĻāĻŋāĻā§ āĻ˛āĻŋāĻ¸ā§āĻĒā§
āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻ¨ā§āĻ, āĻāĻ¨āĻ¸ āĻ¸ā§āĻ˛ āĻšāĻ˛ āĻŽā§āĻ˛āĻŋāĻ āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ āĻŦā§āĻ˛āĻ, āĻāĻŦāĻ āĻāĻ¸-āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻāĻ¸āĻ˛ā§
āĻāĻ¨āĻ¸ āĻā§āĻˇāĻā§āĻ˛āĻŋāĻ° āĻ˛āĻŋāĻā§āĻāĻ¯ā§āĻā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤āĨ¤ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻā§āĻ° āĻŽāĻ¤ā§ āĻšāĻžāĻ-āĻ āĻāĻŽāĻ¨āĻāĻž āĻšāĻ¯āĻŧ āĻ¨āĻž
āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ a āĻ¤ā§ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§ āĻšāĻžāĻ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨āĨ¤ āĻ¤āĻŦā§ āĻšāĻžāĻāĻāĻ¨āĻ¸
āĻāĻāĻāĻžāĻŦā§ "āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ" āĻ˛āĻŋāĻ¸ā§āĻĒ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻāĻāĻ°āĻŖ āĻ¨āĻāĻ˛ āĻāĻ°ā§:
¡ (cons āĻāĻŋāĻā§ āĻļā§āĻ¨ā§āĻ¯) is (āĻšāĻžāĻ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ [āĻāĻŋāĻā§])
¡ (cons āĻāĻŋāĻā§ āĻāĻŋāĻā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻž) is (āĻĒā§āĻ°āĻāĻžāĻ° āĻāĻŋāĻā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻž) (+ [āĻāĻŋāĻā§] āĻāĻŋāĻā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻž)) (āĻ¯āĻĻāĻŋ
āĻāĻŋāĻā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĨā§āĻā§ āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ°āĻ¸ā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻāĻž).
¡ (āĻĒāĻžāĻāĻ¯āĻŧāĻž (cons a b) 0) is a
¡ (āĻā§āĻāĻ°āĻž (cons a b) 1) is b
Hy āĻāĻāĻāĻŋ āĻĄāĻā§āĻĄ-āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§, āĻ¯ā§āĻāĻžāĻ¨ā§ '(āĻ . b) āĻŽāĻžāĻ¨ā§ (cons 'a 'āĻ) āĻāĻŦāĻ '(āĻ b . c) āĻŽāĻžāĻ¨ā§
(cons 'a (cons 'b 'āĻ)). āĻ¯āĻĻāĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻ¤āĻ°ā§ āĻāĻāĻāĻŋ āĻāĻ¨āĻ¸ āĻ¸ā§āĻ˛ā§āĻ° āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻšāĻ¯āĻŧ, āĻāĻāĻŋ āĻāĻ¤ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§
āĻāĻāĻāĻŋ āĻ¸āĻāĻāĻ˛āĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋāĨ¤
āĻšāĻžāĻāĻāĻ¨āĻ¸ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ (āĻāĻžāĻ° āĻāĻŦāĻ āĻ¸āĻŋāĻĄāĻŋāĻāĻ°) āĻšāĻžāĻ āĻāĻžāĻāĻĒā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§, āĻāĻ° āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻļāĻ¨ āĻ¸āĻšāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯
āĻāĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻĒā§āĻ°āĻ¸āĻā§āĻā§ āĻāĻ¨āĻ¸ āĻā§āĻˇāĨ¤
Hy āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻ¤āĻ¤ā§āĻ¤ā§āĻŦ
āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
āĻšāĻžāĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨āĻžāĻ˛āĻā§āĻ˛āĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻŦāĻžāĻāĻāĻā§āĻĄā§āĻ° āĻĢā§āĻ°āĻ¨ā§āĻ-āĻāĻ¨ā§āĻĄ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§, āĻ¯āĻžāĻ¤ā§ Hy āĻ¨āĻŋāĻā§āĻ
āĻĒāĻžāĻāĻĨāĻ¨ āĻŦāĻžāĻāĻāĻā§āĻĄā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§, āĻāĻāĻāĻŋ āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĒāĻžāĻāĻĨāĻ¨ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽāĻā§ āĻšāĻžāĻ āĻā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ,
āĻāĻŽāĻ¨āĻāĻŋ āĻāĻāĻž āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻž āĻāĻ°ā§āĻāĨ¤
āĻāĻŽāĻ°āĻž āĻ¯ā§āĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻ°āĻŋ āĻ¤āĻž āĻšāĻ˛ Hy āĻā§ āĻāĻāĻāĻŋ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ Python AST āĻĄā§āĻāĻžāĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻ āĻ¨ā§āĻŦāĻžāĻĻ āĻāĻ°ā§, āĻāĻŦāĻ
āĻĒāĻžāĻāĻĨāĻ¨ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĨā§āĻā§ āĻŽāĻĄāĻŋāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĒāĻžāĻāĻĨāĻ¨ āĻŦāĻžāĻāĻāĻā§āĻĄā§ AST āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž
āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ, āĻ¯āĻžāĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨āĻžāĻ˛ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻžāĻ āĻ¨āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻ¨āĻž āĻšāĻ¯āĻŧ
āĻāĻāĻ āĻĒāĻžāĻāĻĨāĻ¨ āĻ°āĻŋāĻ˛āĻŋāĻāĨ¤
āĻšāĻžāĻ āĻāĻžāĻ°āĻāĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŦāĻŋāĻāĻžāĻāĻā§āĻ˛āĻŋ āĻā§āĻ¸ āĻĨā§āĻā§ Hy āĻāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ§āĻžāĻĒāĻā§ āĻāĻāĻžāĻ° āĻāĻ°āĻŦā§
āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ
āĻĒā§āĻ°āĻžāĻ°āĻŽā§āĻāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ 1 āĻāĻŦāĻ 2: āĻā§āĻā§āĻ¨āĻžāĻāĻāĻŋāĻ āĻāĻŦāĻ āĻĒāĻĻāĻžāĻ¨ā§āĻŦāĻ¯āĻŧ
Hy āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ§āĻžāĻĒ āĻšāĻ˛ āĻ¸ā§āĻ°ā§āĻ¸āĻāĻŋāĻā§ āĻā§āĻā§āĻ¨ā§ āĻ˛ā§āĻā§āĻ¸ āĻāĻ°āĻž āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻŽā§āĻāĻžāĻŦā§āĻ˛āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŽāĻ°āĻž
rply āĻ¨āĻžāĻŽāĻ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨, āĻ¯āĻž āĻāĻāĻāĻŋ āĻāĻĒāĻ¸ā§āĻā§ āĻ˛ā§āĻāĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻāĻŽā§āĻāĻžāĻ° (āĻāĻŦāĻ āĻĻā§āĻ°ā§āĻ¤) āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ°
āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻ¨āĻžāĻŽ rpython.
āĻ˛ā§āĻā§āĻ¸āĻŋāĻ āĻā§āĻĄ āĻ¸āĻŦ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ hy.lex.lexer. āĻāĻ āĻā§āĻĄāĻāĻŋ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻāĻ āĻļā§āĻ§ā§ Hy āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§
āĻŦā§āĻ¯āĻžāĻāĻ°āĻŖ, āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻā§āĻ¤ āĻāĻ āĻŋāĻ¨ āĻ āĻāĻļ rply āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¯āĻ¤ā§āĻ¨ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ -- āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻŋ
rply āĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ "āĻāĻ˛āĻŦā§āĻ¯āĻžāĻ" hy.lex.parser, āĻ¯āĻž āĻā§āĻĒāĻ¨ā§āĻ¨ āĻā§āĻā§āĻ¨ āĻ¨ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ
āĻšāĻžāĻ āĻŽāĻĄā§āĻ˛.
āĻāĻĒāĻ¨āĻŋ Hy āĻŽāĻĄā§āĻ˛āĻā§āĻ˛āĻŋāĻā§ Hy āĻāĻ° āĻāĻ¨ā§āĻ¯ "AST" āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻŦāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻāĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻžāĻ āĻāĻ°ā§ā§ˇ
(āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ), āĻāĻŦāĻ āĻāĻāĻŋ āĻšāĻžāĻ āĻĄāĻžāĻāĻ¨ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤
SEE āĻāĻāĻžāĻĄāĻŧāĻžāĻ:
āĻ āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ Hy āĻŽāĻĄā§āĻ˛ Hy āĻŽāĻĄā§āĻ˛ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻā§ āĻŦā§āĻāĻžāĻ¯āĻŧ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤
āĻ§āĻžāĻĒ 3: Hy āĻ¸āĻāĻāĻ˛āĻ¨ āĻĨā§āĻā§ āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻŦāĻ AST
āĻšāĻžāĻ āĻāĻ° āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻāĻžāĻĻā§ āĻāĻāĻžāĻ¨ā§āĻ āĻāĻā§āĨ¤ āĻāĻāĻžāĻ¨ā§āĻ āĻāĻŽāĻ°āĻž āĻšāĻžāĻ āĻāĻāĻ¸āĻāĻŋ (āĻŽāĻĄā§āĻ˛) āĻ¨āĻŋāĻ,
āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻĒāĻžāĻāĻĨāĻ¨ AST-āĻ¤ā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§āĻ¨āĨ¤ āĻŽāĻāĻžāĻ° āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻāĻāĻŋ āĻĻāĻŽā§āĻĒāĻ¤āĻŋ āĻāĻŋāĻā§ āĻ āĻ¤ā§āĻ¤ āĻāĻžāĻ āĻāĻāĻžāĻ¨ā§ āĻāĻāĻ¤ā§
AST-āĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž, āĻāĻŦāĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°ā§ āĻāĻžāĻ āĻāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻāĻžāĻāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ¯āĻŧā§āĻāĻāĻŋ
āĻāĻā§āĨ¤
āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°āĻāĻŋ āĻāĻŋāĻā§āĻāĻž āĻāĻāĻŋāĻ˛, āĻ¤āĻžāĻ āĻĒā§āĻ°āĻĨāĻŽ āĻļāĻā§ āĻāĻāĻŋāĻā§ āĻā§āĻ°ā§āĻ āĻ¨āĻž āĻāĻ°āĻ˛ā§ āĻāĻžāĻ°āĻžāĻĒ āĻ˛āĻžāĻāĻŦā§ āĻ¨āĻž,
āĻāĻāĻž āĻ āĻŋāĻ āĻĒā§āĻ¤ā§ āĻāĻāĻā§ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§.
āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻ¨ā§āĻā§āĻ°āĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻšāĻ¯āĻŧ HyASTCompiler.compile. āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻšā§āĻŦāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ
āĻā§āĻ˛āĻžāĻ¸ā§ āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻā§āĻ¤ "āĻĒāĻžāĻŦāĻ˛āĻŋāĻ" āĻĒāĻĻā§āĻ§āĻ¤āĻŋ (āĻ¯āĻž āĻŦāĻ˛āĻ¤ā§ āĻšāĻ¯āĻŧ, āĻāĻŽāĻ°āĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻĻāĻŋāĻ āĻ¨āĻž
āĻ¸ā§āĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŦāĻžāĻāĻ°ā§ API)āĨ¤
āĻāĻ¸āĻ˛ā§, āĻāĻŽāĻ¨āĻāĻŋ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖāĻāĻžāĻŦā§, āĻāĻŽāĻ°āĻž āĻā§āĻŦ āĻāĻŽāĻ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻŋ āĻ¨āĻž, āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻ° āĻāĻ°āĻŋ
āĻšāĻžāĻ āĻāĻžāĻ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸āĻāĻāĻ˛āĻ¨, āĻāĻŦāĻ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻāĻāĻāĻŋ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ° āĻāĻĒ-āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻŋ āĻāĻ°āĻŦā§
āĻāĻŽāĻžāĻĻā§āĻ° āĻ¯āĻž āĻāĻā§. āĻāĻĒ-āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻž āĻāĻžāĻāĻĒ-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻĒā§āĻ°ā§āĻ°āĻŖāĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§āĨ¤
āĻāĻāĻāĻŋ āĻ¸āĻāĻāĻ˛āĻ¨ preform āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻā§āĻā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ @āĻŦāĻŋāĻ˛ā§āĻĄāĻ¸() āĻĄā§āĻā§āĻ°ā§āĻāĻ° āĻāĻĒāĻ¨āĻŋ āĻĒāĻžāĻ°ā§āĻ¨
āĻšāĻ¯āĻŧ āĻšāĻžāĻ āĻŽāĻĄā§āĻ˛ā§āĻ° āĻā§āĻ˛āĻžāĻ¸āĻāĻŋ āĻĒāĻžāĻ¸ āĻāĻ°ā§āĻ¨ āĻ¯āĻž āĻāĻāĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§, āĻ āĻĨāĻŦāĻž āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻāĻŽāĻŋ āĻāĻ āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻŦāĨ¤
āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ āĻāĻžāĻāĻĒ-āĻĄāĻŋāĻ¸āĻĒā§āĻ¯āĻžāĻ
āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻ¯āĻžāĻ āĻ¸āĻāĻāĻ˛āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻŋāĻ¨āĻŋāĻ¸ā§āĻ° āĻ§āĻ°āĻ¨ āĻā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°āĻāĻŋāĨ¤ āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻ¤ā§ āĻāĻžāĻ āĻ¯ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻā§ āĻ¯āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻĒā§āĻ°āĻāĻžāĻ°() āĻāĻŽāĻ°āĻž āĻ¯ā§
āĻāĻā§, āĻāĻŦāĻ āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŽāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¨āĻž āĻĨāĻžāĻā§ āĻ¯ā§āĻāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ
āĻ¯ā§ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ.
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻšāĻžāĻāĻ¸ā§āĻā§āĻ°āĻŋāĻ, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻšāĻžāĻ AST āĻĨā§āĻā§ āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻĒā§āĻ°āĻžāĻ¯āĻŧ 1-āĻĨā§āĻā§-1 āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ āĻāĻā§
AST. āĻĻā§āĻ¯ compile_string āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ˛āĻžāĻā§ āĻšāĻžāĻāĻ¸ā§āĻā§āĻ°āĻŋāĻ, āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ ast.Str() āĻ¯ā§
āĻ¸āĻ āĻŋāĻ āĻ˛āĻžāĻāĻ¨-āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻŦāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ¨āĻŦāĻšā§āĻ˛āĨ¤
āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§-āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°ā§āĻ¨
āĻāĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ¤ā§ āĻšāĻžāĻ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨, āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĻā§āĻāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦ, āĻāĻŦāĻ āĻāĻā§ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻĒ āĻĻāĻŋāĻŦ
āĻāĻāĻŋ āĻāĻšā§āĻŦāĻžāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ hy.macros.macroexpand, āĻ¤āĻžāĻ°āĻĒāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛āĻāĻŋ āĻāĻŦāĻžāĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻ§āĻžāĻā§āĻāĻž āĻĻāĻŋāĻ¨
HyASTCompiler.compile.
āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ-āĻĒā§āĻ°ā§āĻ°āĻŖ
āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻŋāĻļā§āĻˇ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻšāĻ˛ āĻšāĻžāĻ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ AST āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
āĻĒā§āĻ°āĻļā§āĻ¨ā§ āĻŦāĻŋāĻļā§āĻˇ āĻĢāĻ°ā§āĻŽā§āĻ° āĻāĻĒāĻ°āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¯āĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻāĻžāĻ¤ (āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯ āĻ¸āĻ¤ā§āĻ¯ āĻŽāĻŋāĻĨā§āĻ¯āĻž), āĻāĻŽāĻ°āĻž
āĻāĻāĻāĻŋ āĻā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ ast.If, āĻāĻŦāĻ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻ¸āĻžāĻŦ-āĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻ āĻ¯ā§āĻāĻžāĻ¨ā§ @āĻŦāĻŋāĻ˛ā§āĻĄāĻ¸()
āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻāĻ¸ā§āĨ¤
āĻāĻ¨ā§āĻ¯ compile_expression (āĻ¯āĻž āĻāĻāĻāĻŋ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ @builds(HyExpression)) āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻŦā§
āĻĒā§āĻ°āĻĨāĻŽ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋ, āĻā§āĻ¨ āĻāĻžāĻ°āĻŖā§, āĻĒā§āĻ°āĻĨāĻŽ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ¨āĻž
āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ, āĻāĻāĻŋ āĻ¸ā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻŦā§ (āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻāĻŋ āĻāĻ¤ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ).
āĻ¯āĻĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻāĻŋ Hy-āĻāĻ° āĻāĻžāĻā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻšāĻŦā§ ast.āĻāĻ˛, āĻ¯āĻž āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦā§
āĻāĻāĻāĻŋ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻāĻ˛ āĻāĻ°ā§āĻ¨ (āĻĒāĻžāĻāĻĨāĻ¨ā§, āĻāĻ°āĻāĻŽ āĻāĻŋāĻā§ foo()).
āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻāĻžāĻ¤ āĻ¸āĻā§āĻā§ āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻŦāĻ AST
āĻĒāĻžāĻāĻĨāĻ¨ AST āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤; āĻāĻāĻŋāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻļā§āĻ°ā§āĻˇā§ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻ˛āĻŋāĻāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°ā§āĻā§
āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻžāĻĄāĻŧāĻž āĻĒāĻžāĻāĻĨāĻ¨āĻā§ āĻā§āĻŦ āĻāĻ āĻŋāĻ¨ āĻ˛āĻĄāĻŧāĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ¯ā§ āĻā§āĻ¨ā§ āĻāĻŋāĻā§āĻ° āĻŽāĻ¤ā§, āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨ā§āĻ¯āĻžāĻ¯ā§āĻ¯ āĻ āĻāĻļ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ
āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž, āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ā§ˇ
āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻ˛āĻžāĻĻāĻž āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻāĻŦāĻ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨.
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻā§āĻā§āĻ¤āĻŋāĻ° āĻŽāĻ¤ā§ āĻļā§āĻ¨āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻž -- āĻāĻ¸āĻ˛ā§, āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻĒāĻžāĻāĻĨāĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ°āĻĻā§āĻ° āĻāĻžāĻā§ āĻāĻāĻŋ āĻšāĻŦā§
āĻļā§āĻā§āĻ°āĻ āĻāĻāĻāĻŋ "āĻāĻžāĻ˛, āĻšā§āĻ¯āĻžāĻ" āĻŽā§āĻšā§āĻ°ā§āĻ¤ āĻšāĻ¯āĻŧā§ āĻāĻ ā§āĨ¤
āĻĒāĻžāĻāĻĨāĻ¨ā§, āĻāĻ°āĻāĻŽ āĻāĻŋāĻā§ āĻāĻ°āĻž:
āĻāĻžāĻĒāĻžāĻ¨ā§ āĻāĻ¨ā§āĻ¨āĻ¤ x in āĻĒāĻ°āĻŋāĻ¸āĻ°(10) āĻĒāĻžāĻ¸, āĻāĻžāĻ°āĻŖ āĻāĻžāĻĒāĻžāĻ¨ā§ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨, āĻāĻŦāĻ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻāĻāĻŋ āĻ¨āĻž
āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĒā§āĻ°āĻŦāĻžāĻš āĻŦāĻŋāĻŦā§āĻ¤āĻŋāĨ¤ āĻāĻžāĻ˛ā§ āĻāĻŋāĻ¨āĻŋāĻ¸ 1 + 1 āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨, āĻ¯ā§āĻŽāĻ¨ āĻāĻā§ āĻ˛ā§āĻ¯āĻžāĻŽāĻĄāĻž
x: 1 + x, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻžāĻˇāĻžāĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯, āĻ¯ā§āĻŽāĻ¨ if, āĻāĻ¨ā§āĻ¨āĻ¤ , āĻŦāĻž āĻ¯āĻāĻ¨ āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻšāĻ¯āĻŧ.
āĻ¯ā§āĻšā§āĻ¤ā§ āĻ¤āĻžāĻĻā§āĻ° āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻā§āĻ¨ "āĻŽā§āĻ˛ā§āĻ¯" āĻ¨ā§āĻ, āĻ¤āĻžāĻ āĻāĻŋāĻā§ āĻāĻ°āĻžāĻ° āĻĒāĻ° āĻĨā§āĻā§ āĻāĻāĻŋ āĻšāĻžāĻ-āĻ¤ā§ āĻāĻžāĻ āĻāĻ°āĻž āĻāĻ āĻŋāĻ¨ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§
āĻŽāĻ¤ (āĻāĻžāĻĒāĻž (āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯ āĻ¸āĻ¤ā§āĻ¯ āĻŽāĻŋāĻĨā§āĻ¯āĻž)) āĻļā§āĻ§ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¨āĻ¯āĻŧ, āĻāĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤āĨ¤
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋāĻā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻŽā§āĻ¯āĻžāĻā§āĻā§āĻ˛ āĻāĻ°āĻŋ āĻĢāĻ˛ āĻŦāĻ¸ā§āĻ¤ā§, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻā§āĻ¨ āĻ āĻĢāĻžāĻ° ast.stmt
āĻ¯ā§ āĻ°āĻžāĻ¨ āĻĒā§āĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻāĻ ast.expr āĻ¯ā§ āĻ¯āĻžāĻ āĻšā§āĻ āĻ¨āĻž āĻā§āĻ¨ āĻŽāĻžāĻ¨ āĻĒā§āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻļā§āĻ§ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻšāĻžāĻ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŋāĻ¨āĻŋāĻˇā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ ā§āĻ¯āĻžāĻ¸āĻžāĻāĻ¨āĻŽā§āĻ¨ā§āĻ āĻā§āĻ° āĻāĻ°ā§ āĻāĻāĻŋ āĻāĻ°ā§āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻšāĻžāĻ:
(āĻŽā§āĻĻā§āĻ°āĻŖ (āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯ āĻ¸āĻ¤ā§āĻ¯ āĻŽāĻŋāĻĨā§āĻ¯āĻž))
āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻŦā§:
āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯:
_mangled_name_here = āĻ¸āĻ¤ā§āĻ¯
āĻ āĻ¨ā§āĻ¯:
_mangled_name_here = āĻŽāĻŋāĻĨā§āĻ¯āĻž
_mangled_name_āĻāĻāĻžāĻ¨ā§_āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨
āĻ āĻŋāĻ āĻāĻā§, āĻāĻāĻŋ āĻāĻŋāĻā§āĻāĻž āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻāĻŋāĻ˛, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻ¸āĻ˛ā§ āĻ¸ā§āĻ āĻŦāĻŋāĻŦā§āĻ¤āĻŋāĻāĻŋāĻā§ āĻāĻ¤ā§ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻāĻ°ā§āĻāĻŋ:
āĻŽā§āĻĻā§āĻ°āĻŖ āĻ¸āĻ¤ā§āĻ¯ āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯ āĻ āĻ¨ā§āĻ¯āĻĨāĻž āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻāĻāĻāĻŋ āĻŽāĻ§ā§āĻ¯ā§ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻā§āĻ° āĻāĻ°ā§ ast.expr āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻĒāĻžāĻ°āĻŋ, āĻ¤āĻŦā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ§āĻžāĻ°āĻŖāĻž āĻ§āĻ°ā§ āĻ°āĻžāĻā§āĨ¤
āĻ§āĻžāĻĒ 4: āĻĒāĻžāĻāĻĨāĻ¨ āĻŦāĻžāĻāĻāĻā§āĻĄ āĻāĻāĻāĻĒā§āĻ āĻāĻŦāĻ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ
āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ AST āĻā§āĻ°āĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ
āĻāĻāĻŋ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ ā§āĻ˛āĻžāĻ ā§āĻ˛āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž bytecode āĻ¸ā§āĻĒāĻˇā§āĻ. āĻāĻāĻžāĻ¨ āĻĨā§āĻā§, āĻāĻŽāĻ°āĻž āĻāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§ āĻ¨ā§āĻ, āĻāĻŦāĻ
āĻĒāĻžāĻāĻĨāĻ¨ āĻ¸āĻŦāĻāĻŋāĻā§āĻ° āĻ¯āĻ¤ā§āĻ¨ āĻ¨āĻŋāĻā§āĻā§āĨ¤ āĻāĻ āĻāĻžāĻ°āĻŖā§āĻ āĻĒāĻžāĻāĻĨāĻ¨ āĻā§āĻ°ā§āĻ¸āĻŦā§āĻ¯āĻžāĻ, āĻĒāĻŋāĻĄāĻŋāĻŦāĻŋ āĻāĻŦāĻ
āĻā§āĻ¯āĻžāĻā§āĻā§ āĻ ā§āĻ¯āĻžāĻĒāĻ¸ āĻāĻžāĻ āĻāĻ°ā§āĨ¤
Hy āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° gensym āĻāĻ¨ā§āĻ¨āĻ¤ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ˛ā§āĻāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĻā§āĻ˛āĻŋ āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ° āĻāĻ°āĻž āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻ¸āĻ¤āĻ°ā§āĻ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¨āĻžāĻŽ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻŦāĻŋāĻ°ā§āĻ§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ NIF (āĻĻā§āĻā§āĻ¨
http://letoverlambda.com/index.cl/guest/chap3.html#āĻ¸ā§āĻā§āĻ¨ā§āĻĄ_ā§Ģ āĻāĻ°āĻ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻŦāĻŋāĻŦāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤)
NIF āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ, āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻŽāĻ¤ āĻāĻŋāĻā§ if, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§, āĻāĻ
āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻŋ āĻ§āĻ¨āĻžāĻ¤ā§āĻŽāĻ, āĻļā§āĻ¨ā§āĻ¯ āĻŦāĻž āĻāĻŖāĻžāĻ¤ā§āĻŽāĻ āĻāĻŋāĻ¨āĻž āĻ¤āĻžāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ 3āĻāĻŋ āĻĢāĻ°ā§āĻŽ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤
āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻžāĻ¸ āĻāĻŽāĻ¨ āĻāĻŋāĻā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§:
(āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻ¨āĻāĻāĻāĻĢ [āĻāĻā§āĻ¸āĻĒā§āĻ° āĻĒā§āĻ¸ā§āĻ-āĻĢāĻ°ā§āĻŽ āĻāĻŋāĻ°ā§-āĻĢāĻ°ā§āĻŽ āĻ¨ā§āĻ-āĻĢāĻ°ā§āĻŽ]
`(āĻāĻ˛ā§āĻ¨ [[āĻ āĻ¸ā§āĻĒāĻˇā§āĻ-āĻ¨āĻžāĻŽ ~āĻāĻā§āĻ¸āĻĒā§āĻ°]]
(cond [(pos? obscure-name) ~pos-form]
[(āĻļā§āĻ¨ā§āĻ¯? āĻ āĻ¸ā§āĻĒāĻˇā§āĻ-āĻ¨āĻžāĻŽ) ~āĻļā§āĻ¨ā§āĻ¯-āĻ°ā§āĻĒ]
[(āĻ¨ā§āĻ? āĻ āĻ¸ā§āĻĒāĻˇā§āĻ-āĻ¨āĻžāĻŽ) ~āĻ¨ā§āĻ-āĻĢāĻ°ā§āĻŽ])))
āĻā§āĻĨāĻžāĻ¯āĻŧ obsure-āĻ¨āĻžāĻŽ āĻ āĻ¨ā§āĻ¯ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŦāĻŋāĻ°ā§āĻ§ āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¨āĻžāĻŽ āĻŦāĻžāĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻˇā§āĻāĻž
āĻā§āĻĄ āĻ¤āĻŦā§ āĻ āĻŦāĻļā§āĻ¯āĻ, āĻ¯āĻĻāĻŋāĻ āĻāĻžāĻ˛ āĻāĻĻā§āĻĻā§āĻļā§āĻ¯, āĻāĻāĻŋ āĻā§āĻ¨ āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻāĻŋ āĻ¨āĻ¯āĻŧāĨ¤
āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻā§āĻ¨āĻ¸āĻŋāĻŽāĻāĻŋ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻāĻĒāĻ˛āĻā§āĻˇā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨, āĻ āĻ¨āĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ° āĻ āĻ¨ā§āĻ āĻāĻžāĻ˛ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ NIF āĻšāĻŦā§:
(āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻ¨āĻāĻāĻāĻĢ [āĻāĻā§āĻ¸āĻĒā§āĻ° āĻĒā§āĻ¸ā§āĻ-āĻĢāĻ°ā§āĻŽ āĻāĻŋāĻ°ā§-āĻĢāĻ°ā§āĻŽ āĻ¨ā§āĻ-āĻĢāĻ°ā§āĻŽ]
(āĻāĻ˛ā§āĻ¨ [[āĻāĻŋ (āĻā§āĻ¨āĻ¸āĻŋāĻŽ)]]
`(āĻāĻ˛ā§āĻ¨ [[~g~expr]]
(cond [(pos? ~g) ~pos-form]
[(āĻļā§āĻ¨ā§āĻ¯? ~g) ~āĻļā§āĻ¨ā§āĻ¯-āĻ°ā§āĻĒ]
[(neg? ~g) ~neg-form]))))
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻā§āĻ¸, āĻ¯ā§āĻšā§āĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ āĻāĻā§āĨ¤ āĻ¤āĻŦā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ˛ā§ āĻŦā§āĻļ āĻāĻŋāĻā§
gensym āĻāĻ° āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻā§-gensyms āĻ¯āĻž āĻŽā§āĻ˛āĻ¤ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ°āĻŋāĻā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻĻāĻŋāĻ¨
āĻŦāĻŋāĻŦā§āĻ¤āĻŋ:
(gensyms āĻ¸āĻš [a b c]
...)
āĻāĻ¤ā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ:
(āĻāĻ˛ā§ [[a (gensym))
[āĻŦāĻŋ (āĻā§āĻ¨āĻ¸āĻŋāĻŽ)
[āĻ (āĻā§āĻ¨āĻ¸āĻŋāĻŽ)]]
...)
āĻ¤āĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛āĻŋāĻāĻŋāĻ¤ NIF āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§:
(āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻ¨āĻāĻāĻāĻĢ [āĻāĻā§āĻ¸āĻĒā§āĻ° āĻĒā§āĻ¸ā§āĻ-āĻĢāĻ°ā§āĻŽ āĻāĻŋāĻ°ā§-āĻĢāĻ°ā§āĻŽ āĻ¨ā§āĻ-āĻĢāĻ°ā§āĻŽ]
(gensyms āĻ¸āĻš [g]
`(āĻāĻ˛ā§āĻ¨ [[~g~expr]]
(cond [(pos? ~g) ~pos-form]
[(āĻļā§āĻ¨ā§āĻ¯? ~g) ~āĻļā§āĻ¨ā§āĻ¯-āĻ°ā§āĻĒ]
[(neg? ~g) ~neg-form]))))
āĻ āĻŦāĻļā§āĻˇā§, āĻ¯āĻĻāĻŋāĻ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻ¸āĻŦ āĻāĻ°ā§āĨ¤ āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§/āĻāĻŋ! āĻā§āĻ°āĻšāĻ¨ āĻāĻ°āĻŦā§
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¤ā§āĻ āĻ¯āĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ g! āĻāĻŦāĻ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻ˛ āĻāĻ°ā§āĻ¨ gensym āĻŦāĻžāĻāĻŋ āĻ¸āĻā§āĻā§
āĻĒā§āĻ°āĻ¤ā§āĻ āĻ¤āĻžāĻ g!a āĻšāĻŦā§ (āĻā§āĻ¨āĻ¸āĻŋāĻŽ "āĻ").
āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ NIF, āĻĻāĻŋāĻ¯āĻŧā§ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻĄāĻŋāĻĢāĻŽā§āĻ¯āĻžāĻā§āĻ°ā§/āĻāĻŋ! āĻšāĻ¯āĻŧā§:
(defmacro/g! nif [expr pos-form zero-form neg-form]
`(āĻāĻ˛ā§āĻ¨ [[~g!res ~expr]]
(cond [(pos? ~g!res) ~pos-form]
[(āĻļā§āĻ¨ā§āĻ¯? ~g!res) ~āĻļā§āĻ¨ā§āĻ¯-āĻ°ā§āĻĒ]
[(neg? ~g!res) ~neg-form]))))
āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻāĻŦāĻ āĻāĻ¤ā§āĻĨāĻžāĻĒāĻ¨ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽāĻ¸āĻŽā§āĻš
Hy āĻ¸āĻāĻāĻ˛āĻ¨āĻāĻžāĻ°ā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻāĻ¨
CONTRIBUTOR āĻāĻ° āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻ° INDEX
āĻ¸ā§āĻāĻŋāĻĒāĻ¤ā§āĻ°:
āĻ ā§āĻ¯āĻžāĻ¨āĻžāĻĢā§āĻ°āĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
0.9.12 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻ ā§āĻ¯āĻžāĻ¨āĻžāĻĢā§āĻ°āĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŽāĻĄāĻŋāĻāĻ˛ āĻšāĻžāĻ-āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻāĻā§ āĻā§āĻŦ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻāĻŦāĻ āĻ¸āĻšāĻ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§
āĻĒāĻĄāĻŧā§āĻ¨āĨ¤
āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ¨āĻžāĻĢā§āĻ°āĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻšāĻ˛ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¯āĻž āĻāĻā§āĻāĻžāĻā§āĻ¤āĻāĻžāĻŦā§ āĻāĻŋāĻā§ āĻĢāĻ°ā§āĻŽ āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ° āĻāĻ°ā§
āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ¤ā§ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ¨āĻžāĻĢā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻāĻāĻāĻŋ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§
āĻ āĻ¨ā§āĻ¯ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋ). â āĻāĻāĻāĻŋāĻĒāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž (http://en.wikipedia.org/wiki/Anaphoric_macro)
āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
ap-āĻ¯āĻĻāĻŋ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻāĻĒāĻŋ-āĻ¯āĻĻāĻŋ (foo) (āĻāĻžāĻĒāĻž āĻāĻāĻž))
āĻ¸āĻ¤ā§āĻ¯āĻ¤āĻž āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻĨāĻŽ āĻĢāĻ°ā§āĻŽ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨, āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻŦāĻĻā§āĻ§ it āĻ¸āĻ¤ā§āĻ¯ āĻāĻŦāĻ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻāĻāĻ¯āĻŧ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ
āĻļāĻžāĻāĻž.
ap-āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (ap-āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ [1 2 3 4 5] (āĻāĻžāĻĒāĻž āĻāĻāĻž))
āĻĒāĻžāĻ°ā§āĻļā§āĻŦ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻĢāĻ°ā§āĻŽ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤
ap-each-while
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (ap-each-while āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¸āĻžāĻŽāĻ¨ā§ āĻĻā§āĻš)
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻ°ā§āĻŽ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°ā§āĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ predicate āĻĢāĻ°ā§āĻŽ āĻĢāĻŋāĻ°ā§ āĻāĻ¸ā§ āĻ¸āĻ¤ā§āĻ¯.
=> (ap-each-while [1 2 3 4 5 6] (< āĻāĻāĻŋ 4) (āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨))
1
2
3
ap-āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§āĻ°
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻāĻĒāĻŋ-āĻŽā§āĻ¯āĻžāĻĒ āĻĢāĻ°ā§āĻŽ āĻ¤āĻžāĻ˛āĻŋāĻāĻž)
āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§āĻ°ā§āĻ° āĻ ā§āĻ¯āĻžāĻ¨āĻžāĻĢā§āĻ°āĻŋāĻ āĻĢāĻ°ā§āĻŽāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§āĻ°ā§āĻ° āĻŽāĻ¤ā§āĻ āĻāĻžāĻ āĻāĻ°ā§
āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ Hy āĻĢāĻ°ā§āĻŽ āĻ¨ā§āĻ¯āĻŧ. āĻŦāĻŋāĻļā§āĻˇ āĻ¨āĻžāĻŽ it āĻĨā§āĻā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŦāĻĻā§āĻ§
āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻŽāĻ§ā§āĻ¯ā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻž.
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻāĻĒāĻŋ-āĻŽā§āĻ¯āĻžāĻĒ (* āĻāĻāĻŋ 2) [1 2 3]))
[2, 4, 6]
ap-map-when
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (ap-map-when predfn āĻā§āĻ¯āĻžāĻ¤āĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž)
āĻāĻāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻāĻāĻāĻŋ predicate āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻāĻĒāĻ° āĻāĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°ā§āĻ¨
āĻĢāĻ°ā§āĻŽ.
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻāĻĒāĻŋ-āĻŽā§āĻ¯āĻžāĻĒ-āĻ¯āĻāĻ¨ āĻŦāĻŋāĻā§āĻĄāĻŧ? (* āĻāĻāĻŋ 2) [1 2 3 4]))
[ā§§, ā§Š, ā§Ģ, ā§§]
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻāĻĒāĻŋ-āĻŽā§āĻ¯āĻžāĻĒ-āĻ¯āĻāĻ¨ āĻāĻŽāĻ¨āĻāĻŋ? (* āĻāĻāĻŋ 2) [1 2 3 4]))
[ā§§, ā§Š, ā§Ģ, ā§§]
āĻāĻĒāĻŋ-āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻāĻĒāĻŋ-āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻĢāĻ°ā§āĻŽ āĻ¤āĻžāĻ˛āĻŋāĻāĻž)
āĻ¸āĻā§āĻā§ ap-āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§āĻ° āĻāĻ° āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻĢāĻ°ā§āĻŽ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻŋ
āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻŦāĻŋāĻļā§āĻˇ āĻ¨āĻžāĻŽ it āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŦāĻĻā§āĻ§āĨ¤
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻāĻĒāĻŋ-āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° (> (* āĻāĻāĻŋ 2) 6) [1 2 3 4 5]))
[4, 5]
ap-āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻāĻĒāĻŋ-āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ āĻĢāĻ°ā§āĻŽ āĻ¤āĻžāĻ˛āĻŋāĻāĻž)
āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ āĻāĻ°ā§ āĻāĻĒāĻŋ-āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°, āĻāĻāĻŋ āĻĒāĻžāĻ¸āĻāĻžāĻ°ā§ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ āĻāĻ°ā§
āĻĒā§āĻ°ā§āĻŦāĻžāĻāĻžāĻ¸ āĻŦāĻŋāĻļā§āĻˇ āĻ¨āĻžāĻŽ it āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŦāĻĻā§āĻ§āĨ¤
=> (āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻāĻĒāĻŋ-āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ (> (* āĻāĻāĻŋ 2) 6) [1 2 3 4 5]))
[1, 2, 3]
ap-dotimes
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° (ap-dotimes n āĻĻā§āĻš)
āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻļāĻ°ā§āĻ°ā§āĻ° āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°ā§ n āĻŦāĻžāĻ°, āĻŦāĻŋāĻļā§āĻˇ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¸āĻš it āĻĨā§āĻā§ āĻāĻŦāĻĻā§āĻ§ 0 āĻĨā§āĻā§
1-āĻāĻ¨. āĻāĻāĻŋ āĻĒāĻžāĻ°ā§āĻļā§āĻŦ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§āĨ¤
=> (setv n [])
=> (ap-dotimes 3 (.append n it))
=> āĻāĻ¨
[0, 1, 2]
ap-āĻĒā§āĻ°āĻĨāĻŽ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° (āĻāĻĒāĻŋ-āĻĒā§āĻ°āĻĨāĻŽ predfn āĻ¤āĻžāĻ˛āĻŋāĻāĻž)
āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻ¯āĻž predicate āĻĒāĻžāĻ¸ āĻāĻ°ā§ āĻŦāĻž āĻ¨āĻžāĻ¸āĻā§āĻā§
āĻŦāĻŋāĻļā§āĻˇ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ it āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŦāĻĻā§āĻ§āĨ¤
=>(āĻāĻĒāĻŋ-āĻĒā§āĻ°āĻĨāĻŽ (> āĻāĻāĻŋ 5) (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10))
6
ap-āĻļā§āĻˇ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° (āĻāĻĒāĻŋ-āĻļā§āĻˇ predfn āĻ¤āĻžāĻ˛āĻŋāĻāĻž)
āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻļā§āĻˇ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻ¯āĻž predicate āĻŦāĻž āĻĒāĻžāĻ¸ āĻāĻ°ā§ āĻ¨āĻžāĻŦāĻŋāĻļā§āĻˇ āĻ¸āĻā§āĻā§
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ it āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŦāĻĻā§āĻ§āĨ¤
=>(āĻāĻĒāĻŋ-āĻļā§āĻˇ (> āĻāĻāĻŋ 5) (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10))
9
ap-āĻāĻŽāĻžāĻ¨ā§
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° (ap-āĻāĻŽāĻžāĻ¨ā§ āĻĢāĻ°ā§āĻŽ āĻ¤āĻžāĻ˛āĻŋāĻāĻž &āĻāĻā§āĻāĻŋāĻ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻŽāĻžāĻ¨)
āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻļāĻ°ā§āĻ°ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ 2āĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§ āĻĢāĻ°ā§āĻŽ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ
āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻāĻŋ āĻļā§āĻˇ āĻ¨āĻž āĻšāĻāĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻŦāĻ 3āĻ¯āĻŧ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻžāĨ¤ āĻāĻā§āĻāĻŋāĻāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ
āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻŽāĻžāĻ¨ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¤āĻžāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻŽāĻžāĻ¨ āĻāĻŦāĻ āĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻŦā§
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĨ¤ āĻāĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤ āĻšāĻā§āĻā§ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĒā§āĻ°āĻāĻžāĻļ it āĻāĻŦāĻ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨
āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸āĻā§āĻāĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻāĻā§āĻ¸ā§āĻ¸āĻ°āĻŋāĻ.
=>(āĻāĻĒāĻŋ-āĻ°āĻŋāĻĄā§āĻ¸ (+ āĻāĻāĻŋ āĻāĻ¸āĻŋāĻ¸āĻŋ) (āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž 10))
45
āĻ˛ā§āĻĒ/āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻ˛ā§āĻĒ / āĻāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻž āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ°āĻĻā§āĻ° āĻā§āĻ˛-āĻāĻ˛ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻžāĻ¨ (TCO) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻāĻĒāĻžāĻ¯āĻŧ āĻĻā§āĻ¯āĻŧ
āĻ¤āĻžāĻĻā§āĻ° āĻšāĻžāĻ āĻā§āĻĄā§āĨ¤
āĻāĻāĻāĻŋ āĻā§āĻ˛ āĻāĻ˛ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻ¸āĻžāĻŦāĻ°ā§āĻāĻŋāĻ¨ āĻāĻ˛ āĻ¯āĻž āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ āĻ¨ā§āĻ¯ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻā§
āĻāĻ°ā§āĻŽ; āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻāĻ˛āĻŋāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ
āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯āĻĻāĻŋ āĻā§āĻ¨ āĻāĻ˛ āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¸āĻžāĻŦāĻ°ā§āĻāĻŋāĻ¨ āĻ¸āĻā§āĻāĻžāĻ˛āĻ¨, āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻŋ āĻ āĻŦāĻļā§āĻˇā§ āĻ¨ā§āĻ¤ā§āĻ¤ā§āĻŦ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻ āĻāĻāĻ āĻ¸āĻžāĻŦāĻ°ā§āĻāĻŋāĻ¨ā§ āĻāĻŦāĻžāĻ° āĻāĻ˛ āĻā§āĻāĻ¨ā§āĻ° āĻ¨āĻŋāĻā§ āĻĄāĻžāĻāĻž āĻšāĻā§āĻā§, āĻā§āĻāĻ˛ āĻĒāĻāĻŋāĻļāĻ¨ā§ āĻāĻā§,
āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻžāĻŦāĻ°ā§āĻāĻŋāĻ¨āĻā§ āĻā§āĻ˛-āĻ°āĻŋāĻāĻžāĻ°āĻ¸āĻŋāĻ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ° āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĨ¤
āĻā§āĻ˛ āĻāĻ˛āĻā§āĻ˛āĻŋ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ āĻāĻžāĻ°āĻŖ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻ¯ā§āĻ āĻ¨āĻž āĻāĻ°ā§āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ā§ˇ
āĻāĻ˛ āĻ¸ā§āĻā§āĻ¯āĻžāĻā§āĻ° āĻĢā§āĻ°ā§āĻŽāĨ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻĢā§āĻ°ā§āĻŽā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ
āĻāĻ°āĻ, āĻāĻŦāĻ āĻāĻāĻŋ āĻ˛ā§āĻ āĻāĻ˛ā§āĻ° āĻĢā§āĻ°ā§āĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ˛āĻžāĻĢ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻ¨āĻžāĻŽāĻ āĻ¸āĻžāĻŦāĻ°ā§āĻāĻŋāĻ¨ā§āĨ¤ āĻāĻāĻāĻŋ āĻāĻĻāĻ°ā§āĻļ āĻāĻ˛ āĻā§āĻ°āĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻĄ āĻāĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻā§āĻ˛ āĻāĻ˛ āĻāĻ˛āĻŋāĻŽāĻŋāĻ¨ā§āĻļāĻ¨ āĻŦāĻž āĻā§āĻ˛ āĻāĻ˛ āĻ āĻĒāĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻ¨ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤ āĻā§āĻāĻ˛ āĻāĻ˛ āĻ¨āĻŋāĻ°ā§āĻŽā§āĻ˛ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ
āĻā§āĻā§ āĻ¸ā§āĻā§āĻāĻŽā§āĻ¨ā§āĻā§āĻ° āĻŽāĻ¤ā§ āĻĻāĻā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻ¤ā§ āĻā§āĻāĻ˛ āĻĒāĻāĻŋāĻļāĻ¨ā§ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻ˛ āĻāĻ°ā§,
āĻāĻāĻāĻžāĻŦā§ āĻĻāĻā§āĻˇ āĻāĻžāĻ āĻžāĻŽā§āĻāĻ¤ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ. â āĻāĻāĻāĻŋāĻĒāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž (-
http://en.wikipedia.org/wiki/Tail_call)
āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
āĻ˛ā§āĻĒ
āĻ˛ā§āĻĒ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĨ¤ āĻ¸āĻā§āĻā§ āĻ˛ā§āĻĒ, āĻāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻž āĻ¤ā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĻā§ āĻ°āĻŋāĻŦāĻžāĻāĻ¨ā§āĻĄ āĻāĻ°ā§
āĻ°āĻŋāĻāĻžāĻ°āĻļāĻ¨ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻŦāĻ āĻā§āĻĄ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻļāĻ¨āĻā§ āĻ¸ā§āĻ āĻ°āĻŋāĻāĻžāĻ°āĻļāĻ¨ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻā§ āĻĢā§āĻ°āĻ¤ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻāĻāĻāĻŋ āĻ -āĻ˛ā§āĻ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨, āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: (āĻ˛ā§āĻĒ āĻŦāĻžāĻāĻ¨ā§āĻĄāĻŋāĻ &āĻŦāĻŋāĻļā§āĻ°āĻžāĻŽ āĻĻā§āĻš)
āĻāĻĻāĻžāĻšāĻ°āĻŖ:
(hy.contrib.loop āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨)
(defn āĻĢā§āĻ¯āĻžāĻā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ [n]
(āĻ˛ā§āĻĒ [[i n] [acc 1]]
(āĻ¯āĻĻāĻŋ (āĻļā§āĻ¨ā§āĻ¯? i)
āĻāĻā§āĻ¸ā§āĻ¸āĻ°āĻŋāĻ
(āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ (āĻĄāĻŋāĻ¸ā§āĻŽā§āĻŦāĻ° i) (* acc i)))))
(āĻā§āĻŖāĻŋāĻ 1000)
defmulti
0.10.0 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¨āĻ¤ā§āĻ¨āĨ¤
defmulti āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻāĻ°ā§āĻāĻ¸ āĻāĻŦāĻ/āĻ āĻĨāĻŦāĻž āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨āĻā§ āĻ ā§āĻ¯āĻžāĻ°āĻŋāĻāĻŋ-āĻāĻāĻžāĻ°āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
Clojure āĻāĻ° āĻā§āĻ°āĻšāĻŖ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ āĻ¨ā§āĻĒā§āĻ°āĻžāĻŖāĻŋāĻ¤ defn.
=> (hy.contrib.multi āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨)
=> (āĻ āĻ¨ā§āĻ āĻŽāĻāĻž
... ([a] "a")
... ([ab] "ab")
... ([abc] "abc"))
=> (āĻŽāĻāĻž 1)
"āĻāĻāĻāĻŋ"
=> (āĻŽāĻāĻž 1 2)
"āĻ āĻ"
=> (āĻŽāĻāĻž 1 2 3)
"abc"
āĻšā§āĻ¯āĻžāĻāĻŋāĻ ON HY
āĻ¯ā§āĻāĻĻāĻžāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻšāĻžāĻāĻ!
āĻšāĻžāĻ āĻšā§āĻ¯āĻžāĻ āĻāĻ¸āĻž āĻĻāĻ¯āĻŧāĻž āĻāĻ°ā§!
āĻ āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻĄā§āĻĄāĻž āĻĻāĻŋāĻ¨ #āĻšāĻžāĻ on irc.freenode.net!
āĻāĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻāĻāĻžāĻ°ā§ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛ā§āĻ¨ #āĻšāĻžāĻ āĻšā§āĻ¯āĻžāĻļāĻā§āĻ¯āĻžāĻ!
āĻāĻāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻŦā§āĻ˛āĻ āĻāĻ°ā§āĻ¨!
āĻ āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻļā§āĻ° āĻŦā§āĻĄāĻŧāĻžāĻ¤ā§ āĻāĻāĻŋ āĻ¸ā§āĻĒā§āĻ°ā§ āĻĒā§āĻāĻ¨ā§āĻ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž (āĻ¸ā§āĻ¨ā§āĻĻāĻ°āĻāĻžāĻŦā§ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻ¨āĻž āĻāĻ°ā§)!
āĻāĻžāĻā§āĻā§!
āĻāĻāĻž āĻāĻ°:
1āĨ¤ āĻāĻāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ° āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻ°āĻŋāĻŦā§āĻļ:
$ virtualenv venv
āĻāĻŦāĻ āĻāĻāĻŋ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°ā§āĻ¨:
$ venv/bin/activate
āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ virtualenvwrapper āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§:
$ mkvirtualenv hy
$ workon hy
2. āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻĒāĻžāĻ¨:
$ git āĻā§āĻ˛ā§āĻ¨ https://github.com/hylang/hy.git
āĻ āĻĨāĻŦāĻž āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨:
it āĻāĻŋāĻ āĻā§āĻ˛ā§āĻ¨ [āĻāĻŽā§āĻ˛ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤]: /hy.git
3. āĻšā§āĻ¯āĻžāĻāĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨:
$ cd hy/
$ pip install -e.
4. āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦāĻŋāĻāĻžāĻļ-y āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨:
$ pip install -r requirements-dev.txt
5. āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻāĻ°ā§āĻ¨; āĻāĻĒāĻ¨āĻŋ āĻ¯āĻž āĻāĻ°ā§āĻā§āĻ¨ āĻ¤āĻžāĻ¤ā§ āĻāĻ¨āĻ¨ā§āĻĻā§/āĻŦāĻŋāĻ¤ā§āĻˇā§āĻŖāĻžāĻ¯āĻŧ āĻāĻžāĻāĻā§ āĻāĻŋā§āĻāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤
āĻā§āĻ¸ā§āĻ!
āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ¯āĻŧ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻž/āĨ¤ āĻāĻŽāĻ°āĻž āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĻ¨āĻžāĻ.
āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯:
$ nosetests
āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ˛āĻŋāĻā§āĻ¨---āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛!
āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŦāĻ PEP 8 āĻ¸āĻŽā§āĻŽāĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻāĻžāĻ˛
āĻā§āĻĄ āĻāĻĒāĻ¨āĻŋ āĻāĻā§āĻ¸ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
$ āĻāĻā§āĻ¸
āĻĻāĻ˛āĻŋāĻ˛ !
āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĄāĻā§āĻ¸/āĨ¤ āĻāĻŽāĻ°āĻž āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĻ¸ā§āĻĒāĻŋāĻāĻā§āĻ¸.
HTML āĻ āĻĄāĻā§āĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§:
$ cd āĻĄāĻā§āĻ¸
$ html āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
āĻĄāĻā§āĻ¸ āĻ˛āĻŋāĻā§āĻ¨---āĻĄāĻā§āĻ¸ āĻāĻžāĻ˛! āĻāĻŽāĻ¨āĻāĻŋ āĻāĻ āĻĄāĻ!
āĻ āĻŦāĻĻāĻžāĻ¨
āĻ āĻŦāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻ¸ā§āĻŦāĻžāĻāĻ¤ āĻāĻžāĻ¨āĻžāĻ āĻāĻŦāĻ āĻ āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒā§āĻ°āĻļāĻāĻ¸āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ Hy āĻāĻ°āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§ā§ˇ
āĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ.
āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻžāĻ¨ āĻŽāĻšāĻžāĻ¨! āĻāĻŽāĻ°āĻž āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻ˛āĻŦāĻžāĻ¸āĻŋ; āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻāĻžāĻāĻĄ:
¡ āĻ°ā§āĻĒā§ āĻĢā§āĻ°ā§āĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯/āĻĢāĻŋāĻā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻļāĻžāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻāĻ˛ā§āĻ¨
āĻŽāĻžāĻ¸ā§āĻāĻžāĻ° āĻļāĻžāĻāĻžāĻ¯āĻŧāĨ¤
¡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¸āĻā§āĻā§ āĻ āĻ¨ā§āĻˇāĻā§āĻā§ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤.
¡ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ PR āĻāĻŽāĻž āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻāĻā§, āĻ āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ āĻāĻŦāĻ āĻļā§āĻ˛ā§āĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻĄ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨
āĻāĻžāĻāĻĄ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŦāĻžāĻ°ā§ āĻāĻ āĻĻā§āĻāĻŋ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
$āĻŦāĻžāĻ¨ d
¡ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻāĻāĻ¨āĻŋāĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨, āĻ¯āĻžāĻ¤ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻž āĻāĻŦāĻ āĻ¨ā§āĻāĻŋāĻā§āĻ āĻāĻ°āĻž āĻ¸āĻšāĻ āĻšāĻ¯āĻŧāĨ¤ āĻāĻā§
āĻāĻāĻāĻŋ PR āĻāĻŽāĻž āĻĻāĻŋāĻ¯āĻŧā§, āĻāĻŽāĻŋāĻāĻā§āĻ˛āĻŋāĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¸ā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¸ā§āĻā§āĻ¯āĻŧāĻžāĻļ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨ āĻ¯ā§āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻž āĻ¸āĻšāĻ
āĻĒāĻ°ā§ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¸ā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻžāĻ˛ āĻšā§āĻ¯āĻŧāĻžāĻāĻāĻ¸ā§āĻĒā§āĻ¸ āĻā§āĻĄāĻŧā§ āĻ¯āĻžāĻŦā§āĻ¨ āĻ¨āĻž; āĻāĻ
āĻĒāĻ°ā§ āĻšā§āĻ¯āĻŧāĻžāĻāĻāĻ¸ā§āĻĒā§āĻ¸ āĻĢāĻŋāĻā§āĻ¸ āĻāĻŽāĻŋāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
¡ āĻ¯āĻ¤āĻĻā§āĻ° āĻāĻŽāĻŋāĻ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋ āĻŽā§āĻ¨ā§ āĻāĻ˛āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨:
¡ āĻāĻŋāĻ āĻāĻŽāĻŋāĻ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ 50 āĻ āĻā§āĻˇāĻ° āĻ¸ā§āĻŽāĻžāĻ¤ā§ āĻ˛ā§āĻā§ āĻĨāĻžāĻāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨āĨ¤
¡ āĻāĻ°ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤/āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻāĻž āĻ˛āĻžāĻāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻŋ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¨
āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻāĻžāĻŦā§ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻžāĨ¤
¡ āĻ āĻŦāĻļā§āĻˇā§, āĻ¨āĻŋāĻā§āĻā§ āĻ˛ā§āĻāĻ āĻĢāĻžāĻāĻ˛ā§ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨ (āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§): āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻĒā§āĻ¯ :)
¡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻāĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻšāĻžāĻāĻ˛āĻžāĻ-āĻāĻ° āĻŽā§āĻ˛ āĻĻāĻ˛ā§āĻ° 2 āĻāĻ¨ āĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻĻāĻ¸ā§āĻ¯ā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤
āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§āĻāĻ¨āĻž āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ°āĻāĻžāĻŦā§ āĻ¸ā§āĻŦāĻžāĻāĻ¤, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¯ā§āĻā§āĻ¨ā§āĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽ 2āĻāĻŋ āĻ¸āĻžāĻāĻ¨āĻ āĻĢ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ˇ
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨.
¡ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻŽā§āĻ˛ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻŋāĻāĻ° āĻĒāĻžāĻ āĻžāĻ¯āĻŧ, āĻ āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ 2 āĻŽā§āĻ˛ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻĻā§āĻ° āĻā§āĻāĻā§āĻ¨ āĻ¯ā§āĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻ¨āĻ¯āĻŧ
āĻāĻ¨āĻ¸āĻāĻ¯ā§āĻ āĻāĻŽāĻžāĻāĻžāĻ°ā§āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻ§āĻžāĻ°āĻŖāĻž āĻšāĻ˛ āĻ¯ā§ āĻāĻāĻāĻ¨ PR āĻ˛ā§āĻāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ ā§āĻ¯āĻžāĻāĻ¸
āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸ā§āĻāĨ¤
¡ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¤ā§āĻā§āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻāĻ ACK āĻĒāĻ°ā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻāĻžāĻ˛āĨ¤ āĻāĻŽāĻ°āĻž āĻĒā§āĻ¯āĻŧā§āĻāĻŋ
āĻāĻŽ āĻāĻāĻžāĻ°ā§āĻ, āĻ¤āĻžāĻ āĻ¸ā§āĻ āĻŦāĻžāĻ§āĻž āĻāĻŽ āĻ°āĻžāĻāĻž āĻāĻžāĻ˛ā§ āĻšāĻŦā§āĨ¤
āĻŽā§āĻ˛ āĻā§āĻŽ
Hy āĻāĻ° āĻŽā§āĻ˛ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĻāĻ˛ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ āĻŋāĻ¤:
¡ āĻā§āĻ˛āĻŋāĻ¯āĻŧā§āĻ¨ Danjou
¡ Morten āĻ˛āĻŋāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ
¡ J āĻā§āĻ¨ā§āĻĨ āĻ°āĻžāĻāĻž
¡ āĻāĻžāĻ°ā§āĻā§āĻ˛āĻŋ āĻ¨āĻžāĻāĻŋ
¡ āĻ¤ā§āĻāĻā§āĻāĻž āĻāĻžāĻ°ā§āĻā§
¡ āĻāĻžāĻ°ā§āĻ¨ āĻ°ā§āĻ¸ā§āĻ¤āĻžāĻĻ
¡ āĻ āĻāĻŋāĻˇā§āĻ L
¡ āĻā§āĻ°āĻŋāĻ¸ā§āĻā§āĻĢāĻžāĻ° āĻ ā§āĻ¯āĻžāĻ˛āĻžāĻ¨ Webber
¡ āĻāĻ¨āĻ°āĻžāĻĄ āĻšāĻŋāĻ¨āĻ¸ā§āĻ¨
¡ āĻāĻā§āĻāĻž āĻāĻžāĻ¨-āĻā§āĻ°āĻŋāĻ¨
¡ āĻĒāĻ˛ āĻā§āĻ¯āĻžāĻāĻ˛āĻŋāĻ¯āĻŧāĻžāĻŽāĻ¨ā§āĻā§
¡ āĻ¨āĻŋāĻā§āĻ˛āĻžāĻ¸ āĻĄā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻŋāĻŽāĻ¨ā§āĻ
¡ āĻĻā§āĻ˛āĻ āĻāĻ˛āĻŦāĻžāĻ°ā§āĻ
¡ āĻŦāĻžāĻ°ā§āĻāĻžāĻ° āĻĒā§āĻāĻ¸āĻžāĻ
¡ āĻā§āĻ˛āĻŋāĻ¨āĻāĻ¨ N. āĻĄā§āĻ°ā§āĻ¸āĻŦāĻžāĻ
¡ āĻšā§āĻ¯āĻžāĻ¨ āĻ¸ā§āĻŽāĻžāĻ
onworks.net āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ hy āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨