Опис послуги
ПерекладРозробляю на Janet — невеликій Lisp-подібній мові, яка компілюється в компактний байткод та без зайвих зусиль вбудовується майже в будь-яку програму на C. Якщо вам потрібен скриптовий шар поверх готового коду на C або C plus plus, я підключаю віртуальну машину Janet як бібліотеку хоста, пробрасую ваші нативні функції в скрипт та даю команді безпечний, ізольований спосіб змінювати поведінку без пересборки. Мої типові результати — компактні консольні утиліти, рушії правил та конфігурації, зв'язуючі скрипти та предметні міні-мови, розбиральні вбудованим PEG-модулем Janet. Саме на PEG-граматиках Janet розкривається краще за все: я писав парсери для форматів логів, власної розмітки, протокольних кадрів та мов виразів — з зрозумілими граматиками та читаним кодом захоплень замість крихких регулярних виразів. Зі сторони вбудовування беру на себе маршалінг між структурами C та значеннями Janet, абстрактні типи з коректними гачками збирача сміття, цикли подій та упаковку, щоб все збиралося через jpm або звичайний Makefile. Для мене важлива коректність: кожен результат йде з тестами, коментарями в коді та короткою інструкцією, щоб ви супроводили його самі. Я поставив код на Janet для збірочної оснастки, конвейерів обробки даних та скриптів на стороні прошивок для обмежених по ресурсах цілей. Опишіть C-інтерфейс або текст, який потрібно розібрати, — верну робочий, задокументований Janet.