12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602 |
- 2019-08-31 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewriteFormals): Change type of #!rest argument
- to LList, instead of arglist, which means the argument is a mutable
- list if there are no keywords. This fixes GitLab issue #57
- "SRFI 1 circular-list problem".
- 2019-05-13 Per Bothner <per@bothner.com>
- * repl.java (printOption): Use a StringBuilder to reduce print calls.
- 2019-02-24 Per Bothner <per@bothner.com>
- * lang/SyntaxPattern.java (<init>): Check for null filename.
- 2019-01-18 Per Bothner <per@bothner.com>
- * repl.java: Update Copyright year printed by --version.
- 2018-12-31 Per Bothner <per@bothner.com>
- * Shell.java: Use new Compilation.maxErrors option.
- 2018-12-16 Per Bothner <per@bothner.com>
- * standard/IfFeature.java: Generalize "java-NN" core feature.
- Also make sure to intern strings.
- 2018-09-21 Per Bothner <per@bothner.com>
- * Shell.java (run): Handle new TtyInPort.MoreInputNeeded exception.
- 2018-09-07 Per Bothner <per@bothner.com>
- * standard/module_compile_options.java: Make more robust.
- 2018-07-31 Per Bothner <per@bothner.com>
- * standard/set_b.java (rewriteForm): Kludge to treat as re-definition.
- This fixes GitLab issue #44 "JVM crash on untrace from REPL (only)".
- 2018-04-30 Per Bothner <per@bothner.com>
- * langserver/KawaLanguageServer.java (definition): Improve.
- * langserver/KawaLanguageServer.java (doLint): Push/restore language.
- This works better for supporting multiple languages.
- 2018-04-13 Per Bothner <per@bothner.com>
- * lang/Translator.java (checkDefaultBinding):
- Better error recover after "unknown entity name".
- 2018-04-12 Per Bothner <per@bothner.com>
- * repl.java: Update copyright year for --version.
- 2018-02-18 Per Bothner <per@bothner.com>
- * standard/require.java (importDefinitions): Add check for ERROR_SEEN
- when deciding whether to re-parse. This fixes GitLab issue #37
- "No matching syntax-rule breaks the reader".
- 2018-01-21 Per Bothner <per@bothner.com>
- * DomTermBackend.java (run): Only set automatic-newline for output.
- 2017-12-04 Per Bothner <per@bothner.com>
- * lang/Translator.java (checkDefaultBinding):
- Use new method LispLanguage.decodeArrayType.
- 2017-09-24 Per Bothner <per@bothner.com>
- Partial fix GitLab issue#19 "(import (except (srfi 1) make-list)) fails"
- * ImportFromLibrary.java (ImportSetMapper.map): If 'except' specifies
- an unknown variable, emit warning rather than error.
- 2017-09-01 Per Bothner <per@bothner.com>
- * repl.java (browseManual): rap with #ifdef for httpserver.
- This is to avoid link problems when the HttpServer is missing.
- 2017-08-31 Per Bothner <per@bothner.com>
- * ImportFromLibrary.java: Add classname mangling.
- * require.java (map): Likewise.
- 2017-08-28 Per Bothner <per@bothner.com>
- * DomTermBackend.java (close): Add work-around for jline.
- 2017-08-08 Per Bothner <per@bothner.com>
- * lang/Lambda.java: More correct and simpler line number setting.
- Use the generic position-setting code rather than specific logic.
- (rewriteForm): Remove override - don't call setLine here.
- (rewrite): Don't call setLine here either.
- 2017-08-05 Per Bothner <per@bothner.com>
- * lang/BindDecls.java: Set SKIP_FOR_METHOD_PARAMETER one more place.
- This lets avoids having to create a field for this declaration.
- 2017-08-03 Per Bothner <per@bothner.com>
- * lang/BindDecls.java: Fixes for patterns nested in repeat patterns.
- 2017-08-02 Per Bothner <per@bothner.com>
- * lang/BindDecls.java: Handle splice operator in list pattern.
- 2017-07-26 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewriteFormals): Change #!rest and empty #!key.
- If we see '#!key #!rest' disallow keywords in rest parameter
- even if there are no actual keyword parameters.
- 2017-07-20 Per Bothner <per@bothner.com>
- * lang/Lambda.java: Fix some problems in handling #!if guards,
- * lang/BindDecls.java (parsePatternCar): Don't decrement min_args here,
- 2017-07-16 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (libtaryExists): Improve.
- Use same code to search for a module as import does.
- This required some modest re-factoring and a new helper method.
- 2017-07-15 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (libraryExists): Search module manager.
- This fixes GitLab issues #13 'locally defined library not found by
- cond-expand?'.
- * lang/Translator.java (reqrite): Follow aliased for scan-nesting.
- * standard/IfFeature.java (isProvide): Check for null name.
- 2017-06-08 Per Bothner <per@bothner.com>
- * lang/Macro.java: Update for new position-range model.
- * lang/Translator.java: Likewise.
- * standard/fluid_let.java: Likewise.
- * lang/SyntaxForms.java (rewriteCar): New method.
- * standard/try_catch.java (write): Argument is now a Pair.
- 2017-05-14 Per Bothner <per@bothner.com>
- * lang/Translator.java: Fix handling of nested ellipsis.
- Also optimize to not use redundant parameters.
- * standard/Scan.java (rewrite): Update accordingly.
- 2017-05-12 Per Bothner <per@bothner.com>
- * lang/BindDecl.java: Fix scan pattern (ellipsis) with type specifier.
- 2017-04-19 Per Bothner <per@bothner.com>
- * kawa/Record.java (makeRecordType): Update mangling to symbolic.
- Also set classfile-version.
- 2017-04-15 Per Bothner <per@bothner.com>
- * lang/Lambda.java: Fix hygiene handling.
- (class LambdaBindDecls): New class, extends BindDecls.
- * lang/TemplateScope.java: Commented-out possible-future hygiene idea.
- Use alias symbols instead of alias declarations.
- 2017-03-21 Per Bothner <per@bothner.com>
- * standard/expt.java: Moved to gnu.kawa.functions.Expt.
- 2017-03-20 Per Bothner <per@bothner.com>
- * lang/Translator.java (resolveModule): Pop DeclSetMapper
- when handing pendingImports.
- * standard/require.java: Pass DeclSetMapper to pushPendingImport.
- 2017-03-10 Per Bothner <per@bothner.com>
- * lang/SyntaxTemplate.java (get_var): Avoid exception on bad ellipsis.
- In the case of inconsistent ellipsis length, report an error
- rather than throwing a NullPointerException.
- 2017-03-01 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java: Fix computation of "current root".
- Use current library source path reather than current position,
- which might be in an included file.
- 2017-01-26 Per Bothner <per@bothner.com>
- * repl.java (browseManual): Default to index.html.
- 2017-02-24 Per Bothner <per@bothner.com>
- * DomTermBackend.java: Use org.domterm.DomHttpServer, rather
- than org.domterm.websocket.DomServer, as the latter requires
- the unmaintained (and slightly large) java_websocket library.
- 2017-02-07 Per Bothner <per@bothner.com>
- * DomTermBackend.java (setWindowSize): Fix inconsistent parameter order.
- 2017-01-21 Per Bothner <per@bothner.com>
- * lang/BindDecls.java (addCondition): Use special typeExp value
- for guards. Used by Declaration#isGuard.
- 2017-01-20 Per Bothner <per@bothner.com>
- * BindDecls.java: Handle literal patterns and #!if guards.
- * Lambda.java (parseFormals): Accept literals and #!if guards.
- 2017-01-10 Per Bothner <per@bothner.com>
- * repl.java: Move some logic for "-w" to ...
- * DomTermBackend.java: ... where we can use DomServer helper methods.
- 2017-01-06 Per Bothner <per@bothner.com>
- * standard/Scheme.java: Re-do just loadClass("kawa.lib.kawa.base").
- (nullEnvironment, r4Environment, r6Environment): Remove.
- (loadClass): New helper method.
- * standard/ImportFromLibrary.java (map): Allow compound
- symbols in only/except lists.
- * standard/define_member_alias.java: Remove broken Syntax.
- 2017-01-02 Per Bothner <per@bothner.com>
- * repl.java: Update copyright year.
- 2016-12-18 Per Bothner <per@bothner.com>
- * lang/Translator.java (resolveModule): Fix restore of line position.
- 2016-12-09 Per Bothner <per@bothner.com>
- * standard/Scheme.java: Update for classes from from gnu/kawa/slib.
- * standard/ImportFromLibrary.java: Update accordingly.
- * standard/require.java: Likewise.
- 2016-12-06 Per Bothner <per@bothner.com>
- * standard/requires.java (importDefinitions): Remove bogus semicolon.
- 2016-12-04 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite): Convert literal string to IString.
- 2016-11-27 Per Bothner <per@bothner.com>
- * standard/let.java (rewrite): Add a null test - just in case.
- 2016-11-07 Per Bothner <per@bothner.com>
- * repl.java (browseManual): Update path to browse-kawa-manual.
- 2016-11-06 Per Bothner <per@bothner.com>
- * DomTermBackend.java (class WebSocketServer): New class.
- A light wrapper around DomServer.
- (startDomTermConsole): New method for starting a DomTerm-based REPL.
- * repl.java (startGuiConsole): Add a lot more flexibility and options.
- (browseManual): New method, used by new --browse-manual option.
- 2016-09-21 Per Bothner <per@bothner.com>
- * repl.java (checkDomTerm): Also setDomTerm on system error.
- * DomTermBackend.java: Likewise.
- 2016-09-09 Per Bothner <per@bothner.com>
- * ReplPaneOutPort.java: Fix handling of Pictures etc to
- use new GenericFormat framework.
- 2016-09-07 Per Bothner <per@bothner.com>
- * Shell.java (run): Improve interrupt (ctrl-c) handling.
- 2016-09-03 Per Bothner <per@bothner.com>
- * standard/IfFeature.java (coreFeatures): Update for new Java 9
- versioning scheme.
- 2016-08-12 Per Bothner <per@bothner.com>
- * Shell.java: Change handling of output-consumer so we never
- change the OutPort itself. Instead we get a new new PrintConsumer.
- 2016-07-22 Per Bothner <per@bothner.com>
- * ReplPane.java (PaintableView.paint): Fix translation.
- 2016-07-01 Per Bothner <per@bothner.com>
- * Shell.java (defaultPrompter): New static instance of Prompter.
- (run): Use it.
- * standard/Scheme.java: Redefine define-prompter.
- * standard/ImportFromLibrary.java (scanImportSet): Support 'class'
- import set form for the default package (i.e. empty prefix).
- 2016-06-26 Per Bothner <per@bothner.com>
- * repl.java: For --http-start, print message with port number.
- 2016-06-25 Per Bothner <per@bothner.com>
- * repl.java: After --http-start wait for console input and exit.
- 2016-06-18 Per Bothner <per@bothner.com>
- * DomTermBackend.java (reportEvent): Minor update.
- 2016-06-17 Per Bothner <per@bothner.com>
- Improve handling of Ctrl-C (interrupt) and Ctrl-D (end-of-file).
- * DomTermBackend.java (reportEvent): New method.
- (run): Write end-of-file sequence to DomTerm.
- * Shell.java (class SigIntHandler): New class, implements Runnable.
- (run): Set up SIGINT handlers.
- 2016-06-16 Per Bothner <per@bothner.com>
- Add support for (re-)loading stylesheet under DomTerm.
- * DomTermBackend.java (loadStyleSheet): New static method.
- * standard/Scheme.java: Define domterm-load-stylesheet.
- 2016-06-14 Per Bothner <per@bothner.com>
- Pass windows size events from DomTem to JLine.
- * DomTermBackend.java (setWindowSize): Override.
- * repl.java (startJfxConsole): Change to set window title.
- New option to run a REPL in a JavaFX DomTerm window.
- * DomTermBackend.java: New class, extends org.domterm.Backend.
- It wraps a Kawa REPL.
- * repl.java (startJfxConsole): Use reflection to start DomTerm
- in a JavaFX WebEngine.
- * Shell.java (run): Unwrap InvocationTargetException.
- 2016-06-11 Per Bothner <per@bothner.com>
- * standard/Scheme.scm: Update input-prompt1 and input-prompt2.
- 2016-06-02 Per Bothner <per@bothner.com>
- * Shell.java (run): Add hook for using JLine.
- Change setting of prompt and newline handling.
- (class Prompter): New static member class.
- * standard/Scheme.java: Define input-prompt1 and input-prompt2.
- 2016-05-27 Per Bothner <per@bothner.com>
- * lang/Translator.java (checkDefaultBinding): Handle "arrayRANK".
- * standard/Scheme.java: Change bindings of "array" to the type.
- (formatType): Handle GenArrayType.
- 2016-05-07 Per Bothner <per@bothner.com>
- * lang/Translator.java (getCompletions): Tweak parameter type.
- 2016-04-09 Per Bothner <per@bothner.com>
- * lang/Macro.java:
- A ThisExp used for macro context in 'init-run is now a class name,
- rather than an instance.
- This fixes Savannah bug #46728 "java.lang.VerifyError when class
- that inherits another class is the same name as the file on kawa 2.1".
- 2016-03-11 Jamison Hope <jrh@theptrgroup.com>
- * GuiConsole.java (init): On MacOS (at least) the call to setVisible
- must be done on the event thread.
- 2016-03-10 Per Bothner <per@bothner.com>
- * standard/Scheme.java: Add a bunch of array procedures.
- * lang/Translator.java: Update to use ArrayList instead of Vector.
- 2016-02-24 Per Bothner <per@bothner.com>
- * lang/Translator.java: Support context-senstive completion.
- (rewrite): Look for matching completions.
- (getCompletions): New method.
- 2016-02-23 Per Bothner <per@bothner.com>
- * lang/SyntaxRules.java (<init>): Put scope pop in a finally clause.
- * lang/Lambda.java (rewrite_lambda): Likewise.
- * standard/let.java (rewrite): Likewise.
- 2016-02-14 Per Bothner <per@bothner.com>
- * repl.java: Update copyright year printed by --version.
- 2016-02-02 Per Bothner <per@bothner.com>
- * standard/define_autoload.java: Update readNestedComment invocation.
- 2016-01-31 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Add 'format-array' procedure.
- 2016-01-30 Per Bothner <per@bothner.com>
- * Shell.java (printError): Add a flush.
- 2016-01-28 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (scanImportSet): More precise
- error location if missing class.
- 2016-01-27 Per Bothner <per@bothner.com>
- * lang/Quote.java (append$V): Better handling if non-list argument.
- * lang/Translator.java (exp2Type): On error, return Type.errorType.
- 2016-01-26 Per Bothner <per@bothner.com>
- * Shell.java (run): We can simplify skipping to end-of-line,
- since parse does that.
- 2015-12-16 Per Bothner <per@bothner.com>
- * repl.java: Remove --domterm flag.
- Use CheckConsole.getDomTermVersionInfo instead,
- 2015-11-27 Per Bothner <per@bothner.com>
- * repl.java: Preliminary support for --domterm flag.
- 2015-10-24 Per Bothner <per@bothner.com>
- * standard/Scheme.java (getTypeMap): Add 'parameter'.
- 2015-10-13 Per Bothner <per@bothner.com>
- Clearer definition of "interactive mode". Better re-definition support.
- * lang/Eval.java (evalBody): Set module to be interactive
- if the environment is the interactive environment.
- * standard/require.java (importDefinition): Set module to be
- interactive if current module is interactive.
- 2015-10-12 Per Bothner <per@bothner.com>
- * standard/require.java (lookupModuleFromSourcePath): Don't resolve
- against baseName if latter is <string> or <eval>.
- * lang/Eval.java (evalForm$X): Use InPort.evalPathname.
- 2015-10-11 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java: Check for null sourcepath.
- * standard/Include.java: Likewise.
- 2015-10-10 Per Bothner <per@bothner.com>
- * Shell.java (checkCompiledZip): Use new Path#toFile.
- * standard/Include.java (process): Use new Path#isPlainFile.
- * standard/ImportFromLibrary.java (handleImport): Likewise.
- 2015-10-05 Per Bothner <per@bothner.com>
- * standard/require.java (importDefinitions): Remove unused local 'now'.
- * standard/ImportFromLibrary.java (handleImport):
- Don't add useless "./" prefix.
- Canonicalize path before calling findWithSourcePath.
- 2015-09-30 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (SRFI97Map): Add SRFI 37
- and name it "args-fold", even though it is not supported by SRFI 97.
- * standard/ImportFromLibrary.java: Use demangleSymbolic.
- 2015-09-29 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java: Allow class name, written as
- symbol containing dots, to be used as a library-reference in import.
- * lib/DefineRecordType.scm: Use new syntax.
- * standard/define.java: Add support for define-variable.
- This allows define-variable to have a type-specifier.
- * standard/define_variable.java: Remove, no longer used.
- * Makefile.am: Update accordingly.
- * lib/prim_syntax.scm: Add definition of 'define-variable'.
- * standard/Scheme.java: Update binding for 'define-variable'.
- * lib/kawa/base.scm: Likewise. Also add 'define-constant'.
- 2015-09-28 Per Bothner <per@bothner.com>
- * standard/define_variable.java (scanForDefinitions): Use
- Transaltor.define. This means the Declaration can be exported.
- It also allows some simplification.
- * lang/Translator.java (define): New convenience overload.
- * standard/ImportFromLibrary.java: Use it.
- Rewrite macro bodies lazily to beter handle forward references.
- * standard/define_syntax.java (scanForm): Don't rewrite the macro rule
- eagerly, as that doesn't handle forward references properly. Instead,
- do the rewrite lazily if the macro is used *or* later, at rewrite time.
- (rewriteForm): Do write if not done yet. Handle make call here.
- * lang/Macro.java (rewriteIfNeeded): New method.
- (expand): Call rewriteIfNeeded.
- * lang/SyntaxTemplate.java (convert_template): Only noteAccess for
- top-level macros.
- * lang/Translator.java (resolveModule): Move processAccesses after
- rewrites.
- 2015-09-24 Per Bothner <per@bothner.com>
- * standard/Include.java: Prevent require/import in included file from
- causing the parse to be pending.
- * lang/Translator.java: Require pendingForm to be null in addition to
- PROLOG_state be STATE before handling the former.
- This avoids being triggered by the above change to Include.
- * standard/module_name.java: Error if too-late module-name.
- * standard/ImportFromLibrary.java (SRFI97Map): Add SRFI 35
- and name it "conditions", even though it is not supported by SRFI 97.
- 2015-09-20 Per Bothner <per@bothner.com>
- Allow 'synchronized and 'strictfp as access flags for methods.
- * lang/Lambda.java (rewriteAttrs): Use object.addAccessFlags.
- * standard/object.java (addAccessFlags): Make public.
- (matchAccess1): Recognize "synchronized" and "strictfp".
- 2015-09-17 Per Bothner <per@bothner.com>
- Fix bug in class name mangling; modularize.
- * standard/define_library.java: Use new Compilation.mangleClassName.
- * standard/ImportFromLibrary.java: Likewise.
- * standard/module_name.java: Likewise.
- * standard/require.java: Add missing mangling from module to class name.
- 2015-07-17 Per Bothner <per@bothner.com>
- * lang/BindDecls.java (setInitializer): Use LetExp.IS_BODY_SCOPE.
- * lang/Translator.java (rewrite_body): Set IS_BODY_SCOPE.
- 2015-07-15 Per Bothner <per@bothner.com>
- * standard/module_static.java: Complain if using 'init-run
- and --main was specified.
- 2015-07-12 Per Bothner <per@bothner.com>
- * lang/SyntaxPattern.java (translate): Treat Keywords as literals.
- 2015-06-24 Per Bothner <per@bothner.com>
- * standard/object.java: Simplify chaining of methods by
- using new pushChild and reverseChildList methods in LambdaExp.
- 2015-06-23 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Bind 'dynamic' type.
- 2015-06-21 Per Bothner <per@bothner.com>
- * lang/Translator.java (defined): Overload.
- * standard/define.java (scanForm): Use new overload.
- * standard/ImportFromLibrary.java: Add cast to disambiguate.
- 2015-06-12 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Change binding of
- "$bracket-list$" to a macro.
- 2015-06-11 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Bind "sequence" and
- "constant-vetor".
- 2015-06-08 Per Bothner <per@bothner.com>
- * repl.java (processArgs): On "-e" flag, pass error port to Shell.run
- so warnings get written out.
- 2015-06-06 Per Bothner <per@bothner.com>
- * repl.java (setLanguage): New static method.
- (processArgs): Use it.
- 2015-05-20 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewriteBody): Emit warning if using deprecated
- colon-less return-type specifier.
- * lang/Lambda.java (rewriteBody): Only allow colon-less return-type
- specifier as a single symbol.
- 2015-05-16 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite_pair): Fix bug in test for missing
- value after keyword. Make warning more helpful.
- 2015-05-13 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Added sinh, cosh, tanh,
- asinh, acosh, atanh.
- 2015-05-09 Per Bothner <per@bothner.com>
- * standard/Scheme.java (createReadTable): Only recognize 'l'
- exponent marker if in non-standard mode.
- 2015-05-09 Per Bothner <per@bothner.com>
- * standard/export.java (rewriteForm): Emit error; don't return null.
- * standard/ImportFromLibrary.java (rewriteForm): Likewise.
- 2015-04-25 Per Bothner <per@bothner.com>
- * repl.java (processArgs): Handle -D options by calling
- System.setProperty.
- 2015-04-24 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite_pair): Remove support for
- 'equivalent-syntax' - it was only used for 'raise' - and ran into
- hygiene there. It is now easier to use a validate-apply property.
- 2015-04-22 Per Bothner <per@bothner.com>
- * repl.java: Re-write to support "--with-arg-count=N" option.
- (processArgs): Move argument-processing logic to new non-static method.
- Also handle processing of final named-module or repl default action.
- (processArgs): Old method creates instance and calls new method.
- (main): Simplify by calling new processArgs.
- (getArgs): new method to handle --with-arg-count processing.
- (<init>): New default constructor.
- (error): New convenience method.
- 2015-04-18 Per Bothner <per@bothner.com>
- Implement "scan" (ellipsis) patterns and context.
- * lang/BindDecls.java (parsePatternCar, parseBracketListPattern):
- Take extra scanNesting parameter.
- (parsePatternCar): Set scanNesting of declarations.
- (parseBracketListPattern): If we see ellipsis, increment scan-nesting.
- * lang/SyntaxTemplate.java (dots3Symbol): Redefine.
- * lang/Translator.java (rewrite_pair): Check for ellipsis.
- (rewrite): Check if referencing a scan declaration.
- (currentScanContext): New field.
- (getScanContext, setScanContext, pushScanContext, popScanContext):
- New methods.
- (class ScanContext): Helper class.
- * standard/Scan.java: New Syntax.
- * Makefile.am: Update accordingly.
- * standard/Scheme.java: Define 'scan' syntax.
- * lang/Lambda.java: Update parsePatternCar invocation.
- * standard/MatchDef.java: Likewise.
- * standard/let.java: Likewise.
- 2015-04-15 Per Bothner <per@bothner.com>
- * lang/Macro.java (expand): If transformer throws an exception,
- pass this to the SourceError.
- 2015-04-14 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (scanImportSet): Implement
- 'class' clause for import, as an alternative to define-alias.
- (ImportSetMapper.map): Add 'rename' functionality to the 'only' clause.
- * standard/require.java (DeclSetMapper): Change parameter and return
- type of map method to be more general.
- * Shell.java (run): Call flush after checkErrors. This is needed
- now since checkError uses Appendable which doens't auto-flush.
- 2015-04-10 Per Bothner <per@bothner.com>
- * repl.java (main): Exit with -1 return code if
- Shell.runFileOrClass reports failure.
- * Shell.java (run): Assume interactive if input is TtyInPort.
- This should work better now that we use CheckConsole.
- (runFile): Check for and handle SyntaxException returned by run.
- (compileSource): Flush standard error after printing messages.
- 2015-04-04 Per Bothner <per@bothner.com>
- * standard/location.java (rewriteApply): Add missing null check.
- 2015-04-03 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite): Convert literal TRUE and FALSE
- to literals with primitive boolean type.
- 2015-03-22 Per Bothner <per@bothner.com>
- * standard/location.java (makeLocationProc): More precise return type.
- 2014-12-19 Jamison Hope <jrh@theptrgroup.com>
- * standard/define.java (rewriteForm): Make sure BeginExp bexp2 is
- instantiated before attempting to add expressions to it. This avoids
- a NullPointerException in some define-procedure invocations.
- 2015-03-18 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewriteFormals): Set IS_REST_PARAMETER and
- IS_PARAMETER for old-fashioned dotted rest argument.
- 2015-02-26 Per Bothner <per@bothner.com>
- * standard/let.java (rewrite): Remove unused local variable - which
- could cause a NullPointerException after an error.
- 2015-02-19 Per Bothner <per@bothner.com>
- * standard/IfFeature.java (hasfeature): Also assume "in-servlet"
- is true if the current Compilation is generating servlets.
- 2015-02-17 Per Bothner <per@bothner.com>
- * standard/define_class.java (scanForDefinitions): Call
- new createFields method of ClassExp.
- 2015-02-16 Per Bothner <per@bothner.com>
- * standard/Scheme.java: Some cleanups in initialization.
- * standard/ImportFromLibrary.java (handleImport): When searching
- for a class catch NoClassDefFoundError in addition to Exception.
- 2015-02-13 Per Bothner <per@bothner.com>
- * standard/let.java (rewrite): Mark parameter 'tr' as final. Java 8
- recognizes it as "effectively final" but in Java 7 it must be explicit.
- 2015-02-12 Per Bothner <per@bothner.com>
- * standard/Scheme.java (r5rsInstance, r6rsInstance, r7rsInstance):
- Make final and initialize in static initializer.
- (getR5rsInstance, getR5rsInstance, getR5rsInstance): Simplify
- accordingly.
- This fixes Savannah bug #44230 "slot-ref not working in r7rs mode".
- * standard/Scheme.java: Also some code cleanup/simplification by
- moving some initialization out of a 'static {...}' block.
- 2015-02-11 Per Bothner <per@bothner.com>
- Implement support for patterns in 'let'.
- * lang/BindDecls.java: Make the methods non-static.
- (instance): New static fields.
- (allowShadowing, makeConstant): New fields to control variants.
- (define): New overridable method.
- * lang/Lambda.java (rewriteFormals): Use BindDecls.instance.
- * standard/MatchDef.java (scanDecls): Likewise.
- * standard/let.java: Rewrite to use BindDecls.
- * lang/Translator.java (renamedAliasCount): New helper method.
- 2015-02-09 Per Bothner <per@bothner.com>
- * lang/Lambda.java: Add support for future pattern-matching
- using standard lambda macro - currently disabled.
- Add warning for conflicting deprecated type specifier syntax.
- 2015-01-11 Per Bothner <per@bothner.com>
- * repl.java (processArgs): Add support for --console flag.
- Update --no-console to use CheckConsole class.
- (main): Likewise.
- * GuiConsole.java (main): Likewise.
- 2015-01-09 Andrea Bernardini <andrebask@gmail.com>
- * repl.java: Add --enable-anf and --debug-print-anf options.
- 2014-12-28 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Update class for 'receive'
- * standard/ImportFromLibrary.java (SRFI97Map): Map srfi-8 to
- an actual classname, rather than BUILTIN. Needed if environment
- is restricted, as in r7rs libraries.
- * standard/require.java (featureMap): Add 'srfi-8, 'receive,
- and 'srfi-26.
- 2014-12-22 Per Bothner <per@bothner.com>
- * lang/Lambda.java: Preliminary support for patterns, but only
- if handlePatterns flag is set.
- * standard/Scheme.java (mlambda): New constant static field.
- * lang/BindDecls.java: New helper class for parsing pattern.
- * standard/MatchDef.java: New class for (! ...) declaration syntax.
- * standard/Scheme.java (initScheme): Adding binding for '!'
- * Makefile.am :update accorinly.
- * standard/define.java (scanForm): Complain about define-private
- in interactive module.
- 2014-12-21 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (handleImport): Avoid undesirable
- canonicalization when calculating currentSource by using new
- Compilation#getSourceAbsPath method.
- 2014-12-19 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (handleImport): Derive current
- source name from ModuleInfo, not Compilation. Thus we get a null
- name for cases like <eval> or <string>.
- * lang/Eval.java (evalBody): Update pushNewModule call.
- 2014-12-16 Per Bothner <per@bothner.com>
- * standard/SchemeCompilation.java (applyFunction): Return null
- if func is a LambdaExp.
- * lang/Translator.java (applyFunction) Moved to Compilation.
- * standard/Scheme.java (formatType): Handle MultValuesType.
- 2014-12-12 Per Bothner <per@bothner.com>
- * standard/call_with_values.java: Moved to
- gnu/kawa/functions/CallWithValues.java.
- * standard/Scheme.java (initScheme): Update for 'call-with-values'.
- * Makefile.am: Update accordingly.
- 2014-12-08 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Add binding for '?'.
- 2014-12-03 Per Bothner <per@bothner.com>
- * lang/SyntaxTemplate.java (convert_template): Check for cycles
- could also trigger on harmless sharing. Fix that.
- 2014-12-02 Per Bothner <per@bothner.com>
- * standard/Include.java: Change search path default.
- 2014-12-01 Per Bothner <per@bothner.com>
- Share more code between import and require.
- Specifically, have require share import's source path search handling.
- * standard/ImportFromLibrary.java (scanImportSet): Split up/refactor.
- (handleImport): New method.
- Do check for an existing class regardless.
- * standard/require.java (scanForDefinitions): Call handleImport,
- rather than calling importDefinitions directly.
- 2014-11-30 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (scanImportSet): Search for a
- known class in the ModuleManager before looking for source file.
- Don't use the canonical path of the current file.
- 2014-11-28 Per Bothner <per@bothner.com>
- * lang/SyntaxTemplate.java (convert_template): Before checking for a
- symbol and calling noteAccess, do namespaceResolve to handle
- symbols containing colons.
- * lang/Translator.java (namespaceResolve): Call namespaceResolve
- on prefix, in case there are multiplecolons. If the result is not a
- symbol, don't continue.
- 2014-11-26 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite): Provide default binding to $lookup$.
- * standard/Scheme.java (initScheme): Don't need to bind $lookup$.
- 2014-11-24 Per Bothner <per@bothner.com>
- * standard/Include.java: Re-implement to use a settable search path.
- (process): Re-do search algorithm.
- (getIncludeSearchPath, getSearchPath): New methods.
- * standard/ImportFromLibrary.java (getImportSearchPath): Rewrite
- to use Include.getSearchPath.
- * standard/define_library.java: Update accordingly.
- * standard/ImportFromLibrary.java (SRFI97Map): Map srfi-26 to
- an actual classname, rather than BUILTIN. Needed if environment
- is restricted, as in r7rs libraries.
- Resolve colon names even if quasiquote isn't in scope.
- * standard/export.java (scanForDefinitions): Call namespaceResolve
- as needed.
- * lang/Translator.java (rewrite_car_for_lookup): New method.
- (namespaceResolve, scanForm): Use rewrite_car_for_lookup.
- * lang/Quote.java (expand_pair): Likewise.
- * standard/export.java (export): Fix setting name.
- 2014-11-23 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Remove '%define-syntax'.
- 2014-11-22 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (searchPath): Make public.
- 2014-11-20 Per Bothner <per@bothner.com>
- * standard/location.java (rewriteApply): If creating a
- StaticFieldLocation, make sure to mangle the field name if needed.
- 2014-11-19 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (checkSrfi): Fix checking
- of optional name component.
- * standard/ImportFromLibrary.java (scanImportSet): If asking for a
- SRFI, we normally don't want to match a source file.
- 2014-11-17 Jamison Hope <jrh@theptrgroup.com>
- * standard/expt.java (expt): Coerce arguments to Numeric and
- support Quaternions.
- * standard/require.java (featureMap): Add 'quaternions.
- 2014-11-16 Per Bothner <per@bothner.com>
- * standard/require.java (importDefinitions): Handle context
- references lazily - i.e. only if needed.
- * standard/define_library.java (createModulePass): Update subModuleMap.
- Check for duplicate library name.requi
- * standard/require.java (importDefinitions): Check if imported
- source file actually defines the required module.
- * standard/ImportFromLibrary.java (scanImporSet): Tweak error message.
- 2014-11-14 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (scanImportSet): Major changes to
- support searching for a source file containing the library.
- (checkSrfi): No error if unknown or unimplemented srfi.
- Instead see if we can find it through regular search.
- (getImportSearchPath): New method.
- * standard/require.java (importDefinitions): Error if source file
- defines a class different from what import/require asked for.
- 2014-11-12 Per Bothner <per@bothner.com>
- * standard/module_name.java (scanForm): Never declare a variable
- named with the module name - the latter is in a different namespace.
- * lang/Translator.java (checkDefaultBinding): Also check in
- ModuleManager for class being currently compiled.
- 2014-11-02 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (checkSrfi): Allow r7rs
- syntax (import (srfi NNN [NAME])) without colon before NNN.
- 2014-10-29 Per Bothner <per@bothner.com>
- * repl.java (noConsole): Move field to InPort.java.
- (shouldUseGuiConsole): Remove method - use InPort.haveConsole instead.
- 2014-10-27 Per Bothner <per@bothner.com>
- * standard/load.java: Fix super-class to be Procedure1or2.
- * Shell.java (runFile): Set and restore current environment.
- 2014-10-24 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Fix typo 'make-promise!' ->
- 'make-promise'.
- 2014-10-22 Per Bothner <per@bothner.com>
- * standard/IfFeature.java (coreFeatures): Rename 'macos to 'macosx.
- Add some bsd support. Don't also define i386 if x86_64.
- * standard/Scheme.java (initScheme): Added bindings for 'else 'unquote
- 'unquote-splicing '... '=> '_.
- 2014-10-17 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Added promise? and environment.
- Updated some other bindings.
- 2014-10-14 Per Bothner <per@bothner.com>
- * standard/IfFeature.java (coreFeatures): Add a bunch of features,
- oncluding r7rs and system properties.
- * standard/Scheme.java (initScheme): Add bindings for 'make-promise'
- and 'delay-force' (as a synonym for 'lazy').
- * standard/IfFeature.java: Now extends syntax. Re-write to
- handle cond-expand here (rather than in Scheme code).
- Now also implements the library clause.
- * standard/Scheme.java (initScheme): Update 'cond-expand' binding.
- * standard/define_library.java: Support cond-expand clause.
- * standard/ImportFromLibrary.java (checkSrfi): New method.
- (scanImportset): Use it.
- (libraryExists): New method, for cond-expand 'library' test.
- 2014-10-13 Per Bothner <per@bothner.com>
- Add support for r7rs 'define-library'.
- * standard/define_library.java: New class, extends Syntax.
- * Makefile.am: Update accordingly.
- * standard/Scheme.java (initScheme): Bind 'define-library'.
- * lang/Translator.java (errorIfNonEmpty): New convenience method.
- (scanForm): Special handling of define_library#define_library_scan.
- * standard/module_name.java (listToModuleName): New method.
- (scanForm): Scan form.
- * standard/export.java: Complain if used after a define-library form.
- * lang/Translator.java (rewrite_apir): Tweak/simplify error message.
- * lang/Translator.java (getGlobalEnvironment): Is now an override.
- (<init>): New constructor that takes argument for env field.
- * standard/SchemeCompilation.java (<init>): New constructor
- that takes argument for env field.
- 2014-10-12 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Remove '%let' and '%define'.
- 2014-10-09 Per Bothner <per@bothner.com>
- * standard/require.java (importDefinitions): For mapping imported
- names, use a DeclSetMapper rather than a Procedure. The latter
- only re-maps a single binding at a time, which makes diagnosing
- errors difficult.
- (DeclSetMapper): New member interface.
- * standard/ImportFromLibrary.java: Re-implement to handle the
- entire import syntax (rather than handing renaming in Scheme).
- We add better error-checking. This fixes Savannah bug #43341
- "Import should warn about non existing bindings".
- * standard/Scheme.java (initDecls): Update for 'import'.
- 2014-10-08 Per Bothner <per@bothner.com>
- * standard/require.java (importDefinitions): Re-organize the code.
- Add a pre-pass over the exported module; this will (soon) allow
- doing name-mapping over the names as a set. It also allows us
- to remove the post-processor loop to set context decls.
- 2014-10-01 Per Bothner <per@bothner.com>
- * standard/location.java (rewriteApply): New helper method
- for handling two special cases to take locations of ApplyExp.
- Specifically for static fields and static member classes.
- (rewrite): Use rewriteApply.
- * standard/define_alias.java (rewriteForm): Minor tweak - note
- that location.rewrite can now return a QuoteExp.
- 2014-09-30 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Remove '%cond-expand'.
- 2014-09-28 Per Bothner <per@bothner.com>
- * standard/Include.java: New Syntax class for handling 'include'.
- * Makefile.am: Update accordingly.
- * standard/Scheme.java (initScheme): Add 'include-ci' and update
- 'include' and 'include-relative'.
- 2014-09-26 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): 'define-record-type' was
- moved from gnu.kawa.slib to kawa.lib.
- Added 'bytevector?' as an explicit (not implicit) definition.
- 2014-09-22 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Define 'define-values'.
- 2014-09-20 Per Bothner <per@bothner.com>
- Remember current scope when we create a TemplateScope. Just remembering
- the macro scope may be insufficient for generated macros.
- * lang/SyntaxTemplate.java (savedScope): New field.
- (execute): Don't take TemplateScope parameter, instead calculate it.
- * lang/SyntaxRules.java (<init>)update call to execute.
- * lang/TemplateScope.java (make): Take savedScope parameter.
- * standard/syntax.java: Update to disambiguate execute method.
- 2014-09-15 Per Bothner <per@bothner.com>
- * Shell.java (run): If parse or rewrite error, pop the new
- ModuleExp to clear semi-processed declarations.
- * lang/SyntaxPattern.java (printSyntaxPatternMatch): New static flag.
- (match): Maybe print log information.
- * repl.java: Maybe set printSyntaxPatternMatch.
- * lang/SyntaxPattern.java (fileLine): New field.
- (<init>): Set fileLine.
- (writeExternal, readExternal): Write/set fileLine.
- (match): Use fileLine.
- (toString): New method.
- * lang/Pattern.java (print): New default method.
- 2014-09-07 Per Bothner <per@bothner.com>
- * lang/Translator.java (pushPositionOf): Generalize to SourceLocator.
- * standard/Scheme.java (initScheme): Renamed '5syntax-error'
- to 'syntax-error', which is in r7rs.
- * standard/syntax_error.java: updated.
- 2014-09-05 Per Bothner <per@bothner.com>
- * lang/SyntaxTemplate.java (convert_template): Convert literal
- PairWithPosition to plain Pair, to allow setting line number in
- Macro.expand.
- * lang/SyntaxTemplate.java (convert_template) Don't wrap constands
- with a SyntaxForm.
- * standard/syntax_error.java (rewrite): Tweak formatting to be
- more take the Scheme error routine.
- 2014-09-04 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Rename syntax-error to
- report-syntax-error.
- 2014-09-03 Per Bothner <per@bothner.com>
- * lang/SyntaxPattern.java: Instead using literal_identifiers[0]
- for a "name" for output, use getSymbol(). Set the symbol from the
- currentMacroDefinition, rather than from the head of a syntax-pattern
- - which is often "_" and thus useless anyway.
- 2014-09-02 Per Bothner <per@bothner.com>
- * lang/SyntaxPattern.java: Add support for underscore meaning
- "match and ignore anything".
- * lang/SyntaxRules.java (<init>): Don't set literal_identifiers[0] -
- there is no need and it confuses things.
- Add R7RS functionality for ellipsis in syntax-rules.
- * standard/syntax_rules.java (rewriteForm): Check for alternative
- symbol to use in place of '... .
- * lang/SyntaxPattern.java (<init>, translate): Take ellipsis argument.
- (literalIdentifierEq): Handle SyntaxForm as a convenience.
- * lang/SyntaxRules.java (<init>): Take ellipsis argument.
- * lang/SyntaxTemplate.java (dots3): Remove field.
- (<init>, convert_template): Take ellipsis argument.
- (convert_template): Generalize to user-specified ellipsis symbol.
- Generalize handling of (... ...) to handle the r7rs extension (... XXX).
- * lang/SyntaxRule.java: Update accordingly.
- * standard/syntax.java: Update accordingly.
- 2014-08-31 Per Bothner <per@bothner.com>
- * lang/SyntaxPattern.java: Use StringBuilder instead of StringBuffer.
- * lang/SyntaxRules.java: Likewise.
- * lang/SyntaxTemplate.java: Likewise.
- * lang/SyntaxForms.java (fromDatumIfNeeded): Handle null template.
- * lang/SyntaxPattern.java (getLiteralsList): Simplify and make
- more general by using fromDatumIfNeeded.
- 2014-08-21 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): 'parameterize' moved.
- 2014-08-13 Andrea Bernardini <andrebask@gmail.com>
- * standard/Scheme.java (initScheme): Add case.
- 202014-08-14 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Add string-replace!.
- 2014-08-11 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Add string-append!.
- 2014-08-04 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Add string-map.
- * standard/Scheme.java (initScheme): Update string-for-each location
- and add srfi-13-string-for-each.
- 2014-07-22 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Remove string-append/shared.
- 2014-07-20 Per Bothner <per@bothner.com>
- * standard/location (getMakeProcLocProc): New method.
- (rewrite): Use it.
- 2014-07-20 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java: Fix typo in error message.
- 2014-07-17 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewriteBody): After evaluating a parameter's type,
- update the Declaration's type.
- 2014-07-13 Per Bothner <per@bothner.com>
- * standard/module_name.scm: Allow R6RS/R7RS-style library name as list.
- 2014-07-09 Per Bothner <per@bothner.com>
- * standard/Scheme.java (formatType): Don't enter impementation type
- into type->name map. That could overwrite an existing entry,
- and doesn't seem right anyway.
- 2014-07-05 Per Bothner <per@bothner.com>
- * lang/Quote.java (expand): Re-do handling of quasiquoted vectors
- with splicing - use new MakeSplice functionality.
- 2014-07-03 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Define R7RS functions floor/,
- floor-quotient, floor-remainder, truncate/, truncate-quotient,
- and truncate-remainder.
- 2014-07-02 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Define 'exact-integer?'.
- * standard/Scheme.java: Update read-char and peek-char.
- * standard/SchemeCompilation.java (checkDefaultBinding): For now at
- least doesn't allow "re-interpret primitive type" conversions using
- '->TYPE', only using 'as'.
- only explicit 'as' but not '->TYPE'
- * standard/readchar.java: Removed - no longer used.
- * Makefile.am: Update accordingly.
- 2014-06-30 Per Bothner <per@bothner.com>
- * SourceType.java: New annotation type.
- * SourceMethodType.java: New annotation type.
- * Makefile.am: Update accordingly.
- 2014-06-28 Per Bothner <per@bothner.com>
- * lang/Syntax.java(rewriteForm(Object,Translator)):
- Remove no-longer-unused method.
- * lang/Macro.java: Likewise.
- (rewriteForm(Pair,Translator)): Simple inlining. It's a slight
- optimization; more valuable is it makes stack traces less verbose.
- 2014-06-07 Per Bothner <per@bothner.com>
- Allow associating a syntax transformer with a procedure.
- * lang/Lambda.java (rewriteAttrs): Allow unknown properties.
- * lang/Macro.java (<init>): Don't quote expander if it's an Expression.
- * lang/Translator.java (rewrite_pair): Check for 'equivalent-syntax'
- property of Procedure.
- 2014-06-04 Per Bothner <per@bothner.com>
- * standard/define.java: Now also used to implement define-procedure.
- This allows some tweaks and optimizations.
- 2014-05-24 Per Bothner <per@bothner.com>
- * standard/require.java: Remove unneeded imports.
- 2014-05-14 Per Bothner <per@bothner.com>
- * repl.java (processArgs): Handle --main explicitly by setting
- the PARSE_EMIT_MAIN flag. This way avoids unintentially setting the
- flag for required modules.
- 2014-05-13 Per Bothner <per@bothner.com>
- * standard/require.java (scanForDefinitions): Better error message
- if a symbol does not match an existing class.
- * standard/require.java (lookupModuleFromSourcePath): Don't resolve
- if the base filename is the default InPort.
- 2014-05-12 Per Bothner <per@bothner.com>
- * standard/Scheme.java (createReadTable): Bind '@' to handling splice,
- but only if not FOLLOW_R5R/FOLLOW_R6RS/FOLLOW_R7R.
- 2014-05-09 Per Bothner <per@bothner.com>
- * standard/IfFeature.java (coreFeatures): Add java-8 and java-9.
- Use System.getProperty to set java-6 thtough java-9.
- 2014-05-06 Per Bothner <per@bothner.com>
- * lang/Lambda.java (isAnnotationSymbol): Check for ($splice$ ...).
- * lang/Translator.java (rewritePair): Handle splice forms,
- as well as annotation forms.
- (appltFunction): New method.
- (makeApply): Remove method - use applyFunctio instead.
- * standard/object.java (rewriteClassDef): Expliciylhy skip annotations.
- Needed now that annotations are read as (($splice$ ATYPE) ...).
- * standard/SchemeCompilation.java (applyFunction): New override,
- (makeApply): Remove method.
- 2014-04-28 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite_pair): Remove some unused code
- left-over from 2006-06-16 (see ../ChangeLog) for handling
- xml namespaces.
- 2014-04-27 Per Bothner <per@bothner.com>
- * lang/SyntaxForms.java (makeForm): Don't need to wrap
- self-evaluating values. Needed for Keywords due to change below.
- * lang/Translator.java (rewrite_pair, rewrite): Add warnings
- if keywords are misused.
- * standard/Scheme.java (keywordsAreSelfEvaluating): New override.
- 2014-04-23 Per Bothner <per@bothner.com>
- * standard/define.java (rewriteForm): If checking that make-private
- is top-level, is Declarations's context, rather than current scope.
- The latter may not work if we're in a macro template scope.
- 2014-03-17 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Define ">>" constructor.
- 2014-03-08 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Define ">" constructor.
- 2014-02-23 Per Bothner <per@bothner.com>
- * Shell.java (openFile): New method, use openHeuristicFile.
- (runFile): Use openFile.
- * repl.java: Likewise.
- 2014-02-18 Jamison Hope <jrh@theptrgroup.com>
- * standard/Scheme.java (initScheme): Remove 'logbit?', since it
- just an alias for 'bitwise-bit-set?' and happens to conflict with
- the semantics of SRFI-60 'logbit?'.
- * standard/ImportFromLibrary.java (SRFI97Map): Update for SRFI-60.
- * standard/require.java (featureMap): Likewise.
- 2014-02-17 Per Bothner <per@bothner.com>
- * standard/define.java: Implement 'define-early-constant'.
- * standard/Scheme.java (initScheme): Define 'define-early-constant'.
- 2014-02-17 Jamison Hope <jrh@theptrgroup.com>
- * standard/ImportFromLibrary.java (SRFI97Map): Update for SRFI-87
- and SRFI-98 which are now builtins.
- 2014-02-17 Per Bothner <per@bothner.com>
- * Shell.java: Add ExitCalled support.
- * repl.java: Likewise.
- * standard/Scheme.java (initScheme): Define 'emergency-exit'.
- 2014-02-16 Per Bothner <per@bothner.com>
- * lang/Translator.java: Make sure Error is uncaught or re-thrown.
- * standard/Scheme.java: Likewise.
- * standard/constant_fold.java: Likewise.
- * standard/load.java: Likewise.
- * standard/require.java: Likewise.
- * lang/AutoloadProcedure.java: Simplify as we now require Java5.
- 2014-02-12 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Define 'pipe-process'.
- 2014-02-06 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Define 'current-path'.
- 2014-01-02 Per Bothner <per@bothner.com>
- * repl.java: Update year to 2014.
- * standard/Scheme.java (initScheme): Remove 'simple-guard',
- since re-implemented 'guard' is (almost) equally simple.
- 2013-12-22 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Add 'run-process',
- 'process-exit-wait', 'process-exit-ok?', '&cmd', '&`', '&sh'.
- 2013-12-21 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): New procedures 'path-bytes'
- and 'path-data'. New named quasi-literals 'PD' and '<'.
- 2013-12-20 Per Bothner <per@bothner.com>
- * lang/TemplateScope.java: Make writeExternal/readExternal work
- for a TemplateScope from a ModuleLevel macro - the important case
- for compiling macro-generating macros.
- * lang/SyntaxTemplate.java (convert_template): Check for cycle
- before (rather than after) dereferencing SyntaxForms. This fixes
- Savannah bug #40869 "self-referential (cyclic) syntax template".
- * lang/SyntaxTemplate.java (seen): Unconditionally
- assume availability of java.util.IdentityHashMap.
- 2013-12-15 John Tobey <jtobey@john-edwin-tobey.org>
- * lang/SyntaxForms.java (class PairWithPositionSyntaxForm):
- Make public.
- 2013-12-13 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Add definitions for r6rs/r7rs
- exception handling.
- 2013-12-09 Per Bothner <per@bothner.com>
- * lang/SyntaxForms.java (class PairWithPositionSyntaxForm):
- Implement Externalizable.
- 2013-12-08 Per Bothner <per@bothner.com>
- * lang/SyntaxForms.java (class SimpleSyntaxForm):
- Implement Externalizable.
- (class PairSyntaxForm): Likewise.
- This helps fix Svannah bug #40822 "Exporting macro-defined macro:
- Internal error".
- 2013-12-05 Per Bothner <per@bothner.com>
- * lang/SyntaxTemplate.java: Update support for '(... ...)' - which
- was added 2005-06-26 - in that we no longer use java.lang.String
- for Scheme symbols.
- This fixes Savannah bug #40814 "R6RS/R7RS ellipsis escapes".
- 2013-12-01 Per Bothner <per@bothner.com>
- * lang/NamedException.java: Some re-working to make it more robust
- and correct for both Guile-style catch/throw and R7RS error.
- (toString): Do formatting here (rather than in error function).
- * standard/Scheme.java (initScheme): Added error-object?,
- error-object-message, error-object-irritants, read-error?,
- and file-error?. Updated catch, throw, error.
- * standard/Scheme.java (initScheme): Add 'letrec*'.
- 2013-11-30 Per Bothner <per@bothner.com>
- * lang/Translator.java (define): When alias is needed, do a
- pushRenamedAlias, so we can later pop it.
- (rewrite_body): Pop aliases. Needed in case of nested definitions
- with the same pattern variable inside a template.
- This fixes Savannah bug #40729 "NPE in inline-compiler
- for AppendValues".
- 2013-11-18 Per Bothner <per@bothner.com>
- * lang/Translator.java (define): When creating an alias, the
- generated name should be an uninterned symbol, not an uninterned
- String, since NameLookup#lookup uses equals when comparing names.
- * lang/Translator.java (define): We may need an alias if the
- current scope is not the scope for the definition.
- This fixes Savannah bug #40616 "Unhygienic syntax-rules".
- 2013-11-13 Per Bothner <per@bothner.com>
- * lang/Translator.java (resolveModule): Reset current line
- position, so we don't have "dangling" line numbers from a
- previous phase.
- 2013-11-12 Per Bothner <per@bothner.com>
- * lang/SyntaxTemplate.java (print_template_program): Update
- commented-out debugging helper.
- 2013-11-11 Per Bothner <per@bothner.com>
- * lang/Eval.java (evalBody): Even simpler, just remove the
- save/restore of the formStack. Not sure why it would be needed,
- since eval creates a fresh Translator and thus FormStack each time.
- 2013-11-11 Per Bothner <per@bothner.com>
- * lang/Eval.java (evalBody): Instead of setting the magic variable
- firstForm, just save and restore the formStack.
- * lang/Translator.java (firstForm): Remove field.
- (FormStack.pushAll): New method.
- 2013-11-10 Per Bothner <per@bothner.com>
- * lang/Translator.java (class FormStack): Use new class to
- implement formStack as linked list, rather than a java.util.Stack.
- Using a linked list allows storing positions using PairWithPosition.
- Moving lists back and forth actually works pretty well.
- (formStack): An instance of FormStack rather than Stack.
- (class ValuesFromLList): Helper class.
- (popForm): Use ValuesFromLList.
- (vectorReverse): Remove no-longer needed method.
- * lang/Syntax.java (scanForDefinitions): Remove forms parameter.
- * standard/begin.java: Have scanBody leave scanned forms
- in the formStack, rather than a list - which then needs to
- be pushed to the formStack. This fixes Savannah bug #40494
- "internal error on kawa -C bug.scm, 1.14 and head".
- * lang/Eval.java: Update for new APIs.
- * standard/ImportFromLibrary.java: Likewise.
- * standard/define.java: Likewise.
- * standard/define_alias.java: Likewise.
- * standard/define_class.java: Likewise.
- * standard/define_member_alias.java: Likewise.
- * standard/define_syntax.java: Likewise.
- * standard/define_unit.java: Likewise.
- * standard/define_variable.java: Likewise.
- * standard/export.java: Likewise.
- * standard/module_compile_options.java: Likewise.
- * standard/module_name.java: Likewise.
- * standard/module_static.java: Likewise.
- * standard/with_compile_options.java: Likewise.
- * standard/define_autoload.java: Likewise.
- (process): Remove forms parameters - use from tr parameter.
- * standard/require.java: Update for new APIs.
- (importDefinitions): The formsStack is now a FormStack object.
- 2013-11-07 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewriteBody): Fix handling ':: TYPESPEC' in
- the general when it isn't a simple type - which also means
- we catch typos.
- 2013-10-23 Matthieu Vachon <matthieu.o.vachon@gmail.com>
- * standard/define_alias.java: Fixed a small typo in static
- initializer, the `define-private-alias` field should have
- `makePrivate` set to true by default.
- 2013-11-03 Per Bothner <per@bothner.com>
- * lang/Translator.java (scanForm): Use new Values.FromArray class.
- * standard/call_with_values.java (apply): Use new
- Values#check_with method - especially a win if we can use Values2.
- * standard/read_line.java (apply): Optimize to use Values2.
- 2013-10-19 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (SRFI97Map): Add SRFI-101 entry.
- * standard/require.java: Likewise.
- 2013-10-07 Per Bothner <per@bothner.com>
- * standard/export.java (scanForDefinitions): Handle renaming.
- * lang/Translator.java (resolveModule): Call patchSymbolFromSet
- as needed for renamed exported variables.
- * standard/Scheme.java (booleanType): Initialize eagerly.
- * repl.java (processArgs): Support '--target 8' and '--target 1.8'.
- 2013-09-25 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Add 'list-set!' and
- 'list-copy'.
- 2013-09-23 Per Bothner <per@bothner.com>
- * repl.java (processArgs): Fix a bug in previous change
- in handling of meta-arg.
- 2013-09-22 Per Bothner <per@bothner.com>
- * repl.java (processArgs): Fix handling of meta-arg "\" - don't
- process injected arguments, but instead adjust args array and
- continue. This is more flexible, and simpler.
- * repl.java (processArgs): Update copyright year.
- 2013-09-18 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Define "command-line-arguments".
- 2013-09-15 Per Bothner <per@bothner.com>
- * standard/define_autoload.java (findAutoloadComments): Don't
- setProcedureDecl - it's not.
- (process): Update test for symbol.
- * lang/AutoloadProcedure.java (load): Invoke defineAll even if we
- find existing module instance.
- 2013-09-10 Per Bothner <per@bothner.com>
- * standard/object.java (scanClassDef): Note that field value
- is unknown. This fixes Savannah bug#39940
- "Class member of type <procedure> compilation exception".
- 2013-09-06 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Various functions
- got moved to strings.scm.
- * standard/Scheme.java (initScheme): Add "digit-value",
- "get-environment-variable", and "get-environment-variables".
- * standard/Scheme.java (writeFormat, sharedWriteFormat,
- displayFormat): Removed fields, replaced by fields in DisplayFormat.
- * lang/SyntaxPattern.java: Update accordingly.
- * lang/SyntaxRules.java: Update accordingly.
- * lang/SyntaxTemplate.java: Update accordingly.
- 2013-09-04 Per Bothner <per@bothner.com>
- * lang/Quote.java (expand_pair): Check for null Translator argument.
- This fixes Savannah bug #39946 "NullPointerException when
- using syntax->datum".
- * repl.java (printOptions): Sort compilation options before printing.
- * repl.java (processArgs): Fix bug in handling of '--'.
- 2013-09-01 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Fix 'u8-ready' to 'u8-ready?'.
- 2013-08-31 Per Bothner <per@bothner.com>
- * standard/IfFeature.java (coreFeatures): New static field.
- (hasFeature): Use coreFeatures.
- (featureList): New static method.
- * standard/Scheme.java (initScheme): Add "features".
- 2013-08-25 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Add "current-second",
- "current-jiffy", "jiffies-per-second".
- * standard/Scheme.java (initScheme): Add "boolean=?".
- * standard/Scheme.java (initScheme): Add "string-copy!"
- and "square".
- * standard/Scheme.java (initScheme): Add "make-list".
- 2013-07-29 Matthieu Vachon <matthieu.o.vachon@gmail.com>
- * standard/define_alias.java: Implemented define-private-alias
- syntax. This syntax is equivalent to define-alias except it is
- private by default.
- * standard/Scheme.java: Added define-private-alias binding.
- 2013-07-16 Per Bothner <per@bothner.com>
- * lang/Quote.java (expand_pair): Fix bug in handling of nested (i.e.
- doubly quasi-quoted) unquote-splicing. Simplify to be (almost)
- like handling of plain unquote.
- This fixes Savannah bug #39501 "invalid use of unquote-splicing".
- 2013-06-27 Per Bothner <per@bothner.com>
- * standard/define.java (scanForm): Don't set writable if
- this is define-constant.
- 2013-06-16 Per Bothner <per@bothner.com>
- * Makefile.am: Merge in file lists from lang/Makefile.am
- and standard/makefile.am.
- (SUBDIRS): Change to just libs.
- * lang/Makefile.am: Removed.
- * standard/Makefile.am: Removed.
- 2013-06-10 Per Bothner <per@bothner.com>
- * lang/Quote.java (expand_pair): Return a unknown-namespace symbol
- where we before made a SimpleSymbol containing a ':'.
- * lang/Translator.java (rewrite_lookup): New method.
- (rewrite): Handle unknown-namespace Symbol.
- (namespaceResolve): Likewise.
- 2013-06-08 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite): When in a method and checking
- if inherited class members are in scope, don't accept a mangled
- match if an exact match is in the regular scope.
- This fixes Savannah bug #39048 "Bad method call resolution?".
- 2013-05-26 Per Bothner <per@bothner.com>
- * Shell.java (run): If evalModule fails, throw SyntaxException,
- which when handled produces better error messages.
- 2013-03-25 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Define 'define-simple-constructor'.
- * standard/Scheme.java (emptyString): Replace by 2 new fields:
- (emptyStringLeft, emptyStringRight): New fields, initialized to
- unique objects.
- (initScheme): Update '$<<$' and '$>>$' to bind to new fields.
- 2013-03-20 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Declare '$sprintf$'.
- 2013-03-18 Per Bothner <per@bothner.com>
- * lang/SyntaxRules.java (<init>): Some improvements to error reporting.
- 2013-03-04 Charles Turner <chturne@gmail.com>
- * lang/Lambda.java: New hooks for CommonLisp's OrdinaryLambda.
- (addParam): Make protected.
- (auxillaryRewrite): New method.
- (rewriteBody): Use it.
- 2013-02-24 Per Bothner <per@bothner.com>
- * standard/SchemeCompilation.java (checkDefaultBinding): Add
- handling of '->TYPE' as a conversion function.
- 2013-02-23 Per Bothner <per@bothner.com>
- * lang/Translator.java (setLineOf): Only set location if not yet set.
- * standard/Scheme.java (initScheme): Update to use use "$<<$" and
- "$>>$" bindings for quasi-value escaped-expression delimiters.
- * lang/SyntaxForms.java (makeForm): Handle null scope.
- 2013-02-05 Matthieu Vachon <matthieu.o.vachon@gmail.com>
- * lang/Translator.java: Replaced usage of Compilation.generateMain
- with method Compilation.generateMainMethod.
- * repl.java: Delegating handling of --main argument to
- Compilation.options.
- 2013-02-21 Per Bothner <per@bothner.com>
- * lang/Translator.java (lookupStandardEntity): Use new generated
- StandardNamedChars class.
- 2013-02-14 Per Bothner <per@bothner.com>
- * lang/SyntaxForms.java (makeForm): Preserve position info.
- (in member class PairWithPositionSyntaxForm)
- (getCar, getCdr, <init>): Fix bug.
- 2013-02-13 Per Bothner <per@bothner.com>
- * lang/SyntaxForms.java (PairWithPositionSyntaxForm): New member class.
- (makeWithTemplate): Take 3rd optional source-location parameter.
- 2013-02-02 Per Bothner <per@bothner.com>
- * standard/Scheme.java (emptyString): New constant.
- (initScheme): Bind "$[$" and "$]$" tp emptyString.
- 2013-01-20 Per Bothner <per@bothner.com>
- * lang/Translator.java (checkDefaultBinding): Handle $entity$:NAME,
- where NAME is a standard enity names, such as "apos".
- * standard/Scheme.java (initScheme): Define $string$, $format$,
- $entity$, and $construct$.
- 2013-01-13 Per Bothner <per@bothner.com>
- * Shell.java (runFile, compileSource): Tweaks to better handle
- exceptions while parsing/compiling, including SyntaxExceptions.
- 2012-12-26 Per Bothner <per@bothner.com>
- * standard/readchar.java: Fix to handle surrogate characters.
- (readChar(Reader)): Reimplement usting
- new LineBufferedReader static methods.
- (readChar(InPort)): Remove.
- 2012-12-22 Per Bothner <per@bothner.com>
- * standard/throw_name.java: Remove class. Instead re-implement
- 'throw' function in Scheme.
- * standard/Makefile.am (java_sources): Update accordingly.
- * standard/Scheme.java (initScheme): Likewise.
- 2012-12-19 Charles Turner <chturne@gmail.com>
- * lang/Translator.java (checkDefaultBinding): Removed references
- to Scheme.unitNamespace. It has now been moved to LispLanguage.
- * standard/Scheme.java: Factored the unitNamespace into LispLanguage.
- * standard/define_alias.java: Updated references to unitNamespace.
- * standard/define_unit.java: Removed unused imports (unrelated to
- the unitNamespace refactoring). Updated references to unitNamespace.
- 2012-12-17 Charles Turner <chturne@gmail.com>
- * standard/SchemeCompilation.java (checkDefaultBinding): Factored
- out into Translator.
- * standard/SchemeCompilation.java: Update imports accordingly.
- * lang/Translator.java: Updated with the factored code from
- SchemeCompilation, imports updated.
- 2012-12-15 Per Bothner <per@bothner.com>
- * standard/prim_throw.java: Move to gnu/kawa/reflect/Throw.java.
- * standard/Scheme.java (initScheme): Update accordingly.
- * standard/throw_name.java: Update.
- * standard/Makefile.am: Update.
- 2012-12-10 Per Bothner <per@bothner.com>
- * repl.java: Update year printed by --version.
- 2012-11-29 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): New R7RS output functions
- write-simple and write-shared.
- * standard/Scheme.java (initScheme): New R7RS bytevector functions
- byteector-copy! and vector-append.
- * standard/Scheme.java (initScheme): New R7RS vector functions
- vector-copy and vector-copy!.
- 2012-11-28 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): New R7RS port functions
- open-binary-input-file, call-with-port, textual-port?, binary-port?,
- port?, input-port-open?, output-port-open?, open-input-bytevector,
- and close-port.
- 2012-11-27 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): New R7RS input functions
- eof-object, read-string, read-u8, peek-u8, u8-ready, read-bytevector,
- and read-bytevector!.
- * standard/readchar.java (readByte): New static method.
- (readChar): Use readByte.
- * repl.java: Update InPort.openFile call.
- 2012-11-22 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Add R7RS output functions
- open-binary-output-file, write-string, write-u8, write-bytevector,
- open-output-bytevector, get-output-bytevector, and flush-output-port.
- 2012-11-20 Per Bothner <per@bothner.com>
- * standard/Scheme.scm (initScheme): Add vector->string
- and string->vector.
- * standard/Scheme.scm: Update classname for bytevector functions.
- 2012-11-06 Per Bothner <per@bothner.com>
- * lang/Translator.java (finishModule): If SUPERTYPE_SPECIFIED then
- we should reset USE_DEFINED_CLASS.
- * repl.java (compileFile): Remove now-redundant ModuleExp#classFor call.
- 2012-11-03 Charles Turner <chturne@gmail.com>
- Per Bothner <per@bothner.com>
- * standard/expt.java (expt): Fixes an unchecked cast to type
- Numeric causing unwanted exceptions.
- 2012-11-02 Per Bothner <per@bothner.com>
- * standard/module_export.scm: Defer resolving the type name.
- (scanForm): New method.
- * standard/module_implements: Similar.
- * lang/Translator.java (exp2Type): Don't use InlineCalls at this stage.
- 2012-10-21 Per Bothner <per@bothner.com>
- * standard/Scheme.java: Define $xml-element$ and similar bindings.
- 2012-10-20 Per Bothner <per@bothner.com>
- * Shell.java (printError): Remove confusing/unhelpful special case
- for ClassCastException.
- 2012-10-20 Charles Turner <chturne@gmail.com>
- Re-factor type lookup to avoid Scheme dependencies.
- * standard/Scheme.java: Bunch of stuff moved up to LispLanguage.
- (getTypeMap): Most of the predefined types moved to super.
- * standard/SchemeCompilation.java: Don't use static cal to getNamedType.
- 2012-09-27 Per Bothner <per@bothner.com>
- * standard/module_name.java (scanForm): Set declarations value to
- the ModuleExp (similar to what we do for ClassExp), not ClassType.
- 2012-09-26 Per Bothner <per@bothner.com>
- * standard/define_alias.java (rewrite): Replace by non-dummy ...
- (rewriteForm): New method that does actual rewrite for alias-ee.
- Note that Declaration is EARLY_INIT.
- (scanForDefinitions): Replace by ...
- (scanForm): Defer expression handling to rewriteForm.
- 2012-08-18 Charles Turner <chturne@gmail.com>
- * lang/begin.java: Purged unused imports.
- * standard/Scheme.java: Purged unused imports.
- 2012-08-18 Per Bothner <per@bothner.com>
- * lang/Translator.java (errorWithPosition): New convenience method.
- * standard/object.java (scanClassDef): Use it.
- 2012-08-13 Charles Turner <chturne@gmail.com>
- * lang/Translator.java (rewriteBody, makeBody): Changed access
- from private to protected for Lisp2Compilation's declare
- processing.
- 2012-08-13 Charles Turner <chturne@gmail.com>
- * standard/let.java (let, settingProcedures): Distinguish between flet
- and let.
- * standard/let.java (maybeSetProcedure): New method, sets a
- procedure declaration if its a flet.
- 2012-08-01 Per Bothner <per@bothner.com>
- * lang/Translator.java: Use new setPushCurrentScope/setPopCurrentScope
- methods to control re-use of module-level declarations.
- 2012-07-27 Per Bothner <per@bothner.com>
- * standard/object.java (scanClassDef): Handle the case when
- method name is a SyntaxForm.
- 2012-06-08 Per Bothner <per@bothner.com>
- * lang/SyntaxTemplate.java (convert_template): The 2012-04-18
- fix was incorrect.
- 2012-05-20 Per Bothner <per@bothner.com>
- * repl.java (processArgs): Fix typo "target" -> "-target".
- 2012-05-10 Per Bothner <per@bothner.com>
- * repl.java (processArgs): Fix error message if --no-xxx passed,
- and xxx is not a known option.
- 2012-05-03 Per Bothner <per@bothner.com>
- * standard/define_class.java (scanForDefinitions, rewriteForm): Make
- more robust. This fixes Savannah bug #36335 "NPE on syntax error".
- 2012-04-18 Per Bothner <per@bothner.com>
- * lang/SyntaxTemplate.java (convert_template): Convert SyntaxForm
- symbol to itself. This fixes Savanannah bug #35526 "Nested macro".
- 2012-04-14 Per Bothner <per@bothner.com>
- Add "marks" to TemplateScope, match syntax-case spec.
- Each mark corresponds to an application of a macro.
- Fixes Savannah bug #35552: "bound-identifier=?".
- * lang/TemplateScope.java (macroMark): New field.
- (make): Set macroMark field.
- * lang/Translator.java (currentMacroMark): New field.
- * lang/Macro.java (expand): Create new mark and save it in
- currentMacroMark field.
- * lang/SyntaxForms.java (identifierEquals): In the bound-identifier=?
- case compare marks from TemplateScope.
- 2012-03-25 Per Bothner <per@bothner.com>
- * standard/let.java (rewrite): Check for duplicate definitions.
- * standard/define_syntax.java (scanForm): If we're not in a top-level
- context, quote the macro instead of compiling it.
- 2012-03-21 Per Bothner <per@bothner.com>
- * Shell.java (runFile): Pass error port to run iflineByLine.
- This causes warnings and errors to be printed out.
- 2012-03-15 Per Bothner <per@bothner.com>
- * standard/SchemeCompilation.java (isSimpleApplyFunction): New method.
- 2012-02-13 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Define syntax->datum and
- datum->syntax.
- 2012-02-05 Per Bothner <per@bothner.com>
- * lang/Quote.java (matchesUnquote, matchesUnquoteSplicing,
- matchesQuasiQuote): New protected methods for match unquote etc.
- * standard/syntax.java (matchesUnquote, matchesUnquoteSplicing,
- matchesQuasiQuote): Override for quasisyntax.
- * standard/Scheme.java (createReadTable): Update.
- * lang/TemplateScope.java (make): Make more robust in case
- syntax/quasisyntax is used in an non-macro context.
- 2012-02-04 Helmut Eller <eller.helmut@gmail.com>
- * TelnetRepl.java (serve): Return a vanilla Thread, rather than a
- Future. This avoids a force if displaying, and seems more appropriate.
- 2012-01-31 Per Bothner <per@bothner.com>
- * standard/require.java (importDefinitions): Add a null check.
- * standard/Scheme.java (initScheme): New functions 'force*'.
- * standard/object.java (scanClassDef): Set IS_ABSTRACT if interface
- specified explicitly.
- 2012-01-29 Per Bothner <per@bothner.com>
- * lang/Translator.java (exp2Type): Take extra syntax parmeter
- so we can pass it to rewrite.
- * standard/let.java (rewrite): Pass syntax to exp2Type.
- * lang/Lambda.java: Update exp2Type call..
- * standard/object.java: Likewise.
- 2012-01-27 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Fix binding for "call/cc".
- * standard/Scheme.java (initScheme): Declare promise-set-value!,
- promise-set-alias!, promise-set-exception!, and promise-set-thunk!.
- (getTypeName): Change binding for "promise".
- 2012-01-24 Per Bothner <per@bothner.com>
- * lang/SyntaxPattern.java (allocVars): Don't copy more from
- inherited array than is in it.
- 2012-01-21 Per Bothner <per@bothner.com>
- * lang/Quote.java (expand): If quasi-quoting a vector, return
- a ConstVector, not a (mutable) FVector.
- * standard/vector_appane.java (appendToConstVector): New method.
- * standard/object.java (scanClassDef): If seen ABSTRACT_ACCESS
- then set IS_ABSTRACT on ClassExp.
- (matchAccess1): Map "abstract" to ABSTRACT_ACCESS.
- 2012-01-19 Per Bothner <per@bothner.com>
- * lang/SyntaxForms.java (identifierEquals): New static method.
- (freeIdentifierEquals): Removed - subsumed by identifierEquals.
- * standard/Scheme.java (initScheme): Define bound-identifier=?.
- 2012-01-17 Per Bothner <per@bothner.com>
- * standard/expt.java (expt): Force operands.
- 2012-01-15 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Define "lazy" and "eager"
- from SRFI-45 and R7RS.
- (getTypeMap): Rename type "lazy" to "promise".
- 2012-01-09 Per Bothner <per@bothner.com>
- * Shell.java (runClass): New static method.
- (runFileOrClass): Use runClass.
- * standard/load.java (apply2): If file not found, try loading
- and running class, similar with behavior of -f command-line option.
- 2012-01-01 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Remove %make-promise definition.
- (getTypeMap): Define type "lazy".
- (formatType): Handle LazyType.
- 2011-12-19 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): New R7RS bytevector functions.
- 2011-12-10 Per Bothner <per@bothner.com>
- * Shell.java (run): Set PARSE_INTERACTIVE_MODULE module so
- setInteractiveName gets called at the start of parse instead of after.
- 2011-12-02 Per Bothner <per@bothner.com>
- * standard/SchemeCompilation.java (checkDefaultBinding): Catch
- NoClassDefFoundError so we can emit informative warning.
- * lang/Translator.java (rewrite): Change API so we can distinguidh
- when called from scan looking for macros - in which case we don't
- want to call checkDefaultBinding, both for performance, and to
- avoid a duplicate warning.
- 2011-11-29 Per Bothner <per@bothner.com>
- * lang/Translator.java (pushRenamedAlias, popRenamedAlias): We don't
- need to push the templateScope on the renamedAliasStack, since we
- can get it from the alias Declaration.
- (renamedAliasStack): Can therefore make renamedAliasStack be
- parameterized, since only Declarations are pushed.
- Also make private.
- 2011-11-27 Per Bothner <per@bothner.com>
- * standard/Scheme.java (getTypeMap): Define string-input-port type.
- This fixes Savannah bug #34821 "String Input/Output Port Symmetry".
- 2011-11-15 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewrite): Do setCallConvention on new LambdaExp.
- * lang/Eval.java: No longer extends Procedure1or2.
- Instead only static methods.
- (eval): Remove field.
- (apply1, apply2, apply): Remove methods.
- (evalForm$X): New method.
- * standard/Scheme.java (initScheme): eval method is now in Scheme.
- 2011-11-02 Per Bothner <per@bothner.com>
- * standard/module_name.java (scanForm): Fix thinko where classPrefix
- was pre-pended twice.
- 2011-10-24 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewriteFormals, rewriteBody): Default argument
- expressions use Declaration#initValue instead of LambdaWxp#defaultArgs.
- * standard/Scheme.java: Update call to ReaderParens.readList.
- * standard/define.java (scanForm): Defer lambda.rewriteFormals and
- rewriteAttrs of lambdas to rewrite phase.
- (rewriteForm): This allows simplification so we can just use
- the Lambda.rewrite method.
- 2011-10-21 Per Bothner <per@bothner.com>
- * lang/Translator.java (pushRenamedAlias): Fix thinko.
- 2011-10-21 Shad Gregory <captshadg@gmail.com>
- Per Bothner <per@bothner.com>
- * repl.java (evalInitFileWithErrorMessage): New static method.
- (getInitFile): New static method.
- (checkInitFile): Use getInitFile.
- 2011-10-08 Per Bothner <per@bothner.com>
- * standard/Sheme.java (initScheme): Define write-with-shared-structure.
- Define *print-circle* alias.
- (sharedWriteFormat): New static field.
- 2011-09-24 Jamison Hope <jrh@theptrgroup.com>
- * standard/IfFeature.java: New "java-7" feature.
- 2011-10-06 Per Bothner <per@bothner.com>
- * standard/object.java (scanClassDef): Add an extra needed call to
- Translator#stripSyntax.
- 2011-10-01 Jamison Hope <jrh@theptrgroup.com>
- * lang/Translator.java (rewrite): Map #!native to QuoteExp.nativeExp.
- 2011-09-06 Per Bothner <per@bothner.com>
- * standard/call_with_values.java (apply, apply2): Use
- LangObjType.coerceToProcedure for the producer function as well.
- 2011-08-25 Per Bothner <per@bothner.com>
- * lang/Eval.java (evalBody): Use new Compilation#setEvalName.
- (evalFunctionName): Remove field.
- * Shell.java (run): Use Compilation#setInteractiveName.
- 2011-08-04 Per Bothner <per@bothner.com>
- * repl.java: Update copyright year printed by --version.
- 2011-07-27 Per Bothner <per@bothner.com>
- * standard/require.java (feature-map): Add 'javafx-defs.
- 2011-07-11 Per Bothner <per@bothner.com>
- * standard/Scheme.java (eval): Use updated LispReader API.
- 2011-07-11 Per Bothner <per@bothner.com>
- * lang/Quote.java: Tweaks and fixes to actually handle cyclic values.
- 2011-06-14 Per Bothner <per@bothner.com>
- * lang/Promise.java: Moved from here to gnu.mapping.
- 2011-06-07 Per Bothner <per@bothner.com>
- * lang/Promise.java: Make thread-safe - hopefully.
- Handle the case where expression returns null or an actual Throwable.
- 2011-05-13 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewriteWrite): Skip the initial pass to count
- formals - instead just use use a single pass.
- Also, make more robust for some errors.
- 2011-05-02 Per Bothner <per@bothner.com>
- * lang/TemplateScope.java: Remove no-longer-needed super-calls.
- * lang/PatternScope.java: Likewise.
- * lang/Translator.java (rewrite_body): Update for new LetExp API.
- * standard/fluid_let.java: Likewise.
- * standard/let_syntax.java: Likewise.
- * lang/SyntaxPattern.java (translate): Note that pattern declarations
- are initialized to Undefined here, instead of ...
- * standard/syntax_case.java (rewriteClauses): No longer do it here.
- (allocVars): Make static.
- (rewriteForm): Update.
- 2011-04-25 Charles Turner <chturne@gmail.com>
- Per Bothner <per@bothner.com>
- * standard/Scheme.java (getTypeMap): New "empty-list" type,
- for improved error messages.
- * standard/module_static.java (scanForDefinitions): Fix type
- inconsistency.
- 2011-04-18 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewriteFormals): Don't need to noteValueUnknown
- for regular parameters - that is handled later.
- 2011-04-17 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Initialize symbol-read-case"
- to the empty string, not "P".
- (getLexer): New method. If FOLLOW_R5RS, default read-case to 'D'.
- * standard/Scheme.java: Add support for switchable Scheme dialects,
- specifically ones that follow r5rs, r6rs, or r7rs.
- (r5rsInstance, r6rsInstance, r7rsInstance): New fields.
- (FOLLOW_R5RS, FOLLOW_R5RS, FOLLOW_R5RS): New constants.
- (getR5rsInstance, getR6rsInstance, getR7rsInstance): New methods.
- (getName): Update accordingly.
- (createReadTable): Some changes for standard Scheme.
- 2011-04-16 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite): Change checking for "object" ambiguity
- by using field name, rather than prematurely calling getConstantValue.
- (isObjectSyntax): New helper method.
- 2011-04-15 Per Bothner <per@bothner.com>
- * standard/SchemeCompilation.java (checkDefaultBinding): Note that
- function parameter's value is unknown.
- * standard/object.java (rewriteClassDef): Don't call declareParts
- here, instead do it later in PushApply. The problem is that
- declareParts allocates fields and methods eagerly and prematurely
- sets the type based on the Declaration's types. Ideally, setting
- the field type should be done in InlineCalls, when we do type
- inferencing. But at least waiting until PushApply avoids the
- problem of try to infer the type based on the value setters, which
- may not all have been seen yet during the rewrite phase.
- 2011-04-15 Charles Turner <chturne@gmail.com>
- * ReplPane.java (enter): Moved method ...
- * ReplDocument.java (enter): .. to here.
- 2011-04-10 Per Bothner <per@bothner.com>
- * standard/IfFeature.java (hasFeature): Add support for
- class-exists:CLASS_NAME as a feature "name".
- 2011-04-03 Per Bothner <per@bothner.com>
- * standard/SchemeCompilation.java (isApplyFunction): New method.
- * lang/Translator.java (makeApply): Make return type more precise.
- * standard/SchemeCompilation.java (makeApply): Likewise.
- * standard/syntax_case.java: Use more-precise noteValueFromLet.
- * standard/define.java (rewriteForm): Use rewrite_car, so we
- can pass though line number information.
- 2011-03-23 Per Bothner <per@bothner.com>
- * standard/let.java (rewrite): Use letStart/letVariable
- etc methods instead of creating LetExp directly.
- * lang/Translator.java: Use new LetExp#setBody method.
- * fluid_let.java: Likewise.
- * standard/syntax_case.java: Likewise.
- 2011-03-18 Per Bothner <per@bothner.com>
- * repl.java (processArgs): New --diagnostic-strip-directories option.
- 2011-03-16 Per Bothner <per@bothner.com>
- * standard/fluid_let.java (warnIfUndefined): New field.
- (rewrite): Set IS_DYNAMIC unless warnIfUndefined.
- * standard/IfFeature.java (isProvide): New convenience method.
- (PROVIDE_PREFIX): New constant.
- (hasFeature): Use PROVIDE_PREFIX.
- Fix bug where we'd lookup using a String rather than a Symbol.
- * lang/Translator.java (finishModule): The magic provide declarations
- need to be exported.
- * lang/Translator.java (scanBody): If a require form causes parsing to
- be suspended, we need to push back forms popped from the formStack.
- 2011-02-24 Per Bothner <per@bothner.com>
- * standard/Scheme.java: Change s8vector, u8vector, s16vector, u16vector,
- s32vector, u32vector, s64vector, u64vector, f32vector, f44vector to
- refer to LangObjType instances, not constructor instances.
- 2011-02-10 Jamison Hope <jrh@theptrgroup.com>
- Per Bothner <per@bothner.com>
- * standard/IfFeature.java: New "java-6" feature.
- 2011-02-08 Jamison Hope <jrh@theptrgroup.com>
- * standard/require.java (featureMap): Add srfi-14.
- * standard/ImportFromLibrary.java (SRFI97Map): Add srfi-14.
- 2011-02-06 Per Bothner <per@bothner.com>
- * lang/Quote.java (expand_pair): If quoting EXP:NAME just quitely
- return the (non-standard) SEXPR-representation without complaining.
- 2011-02-05 Per Bothner <per@bothner.com>
- * lang/Macro.java (hygienic): Replace boolean with ..
- (flag): new bit mask.
- (HYGIENIC): New constant.
- (SKIP_SCAN_FORM): New constant.
- (makeSkipScanForm): New factory method.
- (scanForm): Just call super, rather than expanding, if SKIP_SCAN_FORM.
- * standard/define_syntax.java (flags): New field.
- (define_rewrite_syntax): New static.
- * standard/Scheme.java (initScheme): Define define-rewrite-syntax.
- * standard/require.java (scanForDefinitions): Handle the case
- (require CNAME "FILE") where CNAME doesn't (yet) exist. Before it
- would work only when using angle-bracket syntax, which forces a
- ClassType - but a plain CNAME doesn't. So check for a null result
- from getTypeFor.
- 2011-01-27 Per Bothner <per@bothner.com>
- * lang/Lambda.java: Update to use new Declaration.ValueSource methods.
- * standard/let.java: Likewise.
- * standard/define_alias.java: Likewise.
- * standard/object.java: Likewise.
- * standard/fluid_let.java: Likewise.
- * standard/set_b.java: Likewise.
- * standard/define.java: Likewise. Some re-writing needed.
- 2011-01-24 Per Bothner <per@bothner.com>
- * lang/Quote.java (expand_pair): Change handling of prefixed names
- with unknow prefix to also handle prefixes bound to classes.
- * repl.java: Micro-optimize indexOf("=") to indexOf('=').
- * repl.java (internalError): Write out existing messages before
- reporting exception.
- * standard/SchemeCompilation.java: Update new Compilation#makeQuoteExp.
- This adds line number information to the resulting QuoteExp-s.
- 2011-01-19 Per Bothner <per@bothner.com>
- * lang/Translator.java (appendBodyValues): New method.
- (makeBody): New method, replacing one in LispLanguage and sub-classes.
- * standard/SchemeCompilation.java (appendBodyValues): New method.
- * standard/Scheme.java (appendBodyValues): New method.
- (initScheme): Update class providing mangleNameIfNeeded.
- 2011-01-17 Per Bothner <per@bothner.com>
- * lang/Eval.java (evalBody): Use language#getCompilation to allocate
- proper Compilation class, rather than hardwiring in Translator.
- * lang/Translator.java (makeApply, checkDefaultBinding): New
- overridable methods, replace LispLanguage methods.
- * standard/SchemeCompilation.java: Change to extend Translator.
- (applyFieldDecl): New field.
- (makeApply, checkDefaultBinding): New methods, moved here from Scheme.
- * Scheme.java (applyFieldDecl): Remove field.
- (makeApply, checkDefaultBinding): Removed methods.
- * set_b.java: Trivial update.
- 2011-01-03 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Declare $bracket-apply$ and
- $bracket-list$ reader pseudo-functions.
- 2011-01-01 Per Bothner <per@bothner.com>
- * standard/object.java (rewriteForm): Don't need to allocate
- ClassTypes here, since done in ObjectExp constructor.
- * standard/define_class.java (scanForDefinitions): Update call
- to constructor.
- * repl.java (processArgs): Don't set compiled class name here directly
- here, even if -T flag was given. Instead, note class name in
- ModuleInfo instance.
- * standard/object.java (rewriteForm): Do setClassType, since it is
- no longer done by constructor.
- (rewriteClassDef): Move logic for rewriting and setting explicit
- class name from here ...
- (scanClassDef): ... to and of scan phase here.
- * standard/define_class.java (scanForDefinitions): Set class name here.
- Allocate ClassType - after checking if class name matches module class
- name.
- 2010-12-30 Per Bothner <per@bothner.com>
- * lang/Translator.java (exp2Type(Pair,Declaration)): New method.
- * lang/Lambda.java: Use new exp2Type and Declaration#setType methods.
- * standard/object.java (scanClassDef): Don't rewrite parameter
- type-specifier here - instead create a LangExp, and ...
- (rewriteClassDef): Do the rewrite here instead.
- 2010-12-28 Per Bothner <per@bothner.com>
- * standard/fluid_let.java (rewrite): Check for base definition in
- builtin environment to avoid undefined-variable warnings.
- * standard/Scheme.java (initScheme): Declare '*print-xml-indent*"'.
- * repl.java (compileFiles): If both -T and -P flags are specified,
- prepend prefix to to topclassname.
- 2010-12-27 Jamison Hope <jrh@theptrgroup.com>
- * standard/Scheme.java (initScheme): Define some R6RS procedures.
- (r6Environment): New static field.
- 2010-12-27 Per Bothner <per@bothner.com>
- * standard/Scheme.java (getTypeMap): Change 'procedure' to
- LangObjType.procedureType.
- * standard/call_with_values.java (apply, apply2): Use new
- LangObjType.coerceToProcedure instead of cast to Procedure.
- 2010-12-26 Per Bothner <per@bothner.com>
- * lang/Lambda.java: Recognize and handle function/method annotations.
- (rewriteAnnotations): New method
- (isAnnotationSymbol): New method - to moved object.java.
- * standard/object.java Handle class annotations.
- (isAnnotationSymbol): Moved to Lambda.java.
- (rewriteClassDef): Make use of rewriteAnnotations.
- 2010-12-24 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Declare 'annotation'.
- (checkDefaultBinding): Map '@NAME' to MakeAnnotation.
- * standard/object.java (scanClassDef): Recognize field annotations.
- (rewriteClassDef): Handle annotations.
- (isAnnotationSymbol): Helper method.
- 2010-11-20 Jamison Hope <jrh@theptrgroup.com>
- Per Bothner <per@bothner.com>
- * standard/require.java (faturemap): Add SRFI-41 features.
- * ImportFromLibrary.java (SRFI97Map): Add SRFI-41 library names.
- (scanForDefinitions): Handle multiple libraries (or sub-libraries)
- for the same SRFI.
- 2010-11-18 Per Bothner <per@bothner.com>
- * standard/object.java (scanClassDef): For 'interface:' argument,
- check for SyntaxForm, in case the class definition is macro-generated.
- 2010-11-14 Per Bothner <per@bothner.com>
- * lang/Translator.java (pushPositionOf, popPositionOf): Use 'this'
- as special marker, instead of Special.eof, since latter may
- cause some issues with a literal #!eof, at least under Q2.
- 2010-11-04 Per Bothner <per@bothner.com>
- * repl.java: Update for new Options#keys which now returns ArrayList.
- 2010-10-28 Per Bothner <per@bothner.com>
- * Shell.java (runFileOrClass): Print stack trace if running class
- throws exception.
- * standard/Scheme.java (initScheme): Declare 'define-enum'.
- * standard/object.java (rewriteInit): Explicitly set return type of
- initMethod to null.
- * standard/object.java (addAccessFlags): New convenience method.
- (scanClassDef): Make use of it for class and field access flags.
- (matchAccess): Check for SyntaxForm.
- (matchAccess1): Update to handle "enum" and "final".
- 2010-10-24 Per Bothner <per@bothner.com>
- * standard/require.java (featureMap): Add "syntax-utils".
- 2010-10-15 Per Bothner <per@bothner.com>
- * standard/Scheme.java (isOdd, isEven): New static fields.
- (initScheme): Change definitions of odd? and even?.
- 2010-10-10 Per Bothner <per@bothner.com>
- * lang/Eval.java (evalBody): Change the initial Compilation 'state'
- so require#importDefinitions does the right thing.
- 2010-10-09 Per Bothner <per@bothner.com>
- * standard/requires.java (importDefinitions): Update
- pushPendingImport call.
- * lang/Eval.java (evalBody): Do setSharedModuleDefs, like
- other interfactive evaluations.
- 2010-10-08 Per Bothner <per@bothner.com>
- * standard/require.java (importDefinitions): Partly refer 2010-09-30
- change. However, check Compilation#sharedModuleDefs rather than
- immediate.
- 2010-10-04 Per Bothner <per@bothner.com>
- * standard/Scheme.java (getTypeMap): Remove redundant (over-written)
- setting for "string".
- 2010-09-30 Per Bothner <per@bothner.com>
- * Shell.java (compileSource): Pass PARSE_IMMEDIATE only to parse;
- don't pass PARSE_CURRENT_NAMES (which is part of PARSE_FOR_EVAL).
- * standard/define.java (scanForm): Only set CAN_WRITE if
- sharedModuleDefs(), not for all immediate compilations.
- * standard/require.java (importDefinitions): Always make alias
- declarations private, regardless of Compilation#immediate.
- 2010-09-29 Per Bothner <per@bothner.com>
- * standard/module_implements.java: Move logic from rewriteForm to
- scanFrom, for same reason as 2008-12-23 change to module_extends.java.
- Fixes bug reported 2010-09-13 by Jamison Hope <jrh@theptrgroup.com>.
- 2010-09-20 Per Bothner <per@bothner.com>
- * standard/define.java (rewriteForm): Don't prematurely getTypeExp
- unless TYPE_SPECIFIED, since doing so forces type to Object.
- * standard/object.java (scanClassDef): Use new ClassExp#addMethoda.
- 2010-09-17 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite): Pass SourceLocator when
- creating QuoteExp.
- 2010-09-15 Per Bothner <per@bothner.com>
- * standard/Scheme.java (formatType): New method.
- (typeToStringMap): New static HashMap.
- 2010-08-31 Per Bothner <per@bothner.com>
- * repl.java (processArgs): Remove unused --fewer-classes option.
- 2010-08-27 Per Bothner <per@bothner.com>
- * standard/map.java: Oved/renamed to gnu/kawa/functions/Map.java.
- * standard/callcc.java: Moved/renamed to gnu/kawa/functions/CallCC.java.
- * standard/Makefile.am: Update accordingly.
- * standard/Scheme.java: Update accordingly.
- 2010-08-26 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite): Use new ClassExp#getClassType.
- 2010-08-20 Per Bothner <per@bothner.com>
- * standard/TracedProcedure.java (applyN): Update since
- setWithSave/setRestore no longer take CallContext argument.
- 2010-08-19 Per Bothner <per@bothner.com>
- * kawa/standard/fluid_let.java: Call setFLuid on lexical base.
- * TelnetRepl.java: No longer pass current environment to Future.
- * ReplDocument.java: Various Environment/Fuure updates.
- 2010-08-17 Per Bothner <per@bothner.com>
- * lang/Translator.java (isLexical): Remove method. Moved logic to
- FindCapturedvars.walkReferenceExp.
- (rewrite): Don't call isLexical to check for fluid-variable - it
- causes false postives for --warn-undefined-variable.
- 2010-08-16 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewriteBody): Change to take an LList.
- This allows using the incoming Pairs for position information.
- 2010-08-15 Per Bothner <per@bothner.com>
- * standard/syntax_case.java (rewriteClauses): Check for
- missing output expression.
- * repl.java: Fix tab/space problem, which broke PreProcess.
- 2010-08-06 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewriteAttrs): The classes of the throws specifier
- may evaluate to a QuoteExp as well as a ReferenceExp. Defer
- error-checking and resolution to LambdaExp.addMethodFor.
- 2010-08-01 Per Bothner <per@bothner.com>
- * standard/callcc.java (CompileTimeContinuation.compile): Use
- AppendValues when we need to deal with multiple values,
- rather than (incorrectly) Values.make.
- * lang/Translator.java (rewrite): Don't set IS_SINGLE_VALUE in
- Declarations - among other problems it causes a (probably-harmless)
- race condition.
- * lang/Lambda.java (rewriteFormals): Set IS_SINGLE_VALUE on formals.
- * standard/let.java (rewrite): Set IS_SINGLE_VALUE on variables.
- * standard/define.java (scanForm): Likewise.
- * standard/define_variable.java (scanForDefinitions): Likewise.
- * repl.java: Update Language setting calls.
- * Shell.java: Likewise.
- * lang/Eval.java (evalBody): Use new Compilation convenience methods.
- * lang/Translator.java (resolveModule): Likewise.
- 2010-07-31 Per Bothner <per@bothner.com>
- * standard/set_b.java (rewriteForm): Don't complain about assigning
- to imported variable it it is dynamic.
- 2010-07-17 Per Bothner <per@bothner.com>
- * repl.java: Remove unneeded package prefixes.
- 2010-07-07 Per Bothner <per@bothner.com>
- * repl.java (processArgs): The --servlet flag also sets the
- HttpRequestContext.importServletDefinitions static field.
- * standard/Scheme.java (<clinit>): Import HTTP or servlet library class
- if HttpRequestContext.importServletDefinitions is non-zero.
- 2010-06-29 Mario Domenech Goulart <mario.goulart@gmail.com>
- * repl.java: Fix typo.
- 2010-06-21 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite_pair): Check for literal Syntax *after*
- rewrite_pair. This is needed for macro that returns an xml literal.
- 2010-06-14 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Fix typo for symbol=?.
- Declare new functions namespace-uri and namespace-prefix.
- 2010-05-31 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Declare new functions symbol=?,
- symbol-local-name, symbol-namespace, symbol-namespace-uri,
- symbol-prefix.
- 2010-05-24 Per Bothner <per@bothner.com>
- * lang/Translator.java (xmlElementNamespaces): New field.
- * standard/Scheme.java (createReadTable): Add "symbol".
- 2010-05-19 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Remove "namespace" function.
- (getNamedType): Add "namespace" type instead.
- (unitNamespace): Update Namespace.make -> valueOf.
- 2010-05-07 Per Bothner <per@bothner.com>
- * repl.java: Also pass PARSE_EXPLICIT to parse when compiling.
- * standard/require.java (importDefinitions): Check that compilation
- is null before checkCurrent, since the latter no longer does.
- 2010-05-06 Per Bothner <per@bothner.com>
- Fix issue where required modules inherit --aplet and --servlet options.
- * repl.java (defaultParseOptions): New field.
- (processArgs): Change --applet and --servlet to just
- set bits in defaultParseOptions.
- (compileFiles): Pass defaultParseOptions to Language.parse.
- 2010-04-18 Per Bothner <per@bothner.com>
- * repl.java (processArgs): Add new options --http-auto-handler and
- --http-start to start web server.
- * standard/IfFeature.java: New features in-http-server and in-servlet.
- * standard/require.java: New servlets module.
- 2010-04-13 Per Bothner <per@bothner.com>
- * lang/Macro.java (expand): Remove bad debugging print-out.
- 2010-04-10 Per Bothner <per@bothner.com>
- * standard/IfFeature.java (hasFeature): If JAVA6COMPAT5 then
- use reflection to test for feature string-normalize-unicode.
- * lang/Promise.java (force): New static method, used to implement
- Scheme 'force' method. Condtionally handle java.util.concurrent.Future.
- 2010-04-07 Per Bothner <per@bothner.com>
- * standard/Scheme.java: Fix name of class implementing "resolve-uri".
- 2010-04-05 Per Bothner <per@bothner.com>
- * lang/Eval.java (evalBody): Set compilation state to BODY_PARSED
- to avoid confusion if Compilation.process is called.
- 2010-04-04 Per Bothner <per@bothner.com>
- * ReplDocument.java: Change call to QueueReader.append so it also works
- for version compiled when java.lang.CharSequence is unavailable.
- * ReplPane.java: Likewise.
- * standard/object.java (rewriteClassDef): Handle the case when
- java.lang.CharSequence is unavailable - i.e. pre-Java4.
- Also, improve location for an error message.
- 2010-04-02 Per Bothner <per@bothner.com>
- * standard/require.java (importDefinitions): Don't call
- mustCompileHere, since import/require usually works when interpreting.
- 2010-02-23 Per Bothner <per@bothner.com>
- Re-write of "runFile", load, and interfaces for running/loading files
- and modules from the command line or the Scheme load function.
- Most importantly, handle running a class name on the command line,
- and handle mutually-referring source files from command line.
- * Shell.java: Bunch of stuff was moved here from load.java.
- (checkCompiledZip, runFileOrClass, compileSource): New methods.
- (runFile): Re-organized and changed interfaces.
- * repl.java: Change calls to runFile to call runFileOrClass.
- * standard/load.java: Move most of the logic to Shell.java.
- * GuiConsole.java: Remove unneeded import.
- 2010-02-21 Per Bothner <per@bothner.com>
- * standard/require.java (importDefinitions): Get module classname
- from the module ClassType, which is more robust.
- 2010-02-10 Per Bothner <per@bothner.com>
- * standard/let.java (rewrite): No longer allow a java.lang.String
- as an identifier.
- This fixes Savannah bug #28860 "Strings as identifiers".
- * standard/define.java (scanForm): Likewise.
- 2009-12-25 root <per@bothner.com>
- * standard/Scheme.java (begin-for-syntax, define-for-syntax): New and
- updated syntax.
- 2009-12-13 Per Bothner <per@bothner.com>
- * standard/define_class.java (scanForDefinitions): Set EARLY_INIT
- on class Declaration.
- * lang/Translator.java (exp2Type): If getTypeFor doesn't work,
- try evaluating the type expression. The goal is handle
- PACKAGE:TYPE, where PACKAGE may be an alias.
- 2009-12-07 Per Bothner <per@bothner.com>
- Change SyntaxForm to an interface, and use accessor methods.
- A primary goal is to create a PairSyntaxForm class that is both a
- Pair (so car and cdr work as in SRFI-72) and a SyntaxForm.
- * lang/SyntaxForm.java: Change to an interface.
- Most actual code moved to SyntaxForms.
- (getDatum, getScope): New accessor methods.
- * lang/SyntaxForms.java: New helper class containing static methods
- and member classes.
- Note the new classes are no longer Externalizable.
- (class SimpleSyntaxForm): New member class, replaces old SyntaxForm.
- Note the 'form' field was renamed to 'datum'.
- (class PairSyntaxForm): New member class, for when the datum is a Pair.
- * Makefile.am: Update according.
- * lang/SyntaxRules.java: Update to use new accessors andstatic methods.
- * lang/Lambda.java
- * lang/SyntaxTemplate.java: Likewise.
- * lang/SyntaxPattern.java: Likewise.
- * lang/Makefile.am: Likewise.
- * lang/Translator.java: Likewise.
- * lang/Quote.java: Likewise.
- * standard/define_syntax.java: Likewise.
- * standard/IfFeature.java: Likewise.
- * standard/export.java: Likewise.
- * standard/syntax_case.java: Likewise.
- * standard/let.java: Likewise.
- * standard/module_name.java: Likewise.
- * standard/define.java: Likewise.
- * standard/define_alias.java: Likewise.
- * standard/object.java: Likewise.
- * standard/fluid_let.java: Likewise.
- * standard/define_class.java: Likewise.
- * standard/let_syntax.java: Likewise.
- * standard/set_b.java: Likewise.
- * standard/with_compile_options.java: Likewise.
- 2009-12-04 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewriteAttr): Fix processing of SyntaxForms.
- This fixes Savannah bug #27042: "Bad interaction between syntax-rules
- and call-with-values".
- 2009-12-04 Per Bothner <per@bothner.com>
- * lang/SyntaxForm.java (toString): Better debugging output.
- * lang/TemplateScope.java (toString): Also print Syntax object.
- 2009-12-02 Per Bothner <per@bothner.com>
- * standard/object.java (rewriteClassDef): Fix previous change so we
- don't get a NullPointerException on an unknown super-type.
- 2009-12-01 Per Bothner <per@bothner.com>
- * standard/Scheme.java (getNamedType): Change 'document' type.
- * standard/define.java (scanForm): Don't setCanRead.
- * standard/object.java (rewriteClassDef): Set HAS_SUBCLASS
- on super-classes.
- (rewriteClassDef): Move move error about *init* method in non-simple
- classes to later, since we might optimize define-class to simple class.
- 2009-11-25 Per Bothner <per@bothner.com>
- * Shell.java (runFile): Better handlng of FileNotFoundException -
- if it happens at run-tie at least we're only *somewhat* misleading.
- 2009-11-04 Per Bothner <per@bothner.com>
- * standard/thisRef.java (rewriteForm): Call different Declaration
- constructor, for cleanliness. (It no longer makes a difference.)
- * lang/Translator.java (scanForm): Set line-number if not yet set.
- 2009-11-01 Per Bothner <per@bothner.com>
- * standard/object.java (matchAccess): Re-write to support
- volatile and transient flags, and also a list of multiple flags.
- (scanClassDef): Update accordingly.
- * lang/Translator.java (matchQuoted): New helper method.
- * standard/define.java: Defer processing of type-specifier from
- scanForm to rewriteForm.
- 2009-10-31 Per Bothner <per@bothner.com>
- * repl.java (processArgs): Use new Compile.MODULE_XXX flags.
- Add new --module-nonstatic or --no-module-static to explicitly
- set moduleStatic to Compilation.MODULE_NONSTATIC.
- * standard/module_static.java( scanForDefinitions): Minor cleanup.
- Add error if inconsistent module-static specifiers.
- 2009-10-27 Per Bothner <per@bothner.com>
- * standard/object.java (rewriteClassDef): Allow *init* methods for
- non-simple class if CLASS_SPECIFIED.
- 2009-10-18 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Many bitwise-* functions
- are now implemented by gnu.kawa.functions.BitwiseOp.
- 2009-10-17 Per Bothner <per@bothner.com>
- * Quote.java: Use statically-looked-up helper Methods, rather than
- using Invoke.makeInvokeStatic, does does undesirable early getType().
- Also, don't call kawa.lib.vector.$make$vactor$; call new
- FVector.make.
- 2009-10-09 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite): Handle ambiguity of 'object'
- as both anonymous-class-constructor macro and type-specifier.
- * standard/Scheme.java (checkDefaultBinding): When checking for array
- type use rewrite so we find lexically-defined class.
- * lang/Lambda.java: Defer from rewriteFormals and rewriteAttrs to
- rewriteBody the exp2Type/getTypeFor calls for parameter and returns
- types, allowing lexical lookkup and forward references of ClassExps.
- 2009-09-30 Per Bothner <per@bothner.com>
- * standard/location.java (rewrite): Use new maybeIndirectBinding method.
- * standard/fluid_let.java (rewrite): Likewise.
- * standard/define.java (scanForm): Only setCanWrite if immediate.
- * standard/require.java (importDefinitions): Don't set no-longer-used
- CREATE_FIELD_REFERENCE.
- * standard/set_b.java (rewriteForm): Warn if setting imported variable.
- * standard/Scheme.java (getTypeFor): Map gnu.math.DFloNum to
- LangObjType.dflonumType.
- 2009-09-29 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Declare disassemble function.
- * standard/Scheme.java (initScheme): resource-url is in
- kawa.lib.misc_syntax, not kawa.lib.files.
- 2009-09-26 Per Bothner <per@bothner.com>
- * lang/Translator.java (finishModule): If generateMain when compiling a
- module without an explicit EXPORT_SPECIFIED, assume nothing is exported.
- 2009-09-20 Per Bothner <per@bothner.com>
- * standard/IfFeature.java: Define string-normalize-unicode feature
- if PreProcess name use:java.text.Normalizer enabled.
- * standard/Scheme.java (initScheme): Update quotient, remainder, and
- modulo, which are now implemented by DivideOp.
- Add R6RS functions div, mod, div0, mod0, div-and-mod, div0-and-mod0.
- * standard/Scheme.java: Map "number" to LangObjType.numericType.
- * standard/Scheme.java: Define R6RS functions exact and inexact.
- 2009-09-15 Per Bothner <per@bothner.com>
- * repl.java (processArgs): Some code moved to ApplicationMainSupport.
- (propertyFields): Moved to ApplicationMainSupport.
- * standard/Scheme.java: Define process-command-line-assignments.
- 2009-09-11 Per Bothner <per@bothner.com>
- * standard/Scheme.java: Map "real" and "rational" types to new
- LangObjType objects.
- 2009-08-30 Per Bothner <per@bothner.com>
- * standard/require.scm (featureMap): Update for SRFI-2.
- * standard/ImportFromLibrary.java (SRFI97Map): Likewise.
- 2009-08-27 Per Bothner <per@bothner.com>
- * repl.java (exitIncrement, exitDecrement, exitCounter):
- Move to gnu/expr/ModuleBody.java.
- * ReplDecument.java: Update accordingly.
- * repl.java (commandLineArgArray, commandLineArguments,
- main body of setArgs): Move to gnu/expr/ModuleBody.java.
- * standard/Scheme.java: Declare "command-line" and update "exit".
- * standard/not.java: Moved/renamed to gnu/kawa/functions/Not.java.
- * standard/Makefile.am: Update accordingly.
- * standard/Scheme.java: Update accordingly.
- * standard/Scheme.java: Update for some functions moved
- to new file kawa/lib/misc_syntax.scm.
- * standard/define_syntax.java (<clinit>): Declare that makeHygienic
- and makeNonHygienic are side-effect-free.
- 2009-08-23 Per Bothner <per@bothner.com>
- * standard/object.java: Update for makeCoercion moved to Compilation
- * lang/Lambda.java: Update for setCoercedReturnValue moved to LambdaExp.
- 2009-08-13 Per Bothner <per@bothner.com>
- * standard/require.java (featureMap): Add mappings for SRFI-13.
- * standard/ImportFromLibrary.java (SRFI97Map): Likewise.
- * standard/define.java (scanForm, rewriteForm): If --no-inline flag
- is specified (i.e. if ! Compilation.inlineOk), treat
- "(define (foo args) body)" same as
- "(define foo (lambda (args) name: 'foo body)".
- * standard/Scheme.java: Various functions in kawa/lib were moved around.
- * lang/Translator.java: Update GetNamedPart -> CompileNamedPart.
- * lang/Quote.java: Likewise.
- 2009-08-12 Per Bothner <per@bothner.com>
- * standard/set_b (rewriteForm): Update Setter.setterDecl.
- 2009-08-10 Per Bothner <per@bothner.com>
- One step in separating compilation from run-time classes.
- * standard/SchemeCompilation.java: New class.
- * standard/Makefile.am: Update accordingly.
- * standard/Scheme.java (lambda, repl): Move to SchemeCompilation.
- (initScheme): Bind LispLanguage.getNamedPartLocation, but don't
- reference Translator fields while doing so.
- * standard/try_catch.java: Update accordingly.
- * standard/define.java: Likewise.
- * standard/object.java: Likewise.
- * lang/Translator.java (getNamedPartLocation): Remove field - it's
- now in LispLanguage.
- 2009-08-07 Per Bothner <per@bothner.com>
- * lang/Translator.java (resolveModule): Move the forms resulting from
- in import into their proper place.
- (vectorReverse): New helper method.
- * standard/require.java (importDefinitions): Also remember
- size of forms stack.
- * repl.java (processArgs): Update copyright year printed by --version.
- 2009-07-10 Per Bothner <per@bothner.com>
- * kawa/SyntaxPattern.java (literalIdentifierEq): Use equals,
- not identity to compare literals.
- Fixes Savannah bug #26993 "String literals in syntax-rules don't match".
- 2009-07-04 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Update for letrec.
- 2009-06-28 Per Bothner <per@bothner.com>
- * standard/callcc.java (inline): Update for new inlining framework.
- 2009-06-02 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Update for (rnrs unicode)
- functions - add new methods, and move old functions to new library.
- 2009-05-31 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Add "regex" type name.
- * standard/require.scm (featureMap): Add 'regex and 'pregexp.
- 2009-05-22 Per Bothner <per@bothner.com>
- * kawa/SyntaxPattern.java (translate, match, literalIdentifierEq):
- More correct handling of syntactic hygiene for literals.
- (literalIdentifierEq): Remove one method.
- 2009-05-17 Per Bothner <per@bothner.com>
- * lang/Eval.java (evalBody): Give module a unique name.
- * standard/SchemeScriptEngineFactory.java: New class.
- * standard/Makefile.am: Update accordingly.
- 2009-05-15 Per Bothner <per@bothner.com>
- * Shell.java (run): Use PARSE_FOR_EVAL rather than PARSE_IMMEDIATE.
- * standard/load.java (loadSource): Likewise.
- * standard/require.java (importDefinitions): Make sure to set
- PARSE_IMMEDIATE (and hence Compilation.immediate) before we parse.
- This is needed if there are cycles.
- 2009-04-21 Per Bothner <per@bothner.com>
- * kawa/require.java (importDefinitions): Don't call run on new
- module if we're not makeRunnable on it.
- * standard/module_name.java (scanForm): Change the value of the
- module-name Declaration to be mainClass with type=java.lang.Class.
- * standard/module_name.java (scanForm): If the module-name is a String,
- treat it the same as FString, rather than the same a Symbol.
- * standard/require.java (importDefinitions): Imported variable
- should be read-only.
- 2009-04-20 Per Bothner <per@bothner.com>
- * lang/Translator.java (scanForm): Push and pop source position.
- 2009-04-18 Per Bothner <per@bothner.com>
- * standard/module_name.java (scanForm): Type of module name is now
- Class, not ClassType.
- * standard/define_alias.java (scanForDefinitions): If the aliasee
- is a name for a ModuleExp or ClassExp, don't indirect.
- 2009-03-15 Per Bothner <per@bothner.com>
- * standard/export.java (export): New field.
- * standard/Scheme.java: Allow 'export' as synonym for 'module-export'.
- * standard/object.java (classNameKeyword): New constant.
- (scanClassDef): Recognize class-name: specifier.
- (rewriteClassDef): If class-name: was seen, set classNameSpecifier
- in ClassExp.
- 2009-03-13 Per Bothner <per@bothner.com>
- * standard/ImportFromLibrary.java (SRFI97Map): New table.
- (scanForDefinitions): Process SRFI-97-style SRFI library references.
- * standard/ImportFromLibrary.java: New class, implements R6RS
- import keyword.
- * standard/Makefile.am: Update accordingly.
- * standard/Scheme.java: Update - the implementations of various macros
- were moved to different classes.
- Add definition of 'import' keyword.
- * standard/require.java (featureMap): Various updates.
- (scanForDefinitions): Error if class not found.
- (importDefinitions): Drop unused 'uri' parameter.
- Add 'renamer' parameter.
- * repl.java (processArgs): Don't run interactive shell if there are
- command-line arguments after doing "something" (such as -f).
- * lang/Translator.java (scanForm): If seeing (PART1:PART2 ...)
- check if PART2 is a static Syntax object in class PART1.
- This allows invoking Syntax/Macro objects without putting them
- in the Scheme namespace.
- 2009-03-10 Per Bothner <per@bothner.com>
- * standard/Scheme.java (createReadTable): Do setFinalColonIsKeyword()
- here, rather than in getLexer, since former was moved to ReadTable.
- (getLexer): Can now be removed.
- 2009-03-07 Per Bothner <per@bothner.com>
- * lang/Scheme.java (getLexer): New method - call
- setInitialColonIsKeyword.
- 2009-03-01 Per Bothner <per@bothner.com>
- * lang/Translator.java (<init>): Also pass NameLookup.
- (resolveModule): Don't pop in immediate mode.
- (check_if_Syntax): Generalize.
- (exp2Type): Don't InlineCalls twice.
- (rewrite_body): We skip dynamic declarations when creating body.
- * lang/Eval.java (evalBody): Update for new Translator constructor.
- 2009-02-06 Per Bothner <per@bothner.com>
- * standard/Scheme.java: New function resource-url; removed resource-uri.
- 2009-01-14 Per Bothner <per@bothner.com>
- * standard/require.java (feature-map): Add 'android-defs.
- 2008-12-29 Per Bothner <per@bothner.com>
- * standard/callcc.java: Optimization to avoid temporary variable
- if calling the continuation doesn't need to call a finally-clause.
- (ExitThroughFinallyChecker): New helper class, extends ExpWalker.
- 2008-12-27 Per Bothner <per@bothner.com>
- * standard/callcc.java: Optimize the case when calls to the
- continuation are lexically known and exits to the same uninlined
- function. In this case we essentially make it a goto.
- 2008-12-23 Per Bothner <per@bothner.com>
- * standard/module_extends.java: Move setting of module's super-type
- from rewriteForm to scanFrom, because if it is done in rewriteForm
- it happens too late for Compilation's addMainClass.
- * standard/module_name.java (scanForm): Allow plain name
- without angle-brackets.
- 2008-12-09 Per Bothner <per@bothner.com>
- * repl.java (processArgs): Handle --target/-target arg.
- 2008-11-21 Per Bothner <per@bothner.com>
- * ReplDocument.java (class DocumentCloseListener): Add a listener
- class so classes can get notified when document "closes".
- This allowed us to close a window by typing #!eof in it.
- (<init>): Call fireDocumentClosed when repl thread finishes.
- (close): Do fireDocumentClosed.
- * GuiConsole.java: Request notification when document is closed.
- * ReplPane.java (removeNotify): New method.
- * GuiConsole.java (main): Also do some initialization so it works
- to call GuiConsole directly as an application or class.
- 2008-11-11 Per Bothner <per@bothner.com>
- More rebust support for multi-line input and type-ahead in GuiConsole.
- * ReplDocument.java (write): Protect using SwingUtilities.invokeLater.
- (checkingPendingInput) New method, to actually send pending input
- to inferior reader.
- (<init>): Have our QueueReader invoke checkingPendingInput.
- * ReplPane.java (enter): Don't send entered text (if at end)
- to inferior, instead let checkingPendingInput do it.
- * GuiInPort.java (lineStart): Remove method.
- 2008-11-10 Per Bothner <per@bothner.com>
- * repl.java: If we have no Console, and no "active" arguments
- were specified, default to a repl in a GuiConsole, just as we normally
- default to a tty-based repl. We check using either the --no-console
- flag (passed in by kawa.c) or the Java 6 System.console method.
- * Shell.java (dontPrompt): Remove static.
- (run): Don't use dontPrompt to determine interactivity.
- * ReplDocument.java (deleteOldText): Don't redundantly adjust
- outputMark and endMark. This fixes an IllegalArgumentException.
- 2008-10-29 Per Bothner <per@bothner.com>
- * ReplPane.java (enter): Minor simplification *and* optimization.
- 2008-10-26 Per Bothner <per@bothner.com>
- Inline call/cc (more coming).
- * lang/CalledContinuation.java (ctx): Extra field.
- (<init>): Pass and set ctx field.
- * lang/Continuation.java (apply): Update accordingly.
- (handleException, handleException$X): New methods, with logic taken
- from callcc.apply.
- * standard/callcc.java: Implement CanInline and Inlineable.
- (apply): Use Continuation.handleException$X.
- (canInline, inline, compile, getReturnType): New methods.
- (class CompileTimeContinuation): New class - currently unused.
- * lang/Translator.java (rewrite): Note that a variable reference
- IS_SINGLE_VALUE.
- 2008-09-08 Per Bothner <per@bothner.com>
- * lang/Translator.java (finishModule): Don't call declareThis here,
- since that creates a Scope and Variable before we even create the
- corresponding CodeAttr, which if nothing else is ugly and confusing.
- 2008-09-06 Per Bothner <per@bothner.com>
- * lang/SyntaxForm.java (formDatum): Just use 'make' method.
- 2008-07-17 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Declare the various R6RS
- bitwise- functions.
- 2008-06-08 Per Bothner <per@bothner.com>
- * lang/SyntaxTemplate.java: Use Pair.setCdrBackdoor, since the
- pairs may be PairWithPosition.
- * lang/Translator.java: Likewise.
- * lang/Quote.java: Same issue, but instead create the list
- back-to-front so we don't have to use setCdr.
- 2008-06-01 Per Bothner <per@bothner.com>
- * standard/Scheme.java: The standard functions string, vector, and list
- are now LangObjType objects.
- * lang/Lambda.java: Update to use new LangObjType.listType.
- * lang/QuoteExp.java (makeInvokeMakeVector): New helper method.
- Use renamed vector method.
- 2008-05-20 Per Bothner <per@bothner.com>
- * standard/map.java: Generalize so the 'procedure' can be any valid
- argument to ApplyToArgs, not just a Procedure.
- * standard/Scheme.java: Adjust for extra constructor args to map.
- 2008-05-11 Per Bothner <per@bothner.com>
- * standard/require.java (importDefinitions): Don't need to check
- for non-null sourceName - that is now handled by checkCurrent.
- * standard/require.java (importDefinitions): If private, continue
- earlier - before checking to see if we need an instance handle.
- 2008-04-30 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewriteBody): Use new setCoercedReturnType
- method in LambdaExp.java.
- 2008-02-17 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite): If the location is in a field
- loaded using a ZipLoader or ArrayClassLoader, we don't safely
- generate code to reference it, except in immediate mode.
- Fixes Bugzilla #22299: "function misnaming with moduleStatic > 0".
- 2008-01-22 Per Bothner <per@bothner.com>
- * standard/Scheme.java (apply): New static field. The "apply"
- method now depends on applyToArgs.
- 2008-01-16 Per Bothner <per@bothner.com>
- * standard/map.java (inline): Handle new argsInlined parameter.
- 2007-12-30 Per Bothner <per@bothner.com>
- Move code out of ReplPane and GuiConsole, until ReplDocument.
- This allows (in theory) the same repl to be viewed in multiple panes.
- Also, use a custom ViewFactory to handle Viewable and Paintable,
- so these can be displayed multiple times.
- * ReplDocument.java: New class, extends DefaultStyledDocument.
- * Makefile.am: Update accordingly.
- * ReplPaneOutPort.java: Write to ReplDocument, with new handling
- of Viewable and Paintable.
- * GuiConsole.java" Move fields and methods to ReplDocument.
- * ReplPane.java: Likewise.
- (class ReplEditorKit): New class.
- * GuiInPort.java: Update for moved fields and methods.
- * standard/define_variable.java (scanForDefinitions): There doesn't
- seem to be any reason to restrict define-variable to module-level.
- 2007-11-05 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite): If we're not in immediate mode,
- don't create the dummy '(module-instance)' variable. Fixes Savannah
- bug 19725:" compile problems appearing in latest svn version".
- 2007-11-04 Per Bothner <per@bothner.com>
- * kawa/Shell.java (run): Create "session" ClassLoader.
- 2007-11-02 Per Bothner <per@bothner.com>
- * standard/Scheme.java (getNamedType, getType): The <integer> type
- is handled by LangObjType.integerType.
- 2007-09-08 Per Bothner <per@bothner.com>
- * ReplPane.java (write): Move to ReplPaneOutPort.
- * ReplPaneOutPort.java (area): Rename field to pane.
- (print): Add support for Viewable and Paintable.
- * MessageArea.java: Rename to ReplPane.java.
- * TextAreaWriter.java: Rename to ReplPaneOutPort.java.
- * GuiConsole.java, GuiInPort.java, Makefile.am: Update accordingly.
- Convent -w flag to create Swing JTextPane rather than AWT TextArea.
- * GuiConsole.java: Change to extend JFrame rather than Frame.
- * TextAreaWriter.java: Extend OutPort rather than Writer.
- (print): New method, to handle "writing" Components.
- (class TextPaneWriter): New class, extends Writer.
- * MessageArea.java: Extend JTextPane rather than TextArea.
- Use various styles.
- * GuiInPort.java (emitPrompt): New method.
- 2007-09-02 Per Bothner <per@bothner.com>
- * lang/AutoloadProcedure.java (load): Restore and fix support for
- class naming a ModuleBody - needed for elisp autoloads.
- 2007-06-10 Per Bothner <per@bothner.com>
- * standard/Scheme.java (checkDefaultBinding): Fix infinite loop
- when looking for missing unit.
- Fixes Savannah bug #19991: '1_' causes OutOfMemoryError in interpreter.
- 2007-06-10 Per Bothner <per@bothner.com>
- Fix Savannah bug #19996 "load-relative trouble".
- * standard/load.java (currentLoadPath): New ThreadLocal.
- (apply): New overload to handle relative paths.
- Make old method private.
- (apply2): Update to use new apply.
- * Shell.java (runFile): Likewise.
- * standard/load.java (apply2): Better error message.
- 2007-06-10 Per Bothner <per@bothner.com>
- * standard/require.java: Update PreProcess state.
- 2007-04-27 Per Bothner <per@bothner.com>
- * standard/load.java (loadClassFile): Use Language.loadClass.
- (loadCompiled): Update ClassMemberLocation.defineAll call.
- 2007-04-26 Per Bothner <per@bothner.com>
- * lang/Langda (rewriteFormals): Call namespaceResolve, twice.
- 2007-04-25 Per Bothner <per@bothner.com>
- * standard/require.java (scanForDefinitions): Update to pass ClassType
- to ModuleInfo.find.
- 2007-04-23 Per Bothner <per@bothner.com>
- * standard/require.java (find(String)): Inline call to ModuleInfo's
- find method - which has been removed.
- 2007-04-19 Per Bothner <per@bothner.com>
- * lang/Quote.java (expand_pair): Obvious trivial optimization.
- 2007-04-03 Per Bothner <per@bothner.com>
- * Translator.java (namespaceResolvePrefix): New method.
- (namespaceResolve(Expression,Expresion)): Use it.
- (namespaceResolve(Namespace,Expresion)): New method.
- * Quote.java (makeSymbol): New static method.
- (expand_pair): Handle `PREFIX:,EXPR.
- 2007-04-01 Per Bothner <per@bothner.com>
- * standard/Scheme.java (checkDefaultBinding): If name matches a
- known package, return that Package.
- 2007-03-31 Per Bothner <per@bothner.com>
- * standard/Scheme.java (unitNamespace): New constant field.
- (initScheme): Declare 'unit'.
- (checkDefaultBinding): Check for symbol whose namespace
- is XmlNamespace or unitNamespace.
- Check for simple symbol matching quantity syntax.
- (lookupBuiltin): Remove method.
- * standard/let.java (rewrite): Do namespaceResolve.
- * standard/define_unit.java (rewriteForm): Unit symbol now uses
- Scheme.unitNamespace, rather than "$unit" suffix.
- * lang/Translator.java (getNamedPartDecl): Moved from Scheme.java.
- (getNamedPartLocation): New field.
- (rewrite_pair): Handle getNamedPartDecl here. Most important change
- is that we also do namespaceResolve.
- * standard/Scheme.java (getNamedPartDecl): Moved to Translator.
- (checkDefaultBinding): Handle symbols in XmlNamespace.
- (makeApply): Don't handle getNamedPartDecl here.
- 2007-03-19 Per Bothner <per@bothner.com>
- * standard/object.java (scanClassDef): If interface:#f is specified
- set CLASS_SPECIFIED flag.
- (rewriteClassDef): ClassExp.setClassName was merged into setTypes.
- * standard/Scheme.java (checkDefaultBinding): Demangle possible class
- name if there is no '.' in name.
- * standard/require.java (scanForDefinitions): Delegate class-name
- lookup to Translator.require.
- * lang/Translator.java (selfEvaluatingSymbol): Make public.
- 2007-03-14 Per Bothner <per@bothner.com>
- * standard/Scheme.java (lookupBuiltin): Remove handling of '<TYPE>'
- here, since we want it handled by checkDefaultBinding.
- (checkDefaultBinding): Use getNamedType rather than lookupType.
-
- 2007-03-13 Per Bothner <per@bothner.com>
- * lang/Translator.java (rewrite): Only call checkDefaultBinding
- if there is no binidng in the dynamic Environment.
- * Shell.java (printError): New static method.
- (run, runString, runFile): Change return type to boolean
- or Throwable to allow better error handling. Use printError.
- * repl.java (processArgs): If error and not interactive, exit(-1).
- * standard/load.java (loadSource): Change to new run API.
- * standard/object.java (matchAccess, accessString): New static methods.
- (scanClassDef): Handle interface: and access: class properties.
- (rewriteClassDef): Skip over class-level keyword specifier pairs.
- * standard/define_class.java (scanForDefinitions): Immediate error
- is name missing or invalid. Resolve qualified (colon) names.
- * Record.java (makeRecordType): Don't access acces_flags directly.
- 2007-03-06 Per Bothner <per@bothner.com>
- * lang/Lambda.java (rewriteBody): Canonicale BeginExp.
- Don't coerce body if isAbstract().
- * lang/Translator.java (rewrite): Handle literal #!abstract.
- 2007-02-28 Per Bothner <per@bothner.com>
- * Shell.java (dontPrompt): New global flag.
- (run): Don't set inport's prompter if dontPrompt flag is set.
- * repl.java (processArgs): Set Shell.dontPrompt if "--no-prompt".
- * repl.java (internalError): New static method.
- (processArgs): Use it in two places.
- 2007-02-27 Per Bothner <per@bothner.com>
- * standard/fluid_let.java (rewrite): Invoke Declaration.setCanWrite.
- * standard/set_b.java (rewriteForm): Likewise.
- 2007-02-26 Per Bothner <per@bothner.com>
- * standard/map.java (inline): Update for new CanInline api.
- 2007-02-25 Per Bothner <per@bothner.com>
- * standard/Scheme.java (checkDefaultBinding): Map 'NAME?' to
- '(lambda (x) (instance? x NAME)'.
- * standard/Scheme.java (getNamedType): Remove redundant efinition
- of 'java.lang.Object'.
- * lang/Lambda.java (rewriteBody): Allow constant Type or Class in
- deprecated '<TYPE> BODY' syntax.
- 2007-02-19 Per Bothner <per@bothner.com>
- * standard/define_class.java (scanForDefinitions): We now return
- Class, rather than Type, in the define-simple-class case.
- 2007-02-18 Per Bothner <per@bothner.com>
- * lang/NamedException.java: Use Symbol rather than String for name.
- * lang/Lambda.java: Names are now Symbol, not String.
- Strings are now CharSequence rather than only FString.
- * standard/define_autoload.java: Likewise.
- * standard/define_unit.java: Likewise.
- * lang/SyntaxPattern.java: Likewise.
- * standard/require.java: Likewise. Assume fdecl's name is Symbol.
- * lang/Translator.java: Likewise.
- (matches): New method, handles Symbols.
- * lang/SyntaxTemplate.java: Names are now Symbol, not String.
- * lang/Record.java (typeFieldNames): Likewise.
- * standard/define_syntax.java: Likewise.
- * standard/throw_name.java: Likewise.
- * standard/IfFeature.java: Likewise.
- * standard/module_static.java: Likewise.
- * standard/object.java: Likewise.
- * standard/Scheme.java: Update for new type scheme.
- * lang/Translator.java (rewrite): Handle rewriting class name to class
- by calling checkDefaultBinding.
- * standard/Scheme.java (initScheme, getType): Define class and type
- types.
- (checkDefaultBinding): New method.
- (exp2Type): Simplify to use getTypeFor.
- * standard/prim_method.java (rewrite): Use implemetation type.
- * standard/define_alias.java (scanForDefinitions): \
- Handle aliasing to a constant.
- 2007-02-08 Per Bothner <per@bothner.com>
- * standard/Scheme.java (getTypeFor): New method.
- 2007-02-05 Per Bothner <per@bothner.com>
- * standard/Scheme.java (initScheme): Declare define-syntax-case.
- * lang/Translator.java (setCurrentScope): Change needed to handle
- macros that generate macros. Not quite right, but an improvement.
- 2007-01-31 Per Bothner <per@bothner.com>
- * MessageArea.java (enter): Fix osme off-by-one issues.
- Fixes (hopefully) Savannah bug #16313.
- 2007-01-14 Per Bothner <per@bothner.com>
- * lang/Record.java (makeRecordType): Use one-argument version of
- loadClass, since 2-argument version is now protected.
- 2007-01-09 Per Bothner <per@bothner.com>
- * standard/Scheme.java: Add new path functions.
- 2007-01-04 Per Bothner <per@bothner.com>
- * standard/load.java (apply): Use Path's openInputStream.
- * standard/require.java (lookupModuleFromSourcePath): Use Path's
- resolve method, rather than URI_utils's.
- 2007-01-03 Per Bothner <per@bothner.com>
- * standard/require.java: Use ModuleInfo's new
- getSourceAbsPathname method.
- 2007-01-02 Per Bothner <per@bothner.com>
- * standard/load.java (apply): Take Path parameter.
- Simplify resolving to URL - let Path.toURL handle it.
- (apply2): Update accordingly.
- (loadCompiled): Take Path parameter.
- * Shell.java (runFile): Update accordingly.
- * standard/Scheme.java (initScheme): Change URI from function to type.
- Other new types: path, filepath
- New functions: path?, filepath?, URI?, absolute-path? path-scheme,
- path-authority, path-user-info, path-host, path-port, path-path,
- path-fragment, path-query.
- (getNamedType): Remove URI - now "URI" rather than "<URI>".
- (getTypeFor): Handle path, filepath, uri.
- (createReadTable): URI is now define in LangObjType.
- Add path and filepath.
|