TXR is een open source command-line en multi-platform command-line software geschreven in C en Lisp programmeertaal, met behulp van Flex en Bison aan ontwikkelaars met een nieuwe data munging programmeertaal te bieden.
De software kan ook fungeren als een tekstverwerking programma dat kan evenaren tekst en extract stukken uit, en het & rsquo; s in staat het uitvoeren van het ruwe bindingen die het verzamelt uit de tekst bestanden in een template-gedreven rapport
Kenmerken in een oogopslag
De belangrijkste kenmerken zijn ondersteuning voor patroon dat overeenkomt met regexp (reguliere expressies), garbage collection, exception handling, quasiliterals, UNIX signaalverwerking, Bignum gehele getallen, genaamd blokken, quasiquotes, symbolen, vectoren, lexicale sluitingen, lijsten (lui en enthousiast) , standaard strijkers en lui strijkers, niet-lokale en dynamische controle transfers, structurele macro's die destructurering argument lijsten bevatten, evenals moderne tekst hanteren.
Daarnaast is de software ondersteunt lexicaal en dynamisch scoped variabelen, verschillende soorten stromen, UTF-8 en Unicode coderingen, lexicaal en wereldwijde scoped symbool en functie-achtige macro's en hash tabellen met trage definities voor waarden en sleutel, of voor reguliere expressies die geavanceerde operators zoals verschil aanvullen en kruising bevatten.
Een ander interessant kenmerk is de mogelijkheid om verschillende manieren voor het maken inbreng hanteren impliciet, door een recursieve geneste pattern matching notatie die variabelen kunnen binden. De software wordt beïnvloed door vele programmeertalen, waaronder Python, Common Lisp, Ruby, POSIX Shell, Scheme, S-Lang, Awk, Prolog, M4, Arc en Clojure.
Een cross-platform en draagbare software
TXR is een cross-platform en draagbare software die is met succes getest onder de GNU / Linux (Ubuntu / Debian), BSD (FreeBSD / NetBSD), Solaris, Windows via Cygwin, MinGW, evenals Mac OS X besturingssystemen. Zowel 64-bit en 32-bit instructieset architecturen worden ondersteund op dit moment.
Voor uw gemak, de applicatie is beschikbaar voor download als een universele bron archief, installeren op een GNU / Linux of BSD-distributies, evenals pre-gebouwde binaire pakketten voor de Debian, Ubuntu, Solaris, Windows en Mac OS X-besturingssystemen
Wat is nieuw in deze release:.
- Features:
- Nieuwe anaforische macro IFA en conda.
- Nieuwe functie, synoniem van echte. Nuttig expressieve met anaforische IFA.
- Bugs:
- -gelijk gebaseerde hash-functie is verbeterd zodat lijst en vector permutaties niet botsen op dezelfde waarde.
- cat-str functie detecteert overflow in de berekening van de totale lengte van de string toe te wijzen, en gooit een uitzondering.
- Vast verwaarloosd null beëindiging mkstring functie.
- Vast garbage collector crash geïntroduceerd in TXR 108, toen doorkruisen syntax_tree lid van de parser_t structuur.
Wat is nieuw in versie 107:
- Features:
- Verandering in de vertegenwoordiging van de belofte objecten. De kracht functie detecteert nu recursie en gooit een fout.
- Nieuwe mlet macro:. een stap verder letrec schema's
- Een triviaal optimalisatie in de keywordp functie meer dan een verdubbeling van de interpretatie snelheid van TXR Lisp.
- Bugs:
- Vast regressie in de garbage collector geïntroduceerd in oktober 2014, TXR 100. Dit zou leiden weggelopen geheugen groei, als gevolg van de garbage collector onnodige nieuwe afvalbergen.
Wat is nieuw in versie 104:
- Features:
- Symbol macro's worden nu overschaduwd door lexicaal scoped functies, wanneer verwezen vanuit de binnenkant van een vorm die het Lisp-1 semantiek (een tussen haakjes vorm [], een vorm op basis van de op familie van de exploitanten, of expliciete gebruik van de dwim gebruikt operator).
- Nieuwe functie, af te breken.
- TXR nu niet abnormaal beëindigen (afbreken) op onverwerkte uitzonderingen, maar alleen eindigt zonder succes. Dit zorgt voor een betere ervaring op het MinGW-gebaseerde Windows doel, waar we een vervelend dialoogvenster op Afbreken.
- Nieuwe * uhandled-hook * variabele kan worden gebruikt om een door de gebruiker gedefinieerde functie die wordt aangeroepen wanneer een niet-afgehandelde uitzondering voordoet registreren.
- Nieuwe rekenkundige functie, trunc-rem.
- Als de genummerde argumenten van de gedeeltelijke toepassing onder de op familie van de operatoren worden geïnterpoleerd in een string quasiliteral, modifiers kunnen nu worden toegepast. Bijvoorbeeld (op prinl `@ {1 20} @ {2}` 20) geeft een functie die de twee argumenten twintig tekens brede velden gescheiden door een spatie drukt.
- Verbeteringen in Windows Installer: verminderde uitzending vertraging in registerting omgevingsvariabele. Verbeterde berichten op dit gebied.
- Een TXR-win.exe kan nu worden gebouwd, die vermijdt het creëren van een console venster. Dit is inbegrepen in de installer.
- Bugs:
- Fixed bug in quasiliteral reeks evaluatie TXR Lisp, in combinatie met op de argumenten zoals @ 1 @ 2, ... Wanneer een waarde geïnterpoleerd uit een van deze argumenten leek een vorm, was het ten onrechte aan recursieve verwerking onderwerp en variabele substitutie alsof het een deel van de quasiliteral doel syntax.
- Vast een ernstige fout in de op macro en alle aanverwante operators zoals te doen en ap, bij de behandeling van situaties met ontbrekende argument nummers was gebroken: zoals wanneer @ 3 wordt verwezen, maar niet @ 1 of @ 2 (die moet genereren een functie van ten minste drie argumenten, die voorbij de eerste twee). Deze belangrijke functie werd ontdekt volkomen gebroken te zijn.
- Fix in interne representatie van uitzonderingen: (throw 'x & quot; foo & quot;) is nu hetzelfde als (throwf x & quot; foo & quot;) .
Wat is nieuw in versie 100:
- Features:
- Nieuwe functies: chr-ISBLANK en chr-isunisp
- Nieuwe generieke minder en meer functies, die ook worden gebruikt als standaard functies sorteren, vind-max, max-pos, en anderen.
- Nieuwe richtlijnen @ (lijn) en @ (chr) voor het binden of beweren de huidige regel nummer of karakter positie.
- Lisp uitdrukkingen toegestaan aan de linkerkant van @ (bind) en @ (rebind) nu.
- Nieuwe functie lcm (laagste gemene veelvoud).
- De GGD functie heeft nu nul of meer argumenten in plaats van precies twee.
- Nieuwe @ (inbegrepen) voor parse-time laden van de code, handig voor het laden van macro's die later in hetzelfde bestand nodig zijn.
- Het begin van de bibliotheek buiten TXR uitvoerbaar. macro TXR-als, TXR-wanneer en TXR-bind voor meer gemakkelijke toegang terug in het patroon taal TXR Lisp
- Nieuwe combinator functie notf voor negatie van een functie.
- Bugs:
- Vast december 2011 regressie invloed @ (freeform) richtlijn.
- Vast GC-veiligheid bug in abs-path-p-functie.
- Vast breuk in de scanner en parser geïntroduceerd in augustus. Betrapt door C ++ compiler.
- Vast ongepast gedrukte weergave van de lijst objecten die door geïnterpoleerde TXR Lisp uitdrukkingen in @ (output) blokken, en in de quasiliterals van het patroon taal. (TXR Lisp quasiliterals niet beïnvloed.) Gebruikers die afhankelijk zijn van het oude gedrag niet te willen lossen hun programma's kunnen --compat 99 gebruiken.
- Bugfix in de ggd en lognot functies:. verwaarlozen aantal Bignum resultaat naar het type Fixnum normaliseren
- Bugfix in @ (EOF) richtlijn:. niet overeenkomen met het einde van interactieve streams
- Vast afbreken vanwege stelling gaat uit wanneer GC is uitgeschakeld en de reeks nieuwe generatie objecten loopt uit de ruimte. Dit kan gebeuren tijdens grote parseert.
- Vast parser stack overflow en inefficiënties bij het hanteren van grote TXR programma's.
- Bugfix in match_fun waardoor het geheugen toegangen tot automatische opslag die is uitgebracht, evenals een ongeldig longjmp.
- Hash tafel reorganisatie wordt voorkomen tijdens hash tafel traversal, zodat bestaande items worden niet overgeslagen of twee keer bezocht.
Wat is nieuw in versie 99:
- Features:
- Variabelen in het patroon taal kan worden gebonden aan reguliere expressies, in welk geval zij presteren regex wedstrijden, wanneer vergeleken met ingang.
- Vertegenwoordiging voor gecompileerde reguliere expressies wordt gestroomlijnd.
- Regex objecten nu afdrukken in regex notatie.
- Bugs:
- Vast 11 augustus regressie die 96 tot 98:. gebroken matching van ongebonden variabelen gevolgd door gebonden variabelen
- Vast nog een probleem met andf functie:. (Linate) niet terugkeren t
Wat is nieuw in versie 97.
- Een paar-GC-gerelateerde fixes na code review
- Vast @ (belasting), gebroken in TXR 94.
- Fixed gebroken @ {var mod} syntax Lisp quasiliterals, gebroken in TXR 96.
Wat is nieuw in versie 80:
- Features:
- TXR nu netjes behandelt null tekens tekst stroom ingangen. Ze zijn intern gecodeerd met de Unicode-waarde U + DC00, die terug zal toewijzen aan een enkele null byte aan de uitgang (dat wezen bestaande gedrag).
- TXR heeft nu Lisp macro's: de defmacro exploitant wordt uitgevoerd, met destructurering lambda-lijsten en alle .
- Nieuwe exploitanten boom binden en boom-case voor patroon binding vergelijkbaar met Common Lisp's destructurering. Deze lift mee van de defmacro infrastructuur die we nu hebben.
- Big verbetering debuggability:. de niet-verwerkte uitzondering foutmelding geeft nu de broncode van locatie-informatie
- Nieuwe functies pos, pos-als, posq, posql en posqual voor het vinden van post posities in sequenties.
- Predikaat functie is nu optioneel in sommige, alle en geen functies.
- hash-uni en hash-ISEC functies nemen een join-func argument waarmee u aangeven hoe elementen uit twee tabellen worden samengevoegd.
- nieuwe hash tabelfuncties inhash en hash update-1.
- twee hashes kan nu worden getest voor diepe gelijkheid gebruik gelijk.
- Bugs:
- Verwijderd nep optimalisatie van hash tabel implementatie.
- Syntactische fix: ingang als 1.0a niet langer ontleedt als een floating-point getal, gevolgd door een symbool, maar wordt gediagnosticeerd als een fout. Syntax zoals 123a blijft als voorheen werken. Het geeft een symbool, niet 123 gevolgd door een
- Bugfix in type cheque voor & quot; cobj & quot; klasse objecten die zou crashen als ze niet opgehoopt waarden zoals Fixnum gehele getallen.
- Gecorrigeerd problemen in de code lopen en uitbreiding van de lambda en defun vormen.
- Vast niet lijnnummer info voortplanten door de abstracte syntax van de string quasiliterals.
- Doc bugs. ontbrekende beschrijvingen van gethash en Gensym
Wat is nieuw in versie 79:
- Features:
- Nieuwe functies kam, perm, rcomp en rperm voor de berekening van het herhalen en niet-repeterende combinaties en permuations sequenties (lijsten, vectoren en strijkers). Hashes worden ondersteund door kam functie.
- Bugs:
- Harden van de code voor de behandeling van overmatig grote vectoren.
- Bugfix in quasistring behandeling in TXR Lisp.
- Bugfix in als functie (niet als operator).
Wat is nieuw in versie 78:
- Verbeteringen in de toepassing functie, te verminderen-links, en het verminderen -recht, en verbeterde ontwerp en implementatie van de optionele argumenten.
- Lijsten, vectoren en strings zijn nu over het algemeen de functie-callable, niet alleen onder de dwim operator. Enkele nieuwe functies toegevoegd.
- Insecten in de do exploitant zijn vastgesteld, samen met enkele andere problemen.
Wat is nieuw in versie 77:
- Features:
- Meer gestroomlijnde parser met minder hacks, en minder obscure gevallen die niet werken.
- @ 'expr syntax werkt nu zoals verwacht in de richtlijnen voor het evalueren geciteerd TXR Lisp uitdrukkingen.
- In geneste gebruik van de do en op exploitanten TXR Lisp er nu een manier om naar het buitenste parameters uit de binnenste nestings behulp verergerd meta syntaxis (op (op @ 1@@1)), waarbij @ 1 is 1 argument van de functie aangeduid met binnenste op en@@1 is argument 1 van de buitenste functie. Elke extra @ & quot; ontsnapt & quot; op een niveau van nesten van de op syntax.
- Nieuwe update en hash-updatefuncties.
- De interfaces van te verminderen naar links en rechts te verminderen functies is verbeterd, waardoor ze gemakkelijker te gebruiken, terwijl het meestal behoud achterwaartse compatibiliteit.
- Nieuwe functies verwijderen-pad en hernoem-pad voor het verwijderen en hernoemen van bestandssysteem objecten.
- aaneengeschakelde stromen, eerder een interne functie, worden nu blootgesteld via de functie-make-stream aan gezet.
- Scope wijziging van de regel voor de uitdrukkingen die standaard intialization voor optionele argumenten. Deze eexpressions hebben nu de parameters in omvang, en dus nu gebruikt als (lambda (x: (y (lengte x))) ...) zijn mogelijk wanneer y wordt geïnitialiseerd met (lengte x) als het argument niet wordt geleverd. Voorheen parameter x niet zou zijn geacht reikwijdte van de uitdrukking (lengte x).
- Bugs:
- Vast verwaarloosd afhandeling van resultaat vorm dohash syntax.
- In het object printer, de afhandeling van de syntaxis zoals @ (sys: var x ...). negeerde eventuele extra ... formulieren en renderen alsx
- Fixed mogelijke race condition in de staart stromen, waarbij wanneer een bestand draait, de stroom voortijdig volgt het nieuwe bestand, verwaarlozing om het laatste stuk materiaal net toegevoegd aan het vorige bestand te lezen.
Wat is nieuw in versie 76:
- Features:
- Nieuwe tijd functies:. time-velden-lokaal en time-velden-GMT voor het verkrijgen van kapotte tijd van Epoch seconden
- Nieuwe groep-by functie voor het construeren van een hash uit een lijst als de lijst elementen kunnen worden verdeeld in equivalentie klassen gebonden aan toetsen, in plaats van individueel behandeld.
- ingrijpende veranderingen in TXR lijst om vectoren en strings te manipuleren in veel situaties alsof lijsten. Functies zoals auto, cdr en mapcar werk op strings en vectoren.
- Nieuwe command line opties -e en -p voor het evalueren TXR Lisp uitdrukkingen gemakkelijker vanaf de opdrachtregel.
- De en of en wanneer speciale operators zijn nu ook beschikbaar als functies, zodat ze kunnen worden indirected op functioneel.
- Nieuwe functies conses en conses *, handig voor het itereren over een lijst vergelijkbaar met Common Lisp's maplist functie.
- Nieuwe doen operator (die niets met @ (doen) richtlijn), vergelijkbaar met op, maar gericht op het doen van dingen noodzakelijk een speciale operators.
- Bugs:
- @ (vereist ...) richtlijn was niet haar vormen de uitbreiding voorafgaand aan de evaluatie.
Wat is nieuw in versie 75:
- Features:
- Twee nieuwe stroom functies: unget-char en unget-byte. Sommige streams ondersteunen nu ungetting een byte of karakter, die een flagrante omissie in de API was, zonder welke een aantal gemeenschappelijke scantaken zijn onhandig.
- TXR Lisp functies met optionele parameters kunnen nu uitdrukkingen op deze argumenten waarden wanneer de argumenten ontbreken geven op te geven.
- Nieuwe exploitanten in TXR Lisp. append-elkaar en voeg-each *
- Verandering in het Lisp structuur printer. De speciale structuur die door de lees- syntaxsym en @ (...) drukt nu weer op dezelfde syntax en niet als (sys: var sym) en (sys: expr ...).
- Bugs:
- Fix in put-byte-functie: voor het inroepen van de onderliggende operatie werd testen of de put-char operatie bestaat voor de stroom, in plaats van de put-byte operatie. Dit zou resulteren in een crash als de stroom ondersteunt put-char, maar niet put-byte.
- Fout in de berekening bitmasks voor regex karakter klasse bereiken, wat resulteert in verkeerde gedrag voor reeksen waarvan het bovenste bereik is een karakter code die overeenkomt met het laatste stukje van een woord in het bitmasker array, bijvoorbeeld [A- x7f], waardoor fouten tot 32 of meer tekens overeenkomen in het boveneinde van het bereik.
- Ontbrekende documentatie ingevuld voor de functies te gooien, throwf and error.
Wat is nieuw in versie 74:
- Features:
- Maintenance. bouwt voort op Cygwin, MinGW en Mac OS X 10.7.3
- Nieuwe wiskundige functies:. n-kies-k, n-perm-k, cum-norm-dist
- lisp-parse functie omgedoopt lezen; oude naam is verouderd.
- In de TXR patroon taal, de @ ontsnappen kan nu een niet-samengestelde TXR Lisp expressie ook evalueren. Eerder verbindingen zoals @ (1 + 1) werden ondersteund, maar atomen alsfoo niet.
- Bugs:
- Kleine fix in hoe exponent gebied van gedrukte floating point waarden zijn genormaliseerd. Op alle platforms, zijn er nu geen leidende nullen na de 'e'.
Wat is nieuw in versie 73:
- Features:
- De nieuwe lisp-parse functie scant TXR Lisp uitdrukkingen in run-time-out van strijkers en beken, wat betekent dat TXR kan nu gemakkelijker persistent, complexe gegevens in tekstbestanden te houden.
- Bugs:
- Vast signaal-handling-gerelateerde prestaties probleem veroorzaakt door overmatige oproepen naar de sigprocmask functie.
Wat is nieuw in versie 72:
- Features:
- Syslog-functionaliteit: openlog, closelog, syslog, setlogmask. Plus:. De * stdlog * stroom voor het rechtstreeks aanmelden bij syslog
- Stroom eigenschappen.
- logand en logior functies worden variadic.
- Signal hanteren ondersteuning. TXR Lisp code kan POSIX signalen op te vangen.
- Syntax veranderingen op het gebied van symboolnamen. Pakket voorvoegsels worden nu ondersteund, zoals foo. Bar (symbool bar in pakket foo)
- Bugs:
- Nonsensical fout diagnostiek in intern en delete-pakket, in het geval dat een pakket niet bestaat.
- defvar is nu gedocumenteerd en gedraagt zich meer op dezelfde wijze als de Common Lisp defvar.
- zoek-stroom met een nul-offset is de rapportage van de huidige verschuiving plaats van het zoeken, ongeacht de waarde van de waar argument.
Wat is nieuw in versie 67:
- Het klein onderhoud versie voegt een aantal nieuwe functies en een nieuwe richtlijn .
Wat is nieuw in versie 66:
- Deze versie voegt veel nieuwe functies, bugfixes, en de voltooiing van de referentie handleiding.
Wat is nieuw in versie 65:
- heeft Deze versie geport naar OS X, FreeBSD, en NetBSD, ondersteunt een aantal populaire regex tokens, onthult de reguliere expressie compiler als een functie (waarmee programma's op te bouwen en te gebruiken reguliere expressie syntax bomen), biedt nieuwe manieren iteratie dan hash tafels met luie lijsten, voegt enige tijd functies, verbetert het zaaien van PRNG en lost een bug in verband met het argument verwerking in @ (volgende) richtlijn.
Wat is nieuw in versie 62:
- Floating point ondersteuning is ingevoerd, waardoor TXR meer zijn geschikt voor wetenschappelijke gegevens vervormen, waardoor dit een belangrijke mijlpaal.
- Een aantal nieuwe functionele combinatoren zijn toegevoegd.
- Er is een kleine verfijning in URL / procent encoding / decoding.
- Een showstopper bug in recent geïntroduceerde quicksort routine is gerepareerd, waardoor vector / strijkorkest sorteren.
Wat is nieuw in versie 059.
- Dit is een bugfix vrijgave
Wat is nieuw in versie 058.
- TXR programma's kunnen nu worden opgesplitst in modules
- Embedded TXR Lisp kan nu bellen terug in het patroon taal.
- Exception handling is nu blootgesteld in TXR Lisp.
- Optionele argumenten worden ondersteund in TXR Lisp functies.
- De schrap variabele substitutie syntax van de productie is uitgebreid tot willekeurige uitingen doen, en de indexering notatie is nu generiek dan vectoren en strings.
- Minder specifieke sequentie functies toegevoegd aan de bibliotheek, zoals een generieke soort.
- Er is een nieuwe del operator voor het verwijderen van sequentie-elementen / reeksen en hash elementen aangeduid door de syntax beugel.
Wat is nieuw in versie 057:
- & quot; Freeform & quot; scannen (behandeling van een willekeurig formaat rest van de input als één grote string) is nu mogelijk in een constante herinnering.
- Insecten in hex en octale karakter constanten, de indeling functie, en afdrukken van de string objecten werden vastgesteld.
Wat is nieuw in versie 056:
- Deze versie fixes onjuiste UTF-8 decodering van een geldig teken range, en sluit de veiligheid vraagstukken in verband met UTF-8 decoderen en re-codering.
- Een regressie dat brak berekend veld breedtes in versie 55 is vastgesteld.
- Hex en octaal ontsnapt in letterlijke tekenreeksen en quasiliterals zijn nu erkend als de documentatie zegt.
- De [...] notatie heeft nu de evaluatie semantiek voor symbolische argumenten die als Lisp-1.
- Een operator heet op is geïntroduceerd voor het schrijven van eenvoudige lambda met een Curry syntax met genummerde en impliciete argumenten.
Wat is nieuw in versie 055:
- Deze versie introduceert een nieuw plein beugel syntax dat een intuïtieve presteert operatie op basis van de aard van het eerste object.
- Het biedt Lisp-1 stijl oproepen tot functies (geen oproep operator) en de vele indexeren en snijden voor lijsten, vectoren, strijkers en hashes.
- geïndexeerd elementen en plakjes zijn toewijsbaar.
- indexeren en snijden kan worden gebruikt in de productie template taal en in string quasiliterals.
Wat is nieuw in versie 054.
- De belangrijkste verbetering in dit persbericht hebben betrekking op de debugger
- Het is nu mogelijk om de stap naar, over, of uit uitdrukkingen, en je ziet een complete omgeving en backtraces.
- Een luie versie van & quot; toevoegen & quot; is toegevoegd aan de embedded Lisp.
Wat is nieuw in versie 053:
- Nieuwe functies en operatoren werden opgenomen in het Lisp dialect voor luie lijst verwerking en parallel iteratie.
- Variabele substituties in output en quasiliterals kunnen hebben berekend veld breedtes.
- Een showstopper bug in de evaluatie van de ingebouwde globale variabelen werd vastgesteld.
Wat is nieuw in versie 052:
- Deze versie voegt een nieuwe richtlijn fuzz voor onvolmaakte wedstrijden over een reeks lijnen vergelijkbaar met de context fuzz regel in de pleister hulpprogramma.
- Het is verzamelen richtlijn is uitgebreid met een optionele totdat / laatste clausule aan haar assortiment te beperken.
- Nieuwe mod en modlast richtlijnen herhalen / rep opgeven alternatief uitvoer wanneer de herhaalde telling is gelijk aan wat n modulo m.
- repeat / rep neem een argument dat een variabele die het aantal herhalingen houdt draagt.
- Een Gensym functie is toegevoegd aan TXR Lisp.
- Bugfixes zijn gemaakt.
Wat is nieuw in versie 051:
- Deze versie vast een aantal bugs, waaronder een showstopper in Bignum integers op 32-bits platforms.
- Er zijn verbeteringen op het gebied van pseudo-random number generatie en lui lijst verwerken.
Wat is nieuw in versie 050.
- Deze versie bevat een aantal kritische bugfixes
- Er is een aantal nieuwe functies, waaronder een nieuwe API voor het pseudo-random-number generatie.
- Meer documentatie is geschreven.
Wat is nieuw in versie 049.
- Eerste snede horizontale match functies
Wat is nieuw in versie 048:
- Deze versie fixes draagbaarheid bugs in het MPI bibliotheek leiden tot onjuiste Bignum resultaten en crashes.
- Het voegt nieuwe functies:. expt, exptmod, sqrt, numberp, evenp, oddp, abs, ggd, verminderen links, en het verminderen van rechts
Wat is nieuw in versie 047.
- Bignum rekenkunde is nu geïntegreerd in de taal
- Overflow in Word-formaat (Fixnum) integers transparant produceert bignums.
- functies zijn toegevoegd in Lisp dialect voor het karakter van manipulatie, vectoren en vereniging lijsten.
- Nieuwe speciale operators zijn toegevoegd:. progn en flip
- Een impliciet genoemd blok in defun lichamen, en een impliciete anonieme blok voor lussen.
- Minor bugfixes.
Wat is nieuw in versie 045:
- Deze versie voegt veel nieuwe functies in Lisp dialect, en bugfixes .
Wat is nieuw in versie 042.
- TXR kunnen nu ontleden grammatica, dankzij de horizontale functies
- Een breekpunt / stap debugger is toegevoegd.
- Er zijn nieuwe manieren van het vastleggen van tekst variabelen, bugfixes (met inbegrip van degenen die de stabiliteit), en een Vim syntax highlighting bestand.
Wat is nieuw in versie 040.
- Een kleine semantiek verandering
- Een belangrijk GC bugfix die sommige platformen.
- herwerkt voor betere prestaties en onderhoudbaarheid.
- Native (non-Cygwin) Win32-poort.
Wat is nieuw in versie 039.
- geport naar Cygwin
- Belangrijke bugfixes.
- Een aantal nieuwe functies.
Wat is nieuw in versie 037:
- Een filter syntax voor variabelvervanging, door de gebruiker gedefinieerde filters, semantische kleine tweaks en bugfixes.
Wat is nieuw in versie 035:
- Fixed the-gc-gerelateerde bug en een regressie bug in de basis vraag logica.
Wat is nieuw in versie 033:
- Sinds versie 028, er zijn een paar GC fixes geweest , een bos van regex werk. Check it out!
Wat is nieuw in versie 019:
- Er is een nieuwe freeform richtlijn voor ongestructureerde matching over meerdere lijnen .
- Variabelen kunnen worden tot reguliere expressies gebonden en gebruikt voor matching.
Wat is nieuw in versie 018:
- Belangrijke bugfixes werden gemaakt .
- De @ (overslaan) richtlijn werd ontdekt niet te worden waardoor de juiste lijn langs het materiaal dat afgestemd is, waardoor de daaropvolgende vraag formulieren te gaan over hetzelfde materiaal.
- Een regressie in @ (verzamel) werd gevonden: looping oneindig in het geval dat het verzamelen lichaam slaagt zonder iets bijpassende (en levert dezelfde wedstrijd positie); Nu beweegt door een regel in die situatie.
Wat is nieuw in versie 017:
- Een bug in uitzondering subtype definitie (defex) werd vastgesteld.
- Een staartrecursie optimalisatie werd gedaan in de garbage collector.
- De -f optie werd toegevoegd voor het opgeven van een query-bestand, waardoor er meer mogelijkheden om te volgen.
- Meer documentatie over uitzonderingen werd geschreven.
Wat is nieuw in versie 016:
- Een richtlijn worp voor de gebruiker uitzonderingen en door de gebruiker gedefinieerde hiërarchische uitzondering types (subtype-supertype uitzonderingen).
- Catch clausules kunnen nu parameters, en gooi passeert argumenten te halen.
- De opdrachtregel optie -f werd omgedoopt tot -c.
Wat is nieuw in versie 014.
- Vragen kunnen nu functies definiëren
- Functies kunnen nestelen en recurse.
- definities hebben dynamisch bereik.
- Een nieuwe & quot; gevallen & quot; richtlijn is toegevoegd, die is als & quot; sommigen & quot; maar met kortsluiting semantiek. Dit is handig voor het regelen van de functie recursies.
- String literals zijn toegevoegd aan de syntax.
- De argumenten in de functie gesprekken kunnen letterlijke tekenreeksen.
- Er zijn enkele kleine bugfixes.
Wat is nieuw in versie 013.
- Enkele kleine garbage collection problemen vast
- Infinite looping bug opgelost.
- Nieuwe @ (trailer) richtlijn.
- extract.y (match_files):. geïmplementeerd richtlijn trailer
- extract.l (versie):. Bump tot 013
- lib.h (trailer): Verklaring toegevoegd .
- lib.c (trailer): Externe definitie toegevoegd .
- (obj_init): Initializer aanhanger met geïnterneerd symbool .
- txr.1:. gedocumenteerde @ (trailer) en stootte versie 013
Reacties niet gevonden