Pandoc-un iyirmi ili: Haskell ilə yazılmış sənəd çeviricisi
Con Makfarleyn pandoc-un ilk buraxılışının iyirminci ilini qeyd edir: 51 giriş və 76 çıxış formatı, 3876 mümkün çevirmə və 600-dən çox töhfəçi. Yazıda LLM-lərin bu cür alətləri əvəz edib-etməyəcəyi də müzakirə olunur.
Sənəd çeviricisi pandoc-un yaradıcısı Con Makfarleyn ilk buraxılışın iyirminci ili münasibətilə retrospektiv yazı dərc edib. pandoc 0.1-i 2006-cı il avqustun 3-də öz saytına yerləşdirib və azad GPL lisenziyası ilə yayımlayıb. İlk versiya GHC-nin standart kitabxanasından başqa heç bir asılılığı olmayan təxminən 3000 sətir Haskell kodundan ibarət idi və Markdown, reStructuredText, HTML və LaTeX sənədlərini bir-birinə, həmçinin RTF və S5 formatına çevirə bilirdi. İki yüzdən çox buraxılışdan sonra layihə Haskell ilə yazılmış ən populyar proqrama çevrilib, əllidən çox sənəd formatını dəstəkləyir və milyonlarla kompüterdə quraşdırılıb.
Niyə Haskell, niyə AST
Makfarleynə görə, seçim gözlənilənin tərsinə olub: əvvəlcə Haskell-dən istifadə etməyi, sonra isə sənəd çeviricisi yazmağı qərara alıb. Dostunun bloq yazısından təsirlənərək “A Gentle Introduction to Haskell”i oxuyub və dili öyrənmək üçün praktik layihə axtarıb. O dövrdə Markdown tətbiqləri Perl, Python, Ruby və PHP-də müntəzəm ifadələrlə işləyən çeviricilər idi; pandoc başqa yol seçdi — Markdown-u həqiqi mücərrəd sintaksis ağacına (AST) çevirib, sonra həmin ağacı digər formatlara render edirdi. Bu, daha etibarlı və genişlənə bilən arxitekturadır: N oxuyucu və M yazıcı N × M çevirmə imkanı verir.
İyirmi illik buraxılışlar
pandoc 1.0 2008-ci ilin sentyabrında MediaWiki, Texinfo, OpenDocument və ODT yazıcıları, həmçinin sintaksis işıqlandırmalı kod blokları ilə çıxdı; Haskell-də olmadıqları üçün zip-archive və highlighting-kate kitabxanalarını Makfarleyn özü yazdı. pandoc 1.9 (2012) Word docx çıxışını əlavə etdi. pandoc 2.0 (2017) oxuyucu və yazıcıları formatın tələb etdiyi halda fayl əməliyyatları apara biləcək şəkildə yenidən qurdu və birbaşa pandoc AST-si üzərində işləyən Lua filtrlərini təqdim etdi. pandoc 3.0 (2023) layihəni dörd paketə böldü — kitabxana, Lua mühərriki, server və CLI — və Figure elementini əlavə etdi; sonrakı versiyalarda Typst (3.1.3) və djot (3.1.12) dəstəyi gəldi, pandoc 3.9 (fevral 2026) isə brauzerdə işləmək üçün WebAssembly-ə kompilyasiyanı mümkün etdi.
Rəqəmlərlə
Retrospektivdə cari statistika verilir: 51 giriş və 76 çıxış formatı — yəni 3876 fərqli çevirmə; dörd əsas paketdə 85 684 sətir Haskell kodu, pandoc üçün yazılmış asılılıqlarla birlikdə bu rəqəm təxminən iki dəfə artır; GitHub-da bağlanmış 7346 issue və 600-dən çox töhfəçi, onların arasında Albert Krevinkel, Cessi Rozental və Kristian Depres də var. 2018-ci ildə layihə Handshake-dən 100 000 dollar ianə aldı; bu vəsait beş il ərzində ən fəal mühafizəçilərə kiçik ödənişlər üçün istifadə olundu.
Bundan sonra
Makfarleyn belə bir alətin nə qədər daha lazım olacağını soruşur: LLM-lər sənəd formatları arasında çevirməni artıq məqul səviyyədə edir və bəlkə bir gün pandoc-dan daha etibarlı olacaqlar. Hələlik, onun fikrincə, pandoc-un üç üstünlüyü var: xeyli az enerji sərfiyyatı, deterministik və proqnozlaşdırıla bilən nəticə və daha etibarlı çevirmələr. O, layihəni təkmilləşdirməyi davam etdirməyi planlaşdırır və mətn “pandoc, doğum günün mübarək!” arzusi ilə bitir.
SiTech — AI ilə gücləndirilmiş veb hazırlanması
Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.