Jim je opensource malé implementace stopa programovacího jazyka Tcl. To realizuje velkou podmnožinu Tcl a přidává nové funkce, jako odkazy s garbage collection, uzávěry, vestavěné objektově orientovaného programování systému, příkazů funkcionálního programování, první třídou pole. To vše s binární velikosti 70 kb (které mohou být dále sníženy s výjimkou některých příkazu).
Tento projekt je v současné době nedokončené, ale většina z jádra jazyka je již zaveden a je možné jej použít k spustit mnoho programů nemodifikované Tcl, takže pokud chcete začít hodnotit to, nebo chcete-li se podívat na naši vnitřní konstrukci a virtuální
Jimova cílem je poskytnout silný jazyk implementována zhruba 10k řádků kódu, který je prezentován jako jediný soubor C a záhlaví souboru, s cílem umožnit vývojářům, aby Jima ve svých aplikacích, jako skriptovací jazyk, syntaxe konfiguračního souboru, aniž by se závislé na externích knihovnách nebo jiných velkých systémů.
Věříme skriptování je velmi zajímavým rysem pro mnoho aplikací, ale vývojáři často nejsou podporovány propojit aplikaci velkého externího systému. Jim se snaží řešit tento problém poskytuje velmi jednoduché pochopit a malé realizace stopa jazyce, který je ideální pro skriptování, a zároveň je silný a schopný měřítku.
Další oblastí, kde Jim může pomoci, je jedním z vestavěných systémů. Jim je psán v ANSI-C, je velmi málo a to jak v požadavcích binárních velikost a paměti, a jazyk Tcl je prostě ideální pro tento úkolů (například CISCO směrovače pomocí TCL).
To je, jak akumulátor postup Paul Graham vypadá jako v Jim:
proc akumulátor n {
lambda přírůstek n {
sada n [+ $ n $ přírůstek]
}
}
· Matematických operací jako příkazy (spolu s podporou výraz).
· Schopnost načíst rozšíření při běhu přes pahýl systému. Dokonce i programy pomocí Jima, které jsou propojeny staticky jsou schopni načíst rozšíření.
!. · 70Kbyte binární velikost
Vlastnosti :
- Podpora pro důležité funkce, které budou availabe v Tcl8.5, jako dict a {rozšířit}.
- Pole Jim nejsou kolekce proměnných, jako je v Tcl, ale první třídy typu. Syntax přístup Array je Jim syntaxe cukru k nastavení a získat slovníky prvků.
- kompaktní design. Jim je v současné době méně než 10k řádků kódu. To těžké použití dvojích přenesených objektů, v Jim i VM pseudo-bytecode je specializovaný typ Jim_Obj.
- lambda s garbage collection, a referenční systém vybudovat datovými strukturami.
- uzávěry, procedury Jim může mít trvalé postup specifické proměnné (tzv statika). Inicializační statika hodnotu lze caputred tvořit kontext vytvoření postupu, takže je velmi podobný lexikální vymezení rozsahu k použití.
Co je nového v této verzi:
- Tato verze přidává tolik lepší podporu MinGW32 (včetně plně obsazeného realizován exec), dodává oprav, zlepšuje dokumentaci, přidává nové rozšíření metakit, a dělá SDL rozšíření práci znovu.
Co je nového ve verzi 0.71:.
- Různé chyby byly opraveny
- Podpora byla přidána pro binární příkazu. mohou být nyní přejmenován proc "args".
- Automatické proc upref args jsou nyní podporovány a názevproměnné.
- expr zkratka syntaxe je k dispozici s $ (...).
- Předchozí definice proc mohou být uloženy s místní a vyvolán s upcall.
- Non-chamtivý podpora regexp / regsub byl přidán s vestavěným-in realizaci regexp.
- Minimální exec implementace je podporován i bez vfork / waitpid.
- Konfigurace je nyní rychlejší a jednodušší s AutoSetup.
- String byterange byl přidán.
- byla přidána možnost vytvořit jediný zdrojový soubor bootstrap jimsh.
- byla přidána podpora Debian balení.
Komentáře nebyl nalezen