Szczegóły programowe:
To pozwoli programiści i administratorzy systemu do pisania małych i dużych skryptów dla swoich aplikacji.
Gauche jest silnik skryptowy, w tym sensie, że czyta i ocenia kod źródłowy, ale wewnętrznie kompiluje wyrażenia Systemów do pośredniego forma, dzięki optymalizacji kompilatora następnie uruchamia go przez maszynę wirtualną.
Dotychczas wydajność jest porównywalna do innych tłumaczy schemat
Właściwości .
- Pokrowce R5RS, prawie.
- Zarówno R5RS wysokim poziomie makro i dziedzictwo zdefiniować-makro są obsługiwane.
- operacje numeryczne są obsługiwane na Fixnum, bignum, flonum i kompleksu.
- System modułowy: prosty system moduł API zgodne z STklos
- System obiektu: Clos-jak obiekt z protokołem systemu meta obiekt. Prawie API zgodne z STklos. To jest podobne do systemu obiektu Guile 's.
- Wsparcie wielobajtowych ciąg: Struny są reprezentowane przez wielobajtową łańcucha wewnętrznie. Możesz użyć UTF-8, EUC-JP, Shift-JIS lub nie z wyboru kodowania skonfigurować wielobajtowej czasie. Konwersja między natywnym systemem kodowania i zewnętrznego systemu kodowania jest wspierany przez obiektów portowych.
- wielobajtowych regexp: Regularne matcher wyrażenie jest świadomy wielobajtową ciągu; można używać znaków wielobajtowych zarówno wzorów i trafionych łańcuchów.
- Czytnik rozszerzenie: dosłowne wyrażenie regularne i char-set, interpolacja ciąg: Rozszerzony czytnik rozpoznaje # / ... / jako wyrażenie regularne, i # [...] jako zestawu znaków. Handy napisać jednej wkładki. (Np (rxmatch-podciąg (rxmatch # / (d +) / & quot; abc123def & quot;)) == & gt; & quot; 123 & quot;)
- Również & quot; interpolacji STRING & quot; jest obsługiwane (np (wyświetlacz # `& quot; 1 + 2 = (2 + 1)
- & quot;.))
- System: Obejmuje większość POSIX.1 oraz niektórych innych cech wspólnych w Uniksach. Patrz punkt 6.19 w podręczniku referencyjnym w szczegóły.
- Interfejs sieciowy:. Ma API dla gniazda interfejsu sieciowego opartego na tym IPv6, jeśli OS suppots go
- Wielowątkowość: Na niektórych platformach, wielowątkowość jest obsługiwana na górze pthreads. Schemat poziomu API zgodne Srfl-18.
- Interfejs DBM. Interfejs do bibliotek DBM-like (dBm, ndbm i / lub gdbm) jeśli system zapewnia im
- analizowania XML. Narzędzi SXML Oleg Kiselyov są włączone,
- wiążące OpenGL. OpenGL wiążąca jest w oddzielnym opakowaniu,
- wiążące GTK. GTK2 wiążąca jest w oddzielnym opakowaniu,
- Obsługuje następujące SRFIs:
- -0 Funkcja Srfl warunkowego ekspansja konstrukcja oparta li>
- 1 Biblioteka Srfl Lista li>
- Srfl-2 A-let *
- Srfl-4 wektor numeryczny jednorodne typy danych
- Srfl-5 tworzą let kompatybilny z podpisami i odpoczynku argumenty
- String Srfl-6
- Funkcja Srfl-7 na bazie języka konfiguracji programu
- Srfl-8 Otrzymuj
- Srfl-9 Nagraj
- Srfl-10 Sharp-przecinek zewnętrzna forma,
- Srfl-11 let-wartości
- -13 Biblioteka Srfl String
- Srfl Character Set-14 Biblioteka
- Srfl-16 Składnia procedury zmiennej liczbę operandów
- Srfl-17 Uogólnione zestaw!
- -18 Wsparcie Srfl Wielowątkowość
- typy i procedury danych Srfl-19 Czas
- Srfl-22 Uruchamianie skryptów programu na systemach Unix,
- Srfl-23 mechanizm raportowania błędów
- Srfl-25 wielowymiarowe prymitywy array
- Srfl-26 Oznaczenia dla specjalizująca parametrów bez zmiękczania
- Srfl-27 Źródła losowych bitów
- Srfl-28 podstawowy format
- Srfl-29 Lokalizacja
- Srfl-30 multi-line zagnieżdżonych
- Srfl-31 Formularz do oceny specjalnego rec rekurencyjnego
- Srfl-34 Exception Handling Programów
- Srfl-35 Warunki,
- Srfl-36 I / O Warunki (częściowo)
- Srfl-37 args-krotnie: procesor argumentem programu
- Srfl-38 zewnętrzna reprezentacja danych z wspólną Struktura
- Srfl-39 parametrów
- Srfl-40 Biblioteka strumieni
- Srfl-42 Chętni comprehenshion
- Srfl-43 Wektor Biblioteka
- Srfl-45 Primitives do wyrażania iteracyjny Lazy Algorytmy
- Srfl-55 wymaga, rozszerzenie
- Srfl-61 bardziej ogólna klauzula dyr
- Srfl-S-62 wyrażenie
- Srfl-87 = & gt; w punktach przypadków
Interfejs
Porty
Rodzaje
Ciągi
Komentarze
Obiekty
Komentarze
Co nowego w tym wydaniu:.
- Główne udoskonalenia
Co nowego w wersji 0.9.3.3:
- New procedurę:. String-Scan-prawo
- GC jest obecnie 7.2b.
Co nowego w wersji 0.9.3:.
- Lazy sekwencje
- przykuty-aplikacja makro $.
- Tematy są teraz obsługiwane w systemie Windows / MinGW kompilacji.
Co nowego w wersji 0.9.2:
- mapowania Case i znaków właściwości są w pełni obsługiwane, kompatybilny do R6RS i projektu R7RS (oba oparte na standardzie Unicode). Charakter mądry mapowanie przypadku (char-konwersji małych liter itd.) Oraz zapytania i usługi (char-char-alfabetyczna ?, ogólnych kategorii, itd.) Są wbudowane. Kontekstowych mapowanie ciąg znaków (string-konwersji małych liter itd.) Znajduje się w nowym module text.unicode. (Uwaga:. Srfl-13 na ciąg-konwersji małych liter itp są bez zmian, są one zdefiniowane w użyciu prosty przykład mapowania). Moduł text.unicode również konwersję pomiędzy utf-8 / utf-16 i Unicode codepoints
- Dystrybucja binarna Windows jest teraz w MS instalatora (* .msi) formatu, stworzony z WiX. Jest to bezpieczniejsze niż w poprzednim formacie * .exe stworzonego przez NSIS, który miał błąd, który rozbija ustawienia PATH, gdy jest zbyt długi.
- wygodne wrapper do realizacji atomowej dodaje się w gauche.threads. Zobacz ten wstęp post.
- Benchmarking narzędzia przypomina do modułu Benchmark Perla jest teraz dostępny w gauche.time. Zobacz ten post na wstępie.
- z-lock-pliku: długo oczekiwana funkcja korzystać z plików blokady wygodnie. Jest to moduł file.util.
- Dodano pełne wsparcie Srfl-60, operacje na liczbach całkowitych bitowe.
- gauche.cgen: Niektóre API Gauche wykorzystuje do generowania kodu C zostają upublicznione. Zobacz instrukcję o szczegóły.
Co nowego w wersji 0.9.1:
- Honor argument katalogów na ścieżce Windows kodu natywnego a.
- Zmień * * ścieżki obciążenia wstępnego obejmuje strukturę katalogów na 0.9.1 zgodności wstecznej.
- Tworzenie symlinc z libgauche.so do libgauche-0.9.so kompatybilności wstecznej dla; rozszerzenia opracowane przez 0,9 odnosi się do libgauche.so, a oni muszą działać po zainstalowaniu wersji 0.9.1.
- Zmienione katalog instalacyjny biblioteki z $ {datadir} / gauche do $ {datadir} / gauche - $ {ABI_VERSION}. Jest to również dla theconsistency z bibliotek zależnych od architektury.
- kludge do pracy gauche-package podczas badania bez zainstalowanego Gauche.
Co nowego w wersji 0.9:
- Nowy moduł: rfc.zlib: Zlib kompresji / dekompresji.
- Nowy moduł: rfc.sha: wsparcie SHA2. rfc.sha1 jest zastąpione przez ten moduł.
- Moduł Nowy: util.sparse: Rzadkie wektory wspierane przez oszczędzającego trie i tablice haszowe realizowane na szczycie nielicznych wektorów. Są pamięci efektywne niż przy WBUDOWANE tabel hash chcesz zachować dziesiątki milionów wpisów.
- Autoprovide: Już nie musisz "zapewnić" formularz dla większości razy. Jeśli (wymaga & quot; X & quot;) z powodzeniem ładuje X.scm i nie mają formę dostarczenia, funkcji & quot; X & quot; jest dostarczany automatycznie. Zobacz & quot; Wymagaj i zapewniają & quot; punkt odniesienia dla więcej szczegółów.
- Moduł gauche.test: Poprawa testy wyjątki. Możesz teraz sprawdzić, czy specyficzny rodzaj stanu jest wyrzucane przez podanie (badanie stanu błędów typu), jak oczekiwanego rezultatu. Zobacz ręcznego wprowadzania więcej szczegółów.
- Moduł rfc.http: Teraz obsługuje proxy przez: proxy kluczowego argumentu. Można również łatwo komponować application / x-www-form-urlencoded i komunikat wieloczęściowy / form-data, aby wysłać parametry formularza. Nowe procedury:. Http-http-put i usuwanie
- rfc.mime Moduł:. Dodano obsługę tworzenia wiadomości MIME
- gauche.threads modułu: Nowe procedury:.-Stop !, nitki wątku cd !, Stan wątku
- gauche.termios modułu: W systemie Windows natywnej obsłudze, moduł ten zapewnia konsoli systemu Windows API zamiast POSIX termios API, od emulationg termios POSIX w systemie Windows jest zbyt wiele. Dodaje się również zestaw wspólnego wysokiego poziomu API, które można wykorzystać zarówno POSIX i Windows.
- Moduł gauche.dictionary zapewnia dwukierunkową mapę, & # x3c; & # x3e bimap;.
- Uruchom-proces w module gauche.process i wbudowanych sys-exec i sys-i-widelec exec wsparcia:. Hasło katalog argumentów, aby określić katalog roboczy wykonywanego procesu
- Moduł file.util zapewnia stworzyć drzewo-katalog i check-drzewa katalogów.
- Moduł gauche.net zapewnia operacje niskiego poziomu gniazda: Gniazdo-sendmsg, Gniazdo buildmsg, i gniazdo-ioctl. Call-z-client-gniazdo ma nowych args słów kluczowych, aby określić tryb buforowania dla gniazda.
- Moduł www.cgi. Cgi-main przełącza tryb buforowania stderr do linii, tak aby dziennik httpd może rejestrować komunikaty o błędach linia po linii (o wiele mniej bałaganu niż wcześniej)
Komentarze nie znaleziono