Common RISP v0.1.1

https://github.com/myyrakle/common_risp
https://docs.rs/common_risp/latest/common_risp/

proc ๋งคํฌ๋กœ๊ฐ€ ํŒŒ์‹ฑ์„ ๋„ˆ๋ฌด ์ž˜ ํ•ด์ฃผ๊ธธ๋ž˜ ํ•œ๋ฒˆ ์‘์šฉํ•ด๋ณผ ์ƒ๊ฐ์— ๋งŒ๋“ค์–ด๋ดค๋‹ค.
๋งคํฌ๋กœ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๋Š” LISP-like ์–ธ์–ด ํŠธ๋žœ์ŠคํŒŒ์ผ ๊ตฌํ˜„์ด๋‹ค.

์‚ฌ์šฉ๋ฒ• ์ž์ฒด๋Š” ๊ฐ„๋‹จํ•˜๋‹ค. ๋งคํฌ๋กœ ํ•˜๋‚˜ ํ˜ธ์ถœํ•ด์„œ ์ฝ”๋“œ๋ฅผ ๊ตฌ๊ฒจ๋„ฃ์œผ๋ฉด ๋œ๋‹ค.
์ด๋Ÿฐ ์‹์œผ๋กœ ๋ง์ด๋‹ค.

Rust์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์ข€ ํฌ๊ธฐํ•œ ๋ถ€๋ถ„๋„ ์žˆ๊ธด ํ•˜์ง€๋งŒ, ๋Œ€์ฒด๋กœ LISP์˜ ํ˜•ํƒœ๋ฅผ ๋”ฐ๋ž๋‹ค.


๊ธฐ๋ณธ์—ฐ์‚ฐ์ž๋“ค๋„ LISP์— ๋งž์ถฐ์„œ ์ œ๊ณตํ•œ๋‹ค.


๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”์™€ ๋ณ€๊ฒฝ์€ defvar -> setq๋กœ ๋ถ„๋ฆฌ๋œ๋‹ค.
defvar์™€ defparameter๋Š” ๊ฐ™๋‹ค.


defun์„ ํ†ตํ•ด ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
ํƒ€์ž…์•ˆ์ •์„ฑ์€ ํฌ๊ธฐํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์—ฌ๊ธฐ์„  ๋ถˆ๊ฐ€ํ”ผํ•˜๊ฒŒ ํƒ€์ž…์„ ๋ฐ›๋Š”๋‹ค. ํƒ€์ž… ์—†๋Š” ๊ผด์€ ๋ชป๋ณธ๋‹ค.


if๋ฌธ๋„ LISP์ฒ˜๋Ÿผ ์ œ๊ณตํ•œ๋‹ค. cond๋Š” ์•„์ง ์—†๋‹ค.


๊ทธ๋ฆฌ๊ณ  ์ด๊ฑด ๋‹จ์ˆœํ•œ ๋งคํฌ๋กœ ํ™•์žฅ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์•ˆ๊ณผ ๋ฐ–์ด ์ž์œ ๋กญ๊ฒŒ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋‹ค.
RISP ๋‚ด์—์„œ rust์˜ ํ•จ์ˆ˜๋‚˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๊ทธ ๋ฐ˜๋Œ€๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.