나의 ed(1) 툴박스: ed(1) 구현의 세계에 대한 심층 탐구

2025-09-24

자칭 ed(1) 애호가인 Artyom Bologov는 자신이 만든 ed(1) 구현 및 스크립트 모음을 공유합니다. 그는 ed(1)을 Git 에디터, sudo 에디터, 심지어 정적 사이트 생성기로 폭넓게 사용합니다. 그의 툴박스에는 GNU ed, OpenBSD ed (oed), 개선된 wed(1), 더욱 사용자 친화적인 aed(1), 그리고 스크립팅을 위한 xed(1)이 포함되어 있습니다. 이러한 도구는 스크립트 지원 부족 및 사용자 친화적이지 않은 점과 같은 ed(1)의 한계를 해결하고 다양한 시스템 간의 이식성을 유지합니다. 그는 심지어 Brainfuck, BASIC, Modal로 ed(1)을 구현하기도 했습니다. Bologov는 독자들에게 ed(1)을 받아들이고 사랑하라고 촉구하며 글을 마무리합니다.

더 보기
개발

맞춤형 Lisp REPL에 반대하며: 기본 REPL과 실용적인 도구를 받아들이자

2025-08-20

저자는 CIEL과 같은 맞춤형 Lisp REPL을 비판하며, 이것들이 기본 REPL의 강력한 기능과 사용자 정의 기능을 희생시킨다고 주장합니다. 여기에는 기본 REPL 명령어, 구현 디버거, 구현 API를 사용한 사용자 정의 기능 등이 포함됩니다. 이 글에서는 Trivial Toplevel 라이브러리와 rlwrap과 같은 도구를 사용하여 기본 REPL을 향상시키는 방법을 자세히 설명하며, 사용자 정의 프롬프트, 명령어, 리더 매크로, ASDF를 사용한 종속성 관리 등을 다룹니다. 저자는 "모든 것을 포함하는" 맞춤형 REPL에 의존하기보다는 기본 REPL과 실용적인 도구를 결합하여 효율적이고 개인화된 Lisp 개발 환경을 구축할 것을 권장합니다.

더 보기
개발

ed(1)을 정적 사이트 생성기로 사용하기: 독특한 시도

2025-05-31

Artyom Bologov는 오래된 텍스트 에디터인 ed(1)을 사용하여 정적 사이트를 구축한 특별한 경험을 공유합니다. Lisp부터 C 전처리기까지 다양한 방법을 시도한 후, 최종적으로 ed(1)을 정적 사이트 생성기로 선택했습니다. ed(1)은 파일 포함과 같은 기능이 부족하다는 제약이 있지만, 유연성이 있어 사용자 정의 구문을 사용하거나 이전 전처리기 형식을 처리할 수 있습니다. 그는 전처리 및 형식 변환에 ed(1) 스크립트를 사용하며 여러 출력 형식(txt, gmi, 7, tex 등)을 지원합니다. 모범 사례는 아니지만, 이 글은 ed(1)의 예상치 못한 잠재력과 저자의 독창적인 텍스트 처리 방식을 보여줍니다.

더 보기
개발

Lisp 들여쓰기의 추한 진실

2025-01-19

Lisp 프로그래머들은 오랫동안 최적의 들여쓰기 스타일을 두고 논쟁해 왔습니다. 이 글에서는 들여쓰기 없음, 함수 정렬 들여쓰기, 공백 채우기 들여쓰기, 그리고 저자가 논란을 불러일으킨 "병든" 매크로 들여쓰기 등 다양한 접근 방식을 탐구합니다. 함수 정렬 들여쓰기는 중첩이 깊어지면 다루기 어려워지고, 공백 채우기 들여쓰기는 효율적이지만 극단적인 경우에는 부족합니다. 저자는 전통적이지는 않지만 깊이 중첩된 코드에서 가독성을 유지하고 대부분의 들여쓰기 도구와 잘 작동하는 "병든" 매크로 스타일을 권장합니다. 독자들은 자신의 선호하는 스타일을 공유하도록 권장됩니다.

더 보기