Worgle — это разработчик веб-организаций. По крайней мере, он нацелен на то, чтобы иметь возможность работать с грамотными программами, написанными с использованием подмножества организационной разметки, совместимой с org-babel. Это включает в себя расширение кода в стиле noweb, важнейший аспект грамотного программирования (который, похоже, часто игнорируется в других путаницах режима организации, не относящихся к emacs). В конечном итоге мы надеемся ввести больше WEB-подобного синтаксиса и создать серверную часть для weave (экспорт в HTML, TeX и т. д.).
Первоначальная мотивация создания Worgle — производительность. Запутывание, выполняемое с помощью org-babel, происходит ошеломляюще медленно и становится бесполезным для любых проектов, больших, чем сценарий. Worgle стремится сделать org-tangle пригодным для использования в реальных проектах разработки программного обеспечения.
Более крупная цель — создать духовного преемника CWEB, программы, которую я использую ежедневно для написания грамотных программ на C. Возможно, это один из лучших инструментов грамотного программирования. Сейчас, когда CWEB исполнилось более трех десятилетий, он определенно демонстрирует признаки старости.
На данный момент у Worgle достаточно возможностей, чтобы быть полезными.
Практически все расширенные функции org-mode не будут реализованы. Emacs отлично справляется с этим, если вам это нужно.
Для компиляции запустите make
.
Для установки запустите sudo make install
.
Как оказалось, этот README представляет собой пример кода. Круто, правда?
Блок кода простой программы hello world на языке C выглядит следующим образом:
#include
int main ( int argc , char * argv [])
{
<< say_the_worgle_greeting >>
return 0 ;
}
В упомянутом выше коде есть блок кода под say_the_worgle_greeting
.
Это расширяется до этого блока кода ниже:
printf ( "Orgle Worgle Borgle!n" );
Код C запутывается с помощью загрузчика orgle
, который затем можно скомпилировать и запустить с помощью компилятора C, такого как GCC.
./orgle README.org
gcc hello.c -o hello
./hello
Самый обычный тест производительности показывает, что Worgle способен запутываться быстрее, чем Emacs, в 1300 раз (!). Тест выполняется с помощью сценария оболочки Measure_ Performance.sh.
Результаты, представленные ниже, взяты из MacBook Pro середины 2015 года, работающего под управлением High Sierra.
Org-babel-tangle (через Emacs): 0m1.318s Воргле: 0м0,001с
Этот проект находится в общественном достоянии. Удачного взлома, люди.