Джим відкритим вихідним кодом маленький реалізація слід у мові програмування 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 аргументи тепер підтримується і перем.
- вираз скорочений синтаксис доступний з $ (...).
- Попередні визначення Proc можуть бути збережені з місцевими і викликається з upcall.
- не жадібний підтримка регулярних виразів / regsub був доданий за допомогою вбудованого в реалізації RegExp.
- Мінімальна Exec здійснюється за підтримки навіть без vfork / waitpid.
- Конфігурація тепер швидше і простіше з Autosetup.
- був доданий Рядок byterange.
- Додана можливість створити єдиний вихідний файл завантажувального jimsh.
- Додана підтримка Debian упаковка.
Коментар не знайдено