cl-toy-stack-lang 첫번째 버젼과 작업하면서 깨달은것

Posted on Oct 16, 2019

일단 첫번째 버젼 다 만들었다.

https://github.com/ageldama/cl-toy-stack-lang/releases/tag/v0.1.0

그냥 장난으로 인터프리터도 아니라 그냥 eval 이용한 간단한 파서도 필요없이 lexer만으로 만들만한 Forth 비슷한 언어를 만듬.

명령어도 실용적인 목적이 아닌만큼 그냥 문자열 장난 밖엔 없다.

느낀점

  1. 라이브러리 좋은거 갖다 잘쓰자
    • uiop 같은거,
    • feature-expression 삽질을 적게하거나 안해도됨. 더 portable하고 잘 굴러가는.
  2. Test! 3. 짜고 하나씩 진화시켜가면서 다시 돌리는 재미.
  3. Idiomatic하게 그리고 역시 Test!
    1. ..처음엔 그냥 전역변수에 상태를 갖도록 만들고,
    2. 그걸 dynamic binding으로 바꿔서 파라미터화하고,
    3. 또 그걸 다시 상태를 캡슐화하는 클래스로 감싸고,
    4. 처음엔 단순하게 리습스럽게 짜고 그걸 진화시키고,
    5. 그리고 역시 다시 테스트.
  4. 아는만큼 보인다
    • setf 병렬로 하기, +destructuring
    • asdf:operate + :build-op : SBCL/ECL 등 리습컴파일러에 관계 없이 실행이미지 빌드 편안하게
    • 기타 등등

…그리고 무엇보다 재밌었다. 그리고 뭐가됐든 그냥 짜보고 굴러가는 형태로 계속해서 작은 프로그램을 많이 만들고 하면서 놀아야겠다고 생각했다.