Factor 개요

4 hours ago 3

Factor는 데이터 스택에 값을 넣고 워드(word)가 이를 소비해 결과를 쌓는 방식으로 실행되며, 짧은 정의와 컴비네이터로 값의 흐름을 구성함 쿼테이션(quotation) 은 실행 가능한 코드를 값으로 다루는 수단이며, 조건문, 반복, 부분 적용, 합성도 쿼테이션을 받는 워드로 구현함 스택 효과는 워드의 입력과 출력 개수를 나타내며 컴파일러가 이를 검사함. 이름이 필요한 코드에는 어휘적 지역 변수와 클로저도 사용할 수 있음 배열과 문자열의 공통 프로토콜부터 튜플, 제네릭 워드, 확장 가능한 문법까지 지원하며, JSON, HTTP, 파일 입출력, C 연동 등의 라이브러리를 제공함 listener REPL에서 정의를 바꾸고 즉시 실행할 수 있으며, 소스 재로딩, 테스트, 문서 조회 도구를 함께 활용해 작은 워드부터 개발할 수 있음 시작과 실행 방식 Factor의 가이드 투어는 언어와 라이브러리 입문에 적합함 프로그래밍 경험은 있지만 스택 기반 언어는 낯선 독자도 일상적인 문법과 라이브러리를 코드 중심으로 익힐 수 있음 Hello, world는 "Hello, world!" print로 실행함 listener에서 직접 실행하거나 명령줄의 ./factor -e="\"Hello, world!\" print"로 실행할 수 있음 hello.factor에 hello 보캐뷸러리(vocabulary)와 main 워드를 정의하면 ./factor hello.factor로 실행할 수 있음 보캐뷸러리 검색 경로에 있으면 ./factor -run=hello로 진입점을 실행할 수 있음 기본 문법은 이름이 붙은 워드 모음과 실행 진입점을 지정함 USING:은 보캐뷸러리를 가져옴 IN:은 정의를 넣을 보캐뷸러리를 선택함 MAIN:은 진입점을 설정함 대화형 실습에는 ./factor -run=listener로 시작하는 터미널 REPL이나 개발 환경의 그래픽 listener를 사용할 수 있음 IN: scratchpad는 실험용 정의를 일반 작업 보캐뷸러리에 넣음 예제의 가져오기 구문과 선행 정의를 함께 입력해야 하며, !로 시작하는 주석도 유효한 소스임 빠르게 시작하려면 스택, 워드 정의, 쿼테이션, 제어 흐름, 시퀀스를 먼저 익히고 객체, 메타프로그래밍, 라이브러리로 확장하면 됨 값, 토큰, 스택 조작 리터럴은 데이터 스택에 값을 넣고, 워드는 스택 맨 위의 입력을 소비한 뒤 결과를 넣음. 코드는 왼쪽에서 오른쪽으로 실행됨 2 3 + 4 * ....

Read Entire Article