Jim on opensource pieni jalanjälki täytäntöönpanoa Tcl ohjelmointikieli. Se toteuttaa suuri osajoukko TCL ja lisää uusia ominaisuuksia, kuten viittaukset roskat keräys, sulkemiset, sisäänrakennettu Olio-ohjelmointi järjestelmä, Functional Programming komentoja, Ensimmäisen luokan taulukot. Kaikki tätä binary koko 70kB (jotka voidaan edelleen vähentää ilman joitakin komento).
Tämä hanke on parhaillaan työn alla, mutta suurin osa ydin kielen on jo toteutettu ja se on mahdollista käyttää sitä ajaa monia muuttamattomana Tcl ohjelmia, joten jos haluat aloittaa arvioida sitä, tai haluat katsoa sisäisiä suunnittelu ja virtuaalinen
Jim tavoitteena on tarjota tehokas kieli toteutettu noin 10k riviä koodia, joka esitetään yhtenä C-tiedoston ja header-tiedosto, jotta kehittäjät voivat laittaa Jim sisällä niiden sovellukset, kuten scripting kieli, konfigurointitiedosto syntaksin, ilman että riippuvainen ulkoisia kirjastoja tai muita suuria järjestelmiä.
Uskomme scripting on hyvin mielenkiintoinen piirre monissa sovelluksissa, mutta kehittäjät eivät useinkaan ole kannustetaan linkittämään sovelluksen iso ulkoiseen järjestelmään. Jim yrittää puuttua tähän ongelmaan tarjoaa erittäin helppo ymmärtää ja pieni jalanjälki toteuttamiseen kieli, joka sopii scripting, ja samalla on tehokas ja pystyy mittakaavassa.
Toinen alue, jolla Jim voi auttaa on yksi Sulautetut järjestelmät. Jim on kirjoitettu ANSI-C, on hyvin vähän sekä binary koon ja muistin vaatimukset, ja Tcl kieli on juuri ihanteellinen tähän tehtäviin (esimerkiksi Ciscon reitittimet käyttävät Tcl).
Näin Paul Grahamin varaajan menettely näyttää Jim:
proc akulla n {
lambda lisäys n {
setti n [+ $ n $ lisäys]
}
}
· Math toimintaansa komennot (yhdessä expr tuella).
· Kyky ladata laajennuksia suorituksen kautta STUB järjestelmää. Vaikka ohjelmia Jim jotka kiinteästi liitettyinä voivat ladata laajennuksia.
· 70Kbyte binary koko!.
Ominaisuudet
- tuki tärkeitä ominaisuuksia, jotka on availabe vuonna Tcl8.5, kuten dict ja {laajentaa}.
- Taulukot Jim eivät kokoelma muuttujia kuten Tcl, mutta ensimmäisen luokan tyyppiä. Array pääsy syntaksi on Jim syntaksin sokeria asettaa ja saada sanakirjat elementtejä.
- kompakti muotoilu. Jim on nykyisin alle 10k riviä koodia. Se raskaan käytön kaksiporttinen esineitä, Jim jopa VM pseudo-bytecode on erikoistunut Jim_Obj tyyppi.
- lambda kanssa roskien keräämiseen, ja viitejärjestelmä rakentaa yhdistetty tietorakenteita.
- sulkemiset, Jimin menettelyt voivat olla pysyviä menettely-muuttujia (kutsutaan statiikan). Statiikka alustus arvo voidaan caputred muodostaa menettelyn luomisen yhteydessä, joten se on hyvin samanlainen kuin leksikaalisia rajauksen käyttää.
Mikä on uusi tässä julkaisussa:
- Tämä versio tuo paljon parempi mingw32 tuki (mukaan lukien oi- keudet toteutetaan exec), lisää bugikorjauksia, parantaa dokumentaatiota, lisää uuden metakit laajennus, ja tekee SDL laajennustöiden uudelleen.
Mikä on uusi versiossa 0.71:
- Various bugeja vahvistettu.
- Tuki lisättiin binary komentoa. proc 'args "voidaan nyt nimetä uudelleen.
- Automaattinen proc upref args nyt tuetaan ja varName.
- expr pika syntaksi on saatavilla $ (...).
- Edellinen proc määritelmät voidaan tallentaa paikallisten ja pykäliä upcall.
- Ei ahne regexp / regsub tukea lisättiin sisäänrakennetun regexp täytäntöönpanossa.
- Vähäinen Exec toteutus tukee myös ilman vfork / waitpid.
- Kokoonpano on nyt nopeampi ja yksinkertaisempi Autosetup.
- String byterange lisättiin.
- kyky luoda yhdestä lähteestä tiedosto bootstrap jimsh lisättiin.
- Debianin pakkaus tukea lisättiin.
Kommentteja ei löytynyt