#래킷
2023-09-07 MetaWord lisp meta racketTL;DR
교육용으로 많이 쓰이는 스킴 방언으로, 리스프를 배우기 가장 편한 환경을 제공한다. 실제로 윈도우, 맥, 유닉스 계열에 다 호환되는 IDE 를 제공하며, 거기에 GUI, 네트워크 등 웬만한 라이브러리도 다 포함되어있고,(Batteries Included!) 실제 프로그래밍과 기본적인 개념은 비슷하면서, 노가다가 될 수 있는 부차적인 기능들을 단순화시킨 프로그래밍 교육용 모듈까지 따로 포함되어 있다. Realm of Racket 이라는 교재를 보면, 중고교생 대상의 기초적인 수준이긴 하지만 스킴 문법과 GUI, 네트워크 프로그래밍, 인공지능 등을 게임 프로그래밍 실습을 통해 겨우 300 페이지 이하의 분량으로 설명하고 있다! 사실, 리스프라는 언어 자체가 프로그래밍 언어를 만들기 편리한 언어이기도 하고, Racket 은 스킴의 저런 언어 자체의 확장성을 다소 극단적인 레벨로 끌어올린 언어이기에 가능한 것.
LISP 방언. 교육용 프로그래밍 언어로 최적. 툴과 문서 등 잘 갖춰져 있다. 이 녀석을 중심으로 프로그래밍 자료를 구축해서 리딩한다. 함수형 언어만 알면 된다. 모든 것을 할 수 있다. 툴은 일단 주는 걸로 한다. 따른 것을 건들지 않는다. 그래야 중심을 잡을 수 있다.
Documentation
영어로 되어 있다. 아무튼 그렇다. 그냥 해보는 것 뿐이다.
OFF Translation
한국어로 번역을 한다면 무엇을 해야 하는가? 어디에서 부터 해야 하는가? 다 해야 한다. 그 것 보다는 예제 중심으로 연습 코드를 경험해 보는 게 우선이다.
Install
$ sudo bash racket-8.10-x86_64-linux-cs.sh
This program will extract and install Racket v8.10.
Note: the required diskspace for this installation is 681M.
Do you want a Unix-style distribution?
In this distribution mode files go into different directories according
to Unix conventions. A "racket-uninstall" script will be generated
to be used when you want to remove the installation. If you say 'no',
the whole Racket directory is kept in a single installation directory
(movable and erasable), possibly with external links into it -- this is
often more convenient, especially if you want to install multiple
versions or keep it in your home directory.
Enter yes/no (default: no) > yes
Where do you want to base your installation of Racket v8.10?
(If you've done such an installation in the past, either
enter the same directory, or run 'racket-uninstall' manually.)
1 - /usr/... [default]
2 - /usr/local/...
3 - ~/... (/root/...)
4 - ./... (here)
Or enter a different directory prefix to install in.
> 1
Target Directories:
[e] Executables /usr/bin (exists)
[o] Libraries /usr/lib/racket (exists)
[s] Shared files /usr/share/racket (exists)
[c] Configuration /usr/etc/racket (will be created)
[d] Documentation /usr/share/racket/doc (will be created)
[a] .desktop files /usr/share/applications (exists)
[m] Man Pages /usr/share/man (exists)
[l] C Libraries /usr/lib (exists)
[h] C headers /usr/include/racket (exists)
[z] Compiled at lib? yes
Enter a letter to change an entry, or enter to continue.
Checking the integrity of the binary archive... ok.
Unpacking into "/usr/racket-tmp-install" (Ctrl+C to abort)...
Done.
Moving bin -> /usr/bin
Overwrite file "/usr/bin/drracket"?
[y]es / yes to [a]ll / [n]o=abort > a
Moving collects -> /usr/share/racket/collects
Moving share/pkgs -> /usr/share/racket/pkgs
Moving doc -> /usr/share/racket/doc
Moving lib -> /usr/lib/racket
Moving include -> /usr/include/racket
Moving share/applications -> /usr/share/applications
Moving share -> /usr/share/racket
Moving etc -> /usr/etc/racket
Moving man -> /usr/share/man
Moving README -> /usr/share/racket/doc/README
Writing uninstaller at: /usr/bin/racket-uninstall...
Rewriting configuration file at: /usr/etc/racket/config.rktd...
Moving "compiled" in /usr/share/racket/collects to /usr/lib/racket/compiled/usr/share/racket/collects
Moving "compiled" in /usr/share/racket/pkgs to /usr/lib/racket/compiled/usr/share/racket/pkgs
Rewriting configuration file at: /usr/etc/racket/config.rktd...
Installation complete.
IDE
Drracket
이게 기본이다. 그래서 좋은 것이다.
VSCODE
Emacs
다음 문서에 자세히 설명되어 있다.Related-Notes
References
마지막 수정일자