Джим открытым исходным кодом маленький реализация след в языке программирования Tcl. Он реализует большое подмножество Tcl и добавляет новые функции, такие как ссылки с вывоз мусора, закрытия, построенный в объектно-ориентированного программирования, системы команд функциональных программирование, массивов первого класса. Все это с бинарном размера 70kb (которые могут быть уменьшен за исключением некоторой команды).
Этот проект в настоящее время находится в стадии разработки, но большинство из основного языка уже реализовано и это можно использовать для запуска многих неизмененные программы Tcl, так что если вы хотите, чтобы начать, чтобы оценить его, или вы хотите, чтобы посмотреть на нашем внутреннем дизайне и виртуальная
Цель Джима, чтобы обеспечить мощный язык, реализованный в примерно 10k строк кода, что представлено в виде одного файла C и файл заголовка, для того, чтобы позволить разработчикам, чтобы положить Джим внутри своих приложений, в качестве языка сценариев, синтаксиса конфигурационного файла, без в зависит от внешних библиотек или других больших систем.
Мы верим сценариев очень интересная особенность для многих приложений, но разработчики часто не поощряют, чтобы связать приложение с большой внешней системы. Джим пытаются решить эту проблему, обеспечивая очень прост для понимания и малых реализация след в языке, который идеально подходит для сценариев, и в то же время является мощным и возможность масштабирования.
Другой областью, где Джим может помочь это один из встроенных систем. Jim написано в ANSI-C, очень мало, и в размере и памяти двоичных и Tcl язык просто идеально подходит для таких задач (например, CISCO маршрутизаторы с использованием Tcl).
Это, как процедура аккумулятор Пола Грэма выглядит в Джима:
Аккумулятор Proc п {
лямбда приращение п {
набор п [+ $ N $ приращение]
}
}
· Математические операции, как команды (вместе с поддержкой выражение).
· Возможность загружать расширения во время выполнения с помощью системы заглушки. Даже программы, использующие Джим, которые статически могут загрузить расширения.
!. · 70Kbyte двоичный размер
Особенности
- Поддержка важных функций, которые будут Availabe в Tcl8.5, как Dict и {} расширить.
- Массивы в Джима не коллекция переменных, таких как в Tcl, но первый тип класса. Синтаксис Доступ к массиву в Джим синтаксическими, чтобы установить и получить словари элементы.
- Компактный дизайн. Джим в настоящее время меньше, чем 10k строк кода. Это интенсивное использование двухпортовый объектов, в Джима даже В.М. псевдо-байт-код является специализированным типом Jim_Obj.
- лямбда с вывоз мусора, и системы отсчета для создания связанных структур данных.
- затворы, процедуры Джима может иметь постоянные процедуры конкретных переменных (называемых статика). Значение инициализации Статика можно caputred образуют контекст создания процедура, так что это очень похоже на лексической области видимости использовать.
Что нового В этом выпуске:
- Эта версия добавляет много-улучшенную поддержку mingw32 (в том числе неполносимметричных реализованы Exec), добавляет исправления, улучшает документацию, добавляет новое расширение metakit, и делает SDL расширение работы снова.
Что нового в версии 0.71:.
- Различные ошибки были исправлены
- Добавлена поддержка двоичного команды. Теперь можно переименовать Учеб 'аргументы'.
- Автоматические Учеб upref аргументы теперь поддерживается и перем.
- AN выражение сокращенный синтаксис доступен с $ (...).
- Предыдущие определения Proc могут быть сохранены с местными и вызывается с upcall.
- не жадный поддержка регулярных выражений / regsub был добавлен с помощью встроенного в реализации RegExp.
- Минимальная Exec осуществляется при поддержке даже без vfork / waitpid.
- Конфигурация теперь быстрее и проще с Autosetup.
- был добавлен Строка byterange.
- Добавлена возможность создания одного исходного файла загрузочного jimsh.
- Добавлена поддержка Debian упаковки.
Комментарии не найдены