Jim ist ein Opensource kleine Stellfläche Umsetzung der Tcl-Programmiersprache. Es implementiert eine große Teilmenge von Tcl und fügt neue Features wie Referenzen mit Müllabfuhr, Schließungen, Einbau Object Oriented Programming System Functional Programming Befehle, First Class Arrays. All dies mit einem binären Größe 70kb (das kann ohne weiteres einige Befehl reduziert werden).
Dieses Projekt befindet sich derzeit noch in Arbeit, aber die meisten der Kernsprache bereits umgesetzt wird und es ist möglich, es zu benutzen, um viele unmodifizierte Tcl-Programme ausführen, so dass, wenn Sie anfangen wollen, um sie zu bewerten, oder möchten Sie auf unsere interne Design aussehen und virtuelle
Jim hat das Ziel, eine leistungsfähige Sprache in etwa 10 k Codezeilen, die als eine einzelne C-Datei und eine Header-Datei dargestellt wird implementiert als Skriptsprache, Syntax der Konfigurationsdatei, ohne zur Verfügung zu stellen, um damit Entwickler Jim in ihren Anwendungen gelegt, abhängig von externen Bibliotheken oder anderen großen Systemen.
Wir glauben, Scripting ist ein sehr interessantes Feature für viele Anwendungen, aber die Entwickler oft nicht aufgefordert, die Anwendung auf einem großen externen System zu verknüpfen. Jim versuchen, dieses Problem bietet eine sehr einfach zu verstehen und geringen Platzbedarf Implementierung einer Sprache, die ideal für die Skripterstellung ist anzugehen, und gleichzeitig ist eine leistungsfähige und in der Lage, zu skalieren.
Ein weiterer Bereich, in dem Jim kann helfen, ist das einer der Embedded Systems. Jim ist in ANSI-C geschrieben ist, ist sehr wenig sowohl in binäre Größe und Speicherbedarf, und die Sprache Tcl ist einfach ideal für diese Aufgaben (zum Beispiel Cisco-Router werden mit Tcl).
Dies ist, wie die Paul Grahams Akkumulator Verfahren sieht aus wie in Jim:
proc Speicher n {
Lambda Schritt n {
set n [+ $ n $ Schritt]
}
}
· Rechenoperationen als Befehle (zusammen mit expr Unterstützung).
· Fähigkeit, Erweiterungen zur Laufzeit über eine Stich System zu laden. Sogar Programme mit Jim, die statisch gelinkt sind in der Lage, Erweiterungen zu laden.
!. · 70Kbyte binäre Größe
Eigenschaften :
- Unterstützung für wichtige Funktionen, die in tcl8.5 availabe werden wird, wie dict und {} zu erweitern.
- Arrays in Jim nicht Sammlung von Variablen wie in Tcl, aber ein erstklassiges Typ. Array-Zugriffssyntax ist in Jim Syntax Zucker zu setzen und zu erhalten Wörterelemente.
- Ein kompaktes Design. Jim ist derzeit weniger als 10 k Zeilen Code. Es spielt eine starke Nutzung von Dual-Port-Objekte, in Jim selbst die VM pseudo-Bytecode ist eine spezialisierte Jim_Obj Art.
- Lambda mit Müllabfuhr, und einem Bezugssystem verknüpft Datenstrukturen aufzubauen.
- Verschlüsse, Jims Verfahren kann persistent Verfahren spezifischen Variablen (genannt Statik) haben. Statik Initialisierungswert kann caputred werden bilden die Prozedur Kontext Schöpfung, so ist es sehr ähnlich zu lexikalischen Scoping zu bedienen ist.
Was ist neu in dieser Pressemitteilung:
- Diese Version bietet stark verbesserte mingw32 Unterstützung (einschließlich voll implementiert exec), fügt Bugfixes verbessert Dokumentation, fügt einen neuen metakit Verlängerung und macht die SDL Erweiterungsarbeiten wieder.
Was ist neu in Version 0.71:.
- Verschiedene Fehler wurden behoben
- Unterstützung wurde für die binäre Befehl hinzugefügt. proc "args" können jetzt umbenannt werden.
- Automatische proc upref args sind nun mit & varname unterstützt.
- Ein expr Kurzschrift-Syntax ist mit $ (...).
- Zurück proc Definitionen können mit lokalen gespeichert und mit aufwärts gerichteten Aufruf aufgerufen werden.
- Nicht-gierige regexp / regsub Träger wurde mit dem eingebauten regexp Umsetzung. hinzugefügt
- Minimal exec Umsetzung auch ohne vfork / waitpid unterstützt.
- Die Konfiguration ist jetzt schneller und einfacher mit Autosetup.
- String byterange hinzugefügt wurde.
- Die Fähigkeit, einen einzigen Quelldatei Bootstrap jimsh erstellen wurde hinzugefügt.
- Debian-Paket Unterstützung wurde hinzugefügt.
Kommentare nicht gefunden