판독(Pandoc) 탄생 20주년, 존 맥팔레인이 직접 쓴 탄생기와 하스켈 선택의 비하인드
- 존 맥팔레인이 2006년 8월 3일 자신의 웹사이트에 판독(Pandoc) 0.1을 GPL 라이선스로 올리면서 프로젝트가 시작됨, 당시 코드는 하스켈 3000줄 정도였고 마크다운, reStructuredText, HTML, LaTeX 간 상호 변환과 RTF, S5 출력만 지원함
- 20년간 200회 넘는 릴리스를 거치며 판독은 50개 이상의 문서 포맷을 지원하게 됐고 하스켈로 작성된 프로그램 중 가장 인기 있는 프로젝트가 됨
- 하스켈을 먼저 배우기로 결심한 뒤 마크다운 파서를 연습 삼아 만든 게 프로젝트의 시작이었고, 정규식 기반이던 기존 마크다운 구현과 달리 파서 콤비네이터로 실제 추상구문트리(AST)를 만들어 N개 리더와 M개 라이터로 N×M 변환을 지원하는 구조를 택함
- 2006년 10월 터키 개발자 Recai Oktaş가 데비안 패키징을 제안하며 협업이 시작됐고, 2007년 Hackage 저장소 등장과 함께 판독이 외부 패키지에 의존할 수 있게 됨
- 2008년 9월 판독 1.0이 나오면서 MediaWiki, GNU Texinfo, OpenDocument, ODT 등 지원이 추가됐고, ODT 지원을 위해 zip 아카이브 생성 패키지가 없어 맥팔레인이 직접
zip-archive패키지를 만듦
Hacker News opinions
박사과정 시작할 때 판독으로 올인하기로 했는데 그 선택 하나로 이득만 봤음. 과학자로서의 커리어를 판독 덕분에 쌓았다고 해도 과언이 아님
djot이라는 것도 있던데 아는 사람? 나는 판독 쓰면서 djot을 원시적으로 지원하는 웹서버를 만들어봄
HTML을 PDF로 바꿀 때 명령어 하나면 끝임. 자주 쓰진 않는데 쓸 때마다 완벽함
판독 내부 상태를 디스크에 저장하는 게 제일 호환성 좋은 파일 포맷 아닐까 생각한 적 있음. pandoc document.md --to native 하면 바로 나옴
N개 리더와 M개 라이터로 N×M 변환 지원한다는 설계 정말 아름다움. 요즘 바이브 코딩 유행하는 시대에 기본 원리부터 손으로 잘 만든 게 이렇게 확장되고 커지는 걸 보니 좋음. LLM이 결정론적 수준에 아무리 가까워져도 효율 면에서는 판독 같은 도구가 훨씬 나음, 특히 대량 배치 작업에서는
좋은 중간 표현(intermediate representation)을 찾는 게 어려운 부분인데 판독팀이 그걸 해냄
판독을 하루에도 여러 번 씀. 아웃룩 이메일이랑 코딩 하네스 사이에 콘텐츠 옮길 때 유용함
판독 만들어줘서 고마움. 마크다운으로 이력서 쓰고 라텍으로 깔끔한 PDF 뽑을 수 있게 해줌
내가 제일 많이 쓰는 판독 스니펫은 구글독스나 워드에서 복사한 HTML에서 스타일링, 래퍼 div, span, 인라인 속성 다 벗겨내는 거임. 시맨틱한 알맹이만 남김
판독은 내 워크플로우에 여전히 필수임. 절대 죽지 않았으면 좋겠음
정적 사이트 생성기도 판독으로 대충 만들어 씀. find로 md 파일 찾아서 pandoc 템플릿 적용하면 끝
철학과 교수가 만든 도구를 전 세계 수백만 명이 쓴다는 게 놀라움. 판독은 내 필수 도구임, 감사함
판독이 깔끔한 html이나 latex 코드를 생성한다는 게 장점임. typst나 hevea 결과물이랑 비교하면 훨씬 나아서 우리만의 스타일 입히기 편함
기여자 경험도 훌륭함. typst랑 docx 관련 버그 리포트 여러 개 올렸는데 다 친절하게 응답받았고 하스켈 거의 몰라도 PR 몇 개 머지됨