123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685 |
- 16-Jun-82 10:03:19-PDT,759;000010000001
- Date: 16 Jun 1982 1003-PDT
- From: Alan Snyder <AS>
- Subject: PSL compiler bug
- To: Perdue
- cc: AS
- I have discovered what appears to be a bug in the PSL compiler.
- When you use (RETURN) with no argument, the compiler generates
- a "call" to the function NIL, which is undefined. The interpreter
- has no problem. For example:
- 16 June 1982 Alan Snyder
- ----------------------------------------
- Compiling TEST
- Source:
- (LAMBDA NIL
- (PROG NIL
- (RETURN))
- 3)
- ----------------------------------------
- Object:
- (*ENTRY TEST EXPR 0)
- (*ALLOC 0)
- (*LINK NIL EXPR 0)
- (*MOVE '3 (REG 1))
- (*EXIT 0)
- *** Function `TEST' has been redefined
- *** (TEST): base 326164, length 3 words
- ----------------------------------------
- -------
- 17-Jun-82 17:09:35-PDT,2917;000010000001
- Mail-From: PERDUE created at 17-Jun-82 17:09:15
- Date: 17 Jun 1982 1709-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Lanam's PSL bugs
- To: psl at HP-HULK
- <lanam>psl.bugs
- PSL bugs, inconsistencies with the manual, & improvements
- * (dhl, 5/25) The scoping of functions in packages.
- Say I do
- (createpackage 'franz 'global)
- (setpackage 'franz)
- (localintern 'franz\difference)
- (dm franz\difference (x)
- (cond ((greaterp (length x) 3)
- (list 'global\difference
- (cadr x)
- (cons 'add (cddr x))))
- (t (cons 'global\difference (cdr x)))))
- Then if I try to run (prettyprint ..)
- I get my difference function called, not the global\difference
- function by the compiled code for prettyprint.
- I believe prettyprint since it is written in the global package,
- should use the global\difference function
- not mine. Since mine is a macro and the other is an expr, you
- get a strange message that you are taking the cdr of some number.
- The problem is that the system should be smart enough to correctly
- associate the functions called from within a function to be those
- associated with the package the code was read into
- and not those associated with the current
- package. Without this, I cannot redefine any system named functions
- in my own package because the system will use my versions of these
- functions when I do not wish it to.
- Also it would be nice if functions defined would be localinterned to
- the currentpackage*, and then defined. This would eliminate the need
- for the call to localintern in the above example.
- (the above was sent on may 25.)
- * (dhl, 5/27) asin (n) where n > 1 or n < -1 gives the error
- that REDERR is an undefined function.
- * (dhl, 5/27) I can not find any method of general type checking or
- type coersion.
- * (dhl, 5/27) (close) with no arguments says nil is an undefined
- function.
- * (dhl, 5/27) (car nil) and (cdr nil) is illegal. I would prefer
- (car nil) => nil and (cdr nil) => nil.
- * (dhl, 5/27) typing an extra ")" to the top level interpreter
- gives you an error message. It would be nicer if it was just
- ignored.
- * (dhl, 5/27) It would be nice if
- (putd new-function-name (getd old-function name)) worked.
- At present the best I can see is
- (let ((x (getd ..)))
- (putd new (car x) (cdr x)))
- * (dhl, 5/27) (throw label) where label did not exist in any
- catch or no catch was called goes into an infinite loop.
- * (dhl, 5/27) Need a package that allows lexpr and (arg n) inside
- lexprs.
- * (dhl, 5/27) defun in common lisp compatibility only handles
- exprs, not macros, or fexprs.
- * (dhl, 5/27) cannot have the names of fexprs or macros or nexprs,
- be the name of a special variable also.
- * (dhl, 5/27) There appears to be two char functions in the manual.
- But the one mentioned as being loaded with the strings package
- appears to not be loaded in with the strings package.
- -------
- 17-Jun-82 17:14:32-PDT,7491;000010000001
- Mail-From: PERDUE created at 17-Jun-82 17:10:29
- Date: 17 Jun 1982 1710-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Goldstein's PSL bugs
- To: psl at HP-HULK
- <goldstein>psl.bugs
- PSL bugs, inconsistencies with the manual, & improvements
- * (ipg, 5/24, clarification) Is it the case that PSL does not check
- for functions that receive the wrong number of arguments? Is it able
- to do so (for interpretive & for compiled code)? It would be nice if
- it had such an error checking mode.
- * (ipg, 5.24, section 8.7) The arguments to the string functions are
- not defined.
- * (ipg, 5.24, section 10.4) The manual claims that global variables
- cannot be rebound. However, no error occured for: ((lambda
- (throwtag*) 1) 1) which rebinds this global??
- * (ipg, 5/24, section 10.3.1) What is the timetable for implementing
- closures. Altbind is unavailable at our site.
- * (ipg, 5.24, section 12.2) The description of the globals is
- frequently missing or too cryptic.
- * (ipg, 5/24, manual, 8.4, Sub) For x:=[1 2], (sub x 0 1) results in
- an error. Shouldn't it return the segment from position 0 to position
- 1.
- * (ipg, 5/24, manual, Lisp Rlisp compatibility) If RLISP is only a
- parser for Lisp, then there should be functions: On, Off, In, Out. Why
- don't these functions exist. Ditto for <=, >=, etc.
- --- Sent 5/23, 9 AM to Griss ---
- * (ipg, 5/23, manual, sec 4.2, definition of Equal) Comment about
- open-compiling that begins "... Otherwise, ..." is confusing. The
- text says that "This is not true of EQ and Eqn". What is not true.
- EQ is supposed to be open-compiled as well.
- * (ipg, 5/23, manual, sec 4.2, definition of EqCar) EqCar(U,V) does not
- complain if (Car U) is illegal, e.g. (EQCAR "ab" V). (1) Does the
- definition check, or is some random thing happening; and (2) should it
- report an error if (CAR U) is illegal.
- * (ipg, 5/23, manual, sec 4.2, definition of Null) Is it reasonable
- to place documentation of Null in 4.2.2, Is Null a predicate for
- testing Type of an Object?
- * (ipg, 5/23, manual, sec 4.2, definition of Intern and NewId)
- Interning a newId does not lose NewId's property list, if no previous
- ID with this print name has been interned, e.g.
- (setq x (newId "ABC")) %No atom with this print name exists.
- (put x 'prop 'val)
- (intern x)
- (get 'ABC 'prop) --> val
- Manual could be clearer in this regard.
- * (ipg, 5/23, manual, arithmetic functions) MACRO rather than NEXPR is
- used for the multi-argument functions like PLUS. What is the
- rationale for this.
- * (ipg, 5/23, inconsistency) (help top-loop) and (help toploop) are
- not the same. The former just prints the file. The latter executes a
- function that prints the file, then prints the current bindings of the
- reader, printer, etc. This might be confusing to a novice user.
- Perhaps, the file should be toploop.hlp (without the - sign).
- --- 5/22 comments mailed to Griss, 5/22, 7:37 with ack requested. ---
- * (ipg, 5/22, improvement) It would be nice if BACKTRACE did not print the
- functions that it itself put on the stack, since they are artifacts of its use
- and not relevant to debugging.
- * (IPG, 5/22, Improvement) EMODE (1) bind backspace to the rubout
- handler. (2) Commands like read and write file should use the default
- file associated with the current buffer. (3) Auto save and Auto fill
- are two important additions. (4) Write should say that the file was
- written.
- * (IPG, 5/22, Improvement) It would be nice if the HELP function also
- informed the user of some dynamic properties, e.g. HELP <module>
- should let the user know if the module is loaded.
- * (IPG, 5/22, Bug) (HELP) states that a certain set of help files are
- available. In fact, there is a larger set corresponding to thse
- described in the manual.
- * (IPG, 5/22, Bug) (EMACS) tries to run <EDITORS>EMACS.EXE. The HP HULK has
- no directory <EDITORS>.
- * (IPG, 5/22, Consistency) The manual describes the convention that globals
- have the suffix !*. But, the MM command uses the variable MMFORK with no
- suffix.
- * (IPG, 5/22, Bug) In RLISP mode, HELP FOR; losses because the parser
- attempts to parse FOR unless FOR appears in quotes.
- * (IPG, 5/22, Manual, p21.3) In the example, EXPORTED ... appears, but it
- is not documented in the preceding text. Only exported, imported are
- documented.
- * (IPG, 5/22, Manual, p21.3) The manual does not explain how to reformulate
- a LISP function into a SYSLSP function when in LISP mode, i.e. is there a
- some kind of reformulator that converts calls to plus to calls to wplus2.
- * (IPG, 5/22, Bug) Executing (setq !*Time T) causes an error which caused
- system to begin prompting with line number 1. This only happened the first
- time, and did not repeat when !*Time was toggled. Repeatable in a fresh PSL.
- Does not occur in RLISP mode, only in LISP mode.
- * (IPG, 5/8) It appears that PSL cannot write to two channels at the
- same time, thus preventing a dribble file.
- Redefine PRINT functions to write to two channels or define
- your own special channel with a writechannel function that writes to
- two other channels.
- * (IPG, 5/8) Re TOPS-20, DOCMDS and CMDS do not seemed to be defined.
- Help file erroneously mentions exec0. Exec, MM and EMACS are
- autoloading. The rest are obtained by LOAD EXEC;.
- * (IPG, 5/8) Re prettyprinting, there does not seem to be a pretty print
- function defined in the manual. (A prettyPrint function is mentioned in the
- manual; perhaps it exists in some file to be loaded.).
- Debug module has the function PPF which apparently pretty
- prints in RLISP format. Is there a Lisp prettyprinter. Yes,
- the function PrettyPrint. PPF tries to print according to
- the currently loaded parser. Unfortunately, it detects whats
- loaded by looking for the function RPRINT, which is autoloading.
- Also, ppf and plist lose when the fn or plist is not defined. True.
- * (IPG, 5/8) There don't seem to be any interrupt characters, e.g.
- control-g to return to toplevel. (An interrupt package is mentioned,
- but not cited as complete.).
- Interrupts exist (Load Interrupt), but not documented.
- * (IPG, 5/8) Re compilation, the functions LAPOUT, and LAPEND do not seem to
- exist. Possibly a renaming has taken place since the 18 January
- manual.
- FASLOUT and FASLEND are the correct functions.
- * (IPG, 5/8) Re saving a PSL, I tried SAVESYSTEM, followed by the TOPS-20 SAVE
- command. However, when I tried to run the resulting .exe file, I got
- the complaint "No starting address". How is a PSL saved and
- restarted. (Manual, p.14.1)
- The file on the tape is still incorrect. Patch needed to
- handle tops 20 release.
- * (IPG, 5/8) Re HELP, the manual claims that HELP of no arguments
- prints a message. It works in Lisp mode as (HELP) and in RLISP mode
- as HELP; but HELP(); loses??
- help() still loses. help mini-editor requires ! before -.
- * (IPG, 5/8) Re TTY Interaction, the Rubout handler is line-oriented, and
- apparently one cannot rubout accross cr's. Is this true?
- Yes.
- * What is the size of various PSL spaces.
- One would like an INQUIR function that prints out these
- statistics.
- * Is there a typep function that returns the TYPE.
- Not at present.
- * Is there a general coercer that takes an object and a desired type.
- No.
- * Note that some help files are incorrect; eg HELP editor refers to
- minieditor, not mini-editor
- -------
- 18-Jun-82 14:28:22-PDT,265;000010000001
- Mail-From: PERDUE created at 18-Jun-82 14:24:42
- Date: 18 Jun 1982 1424-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Char macro
- To: psl at HP-HULK
- The char macro is not well documented and the use of <Ctrl-G> is
- almost certainly not correct.
- -------
- 18-Jun-82 14:28:22-PDT,294;000010000001
- Mail-From: PERDUE created at 18-Jun-82 14:25:44
- Date: 18 Jun 1982 1425-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: PLAP: logical name
- To: psl at HP-HULK
- The name PLAP: is used in the full-restore.ctl file, but is not
- a standard logical name. It should be PL: instead.
- -------
- 18-Jun-82 14:33:21-PDT,491;000010000001
- Mail-From: PERDUE created at 18-Jun-82 14:29:07
- Date: 18 Jun 1982 1429-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Batch control files
- To: psl at HP-HULK
- The batch control files use the standard logical names. For
- this to work properly, users who rebuild PSL should have a
- BATCH.CMD file that TAKEs the logical-names command file. This
- approach is cleaner than having mentions of the actual name of
- the PSL directory, if not others, in each batch control file.
- -------
- 18-Jun-82 14:33:21-PDT,473;000010000001
- Mail-From: PERDUE created at 18-Jun-82 14:31:19
- Date: 18 Jun 1982 1431-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Building new directories
- To: psl at HP-HULK
- The DEC-20 release notes suggest the use of the standard logical
- names as arguments to the TOPS-20 BUILD command. Our version of
- BUILD does not accept a logical name for the building of a NEW
- directory (it's OK for old ones, although that feature may be
- a local addition to the code).
- -------
- 18-Jun-82 16:43:22-PDT,209;000010000011
- Date: 18 Jun 1982 1639-PDT
- From: SOREFF at HP-THOR
- Subject: PSL
- To: perdue at HP-HULK
- Is there any predicate which checks to see if an atom is the name
- of a load module which has been loaded?
- -------
- 21-Jun-82 13:31:59-PDT,319;000010000011
- Date: 21 Jun 1982 1329-PDT
- From: SOREFF at HP-THOR
- Subject: For loop in PSL
- To: perdue at HP-THOR
- cc: soreff at HP-THOR
- Where is the resident PSL part of the FOR construct described? I've found
- the section on the "LOAD USEFUL" version (page 9.7-9.11) but I don't know where the restricted version is.
- -------
- 21-Jun-82 15:21:52-PDT,436;000010000001
- Mail-From: PERDUE created at 21-Jun-82 15:18:49
- Date: 21 Jun 1982 1518-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: BUG function
- To: psl at HP-HULK
- The "BUG" function does not work correctly at HP. Appropriate
- address for bug reports is really site dependent and this is reason
- that there should be a site initialization file executed when
- PSL starts up. This could also set up EMODE for HP terminals at HP.
- -------
- 22-Jun-82 09:24:23-PDT,463;000010000001
- Date: 22 Jun 1982 0924-PDT
- From: Alan Snyder <AS>
- Subject: EMODE bug
- To: Perdue
- cc: AS
- I believe I have just fixed a bug in EMODE. Previously, if you were at the end
- of a line, it would start searching at the last character of that line (when
- searching forward). I fixed this by changing the function buffer_search in
- search.red by adding a "+ 1" to the MIN at the beginning. It seems to work
- properly now. I have not recompiled EMODE.
- -------
- 22-Jun-82 09:43:44-PDT,455;000010000001
- Date: 22 Jun 1982 0943-PDT
- From: LANAM
- Subject: psl bug
- To: perdue
- Try typing an expression. Do not finish closing it.
- Then type an EOF character (^z on the 20).
- After that try to type EOF characters or close the expression (with ')').
- You will notice, that it is in a mixed-up state. Have the system thinks
- it is still reading input, and the other half thinks ')' is a variable.
- You can no longer use ')' to reset the break point.
- -------
- 23-Jun-82 17:23:10-PDT,4686;000010000001
- Date: 23 Jun 1982 1723-PDT
- From: Kendzierski (Nancy)
- Subject: PSL manual typos/questions
- To: perdue
- PSL Manual Errors and Questions
- Nancy Kendzierski
- 6/23/82
- page comment/question/error
- 3.1 omit "be" 7th from bottom line, 5th word
- 3.5 forgot N-ary on Times function
- 4.8 Is a string a vector? (NO) This should be clarified because a
- string is defined to be "a packed vector (or byte vector) of
- characters" on page 4.2
- 6.1 extra "is" 10th line from bottom, 2nd to last word
- 6.2 extra "by" 11th line, 5th word
- 6.4 RemPropL -- is V an indicator? Is U a simple id-list (YES)
- 6.4 Flag -- is this atomic, or if an erroroccurs half-way through
- the list, do half of the ids now have the flag? (YES) Same
- question for RemFlag
- 6.8 Setf description originally says "returns RHS" but on page
- 6.8, line just before PSetf, it says the example "returns X"
- -- this is the LHS. [probably a typo, and should just read
- "returns Y"]
- 7.3 Why have XCONS? Having both NULL and NOT is at least
- explicitly explained
- 7.5 Do "Nth" and "PNth" have the same error conditions? How is
- N<=0 treated in "Nth"? Say so.
- 8.8 On page 8.5 it says "Char is not defined because of other
- functions with the same name", yet here it appears as the
- 4th function on the page -- also String() on page 8.10
- 8.5-8.11 This whole section should be complete or not included --
- don't just copy another manual unless it is all applicable
- and in compatible format
- 9.3 "is has the same result as" should either have a parenthesized
- phrase or there's an extra word in it.
- 9.8 1st line needs a "when" as the 3rd word
- 9.10 "Collected" into a list -- is that CONS or APPEND; build from
- front or back? What's the difference between COLLECT and
- CONC?
- 9.13 last line, wrong tense, should be "the I's HAVE the form"
- 9.14 line before "DO!*():" -- wrong tense again, should be "which
- ARE Setq'd"
- 9.14 in explanation of "Do-Loop" to be consistent with previous
- form, "P's" should be used, not "pi's"
- 10.4 What's a "simple substitution macro"? How does it differ from
- a "macro"?
- 10.4-10.5 Is a macro id a function name or variable name? Defn of DM
- on page 10.4 says function but desciption of MacroP on 10.5
- implies a variable
- 10.9 Yes, give a practival example of CLOSURES
- 11.2 line 8, "If EQCAR(CAR U ...)" Basically I don't
- know/remember/can't find the description of (id form ...
- form) in enough detail to check this out. CAR U should be
- an id. What is the CAR of an id? The entire example is
- confusing (i.e., the "approximation of the real code") The
- same is true of the Apply example
- 11.3 EvLis description -- Eval uses more efficient than what;
- EvLis? If so, why does EvLis exist? If not, more efficient
- than what? Confusing.
- 11.3-11.4 Does use of FUNCTION also allow the variable named by the
- function to be available (when compiled? interpreted?)
- 11.4 FUNCTION, last line, Closures are sort of discussed in Chapter
- 10.3, not 10.2
- 12.11 HelpFile description -- "persual" should be "perusal"
- 13.5 Does ReadCH raise case if !*RAISE is T?
- 13.8-13.9 If the examples of floats are correct, then the BNF is not
- correct -- the BNF actually requires a decimal point in
- every float, even if it has an exponent, so it is
- inconsistent with 1e6 as a float
- 13.11 What is the concept of dipthong? Read macro? Splice macro?
- Why is it one slot in a scan table instead of one for each?
- 13.13 ErrPrin -- what is the "item" that is returned?
- 13.19 EXPLODE -- is '(A.B) a "number, identifier, string, or
- code-pointer"? Does the ' make it an identifier?
- 14.1 Extraneous "of" in second line of section 14.2 (second word)
- 15.6 [not implemented yet] is it planned to be implemented? By
- whom? When?
- 15.7 After BREAKOUTCHANNEL!*, "Break is a essentially" -- omit the
- "a"
- 16.4 In section 16.1.3 second last line, 1st paragraph -- what does
- it mean "functions must have a compound statement at their
- top level"?
- 16.18 !*LOSE -- what is this? It's constantly referred to, but
- never defined/explained
- 16.18 Why is !*SAVENAMES initially NIL?
- 18.3 Is RCRef only available in RLisp? Why? or How is it used in
- Lisp?
- 18.13 3rd line "#\:" should start a new line
- 4th line "Not" should be "Note"
- 5th line "*RAISE is not NIL" -- not "it not NIL"
- 18.14 Why doesn't #+ accept three arguments? Because the third is
- optional?
- 19.21 If the most common adjust function removes ANYREG to eliminate
- looking for it in patterns, why have it?
- -------
- 28-Jun-82 17:14:14-PDT,233;000010000011
- Date: 28 Jun 1982 1714-PDT
- From: Kendzierski (Nancy)
- Subject: PSL logical names
- To: Perdue
- How come p20d: as <psl.20-dist> isn't defined in the
- <psl>logical-names.cmd file? It is listed in the manual
- on page 22.2.
- -------
- 28-Jun-82 17:47:02-PDT,226;000010000001
- Mail-From: PERDUE created at 28-Jun-82 17:46:23
- Date: 28 Jun 1982 1746-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: C-M-rubout in EMODE
- To: psl at HP-HULK
- Sometimes (always?) goes into an infinite loop.
- -------
- 30-Jun-82 11:00:12-PDT,471;000010000001
- Mail-From: PERDUE created at 30-Jun-82 10:57:40
- Date: 30 Jun 1982 1057-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: "FLAGS"
- To: psl at HP-HULK
- In Chapter 12 of the manual the RLISP "On" and "Off" constructs are
- discussed briefly. It appears that LISP users should not just
- set the corresponding global variables, because On and Off may
- have additional side effects. If this is true, there should be
- some easy way of doing On and Off in LISP.
- -------
- 1-Jul-82 14:06:26-PDT,760;000010000001
- Date: 1 Jul 1982 1406-PDT
- From: Kendzierski (Nancy)
- Subject: PSL bugs
- To: perdue
- cc: kendzierski
- Note: Should I be sending this to you or to a special PSL bugs file
- and/or should I be cc'ing someone?
- Bug 1: The manual (page 20.2, section 20.3.1 "TOPS-20 User Level Interface")
- states that "a global variable, CRLF, i sprovided with the <CR><LF>
- string. Attempts to use this global variable result in a
- CRLF is an unbound id {99} message from psl.
- Bug 2: The manual states on pp. 18.21-18.22 (section 18.8 "Find") that
- FindPrefix and FindSuffix collect a list of ids. An attempt to
- use findprefix resulted in a
- FINDPREFIX is an undefined function {1001} message from psl.
- -------
- 2-Jul-82 23:32:13-PDT,346;000010000001
- Mail-From: PERDUE created at 2-Jul-82 23:29:04
- Date: 2 Jul 1982 2329-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: PSL findprefix and findsuffix
- To: psl at HP-HULK
- These are not loaded with the USEFUL library and there whereabouts
- is not documented in the manual, though they themselves are.
- They appear in pu:find.red.
- -------
- 2-Jul-82 23:37:12-PDT,244;000010000001
- Mail-From: PERDUE created at 2-Jul-82 23:34:25
- Date: 2 Jul 1982 2334-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Debugger user interface
- To: psl at HP-HULK
- The "break loop" does not establish echoing as it is entered.
- -------
- 2-Jul-82 23:37:12-PDT,329;000010000001
- Mail-From: PERDUE created at 2-Jul-82 23:35:53
- Date: 2 Jul 1982 2335-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: DEC-20 REENTER and CONTINUE
- To: psl at HP-HULK
- On the DEC-20, ^C followed by REENTER or CONTINUE screws up
- badly for some reason. I would think they would just not
- be available commands.
- -------
- 6-Jul-82 10:41:15-PDT,197;000010000001
- Date: 6 Jul 1982 1041-PDT
- From: Johnson
- Subject: PSL Query
- To: Perdue
- cc: Johnson
- (DskIn "foo.lsp") echos all the forms evaluated in foo.lsp.
- Is there a silent version of DskIn?
- -------
- 6-Jul-82 12:10:37-PDT,909;000010000001
- Mail-From: PERDUE created at 6-Jul-82 12:09:24
- Date: 6 Jul 1982 1209-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Debugging
- To: psl at HP-HULK
- There are various deficiencies concerned with debugging.
- There is no genuine backtrace that uses the saved variable bindings,
- even for interpreted code.
- The error handling system is so portable that it evidently cannot
- use the DEC-20 APR trap mechanism, etc..
- It is difficult to set up an interpreted version of a subsystem that
- is usually compiled. (This is a separate issue from the capabilities
- of the system internals.) In particular, facilities for requiring
- certain files to be present when a procedure is loaded for interpretive
- execution don't exist. Also functions for loading interpreted and
- compiled code are distinct, not to mention the additional distinct
- function for loading "system" files (files in pl:).
- -------
- 6-Jul-82 12:15:43-PDT,292;000010000001
- Mail-From: PERDUE created at 6-Jul-82 12:12:21
- Date: 6 Jul 1982 1212-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: RDS, WRS
- To: psl at HP-HULK
- RDS and WRS are virtually guaranteed to cause lossage concerning
- I/O channels, especially since there is no UNWIND-PROTECT.
- -------
- 6-Jul-82 13:55:40-PDT,498;000010000001
- Mail-From: PERDUE created at 6-Jul-82 13:50:42
- Date: 6 Jul 1982 1349-PDT
- From: Cris Perdue <Perdue>
- Subject: Re: PSL Query
- To: Johnson
- In-Reply-To: Your message of 6-Jul-82 1041-PDT
- Remailed-date: 6 Jul 1982 1350-PDT
- Remailed-from: Cris Perdue <Perdue at HP-HULK>
- Remailed-to: psl at HP-HULK
- DSKIN ordinarily prints the value of each form evaluated. It is
- possible to make it do and print some different things, but
- it is basically not possible to turn the printing off.
- -------
- 6-Jul-82 15:40:45-PDT,390;000010000001
- Mail-From: PERDUE created at 6-Jul-82 15:36:46
- Date: 6 Jul 1982 1536-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: QUIT, pushdown overflow
- To: psl at HP-HULK
- Tried to do a (quit) in the middle of a long session, got the message
- "?Pushdown overflow at 161550". Continue and reenter behaved
- strangely. Start worked, but quit continued to have problems thereafter.
- -------
- 7-Jul-82 08:53:02-PDT,372;000010000001
- Mail-From: PERDUE created at 7-Jul-82 08:52:19
- Date: 7 Jul 1982 0852-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: IN and EVIN
- To: psl at HP-HULK
- IN and EVIN, available from RLISP, are not defined as functions.
- IN even has an entry in the manual, though there is no description
- of what it does (page 31.12). These should be available from LISP.
- -------
- 7-Jul-82 09:29:14-PDT,411;000010000001
- Date: 7 Jul 1982 0929-PDT
- From: Alan Snyder <AS>
- Subject: PSL bug
- To: Perdue
- cc: AS
- The function NTH produces obscure error messages if the
- index argument is out of range. The error messages are
- obscure because (1) they refer to the function PNTH,
- which the user should have no need to know about, and
- (2) they report an index which is different than the
- value given in the call to NTH.
- -------
- 7-Jul-82 09:31:45-PDT,190;000010000001
- Date: 7 Jul 1982 0931-PDT
- From: Alan Snyder <AS>
- Subject: PSL bug
- To: Perdue
- cc: AS
- A similar comment applies to PNTH: the error message
- reports an incorrect index value.
- -------
- 7-Jul-82 16:53:17-PDT,887;000010000001
- Date: 7 Jul 1982 1651-PDT
- From: SOREFF at HP-THOR
- Subject: posible PSL bug
- To: perdue at HP-HULK
- cc: soreff at HP-THOR
- I think I've run into a bug in the PSL structure editor. The "N" command,
- which appears to be supposed to append an s-expression on the end of the
- current list, does that, but also changes the expression just before the
- added one to NIL.
- @login guest
- Job 5 on TTY152 7-Jul-82 4:41PM
- Previous LOGIN: 7-Jul-82 4:40PM
- @take <psl>logical-names
- @r <psl>bare-psl
- PSL 3.0, 9-Jun-82
- 1 lisp> (load zpede^F^Fit)
- ***** `ZPED^FIT' load module not found {99}
- Break loop
- 2 lisp break>> q
- 3 lisp> (load zpedit)
- NIL
- 4 lisp> (setq tst '(a b c d e f g))
- (A B C D E F G)
- 5 lisp> (editv tst)
- EDIT
- -E- p
- (A B C D E F G)
- -E- (-3 z) p
- (A B Z C D E F G)
- -E- (n x) p
- (A B Z C D E F NIL X)
- -E- ok
- TST
- 6 lisp> (quit)
- -------
- 8-Jul-82 13:10:36-PDT,5205;000010000001
- Mail-From: PERDUE created at 8-Jul-82 13:10:26
- Date: 8 Jul 1982 1310-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: PSL bugs
- To: psl at HP-HULK
- * (AS, 6/11/82, manual, section 4.2.1, page 4.6) The manual doesn't say what
- happens if EqStr is given a non-string or if EqCar is given a non-pair.
- * (AS, 6/11/82, manual, section 4.3, page 4.9) The term id-space is used in
- the description of INT2ID. This term has not been defined. The effect of
- INT2ID is not clear. Is id-space a needed concept?
- * (AS, 6/11/82, manual, section 6.4, page 6.3) In the description of GET,
- shouldn't U be an ID instead of an ANY?
- * (AS, 6/11/82, manual, section 6.4, page 6.4) In the description of REMPROP,
- shouldn't U be an ID instead of an ANY?
- * (AS, 6/11/82, manual, section 6.4.2, page 6.5) MAPOBL should be described in
- some other section. Why does the argument have to be an ID (and not a
- code-pointer)?
- * (AS, 6/11/82, manual, section 6.5, page 6.7) The left hand side examples in
- the description of SETF should be in LISP syntax for consistency with the rest
- of the description.
- * (AS, 6/11/82, manual, section 8.4, page 8.4) The term "words" is used here,
- although the term "w-vector" is used in chapter 4. In chapter 4, "words" are
- machine words.
- * (AS, 6/11/82, manual, section 9.3.1, page 9.8) The word "when" is omitted
- from the sentence "Iteration ceases *when* one of the clauses..."
- * (AS, 6/11/82, manual, section 9.4, page 9.16) The second argument to THROW
- should be "VAL:any" instead of "FORM:form".
- * (AS, 6/11/82, manual, section 10.1, page 10.1) Code-pointer is a poor name
- for an object type. (You don't call pairs "pair-pointers".) How about "code
- object" or "compiled function object"?
- * (AS, 6/11/82, manual, section 10.1.3, page 10.3-10.4) In DF, DN, DM, and DS,
- the argument "PARAM:id-list" should be "PARAM:id".
- * (AS, 6/11/82, manual, section 10.3.1, page 10.9) Env-pointer is a poor name
- for an object type. (You don't call pairs "pair-pointers".) How about
- "environment"?
- * (AS, 6/11/82, manual, section 11.1, page 11.1) The term "error number"
- appears here for the first time, without explanation.
- * (AS, 6/11/82, manual, section 12.4, page 12.11) "Perusal" is spelled wrong.
- * (AS, 6/11/82, manual, section 12.4, page 12.11) In the description of
- properties, the manual should do a better job of explaining what the relevant
- IDs are in each particular case. For example, what is a "module" (which can
- be "loaded")?
- * (AS, 6/11/82, improvement, section 13.1, page 13.1) Why is a channel an integer
- instead of something more abstact? If you allow I/O to strings and lists,
- then why limit the maximum number of channels?
- * (AS, 6/11/82, improvement, section 13.2, page 13.3) Using global variables to
- initialize channel functions when a channel is OPENed is poor. It would be
- better to define a separate OPEN-SPECIAL that takes additional arguments, or
- use a keyword init list a la Zetalisp. Similar comments about misuse of
- global variables apply elsewhere, e.g. DUMPLISP.
- * (AS, 6/11/82, manual, section 13.6, page 13.13) PRINTF is an expr that takes
- a variable number of arguments. If this is possible then you should explain
- how users can do it.
- * (AS, 6/11/82, manual, section 14.2, page 14.1) There is an extraneous "of"
- in the first sentence.
- * (AS, 6/11/82, manual, section 14.5, page 14.5) Help is described as being an
- EXPR. I don't believe this.
- * (AS, 6/11/82, manual, section 15.3, page 15.3) There is an extraneous "you"
- in the description of the "E" command.
- * (AS, 6/11/82, improvement, section 16.2, page 16.7) TRST should trace everything
- that can be SETF'ed, not just ordinary SETQ's.
- * (AS, 6/11/82, manual, section 16.4, page 16.12) I don't understand this
- section at all. For example, I don't understand what the arguments to BTR are
- for.
- * (AS, 6/11/82, manual, section 16.5, page 16.13) Can EMBEDding be done using
- Lisp syntax? If so, how?
- * (AS, 6/11/82, manual, section 16.7, page 16.14) Can STUBs be defined using
- Lisp syntax? If so, how?
- * (AS, 6/11/82, manual, section 17.5, page 17.11) I was not able to achieve
- any effect by giving extra command arguments to EDITF. In any case,
- COMS:forms is not a defined type; it should be either [COMS:form] or
- COMS:form-list.
- * (AS, 6/11/82, manual, section 20.2, page 20.1) IF-System is described as
- being a "cmacro". This term has not been defined, and is easily confused with
- "c-macro". The description says that the name "must" be a member of
- System-List*. Presumably, this means that the true case is executed if this
- condition holds.
- * (AS, 6/11/82, manual, section 20.3.1, page 20.4) RESET is described as
- "restarting the system". I read "system" as "TOPS-20" (or whatever). I
- suspect that something less drastic is intended.
- * (AS, 6/11/82, manual, section 21.2.1, page 21.3) The example uses
- "exported"; the text mentions only "internal" and "external".
- * (AS, 6/11/82, manual, section 21.2.8, page 21.7) Is the field accessing
- function FIELD or GETFIELD? Both names are used in the manual. Neither name
- is defined in our PSL.
- -------
- 8-Jul-82 14:47:16-PDT,619;000010000001
- Date: 8 Jul 1982 1447-PDT
- From: Alan Snyder <AS>
- Subject: EMODE bug
- To: Perdue
- cc: AS
- EMODE C-M-B (backward sexpr) gets excessively confused by comments.
- For example, when at the end of the following text
- (setq a b)
- %%%%%%%%%%
- C-M-B will stop at the "b".
- (Probably other commands have similar problems.)
- I think the reason for this is that '%' (the comment character)
- is ignored by scan-word by not by skip-blanks.
- Thus in the implementation of C-M-B, skip-blanks skips back
- to the '%', and then skip-word skips back to the 'b'.
- The probable fix would be to change the scan table.
- -------
- 9-Jul-82 09:38:42-PDT,160;000010000001
- Date: 9 Jul 1982 0938-PDT
- From: Alan Snyder <AS>
- Subject: PSL bug
- To: Perdue
- cc: AS
- DOLIST (in PU:COMMON.SL) fails to bind the loop variable.
- -------
- 9-Jul-82 09:55:18-PDT,785;000010000011
- Date: 9 Jul 1982 0948-PDT
- From: SOREFF at HP-THOR
- Subject: PSL bug
- To: perdue at HP-HULK
- cc: soreff at HP-THOR
- I've constructed an example of how the "(a s-expression)" command in the
- structure editor can fail. It seems to fail when one is adding an item after
- the last expression in a list. I've edited the log slightly, removing blank
- lines to make it more compact.
- @take psl
- PSL 3.0, 9-Jun-82
- 1 lisp> (load zpedit)
- NIL
- 2 lisp> (setq a '(b c d e f g))
- (B C D E F G)
- 3 lisp> (editv a)
- EDIT
- -E- p
- (B C D E F G)
- -E- 3 p
- D
- -E- (a z) 0 p
- (B C D (Z) E F G)
- -E- 7 p (a y) 0 p
- G
- (B C D (Z) E F NIL (Y))
- -E- pp
- (B C D (Z) E F NIL (Y))
- -E- 8 p
- (Y)
- -E- (a x)
- -E- p
- ... NIL (X))
- -E- ^
- -E- p
- (B C D (Z) E F NIL NIL (X))
- -E- ok
- A
- 4 lisp> (quit)
- -------
- 9-Jul-82 14:56:21-PDT,1294;000010000001
- Date: 9 Jul 1982 1456-PDT
- From: Alan Snyder <AS>
- Subject: PSL bug
- To: Perdue
- cc: AS
- The following example demonstrates a bug in PSL. It is the shortest example I
- could find, derived from a real attempt at compiling a file. The offending
- object is a machine instruction, the exact identity of which changes with
- different programs. In this case, it is "CAMN 0(17)". The example is highly
- sensitive to change. For instance, if the function name is changed to "FOO",
- no error is reported. Similarly, no error is reported if any of the loaded
- modules are omitted.
- -------------------------------------------------------------------------------
- @psl:bare-psl
- PSL 3.0, 9-Jun-82
- 1 lisp> (load emode common jsys)
- NIL
- 2 lisp> (faslout "nul:")
- FASLOUT: (DSKIN files) or type in expressions
- When all done execute (FASLEND)
- T
- 3 lisp> (de fooo (name)
- 3 lisp> (let ((n (string-length name)))
- 3 lisp> (cond ((= (indx name (- n 1)) (char >))
- 3 lisp> (concat name "*.*.*"))
- 3 lisp> name)))
- FOOO4 lisp> (faslend)
- *** Init code length is 1
- **FASL**INITCODE**NIL
- 5 lisp> (reclaim)
- ***** Fatal error during garbage collection
- Illegal item in heap at 502462
- -------------------------------------------------------------------------------
- -------
- 12-Jul-82 01:39:18-PDT,670;000010000001
- Date: 12 Jul 1982 01:35:14-PDT
- From: daemon at HP-Speech
- Via: utah-cs
- Date: 11 Jul 1982 1310-MDT
- From: William Galway <Galway at UTAH-20>
- Subject: EMODE stuff
- To: hplabs!perdue at UTAH-CS
- Thanks for your note about the new query replace, etc. I'm looking forward
- to getting the new stuff when folks come out this week.
- I don't seem able to reproduce your "infinite loop" problem with
- M-C-DELETE. Could you be a bit more specific about when it occurs?
- (Maybe, send a sample file that it blows up on?) Are you sure it's not a
- "very long" as opposed to "infinite" loop? The search for a matching open
- parenthesis is fairly slow.
- Thanks.
- -------
- 12-Jul-82 11:02:44-PDT,323;000010000001
- Date: 12 Jul 1982 1102-PDT
- From: Johnson
- Subject: PSL String Package
- To: Perdue
- A routine to convert from STRING to INTEGER would be nice.
- The SUBSTRING function is peculiar: its last argument is
- one greater than the index of the last character to be
- extracted, even given that indexes begin at zero!
- -------
- 12-Jul-82 11:49:18-PDT,371;000010000001
- Mail-From: PERDUE created at 12-Jul-82 11:45:04
- Date: 12 Jul 1982 1145-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: EMODE terminal handling deficiency
- To: psl at HP-HULK
- EMODE does not use the terminal driver that corresponds to TOPS-20's
- idea of what the terminal type is. It just uses whatever terminal
- driver is loaded (HP2648A in our case).
- -------
- 12-Jul-82 14:08:25-PDT,2970;000010000011
- Date: 12 Jul 1982 1408-PDT
- From: BATALI
- Subject: PSL
- To: perdue
- Here are some comments I have been accumulating about PSL.
- I talked with Ira about them. The most important:
- We need unwind-protect.
- Many modules seem not to be loaded by default or autoloadable.
- The file is <batali>psl-gripes.txt
- Problems, wierdnesses, and arbitrary comments about PSL.
- 1 (catch nil form) claims to catch all throws through it, but it
- doesn't catch errors. We want unwind-protect, which may be
- implementable with a combination of catch nil, and some sort of
- errset.
- 2 Why reverse the arguments of mapc? The psl way does not allow
- multiple argument functions.
- 3 Closures. One possibility is to use lispm-style closures. Probably
- wouldn't want to be called closures, instead call them selector's
- (instances) or something. lbind seems to give the ability to to this,
- the evaluator must know about the new kind of function.
- 4 The stepper doesn't seem to work.
- 5 I want * and +
- 6 !:prefix option doesn't work in defstruct
- 7 Control keys
- control-g (abort computation, throw to top loop)
- control-b (breakpoint here, or next interpreted function)
- 8 bit file i/o: One ought to be able to open a file and specify the
- number of bits that will be sent on each call to "tyi" and "tyo".
- It is important that the programmer be able to efficiently use
- the memory on his machine ie not be limited to one particular
- byte-packing convention. For one thing, we want to be able to
- read other people's data.
- 9 vectors ought not to print their elements, in general, we want
- "user defined types" which answer correctly to typep, which doesn't
- seem to exist either.
- 10 several reader-related functions don't work. Putreadmacro putsplicemacro.
- 12 Functions in the mathlib library aren't there. Also definition of
- ceiling is "largest integer smaller than its argument." ?? That
- isn't even the definition of floor!
- 13 I don't like the compiler interface. There ought to be a way to
- compile functions on demand, not when some flag has been set. Also
- a function which takes a filename and compiles that file. Note that
- I can't write such functions myself without unwind-protect.
- 14 PSL ought to have some notion of the files it will deal with. There
- ought to be init files. There ought to be filename defaulting. There
- ought to be the ability to get info about files (creation dates,
- etc). The file interface ought to know about compiled files so
- that "load" is a generic operation.
- 15 There should be functions to return interesting data about the
- system. (time) (memory-used) . . .
- 16 It is really strange that catch is not a special form. Does
- the compiler know about it or not?
- 17 Faslout goes to file with ".b" concated on the end. But faslin
- just tries to open the filename as given. This would be fixed with
- 14.
- --John
- -------
- 12-Jul-82 14:39:19-PDT,735;000010000001
- Mail-From: PERDUE created at 12-Jul-82 14:36:43
- Date: 12 Jul 1982 1436-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Strange bug
- To: psl at HP-HULK
- The following results in what appear to be at least 2 bugs:
- @psl:psl ; Run the basic PSL
- *(load emode)
- *(emode)
- *(load prlisp) M-E
- <gets an error, goes into error handler>
- q M-E
- <says it is exiting LISP!>
- C-M-Z
- <goes back to regular read-eval-print in the error handler>
- q <CR>
- <goes back to EMODE in a screwed-up state>
- There seems to be no escaping once this problem begins.
- The symptoms include printing a backtrace in response to one of
- the "q"s. Parts of the problem arise also when this is done
- without EMODE being invoked or even loaded.
- -------
- 12-Jul-82 16:19:29-PDT,411;000010000001
- Date: 12 Jul 1982 1617-PDT
- From: Kendzierski at HP-HULK (Nancy)
- Subject: emode ^X^R bug
- To: psl at HP-HULK
- The ^X^R command in EMODE loses the last line of a file if it is not
- terminated by a CRLF. The problem is that the procedure
- "read_line_from_file" (in <psl.emode>fileio.red) only returns "ch" if
- the last character of "l" is EOF, even though the line "l" may contain
- more characters.
- -------
- 12-Jul-82 17:05:24-PDT,1010;000010000001
- Date: 12 Jul 1982 1705-PDT
- From: Alan Snyder <AS>
- Subject: PSL bug
- To: Perdue
- cc: AS
- Note the following test file:
- -------------------------------------------------------------------------------
- (load "common")
- (de test (s) (string-length s))
- (test "foo")
- -------------------------------------------------------------------------------
- When this file is read into a BARE-PSL (via DSKIN), it complains
- that STRING-LENGTH is an undefined function. However, when this
- file is compiled and then loaded into a BARE-PSL (via LOAD),
- it complains that STRINF is an undefined function called from
- compiled code. The reason seems to be that the file PU:COMMON.SL
- contains some strange definition of STRING-LENGTH that affects
- only the compiler. The reason why this bug is important is that
- there is a FUNCTION definition of STRING-LENGTH in PU:STRINGS.LSP;
- when both STRINGS and COMMON are loaded, you have a situation
- where interpreted code works but compiled code gets an error.
- -------
- 12-Jul-82 17:39:20-PDT,456;000010000001
- Date: 12 Jul 1982 1738-PDT
- From: Kendzierski at HP-HULK (Nancy)
- Subject: PSL manual bugs (PictureRLISP)
- To: psl at HP-HULK
- cc: kendzierski at HP-HULK
- Page 18.9 -- it talks of primitive procedures Second, Third, Fourth, and
- Fifth; "fifth" is not defined in PSL.
- Page 18.10 -- the first line on the page is
- "My!.pyramid := Pyramid Vertices"
- this should be: "My!.pyramid := Pyramid My!.vertices"
- -------
- 12-Jul-82 17:42:09-PDT,360;000010000001
- Date: 12 Jul 1982 1742-PDT
- From: LANAM
- Subject: how do I do the following in psl.
- To: perdue
- Take a package name say foo, and take an atom name, say bar, and
- do a concat such that I get "foo:bar". And then do an localintern
- on this such that bar is defined inside package foo.
- I try and can only get the : to be escaped with a !.
- douglas
- -------
- 12-Jul-82 18:14:15-PDT,619;000010000001
- Mail-From: PERDUE created at 12-Jul-82 18:14:10
- Date: 12 Jul 1982 1813-PDT
- From: Cris Perdue <Perdue>
- Subject: Re: how do I do the following in psl.
- To: LANAM
- In-Reply-To: Your message of 12-Jul-82 1742-PDT
- Remailed-date: 12 Jul 1982 1814-PDT
- Remailed-from: Cris Perdue <Perdue at HP-HULK>
- Remailed-to: psl at HP-HULK
- I have experimented and also looked at the source code. There
- evidently is no way to cause an existing identifier to be interned,
- though an existing ID can be given as an argument to INTERN, which
- creates a new ID.
- Note that the "package prefix character" is "\", not ":".
- -------
- 12-Jul-82 18:36:45-PDT,226;000010000011
- Date: 12 Jul 1982 1836-PDT
- From: BATALI
- Subject: PSL bugs
- To: perdue
- What are dipthongs? Why are they neat?
- How do I use them?
- Why aren't they documented?
- Do you care?
- Do I?
- Should I?
- L&C,
- John
- -------
- 13-Jul-82 10:30:28-PDT,523;000010000001
- Date: 13 Jul 1982 1030-PDT
- From: BATALI
- Subject: Unwind-Protect
- To: perdue
- Here is the code for unwind-protect.
- It has the same semantics as the lisp-machine version
- (except in interpreted code that happens to use the
- variable unwind-protect-value). Enjoy.
- (defmacro unwind-protect (protected-form . undo-forms)
- `(let ((unwind-protect-value (catch nil ',protected-form)))
- (progn . ,undo-forms)
- (if throwsignal!*
- (throw throwtag!* unwind-protect-value)
- unwind-protect-value)))
- -------
- 13-Jul-82 10:45:32-PDT,1713;000010000011
- Date: 13 Jul 1982 1045-PDT
- From: BATALI
- Subject: Flaming is funner than working
- To: perdue
- I've been experimenting with read macros in PSL. None of the
- advertised functions for creating them exist, but the following
- works:
- (defmacro define-read-macro (table id fname)
- `(progn
- (put ',id 'lispreadmacro ',fname)
- (putv ,table (id2int ',id) 11) ;; delimiter
- ',id))
- This does what PutReadMacro is supposed to do (but it doesn't evaluate
- the id or the fname).
- Note how this seems to work: If the reader (actually, the function
- ChannelReadTokenWithHooks) sees a character with code 11 in the
- scantable, it looks for the LISPREADMACRO property on the id
- corresponding to the character. If there is one there, it applys it
- in place of ChannelReadTokenWithHooks to the input channel.
- This would be fine and not very interesting and I certainly wouldn't
- be sending you this long message if it weren't for the fact that this
- scheme means you can't "bind" a scantable and expect different
- behaviour from characters. This is because, although the scantable
- can be bound, the system still looks for the LISPREADMACRO property of
- the id. So it is not possible for a character to have different
- properties on different scantables. Thus:
- (define-read-macro somerandomscantable* !( ChannelTotallyTrashSystem)
- Would lose no matter which scan table is currently in effect.
- We need the ability to pair characters with functions in particular
- scantables only. It is very likely that the PSL people understand
- this, and indeed, the relevant sections of the manual (pp 13.10 - 13.11
- and 13.18) seem to claim that this is what ought to go on.
- --John
- -------
- 13-Jul-82 10:56:01-PDT,644;000010000011
- Date: 13 Jul 1982 1056-PDT
- From: Alan Snyder <AS>
- Subject: PSL gross misfeature
- To: Perdue
- cc: AS
- ErrorSet is currently implemented as an EXPR. This fact has the subtle,
- yet critical effect that the form enclosed in the error set can only
- use fluid variables. If you don't declare the variables fluid, the
- code will work interpretively, but will execute incorrectly when compiled.
- No warning is given by the compiler, nor is there any hint in the manual
- that this problem exists.
- Note: the file directory.sl that we sent to Utah fails when compiled for
- this reason. I suggest you send a message to Will about this.
- -------
- 13-Jul-82 11:14:54-PDT,958;000010000011
- Date: 13 Jul 1982 1114-PDT
- From: Alan Snyder <AS>
- Subject: PSL bug
- To: Perdue
- cc: AS
- COND behaves differently in some cases depending upon whether
- it is interpreted or compiled. An example is provided by
- the following function:
- (de foo (a) (cond ((= a 3) 4) a))
- If interpreted, FOO will return the parameter A unless A is 3.
- If compiled, FOO will return NIL in those same cases.
- The compiled code is shown below:
- ------------------------------------------------------------
- Compiling FOO
- Source:
- (LAMBDA (A) (COND ((= A 3) 4) A))
- ------------------------------------------------------------
- Object:
- (*ENTRY FOO EXPR 1)
- (*ALLOC 0)
- (*JUMPNOTEQ (LABEL G0004) (REG 1) '3)
- (*MOVE '4 (REG 1))
- (*EXIT 0)
- (*LBL (LABEL G0004))
- (*MOVE 'NIL (REG 1))
- (*MOVE 'NIL (REG 1))
- (*EXIT 0)
- *** Function `FOO' has been redefined
- *** (FOO): base 334750, length 7 words
- ------------------------------------------------------------
- -------
- 13-Jul-82 11:20:31-PDT,595;000030000001
- Date: 13 Jul 1982 1120-PDT
- From: LANAM
- Subject: Re: how do I do the following in psl.
- To: Perdue
- In-Reply-To: Your message of 13-Jul-82 0942-PDT
- How can I get the package-specifier prefix in a string and concat it
- with other strings, and then intern it.
- I tried, and the package-specifier prefix character got an escape
- character inserted before it.
- ps: I have a set of map functions which define all the maclisp map
- functions (with mulitple arguments). I also have a package which
- defines lexprs. (def x (lexpr ...)).
- These are in the file <lanam.psl-frl>franz.lisp
- -------
- 13-Jul-82 11:40:37-PDT,307;000010000001
- Date: 13 Jul 1982 1140-PDT
- From: Alan Snyder <AS>
- Subject: PSL request
- To: Perdue
- cc: AS
- For direct use by a human, it would be better if PRETTYPRINT returned
- NIL, instead of its argument. That way, the user doesn't have to
- see the same object printed twice by the Read/Eval/Print loop.
- -------
- 13-Jul-82 11:44:57-PDT,185;000010000001
- Date: 13 Jul 1982 1144-PDT
- From: Alan Snyder <AS>
- Subject: PSL request
- To: Perdue
- cc: AS
- FindPrefix and FindSuffix should convert their string argument
- to upper case.
- -------
- 13-Jul-82 12:09:34-PDT,282;000010000001
- Mail-From: PERDUE created at 13-Jul-82 12:09:00
- Date: 13 Jul 1982 1209-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Re: PSL bug
- To: AS at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 13-Jul-82 1114-PDT
- I take this to be a bug in the interpreter.
- -------
- 13-Jul-82 17:39:27-PDT,265;000010000001
- Mail-From: PERDUE created at 13-Jul-82 17:39:13
- Date: 13 Jul 1982 1739-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: FIND module
- To: psl at HP-HULK
- The "find" module is not loaded in bare PSL, but the documentation
- does not mention the fact.
- -------
- 14-Jul-82 07:59:29-PDT,277;000010000001
- Date: 14 Jul 1982 0759-PDT
- From: Alan Snyder <AS>
- Subject: EMODE bug
- To: Perdue
- cc: AS
- I fixed a bug in REFRESH.RED: ClearWindow() previously
- failed to clear the associated virtual screen, causing
- the old contents to later reappear in place of empty
- lines.
- -------
- 14-Jul-82 14:04:02-PDT,416;000010000001
- Date: 14 Jul 1982 1404-PDT
- From: Alan Snyder <AS>
- Subject: PSL bug
- To: Perdue
- cc: AS
- The function STRING< in STRINGS.LSP has the interesting property
- that both of the following forms evaluate to NIL:
- (string< "b" "aa")
- (string< "aa" "b")
- This anomoly results from the improper testing of string length
- in the function. The other string comparison functions seem
- to have the same bug.
- -------
- 15-Jul-82 12:58:17-PDT,409;000010000001
- Date: 15 Jul 1982 1258-PDT
- From: Alan Snyder <AS>
- Subject: EMODE bug
- To: Perdue
- cc: AS
- C-M-B (backwards s-expr) loses if the corresponding left paren
- is the first character in the buffer: it leaves the cursor
- to the right of the paren. There is explicit code that
- makes this adjustment, and this code is marked in the source
- as being a "KLUDGE!". I don't know why this kludge is there.
- -------
- 16-Jul-82 01:49:45-PDT,565;000010000001
- Date: 16 Jul 1982 0149-PDT
- From: BATALI
- Subject: PSL bug
- To: perdue
- The function RPLACHAR stores a character into a string. It works fine
- in interpreted code, but when called from a compiled function, we get:
- ***** Undefined function STRINF called from compiled code
- Looking on the property list of RPLACHAR, we notice a CMACRO property
- whose value is:
- (LAMBDA (S I X) (PUTSTRBYT (STRINF S) I X))
- Which seems to be where the call to STRINF comes from.
- Giving RPLACHAR a CMACRO property of nil "fixes" the problem.
- --John
- -------
- 16-Jul-82 02:37:30-PDT,413;000010000001
- Date: 16 Jul 1982 0237-PDT
- From: BATALI
- Subject: PSL fun
- To: perdue
- The compiler doesn't enforce the restrictions on the placement of
- RETURN statements. (See pages 9.4 and 9.5 of the manual.)
- This function gets an error if interpreted, but returns its argument
- when compiled:
- (de just-return (arg) (return arg))
- Actually, the compiler ought to complain about this one.
- --John
- -------
- 16-Jul-82 02:44:39-PDT,325;000010000001
- Date: 16 Jul 1982 0244-PDT
- From: BATALI
- Subject: PSL joy
- To: perdue
- Here is an interesting function:
- (de c3 () (cond ((= 3 3) 'yes) (t (= 3 3))))
- Interpreted:
- (c3)
- YES
- Compiled:
- (c3)
- T
- Obviously the compiler is doing something grossly clever, obviously it
- is doing it wrong.
- --John
- -------
- 20-Jul-82 09:45:10-PDT,447;000010000001
- Mail-From: PERDUE created at 20-Jul-82 09:43:24
- Date: 20 Jul 1982 0943-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Vector of words
- To: lanam at HP-HULK
- cc: psl at HP-HULK
- You have 2 choices. If the block of words is never to be reclaimed,
- call GtWArray. If you wish the garbage collector to have its shot
- at the block of storage, call GtWords. In either case the block
- of words is consider to be uninterpreted data.
- -------
- 21-Jul-82 11:27:54-PDT,330;000010000001
- Date: 21 Jul 1982 1127-PDT
- From: Alan Snyder <AS>
- Subject: PSL bug?
- To: Perdue
- cc: AS
- The manual (section 9.4) says that an unhandled THROW is treated
- as an ERROR in the context of the THROW. In fact, what happens
- is that PSL is restarted at top-level. I would prefer that it
- behave as the manual describes.
- -------
- 21-Jul-82 12:53:25-PDT,549;000010000001
- Date: 21 Jul 1982 1253-PDT
- From: Alan Snyder <AS>
- Subject: PSL unfeature
- To: Perdue
- cc: AS
- PSL allows a program to modify "constant" list structure that
- has been created by the compiler in the code space. Since
- this "constant" list structure is not scanned by the garbage
- collector, any pointers inserted into it will not be updated
- when garbage collection occurs, and will henceforth point
- to randomness. PSL should use the address protection provided
- by the hardware to prevent modification of "constant"
- list structure.
- -------
- 21-Jul-82 14:22:42-PDT,296;000010000001
- Date: 21 Jul 1982 1422-PDT
- From: Alan Snyder <AS>
- Subject: PSL complaint
- To: Perdue
- cc: AS
- Using DEFSTRUCT (from NSTRUCT) causes the PSL compiler
- to produce "function redefined" messages. As far as
- the user is concerned, these messages are spurious
- and should be suppressed.
- -------
- 21-Jul-82 15:51:01-PDT,277;000010000001
- Mail-From: AS created at 21-Jul-82 15:49:32
- Date: 21 Jul 1982 1549-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: PSL Manual comment
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- The function UnBoundP should be described (or mentioned)
- in the chapter on Identifiers.
- -------
- 21-Jul-82 16:51:09-PDT,443;000010000001
- Date: 21 Jul 1982 16:48:33-PDT
- From: hearn@RAND-RELAY at HP-Speech
- Via: utah-cs
- Date: Tue Jul 20 23:52:08 1982
- Mail-from: ARPANET site RAND-RELAY rcvd 20-Jul-82 2348-MDT
- Date: Tuesday, 20 Jul 1982 22:33-PDT
- To: psl-bugs at UTAH-20
- Subject: Question on readch()
- From: hearn at RAND-RELAY
- Readch does not do case conversion, irrespective of the setting of *raise.
- If *raise is on, shouldn't lower case be converted to upper case?
- 21-Jul-82 16:51:10-PDT,554;000010000001
- Date: 21 Jul 1982 16:48:40-PDT
- From: BENSON@UTAH-20 at HP-Speech
- Via: utah-cs
- Date: 21 Jul 1982 0054-MDT
- From: Eric Benson <BENSON at UTAH-20>
- Subject: Re: Question on readch()
- To: hearn at RAND-RELAY, BENSON@at@HP-Speech, BENSON@UTAH-20@HP-Speech, psl-bugs at UTAH-20
- In-Reply-To: Your message of 20-Jul-82 2349-MDT
- I've changed the source for ReadCh so that it does case conversion on *Raise.
- This bit of Standard Lisp compatibility seems to have slipped through the
- cracks until now. I guess ReadCh just isn't used that much.
- -------
- 22-Jul-82 14:45:39-PDT,182;000000000001
- Mail-From: YDUJ created at 22-Jul-82 14:45:21
- Date: 22 Jul 1982 1445-PDT
- From: Judy <yduJ at HP-HULK>
- Subject: this is a test arent you thrilled
- To: psl at HP-HULK
- -------
- 22-Jul-82 14:56:09-PDT,140;000000000001
- Date: 22 Jul 1982 1455-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Testing yet one more time
- To: psl at HP-HULK
- Yep.
- -------
- 22-Jul-82 15:06:10-PDT,138;000000000001
- Date: 22 Jul 1982 1418-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Just testing
- To: psl at HP-HULK
- Blah blah blah.
- -------
- 22-Jul-82 15:06:18-PDT,157;000000000001
- Mail-From: YDUJ created at 22-Jul-82 14:46:38
- Date: 22 Jul 1982 1446-PDT
- From: Judy <yduJ at HP-HULK>
- Subject: Again!!!
- To: psl at HP-HULK
- -------
- 22-Jul-82 16:36:18-PDT,237;000000000001
- Date: 22 Jul 1982 1634-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: PSL oddness
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- Why is the function FOO defined in PSL?
- It appears (<PSL.20-INTERP>MAIN-START.RED) to be frivolous.
- -------
- 23-Jul-82 17:00:20-PDT,646;000000000001
- Mail-From: LANAM created at 23-Jul-82 16:57:27
- Date: 23 Jul 1982 1657-PDT
- From: LANAM at HP-HULK
- Subject: identifier bug.
- To: psl at HP-HULK
- Characters and identifiers should be separate entities.
- The character c and the identifier c are not the same
- thing. Currently in the system, it is possible to
- intern a single character-name identifier into a package,
- but it is impossible to type its name back in.
- (setpackage 'franz)
- (localintern 'a)
- => franz\a
- (Setq franz\a 3) will set global\a
- (set (localintern 'a) 3) will set franz\a.
- franz\a is interpreted as global\a.
- I should be able to have my franz\a.
- douglas
- -------
- 23-Jul-82 17:20:21-PDT,497;000000000001
- Mail-From: LANAM created at 23-Jul-82 17:15:46
- Date: 23 Jul 1982 1715-PDT
- From: LANAM at HP-HULK
- Subject: identifiers starting with numbers
- To: psl at HP-HULK
- I would like the system to read an atom like 1+ as the atom |1+|, not
- the number 1 and the atom +. How can I teach the system to handle this?
- 1a would be an atom. 1 a would be the number 1 followed by the atom a.
- I need this feature to handle a franz conversion since a basic franz function
- is 1+ and 1-.
- douglas
- -------
- 23-Jul-82 17:20:23-PDT,329;000000000001
- Mail-From: LANAM created at 23-Jul-82 17:18:54
- Date: 23 Jul 1982 1718-PDT
- From: LANAM at HP-HULK
- Subject: how easy is it to redefine the psl reader?
- To: psl at HP-HULK
- Is there a table describing the automatom? Or is it hardwired in?
- Is the table accessable in lisp and changable? This would be very
- useful.
- -------
- 23-Jul-82 17:40:30-PDT,436;000000000001
- Mail-From: LANAM created at 23-Jul-82 17:38:47
- Date: 23 Jul 1982 1738-PDT
- From: LANAM at HP-HULK
- Subject: apply on macros.
- To: psl at HP-HULK
- Is there an apply that works on any function (whether the function is a
- macro or not), and acts the same whether the function was written as
- a macro or an expr or a fexpr? This would be very useful (especially
- with the number of basic functions written as macros in psl).
- -------
- 23-Jul-82 17:45:33-PDT,386;000000000001
- Mail-From: LANAM created at 23-Jul-82 17:43:56
- Date: 23 Jul 1982 1743-PDT
- From: LANAM at HP-HULK
- Subject: extra closing parenthesis.
- To: psl at HP-HULK
- PSL should ignor extra closing parenthesis. They are not atoms.
- It currently tries to evaluate them and say !) is an unbound ID.
- This is as bad as when Franz Lisp says Read Error 3 for extra
- parenthesis.
- douglas
- -------
- 24-Jul-82 10:15:17-PDT,506;000000000001
- Mail-From: LANAM created at 24-Jul-82 10:11:47
- Date: 24 Jul 1982 1011-PDT
- From: LANAM at HP-HULK
- Subject: missing trap for stack overflow.
- To: psl at HP-HULK
- ON the 20, if I get a stack overflow, (a pushdown overflow), the system aborts,
- and is useless. I can not even look at the state of the world, variables,
- stack or anything. I can not reset and try to start over in the same world.
- This should be fixed. Stack overflows should be trapped and returned to
- the user inside lisp.
- -------
- 24-Jul-82 10:20:20-PDT,295;000000000001
- Mail-From: LANAM created at 24-Jul-82 10:19:09
- Date: 24 Jul 1982 1019-PDT
- From: LANAM at HP-HULK
- Subject: bug in error message from nth (wrong number in message).
- To: psl at HP-HULK
- 5 lisp break>> (nth '(a b c) 0)
- ***** Index `-3' out of range for NIL in PNTH {99}
- douglas
- -------
- 24-Jul-82 10:25:15-PDT,270;000000000001
- Mail-From: LANAM created at 24-Jul-82 10:20:40
- Date: 24 Jul 1982 1020-PDT
- From: LANAM at HP-HULK
- Subject: continuation of nth error message bug.
- To: psl at HP-HULK
- 10 lisp> (nth '(A b c) -1)
- ***** Index `-4' out of range for NIL in PNTH {99}
- douglas
- -------
- 24-Jul-82 10:25:15-PDT,238;000000000001
- Mail-From: LANAM created at 24-Jul-82 10:23:15
- Date: 24 Jul 1982 1023-PDT
- From: LANAM at HP-HULK
- Subject: why question?
- To: psl at HP-HULK
- Why do all error messages have a cryptic number after them?
- Can this be removed?
- -------
- 24-Jul-82 10:45:17-PDT,368;000000000001
- Mail-From: LANAM created at 24-Jul-82 10:43:49
- Date: 24 Jul 1982 1043-PDT
- From: LANAM at HP-HULK
- Subject: can prettyprint do better than this with the following please?
- To: psl at HP-HULK
- (DEF
- FRANZ\FACT
- (EXPR LAMBDA (N) (COND ((EQ N 0) 1) (T (* N (FRANZ\FACT (!- N 1)))) )))
- I would like the cond split up into 2 lines (one per clause).
- -------
- 24-Jul-82 10:45:17-PDT,251;000000000001
- Mail-From: LANAM created at 24-Jul-82 10:44:32
- Date: 24 Jul 1982 1044-PDT
- From: LANAM at HP-HULK
- Subject: scanner read bug with numbers.
- To: psl at HP-HULK
- 45 lisp> 1.000000000000000000000000000000000000000000000000000
- 0.0
- douglas
- -------
- 24-Jul-82 10:50:11-PDT,253;000000000001
- Mail-From: LANAM created at 24-Jul-82 10:45:21
- Date: 24 Jul 1982 1045-PDT
- From: LANAM at HP-HULK
- Subject: strange read bug with numbers.
- To: psl at HP-HULK
- 46 lisp> 1.222222222222222222222222222222222222222222222222222222
- 1.7682604E33
- -------
- 24-Jul-82 10:50:11-PDT,373;000000000001
- Mail-From: LANAM created at 24-Jul-82 10:46:27
- Date: 24 Jul 1982 1046-PDT
- From: LANAM at HP-HULK
- Subject: overflows are not checked for.
- To: psl at HP-HULK
- 100000000000000000000000000000000000000000000000
- 0
- 48 lisp> 2222222222222222222222222222222
- 2386092942
- 49 lisp> 1000000000000000000000
- 25209864192
- 50 lisp> 1000000000000
- 3567587328
- douglas
- -------
- 24-Jul-82 11:35:07-PDT,561;000000000001
- Mail-From: LANAM created at 24-Jul-82 11:34:37
- Date: 24 Jul 1982 1134-PDT
- From: LANAM at HP-HULK
- Subject: problem with nth and unrequested recursive calls.
- To: psl at HP-HULK
- 2 lisp> (dm aa (n) `(nth x ,n))
- 1 lisp> (setq a '(lambda (x) (let ((a (length x))) (aa 1))))
- 6 lisp break>> (macroexpand a)
- The system will never come back. It will spend a great deal of cpu time
- on this problem.
- Also, if you eval a, you will get a pushdown overflow.
- I need a fix to this bug as soon as possible (it is very important).
- thanks,
- douglas
- -------
- 24-Jul-82 11:40:02-PDT,283;000000000001
- Mail-From: LANAM created at 24-Jul-82 11:36:35
- Date: 24 Jul 1982 1136-PDT
- From: LANAM at HP-HULK
- Subject: bug in macros and nth.
- To: psl at HP-HULK
- 1 lisp> (dm aa (n) `(nth x ,n))
- AA
- 2 lisp> (setq x '(a b c))
- (A B C)
- 3 lisp> (aa 2)
- ?Pushdown overflow at 162425
- -------
- 24-Jul-82 11:45:01-PDT,409;000000000001
- Mail-From: LANAM created at 24-Jul-82 11:43:06
- Date: 24 Jul 1982 1143-PDT
- From: LANAM at HP-HULK
- Subject: last bug with nth and macros.
- To: psl at HP-HULK
- cc: rosenberg at HP-HULK
- I found that I needed to take the cadr of the argument to the macro.
- It would be nice if psl didn't bomb out completely when stack overflow
- occurs. Well, it wasn't a bug, it was my mistake. Sorry,
- douglas
- -------
- 24-Jul-82 11:50:00-PDT,358;000000000001
- Mail-From: LANAM created at 24-Jul-82 11:48:22
- Date: 24 Jul 1982 1148-PDT
- From: LANAM at HP-HULK
- Subject: franz/maclisp let, defun, and defmacro package.
- To: psl at HP-HULK
- A complete version of franz/maclisp let, defun and defmacro exists
- in the file <lanam.dhl>init.lisp.
- Problem : the file runs in psl but is in franz syntax.
- douglas
- -------
- 26-Jul-82 11:40:03-PDT,383;000000000001
- Mail-From: LANAM created at 26-Jul-82 11:35:14
- Date: 26 Jul 1982 1135-PDT
- From: LANAM at HP-HULK
- Subject: char-int and char-code do not work.
- To: psl at HP-HULK
- (char-int 'a) => a
- (char-code 'a) => a
- (char-int "a") => "a"
- They should all return a number.
- Also, How can I convert an atom name say foo, into a string (inside a program)?
- thanks,
- douglas
- -------
- 26-Jul-82 12:00:00-PDT,232;000000000001
- Mail-From: AS created at 26-Jul-82 11:55:54
- Date: 26 Jul 1982 1155-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: EMODE bug
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- EMODE believes that ^Z marks the end of a text file.
- -------
- 26-Jul-82 13:05:02-PDT,399;000000000001
- Mail-From: LANAM created at 26-Jul-82 13:03:12
- Date: 26 Jul 1982 1303-PDT
- From: LANAM at HP-HULK
- Subject: apply on an nexpr doesn't work.
- To: psl at HP-HULK
- (dn foo (x) x)
- (setq y '(a b c))
- (apply 'foo y)
- will yield the message
- ***** Argument number mismatch {1024}
- ***** Continueation requires a value for:
- ((lambda (x) x) 'a 'b 'c)
- How can I apply an nexpr?
- douglas
- -------
- 26-Jul-82 13:09:58-PDT,386;000000000001
- Mail-From: AS created at 26-Jul-82 13:07:29
- Date: 26 Jul 1982 1307-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Re: apply on an nexpr doesn't work.
- To: LANAM at HP-HULK
- cc: psl at HP-HULK, AS at HP-HULK
- In-Reply-To: Your message of 26-Jul-82 1303-PDT
- The manual admits that Apply doesn't work right in many cases.
- I think you have to use Eval to do what you want.
- -------
- 26-Jul-82 13:15:00-PDT,427;000000000001
- Mail-From: AS created at 26-Jul-82 13:13:31
- Date: 26 Jul 1982 1313-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Re: apply on an nexpr doesn't work.
- To: LANAM at HP-HULK, PSL at HP-HULK
- In-Reply-To: Your message of 26-Jul-82 1309-PDT
- Upon further reflection, it occurs to me that giving Apply
- a list containing a single list of arguments values will
- work for Nexprs. For example: (Apply 'Foo '((a b c))).
- -------
- 26-Jul-82 14:15:00-PDT,509;000000000001
- Mail-From: AS created at 26-Jul-82 14:14:42
- Date: 26 Jul 1982 1414-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Re: missing trap for stack overflow.
- To: LANAM at HP-HULK
- cc: PSL at HP-HULK
- In-Reply-To: Your message of 24-Jul-82 1011-PDT
- Handling a stack overflow gracefully is difficult. After all, if the
- stack has no room, what can you expect to do? PSL does allow you
- to restart the fork (using START), which will throw away the stack
- but leave your global environment unchanged.
- -------
- 26-Jul-82 14:30:03-PDT,702;000000000001
- Mail-From: AS created at 26-Jul-82 14:26:06
- Date: 26 Jul 1982 1426-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Re: char-int and char-code do not work.
- To: LANAM at HP-HULK
- cc: PSL at HP-HULK
- In-Reply-To: Your message of 26-Jul-82 1135-PDT
- I believe that Char-Int and Char-Code expect a character (which is
- an integer is PSL), not an atom or a string. Char-Int is provided
- for LISPs where characters are a separate datatype, and is redundant
- in PSL. The Char MACRO may be what you want: (Char A) => 65.
- (If you have authoritative information on what the Common Lisp
- string functions are supposed to do, please let me know. We
- have no information at all and merely guess.)
- -------
- 26-Jul-82 15:20:02-PDT,264;000000000001
- Mail-From: LANAM created at 26-Jul-82 15:17:41
- Date: 26 Jul 1982 1517-PDT
- From: LANAM at HP-HULK
- Subject: interrupt and break from terminal
- To: psl at HP-HULK
- I need an ability to interrupt the system and cause a break point from
- the terminal.
- -------
- 26-Jul-82 15:25:04-PDT,380;000000000001
- Mail-From: LANAM created at 26-Jul-82 15:20:37
- Date: 26 Jul 1982 1520-PDT
- From: LANAM at HP-HULK
- Subject: bad feature : read macros on property list.
- To: psl at HP-HULK
- By having the function associated with read macros stored on the property list,
- there is an inability to have different read macros in different read tables,
- for the same character.
- douglas
- -------
- 26-Jul-82 15:30:01-PDT,456;000000000001
- Date: Mon Jul 26 15:10:41 1982
- In-real-life: Tw Cook
- To: hp-pcd!psl@HP-Speech
- Subject: psl bug?
- Cc: hp-pcd!barbara@HP-Speech
- In the Vax version:
- If you run (help emode) [or any long help] then do a control-C to try and
- interrupt it, you get thrown into a break loop which I have not been able
- to exit from. Is this an error in the help code, rather than
- in psl itself?
- Tw Cook
- Telnet 757-4097
- "hp-pcd!tw"@Speech
- 27-Jul-82 14:33:34-PDT,429;000000000001
- Mail-From: LANAM created at 27-Jul-82 14:33:28
- Date: 27 Jul 1982 1433-PDT
- From: LANAM at HP-HULK
- Subject: untr
- To: psl at HP-HULK
- untr does untrace a function, but unlike the manual says, it does
- not restore the original definition. It leaves a strange lisp function
- around which is similar to the function when it is traced. It would
- be nice if the functions definition was restored to its original place.
- -------
- 29-Jul-82 10:54:50-PDT,2245;000000000001
- Mail-From: AS created at 28-Jul-82 17:23:05
- Date: 28 Jul 1982 1723-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: PSL bug
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- The ContError macro is not very robust. For example, consider
- the following expansion (admittedly, the argument is improper):
- (MacroExpand '(ContError 0 "" file-name file-name))
- ==>
- (CONTINUABLEERROR 0 (BLDMSG "" FILE-NAME) (LIST '#<Unknown:261740000002>))
- Naturally, this form will cause the garbage collector to barf.
- When the compiler is given this sort of stuff, it produces the
- following lovely code:
- ------------------------------------------------------------
- Compiling TEST
- Source Code:
- (LAMBDA (FILE-NAME) (TEST1 (CONTERROR 0 "s" FILE-NAME FILE-NAME)))
- ------------------------------------------------------------
- Expanded Source Code:
- (LAMBDA (FILE-NAME)
- (TEST1
- (CONTINUABLEERROR
- 0
- (BLDMSG "s" FILE-NAME)
- (LIST '#<Unknown:254000006725>))))
- ------------------------------------------------------------
- Object Code:
- (*ENTRY TEST EXPR 1)
- (*ALLOC 1)
- (*MOVE (REG 1) (REG 2))
- (*MOVE '"s" (REG 1))
- (*LINK BLDMSG EXPR 2)
- (*MOVE (REG 1) (FRAME 1))
- (*MOVE '#<Unknown:254000006725> (REG 1))
- (*LINK NCONS EXPR 1)
- (*MOVE (REG 1) (REG 3))
- (*MOVE (FRAME 1) (REG 2))
- (*MOVE '0 (REG 1))
- (*LINK CONTINUABLEERROR EXPR 3)
- (*LINKE 1 TEST1 EXPR 1)
- L0003L0004 (FULLWORD 0)
- (STRING "s")
- (*ENTRY TEST EXPR 1)
- (ADJSP (REG ST) 1)
- (MOVE (REG 2) (REG 1))
- (MOVE (REG 1) "L0001")
- (PUSHJ (REG ST) (ENTRY BLDMSG))
- (MOVEM (REG 1) (INDEXED (REG ST) 0))
- (MOVE (REG 1) "L0002")
- (PUSHJ (REG ST) (ENTRY NCONS))
- (MOVE (REG 3) (REG 1))
- (MOVE (REG 2) (INDEXED (REG ST) 0))
- (SETZM (REG 1))
- (PUSHJ (REG ST) (ENTRY CONTINUABLEERROR))
- (ADJSP (REG ST) -1)
- (JRST (ENTRY TEST1))
- L0002 (FULLWORD (MKITEM 10 "L0003"))
- L0001 (FULLWORD (MKITEM 4 "L0004"))
- *** Function `TEST' has been redefined
- *** (TEST): base 374744, length 17 words
- ------------------------------------------------------------
- There is no warning message of any kind. However, when
- the compiled code is loaded and executed, it will also
- create bad data that the garbage collector will barf on.
- -------
- 29-Jul-82 10:54:53-PDT,285;000000000001
- Mail-From: LANAM created at 27-Jul-82 16:38:49
- Date: 27 Jul 1982 1638-PDT
- From: LANAM at HP-HULK
- Subject: break package problem
- To: psl at HP-HULK
- In a break package, if I have a variable i (or q, c, r, m, or e), and
- want to print its value, i need to do
- (eval 'i)
- -------
- 30-Jul-82 15:36:42-PDT,389;000000000001
- Date: 30 Jul 1982 11:28-PDT (Friday)
- From: Ching-Chao.Liu <hp-pcd!ching>
- Subject: error in psl manual
- To: hp-pcd!psl@HP-Speech
- Message-Id: <82/07/30 1128.783@hp-pcd>
- On page 10.4 of psl manual, the description of FUnBoundP is incorrect.
- It should be
- Tests whether there is a definition in the function cell of U;
- returns NIL if there is a definition, T if not.
- 30-Jul-82 15:36:43-PDT,616;000000000001
- Date: 30 Jul 1982 11:27-PDT (Friday)
- From: John.Tupper <hp-pcd!maddog>
- Subject: bug report
- To: hp-pcd!psl@HP-Speech
- Message-Id: <82/07/30 1127.900@hp-pcd>
- I have found a bug in the vax version of the psl zpedit.
- When I add something to the end of an s-expression [with the n command]
- the editor changes the old last expression to nil.
- start:
- (LIST (CAR X) (CDR Y))
- execute:
- (N (BOGUS BO GUS))
- finish:
- (LIST (CAR X) NIL (BOGUS BO GUS))
- The same thing happens with the bo command.
- start:
- (LIST (CAR X) (CDR Y))
- execute:
- bo 3
- finish:
- (LIST (CAR X) NIL)
- icky-poo,
- maddog
- 30-Jul-82 15:36:44-PDT,488;000000000001
- Date: Fri Jul 30 11:40:05 1982
- In-real-life: Tw Cook
- To: hp-pcd!psl@HP-Speech
- Subject: testing 'bug' function - ignore
- I have implemented the 'bug' function in our PSL - it just fires up
- 'mail' to PSL, which forwards both to PSL at labs and to the notesgroup
- LISPERS here. Those of you at hplabs who are listening - does stuff
- mailed to PSL@HULK get eventually sent on to Griss & crew? Should I
- mail to them as well? If so, how do I get there (via mail)?
- Thanks,
- tw
- 30-Jul-82 15:41:43-PDT,495;000000000001
- Mail-From: AS created at 30-Jul-82 15:41:22
- Date: 30 Jul 1982 1541-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: EMODE bug
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- EMODE (on the HP2648 at least) fails to check for attempts to move the
- cursor off the right edge of the screen. For example, if you type in
- a line that is longer than the screen width, the cursor will move to
- the next line and occasionally random stuff will come out (parts of
- escape sequences, it looks like).
- -------
- 30-Jul-82 16:41:45-PDT,425;000000000001
- Date: Fri Jul 30 14:04:39 1982
- In-real-life: John Tupper
- To: hp-pcd!psl@HP-Speech
- Subject: bug
- Vax psl bug:
- When the debug package is loaded, the normal trace functions
- don't work correctly.
- After loading the debug stuff, (UNTR) does not restore the original
- definition of the function. (TR) works fine, and (UNTR) will cause tracing
- to halt; it just doesn't restore the original definition.
- maddog
- 2-Aug-82 15:48:02-PDT,343;000000000001
- Mail-From: BATALI created at 2-Aug-82 15:43:38
- Date: 2 Aug 1982 1543-PDT
- From: BATALI at HP-HULK
- Subject: TYPE function
- To: psl at HP-HULK
- It would be just dreamy if there were a function TYPE, which
- returns an ID signifying the type of its argument:
- (type 'foo) => ID
- (type 5) => FIXNUM
- (type '(a b)) => PAIR
- Etc.
- -------
- 3-Aug-82 15:14:40-PDT,684;000000000001
- Mail-From: LANAM created at 3-Aug-82 15:13:55
- Date: 3 Aug 1982 1513-PDT
- From: LANAM at HP-HULK
- Subject: package/compiler/fasl bug
- To: griss at HP-HULK
- cc: psl at HP-HULK, utah-cs!griss at HP-SPEECH
- With the following file (called a.lisp), do the following and you will get
- illegal instruction.
- (load package)
- (faslout "A")
- (dskin "a.lisp")
- (faslend)
- (faslin "a.b")
- file a.lisp:
- -----------
- (\load \package)
- (\setpackage '\global)
- (eval-when (compile)
- (createpackage 'franz 'global)
- (setpackage 'franz))
- (createpackage 'franz 'global)
- (setpackage 'franz)
- (eval-when (compile)
- (localintern 'franz\xx))
- (de franz\xx (yy) yy)
-
- -------
- 3-Aug-82 15:24:37-PDT,561;000000000001
- Mail-From: LANAM created at 3-Aug-82 15:22:56
- Date: 3 Aug 1982 1522-PDT
- From: LANAM at HP-HULK
- Subject: bug with faslout/faslend.
- To: psl at HP-HULK
- do
- (faslout "foo")
- then do something to cause an error, (any error or break will do).
- such as:
- (eval-when (compile) (+ 'a 'b))
- {actually macros can cause errors, as can any eval-when construct}.
- If you do (faslend) in the break point, then (reset),
- the system will only echo your input after that.
- If you do (faslend) again,
- an error (illegal instruction) occurs, and psl will halt.
- -------
- 4-Aug-82 11:44:44-PDT,237;000000000001
- Mail-From: LANAM created at 4-Aug-82 11:43:54
- Date: 4 Aug 1982 1143-PDT
- From: LANAM at HP-HULK
- Subject: where is psl
- To: psl at HP-HULK
- @psl
- ?File has bad index block
- @psl
- [Starting]
- ?No START address
- huh?
- -------
- 5-Aug-82 09:27:36-PDT,374;000000000001
- Mail-From: LANAM created at 5-Aug-82 08:31:23
- Date: 5 Aug 1982 0831-PDT
- From: LANAM at HP-HULK
- Subject: tr bug
- To: psl at HP-HULK
- tr shouldn't ask me how many arguments a compiled function takes.
- Why can't it just create a nexpr instead and not worry about the number
- of arguments?
- (sometimes I don't feel like looking up the answer to this question).
- -------
- 5-Aug-82 14:35:09-PDT,309;000000000001
- Date: 5 Aug 1982 1259-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Re: start up file.
- To: LANAM at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 5-Aug-82 1023-PDT
- No, there is no "init file". We have had several requests for that
- feature, so perhaps it can be added soon.
- -------
- 5-Aug-82 14:35:11-PDT,408;000000000001
- Date: 5 Aug 1982 1303-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Re: printing
- To: LANAM at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 5-Aug-82 1136-PDT
- I don't know if you can turn off the "*** blah already loaded"
- message. There is no mechanism established for forcing the system
- to reload a library module unless you specify "pl:" as the location
- of the module.
- -------
- 5-Aug-82 14:35:12-PDT,367;000000000001
- Mail-From: LANAM created at 5-Aug-82 14:02:21
- Date: 5 Aug 1982 1402-PDT
- From: LANAM at HP-HULK
- Subject: last bug.
- To: psl at HP-HULK
- It doesn't work as I described. I found it had something to do with
- calling (faslout) while inside (faslout).
- Thus bug should be (faslout) during (faslout) should not be executed.
- (it currently is).
- douglas
- -------
- 5-Aug-82 14:35:15-PDT,565;000000000001
- Mail-From: PERDUE created at 5-Aug-82 13:05:17
- Date: 5 Aug 1982 1257-PDT
- From: Cris Perdue <Perdue>
- To: LANAM
- In-Reply-To: Your message of 5-Aug-82 1004-PDT
- Remailed-date: 5 Aug 1982 1305-PDT
- Remailed-from: Cris Perdue <Perdue at HP-HULK>
- Remailed-to: psl at HP-HULK
- To not get bothered about redefining system functions, set the
- global flag *usermode to NIL. The flag *redefmsg determines whether
- you are told when functions are redefined. There is currently
- no way to get a quiet dskin, except modifying the code or writing
- your own.
- -------
- 5-Aug-82 15:10:10-PDT,736;000000000001
- Mail-From: LANAM created at 5-Aug-82 15:09:07
- Date: 5 Aug 1982 1509-PDT
- From: LANAM at HP-HULK
- Subject: package system and faslout/faslin
- To: psl at HP-HULK
- faslout/faslin known nothing about the package system, and will produce
- a file that can not be read in successfully, if that file references
- variables in packages.
- (usually you will get an operating system error (illegal instruction)).
- The manual's suggestion to rename functions in global is not a real
- solution, and suggests further that the package system is not really
- usuable in a real sense yet.
- This section of the system is not finished and I do not feel is in a
- useful enough state to be advertised or included in the manual.
- douglas
- -------
- 5-Aug-82 15:25:10-PDT,257;000000000001
- Mail-From: LANAM created at 5-Aug-82 15:23:44
- Date: 5 Aug 1982 1523-PDT
- From: LANAM at HP-HULK
- Subject: what is bps?
- To: psl at HP-HULK
- I got error ?
- fatal error : bps exhausted during faslout.
- and the system aborted.
- what happened?
- -------
- 5-Aug-82 15:30:07-PDT,285;000000000001
- Mail-From: PERDUE created at 5-Aug-82 15:28:10
- Date: 5 Aug 1982 1528-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Re: what is bps?
- To: LANAM at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 5-Aug-82 1523-PDT
- You ran out of space for compiled code.
- -------
- 5-Aug-82 15:40:10-PDT,211;000000000001
- Mail-From: LANAM created at 5-Aug-82 15:37:32
- Date: 5 Aug 1982 1537-PDT
- From: LANAM at HP-HULK
- Subject: can the sytem just break instead of halt when bps size is exceeded?
- To: psl at HP-HULK
- -------
- 5-Aug-82 16:00:07-PDT,488;000000000001
- Mail-From: PERDUE created at 5-Aug-82 15:58:37
- Date: 5 Aug 1982 1558-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Re: what is bps?
- To: LANAM at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 5-Aug-82 1532-PDT
- PSL provides no information about the sizes of spaces, so far as
- I know. I'm very interested in this myself, and I don't even
- know the initial sizes of most of the spaces. Binary program
- space is not reclaimed. Maybe someday it will be.
- -------
- 5-Aug-82 16:10:05-PDT,544;000000000001
- Mail-From: LANAM created at 5-Aug-82 16:05:15
- Date: 5 Aug 1982 1605-PDT
- From: LANAM at HP-HULK
- Subject: (eval and macros)
- To: psl at HP-HULK
- is there any reason the following should produce different results:
- (eval expression)
- and
- (eval (macroexpand expression))
- I have an example (a bit hairy and long), where the second is correct
- and the first gives a strange error message about trying to set the
- number 2.
- could someone spend some time to look at this to decide what may be
- the problem.
- thanks,
- douglas
- -------
- 5-Aug-82 16:25:06-PDT,378;000000000001
- Mail-From: LANAM created at 5-Aug-82 16:20:10
- Date: 5 Aug 1982 1620-PDT
- From: LANAM at HP-HULK
- Subject: + and - as start of atom names.
- To: psl at HP-HULK
- It would be nice if the scanner was changed such that if
- + and - are followed directly by an alphabetic character,
- (ex +a), then an atom is returned ( +a ), instead of
- two atoms (+ and a).
- douglas
- -------
- 5-Aug-82 17:00:00-PDT,405;000000000001
- Mail-From: LANAM created at 5-Aug-82 16:56:11
- Date: 5 Aug 1982 1656-PDT
- From: LANAM at HP-HULK
- Subject: I got the following strange message.
- To: psl at HP-HULK
- During dskin:
- ***** Fatal error during garbage collection
- Illegal item in heap at 631115
- I do not know if I can reproduce it, but why should such a thing
- happen?
- If I can reproduce it, I will tell you how to.
- douglas
- -------
- 6-Aug-82 10:33:07-PDT,412;000000000001
- Mail-From: LANAM created at 6-Aug-82 10:31:49
- Date: 6 Aug 1982 1031-PDT
- From: LANAM at HP-HULK
- Subject: structure of variable historylist*
- To: psl at HP-HULK
- why is the car of history an endless structure:
- (historylist* (historylist* (historylist* (historylist* ....
- the (cadr historylist*) is also this strange structure.
- isn't there a simplier structure that could be used?
- douglas
- -------
- 6-Aug-82 10:33:08-PDT,196;000000000001
- Mail-From: LANAM created at 6-Aug-82 10:32:25
- Date: 6 Aug 1982 1032-PDT
- From: LANAM at HP-HULK
- Subject: correction to last letter: (cadr should be (caddr)).
- To: psl at HP-HULK
- -------
- 26-Jul-82 17:40:09-PDT,647;000010000001
- Date: 26 Jul 1982 17:35:51-PDT
- From: daemon at HP-Speech
- Via: utah-cs
- Date: Mon Jul 26 16:57:18 1982
- Mail-from: ARPANET site RAND-RELAY rcvd 26-Jul-82 1648-MDT
- Date: Monday, 26 Jul 1982 15:33-PDT
- To: psl-bugs at UTAH-20
- Subject: My guys say it's a bug
- From: hearn at RAND-RELAY
- When you do (quit) to psl, you get the message "stopped", and you have
- a job sitting there. My UNIX guys say this is a bug, and should be fixed.
- I know that you can restart the stopped job, but apart from that facility,
- the stopped job does get in the way every so often. Furthermore, when I
- try to do "time preduce", I can't get the timing info out.
- 29-Jul-82 14:12:46-PDT,502;000010000001
- Date: 29 Jul 1982 1412-PDT
- From: BATALI
- Subject: psl-bug
- To: perdue
- The function:
- (defun or-list? (list predicate)
- (cond ((null list) nil)
- ((funcall predicate (car list)) t)
- (t (or-list? (cdr list) predicate))))
- Is T if any of the predicate applied to any of its elements is T.
- It works fine interpreted, but the compiler goes into an infinite loop
- printing:
- Functional form converted to (APPLY PREDICATE (LIST (CAR LIST)))
- Not a pretty sight.
- Ghastly,
- John
- -------
- 27-Jul-82 22:37:08-PDT,532;000010000001
- Date: 27 Jul 1982 16:19:23-PDT
- From: Griss@UTAH-20 at HP-Speech
- Via: utah-cs
- Date: 27 Jul 1982 0558-MDT
- From: Martin.Griss <Griss at UTAH-20>
- Subject: VAX
- To: Griss@benson@HP-Speech
- cc: Griss@griss@HP-Speech
- Remailed-date: 27 Jul 1982 1420-MDT
- Remailed-from: Eric Benson <BENSON at UTAH-20>
- Remailed-to: psl-bugs at UTAH-20
- I think QUIT should have an associated function, FullStop or some such.
- (Or have 2 low level functions, QuitAndKeep, QuitAndKill), and let
- system admin choose which QUIT is which.
- -------
- 27-Jul-82 10:58:04-PDT,353;000010000011
- Date: 27 Jul 1982 1058-PDT
- From: BATALI
- Subject: PSL Gripe
- To: perdue
- There ought to be an expr to read a file.
- The only way to do this now is something like:
- (eval `(dskin ,filename))
- I see no reason why dskin should not be an nexpr: virtually
- all present uses of it use string arguments so it wouldn't
- matter.
- L&C,
- John
- -------
- 27-Jul-82 16:23:52-PDT,595;000010000001
- Date: 27 Jul 1982 16:18:52-PDT
- From: Griss@UTAH-20 at HP-Speech
- Via: utah-cs
- Date: 10 Jul 1982 1201-MDT
- From: Martin.Griss <Griss at UTAH-20>
- Subject: ExitTopLoop
- To: Griss@benson@HP-Speech
- cc: Griss@griss@HP-Speech
- Remailed-date: 27 Jul 1982 1340-MDT
- Remailed-from: Eric Benson <BENSON at UTAH-20>
- Remailed-to: psl-bugs at UTAH-20
- Id like to add and ExitTopLoop comand,
- eg !$exitTopLoop!$ as distinguided atom? Or some such,
- perhaps have on property list of atom and action function,
- ala Break, perhaps using toploop name as key?
- GET(InputValue,ModuleName,...).
- -------
- 4-Aug-82 01:39:13-PDT,469;000010000001
- Date: 4 Aug 1982 01:36:20-PDT
- From: daemon at HP-Speech
- Via: utah-cs
- Date: Tue Aug 3 22:02:13 1982
- Mail-from: ARPANET site RAND-AI rcvd 3-Aug-82 2200-MDT
- Date: 3 Aug 1982 2101-PDT
- From: Tony Hearn <HEARN at RAND-AI>
- Subject: PSL cannot read bignums correctly
- To: psl-bugs at UTAH-20, griss at UTAH-20
- The source for the bigfloat package contains bignums. It does not seem
- to read or maybe compile correctly.
- Can PSL currently read bignums?
- -------
- 4-Aug-82 10:29:38-PDT,510;000010000001
- Date: 4 Aug 1982 01:36:40-PDT
- From: daemon at HP-Speech
- Via: utah-cs
- Date: 3 Aug 1982 2245-MDT
- From: Eric Benson <BENSON at UTAH-20>
- Subject: Re: PSL cannot read bignums correctly
- To: HEARN at RAND-AI, at@HP-Speech, UTAH-20@HP-Speech, psl-bugs at UTAH-20, griss at UTAH-20
- In-Reply-To: Your message of 3-Aug-82 2201-MDT
- PSL can read bignums with BIG loaded. Without it, bignums will not be
- read correctly. It is probably true that bignum constants cannot be compiled
- in either case.
- -------
- 6-Aug-82 14:13:10-PDT,273;000000000001
- Mail-From: LANAM created at 6-Aug-82 14:09:27
- Date: 6 Aug 1982 1409-PDT
- From: LANAM at HP-HULK
- Subject: bug with *time
- To: psl at HP-HULK
- If the first thing you say to psl is
- (setq *time t)
- you get back
- Time: 211392 ms (or some such large number).
- -------
- 26-Jul-82 17:40:10-PDT,577;000010000001
- Date: 26 Jul 1982 17:36:09-PDT
- From: daemon at HP-Speech
- Via: utah-cs
- Date: 26 Jul 1982 1659-MDT
- From: Eric Benson <BENSON at UTAH-20>
- Subject: Re: My guys say it's a bug
- To: hearn at RAND-RELAY, at@HP-Speech, UTAH-20@HP-Speech, psl-bugs at UTAH-20
- In-Reply-To: Your message of 26-Jul-82 1654-MDT
- Perhaps it's a misfeature. The alternative is to make (QUIT) irrevocable.
- Reading EOF will cause the PSL process to terminate, which allows the use
- of shell scripts and/or I/O redirection. If you want to do that from the
- terminal, type one or more ^Ds.
- -------
- 25-Jun-82 19:48:05-PDT,200;000010000001
- Date: 25 Jun 1982 1948-PDT
- From: LANAM
- Subject: psl bug (in vax version).
- To: perdue
- Type cntrl-d (eof) as the first character, and the system will go into
- an endless loop.
- douglas
- -------
- 25-Jun-82 21:06:46-PDT,622;000010000001
- Date: 25 Jun 1982 2106-PDT
- From: LANAM
- Subject: package proprosal
- To: perdue
- I would like the system to remember the package definition name of a
- variable and functions in .b files so that I dont' get the system
- binding files which were compiled in package a but loaded in package
- b refering to package b functions when a package is not specified.
- Just binding everything to global would not work since then it would
- be a nuisance to have to always write out a local package name in a
- file on every function and variable.
- (This is a proposal to send along with any bug reports to martin).
- douglas
- -------
- 13-Jul-82 19:38:40-PDT,975;000010000001
- Date: 13 Jul 1982 12:23:31-PDT
- From: Galway@UTAH-20 at HP-Speech
- Via: utah-cs
- Date: 12 Jul 1982 2303-MDT
- From: William Galway <Galway at UTAH-20>
- Subject: break loop "feature"
- To: psl-bugs at UTAH-20
- The current break handler inherits the reader, evaluator, and printer from
- whatever the current TopLoop uses (if TopLoop is being used). I suspect
- that this is a mistake, since it makes it awkward to deal with special
- "exotic" top loops. It's already somewhat confusing that depending upon
- the circumstances you will either get a LISP reader, or and Rlisp reader.
- Think about how wonderful it would be if your reader only returned vectors
- to be "evaluated" by adding them up (say, for a desk calculator or
- something).
- I suggest that instead we only have one, or maybe two, break loops.
- Default would use LISP's READ/EVAL/PRINT. And perhaps it should notice
- when Rlisp is in effect, and use its READ/EVAL/PRINT in that case.
- Comments?
- -------
- 26-Jul-82 17:40:09-PDT,884;000010000001
- Date: 26 Jul 1982 17:35:58-PDT
- From: daemon at HP-Speech
- Via: utah-cs
- Date: Mon Jul 26 17:02:07 1982
- Mail-from: ARPANET site RAND-RELAY rcvd 26-Jul-82 1628-MDT
- Date: Friday, 23 Jul 1982 15:05-PDT
- to: Martin.Griss@HP-Speech, <Griss at UTAH-20>
- from: lseward at RAND-UNIX
- Subject: PSL distribution files
- Sender: lseward at RAND-RELAY
- Remailed-date: 26 Jul 1982 1655-MDT
- Remailed-from: Martin.Griss <Griss at UTAH-20>
- Remailed-to: bensON
- Remailed-date: 26 Jul 1982 1656-MDT
- Remailed-from: Eric Benson <BENSON at UTAH-20>
- Remailed-to: psl-bugs at UTAH-20
- I am listing off sources and have been straightening out the vax-comp and
- vax-interp files. Suggestion: have subdirectories src, build, and bin
- and put the appropriate things in them. Otherwise the statement (in the
- documentation) "This directories contains sources for ..." is very
- misleading.
- larry
- 29-Jul-82 22:10:14-PDT,529;000010000001
- Date: 29 Jul 1982 17:39:24-PDT
- From: daemon at HP-Speech
- Via: utah-cs
- Date: Thu Jul 29 16:22:17 1982
- Mail-from: ARPANET site RAND-AI rcvd 29-Jul-82 1617-MDT
- Date: 29 Jul 1982 1519-PDT
- From: Tony Hearn <HEARN at RAND-AI>
- Subject: PSL Problem
- To: psl-bugs at UTAH-20
- If you do in REDUCE on the VAX:
- x := x+1;
- x:
- You SHOULD, I believe, get a "push down stack overflow" error. Instead,
- you go off into mystery (system seems to hang) and finally get an "illegal
- instruction" message and a core dump.
- -------
- 29-Jul-82 22:10:15-PDT,333;000010000001
- Date: 29 Jul 1982 17:39:30-PDT
- From: daemon at HP-Speech
- Via: utah-cs
- Date: Thu Jul 29 16:22:32 1982
- Mail-from: ARPANET site RAND-AI rcvd 29-Jul-82 1618-MDT
- Date: 29 Jul 1982 1520-PDT
- From: Tony Hearn <HEARN at RAND-AI>
- Subject: ps
- To: psl-bugs at UTAH-20
- That second REDUCE command should have been x; not x:
- -------
- 9-Aug-82 09:11:46-PDT,321;000000000001
- Mail-From: LANAM created at 9-Aug-82 09:08:11
- Date: 9 Aug 1982 0908-PDT
- From: LANAM at HP-HULK
- Subject: fluid
- To: psl at HP-HULK
- (fluid '(abc)) will set the value of abc to nil.
- Why? The documentation does not say that such a thing is done.
- It should leave abc as an unbound variable.
- douglas
- -------
- 9-Aug-82 11:06:49-PDT,362;000000000001
- Mail-From: LANAM created at 9-Aug-82 11:03:03
- Date: 9 Aug 1982 1103-PDT
- From: LANAM at HP-HULK
- Subject: question
- To: psl at HP-HULK
- I got the following strange message from the compiler:
- (memory ($fluid b) (wconst 19)) not compiled.
- Did I do something wrong? Or is this a bug in the system.
- the input was (de xx (y) (igetv b 18))
- douglas
- -------
- 9-Aug-82 11:06:52-PDT,310;000000000001
- Mail-From: LANAM created at 9-Aug-82 11:04:51
- Date: 9 Aug 1982 1104-PDT
- From: LANAM at HP-HULK
- Subject: additional compiler comment:
- To: psl at HP-HULK
- I also got
- (memory ($local b) (wconst 19)) not compiled, when I made b an argument to
- the function.
- Is this what is suppose to happen?
- -------
- 9-Aug-82 11:11:50-PDT,606;000000000001
- Mail-From: LANAM created at 9-Aug-82 11:09:14
- Date: 9 Aug 1982 1109-PDT
- From: LANAM at HP-HULK
- Subject: correction to last letter.
- To: psl at HP-HULK
- The form of function definition that causes the message that something is
- not compiled
- (memory ($local y) (wconst 19)) not compiled
- is:
- (defun xx (y) (do ((i 100 (sub1 i))) (eq i 0)) (igetv y 18)))
- If i do
- (defun xx (y) (igetv y 18)) .
- there are no complaints.
- Is this a bug, or a fancy optimization. If it is an optimization, how do I
- turn it off? I want to time 100 accesses to the array in compiled code.
- douglas
- -------
- 10-Aug-82 10:31:04-PDT,191;000000000001
- Mail-From: LANAM created at 10-Aug-82 10:29:26
- Date: 10 Aug 1982 1029-PDT
- From: LANAM at HP-HULK
- Subject: bug in time with garbage collection.
- To: psl at HP-HULK
- bug in time
- -------
- 10-Aug-82 10:36:07-PDT,404;000000000000
- Mail-From: LANAM created at 10-Aug-82 10:31:26
- Date: 10 Aug 1982 1031-PDT
- From: LANAM at HP-HULK
- Subject: bug in time with garbage collection
- To: psl at HP-HULK
- When *time = t,
- the system should report cpu and garbage collection time seperately,
- not as one total number.
- Cpu time: 496 ms. GC time: 2500 ms.
- not
- Time: 2996 ms.
- The current timing given is misleading.
- douglas
- -------
- 10-Aug-82 11:36:08-PDT,386;000000000000
- Mail-From: LANAM created at 10-Aug-82 11:33:45
- Date: 10 Aug 1982 1133-PDT
- From: LANAM at HP-HULK
- Subject: thigns that should be open compiled.
- To: psl at HP-HULK
- bit operations are not open compiled. There should be an
- open compiled form of logical bit operations:
- and, or, not, shift, xor.
- Also there should be the operations
- nand, nor (open compiled) available.
- -------
- 10-Aug-82 11:41:06-PDT,239;000000000000
- Mail-From: LANAM created at 10-Aug-82 11:37:05
- Date: 10 Aug 1982 1137-PDT
- From: LANAM at HP-HULK
- Subject: (maxint) => ???
- To: psl at HP-HULK
- Is there a function that return maxint and minint?
- also maxfloat, and minfloat?
- -------
- 10-Aug-82 11:41:09-PDT,494;000000000000
- Mail-From: LANAM created at 10-Aug-82 11:40:02
- Date: 10 Aug 1982 1140-PDT
- From: LANAM at HP-HULK
- Subject: documentation of compiled in line functions.
- To: psl at HP-HULK
- They should be mentioned where their non compiled in line
- counterpart is.
- Ex.: under times2 should be mentioned itimes2 (for integer multiplacation
- in line).
- I only found the function iland by experimentation ( i never found it
- in the manual, but I found it open compiles code for 'land').
- douglas
- -------
- 10-Aug-82 12:01:06-PDT,324;000000000000
- Mail-From: LANAM created at 10-Aug-82 12:01:02
- Date: 10 Aug 1982 1201-PDT
- From: LANAM at HP-HULK
- Subject: addresses
- To: psl at HP-HULK
- What function returns the address of a lisp object?
- What function takes an address (from above function) or some other int,
- and gives me the lisp object at that address?
- -------
- 10-Aug-82 13:31:03-PDT,497;000000000000
- Mail-From: LANAM created at 10-Aug-82 13:27:26
- Date: 10 Aug 1982 1327-PDT
- From: LANAM at HP-HULK
- Subject: bug in print and lshift.
- To: psl at HP-HULK
- type the following to the top level of the psl interpreter on the 20.
- (lshift 2 34)
- You get an endless unstoppable output of hyphens.
- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------...
- douglas
- -------
- 10-Aug-82 13:31:05-PDT,270;000000000000
- Mail-From: LANAM created at 10-Aug-82 13:28:27
- Date: 10 Aug 1982 1328-PDT
- From: LANAM at HP-HULK
- Subject: word size
- To: psl at HP-HULK
- Is there a function which returns the word size (number of bits) that
- logical operations operate on, built into psl?
- -------
- 10-Aug-82 14:12:54-PDT,566;000000000000
- Mail-From: LANAM created at 10-Aug-82 14:11:14
- Date: 10 Aug 1982 1411-PDT
- From: LANAM at HP-HULK
- Subject: very interesting psl function
- To: psl at HP-HULK
- Try the following:
- (setq *comp t)
- (defun get-an-id (n) % n is a number given by the user
- % ilor is compiled-in-line logical or.
- (ilor n))
- (defun list-word (limit)
- (do ((i 0 (+ 1 i)))
- ((eq i limit))
- (princ (get-an-id i)) (princ " ")))
- The above program when run on some number will give you a partial to
- complete dump of all id's known to the system.
- -------
- 10-Aug-82 14:47:56-PDT,217;000000000000
- Mail-From: LANAM created at 10-Aug-82 14:46:13
- Date: 10 Aug 1982 1446-PDT
- From: LANAM at HP-HULK
- Subject: still cannot have special variables and macros/nexprs have the same name.
- To: psl at HP-HULK
- -------
- 10-Aug-82 16:07:57-PDT,259;000000000000
- Mail-From: LANAM created at 10-Aug-82 15:29:03
- Date: 10 Aug 1982 1529-PDT
- From: LANAM at HP-HULK
- Subject: compiler bug
- To: psl at HP-HULK
- Should I report what causes the following?
- compiler bug. Expression too complicated. Please simplify.
- -------
- 10-Aug-82 16:22:57-PDT,283;000000000000
- Mail-From: KENDZIERSKI created at 10-Aug-82 16:22:31
- Date: 10 Aug 1982 1622-PDT
- From: Kendzierski at HP-HULK (Nancy)
- Subject: previous bug report
- To: psl at HP-HULK
- I should have made it clear that I reset "i" to be 1 before each
- evaluation of a repeat or a while.
- -------
- 10-Aug-82 16:23:03-PDT,1144;000000000000
- Date: 10 Aug 1982 1620-PDT
- From: Kendzierski at HP-HULK (Nancy)
- Subject: REPEAT bug
- To: psl at HP-HULK
- The manual states that the REPEAT construct (section 9.3; page 9.7)
- is repeated until the value of the expression is NIL.
- In the first place, I think this is an inappropriate "repeat ... until"
- definition -- they are generally of the form "repeat until expression
- becomes TRUE (or T), not FALSE (or NIL)".
- Worse than that, it doesn't even work as described. Given the following
- code:
- %----------------------------------------------------
- (setq i 1)
- (repeat (equal i 5) (setq i (add1 i)) (print i))
- (repeat (neq i 5) (setq i (add1 i)) (print i))
- (repeat nil (setq i (add1 i)) (print i))
- (repeat t (setq i (add1 i)) (print i))
- (while (neq i 5) (setq i (add1 i)) (print i))
- (while (equal i 5) (setq i (add1 i)) (print i))
- %----------------------------------------------------
- All four "repeat"s return: 2 and then NIL
- The two "while"s are reasonable;
- the first returns: 2 3 4 5 and then NIL
- the second returns: NIL immediately.
- The situation is the same in both psl and npsl.
- -------
- 11-Aug-82 09:37:06-PDT,267;000000000000
- Date: 11 Aug 1982 0932-PDT
- From: JOHNSON at HP-HULK
- Subject: Documentation Bug
- To: PSL at HP-HULK
- Section 5.1, paragraph 2 of <HP-PSL>HP-PSL.R contains the meaningless
- sentence: "Some of the <PSL> directories have no corresponding <PSL>
- directory."
- -------
- 12-Aug-82 11:08:20-PDT,530;000000000000
- Mail-From: LANAM created at 12-Aug-82 11:06:18
- Date: 12 Aug 1982 1106-PDT
- From: LANAM at HP-HULK
- Subject: restriction in psl which shouldn't be there.
- To: psl at HP-HULK
- The Psl compiler
- does not allow a go inside an and clause inside a prog.
- ex:
- 10 lisp> (defun xx () (prog () loop (and (go loop))))
- ***** (GO LOOP) INVALID GO
- XX
- Thus causing me to have to say
- (cond (expression (go loop))) inside a prog
- when i want to say (and should be allowed to say):
- (and expression (go loop))
- douglas
- -------
- 12-Aug-82 16:30:11-PDT,2751;000000000000
- Mail-From: LANAM created at 12-Aug-82 16:27:30
- Date: 12 Aug 1982 1627-PDT
- From: LANAM at HP-HULK
- Subject: search in emode
- To: psl at HP-HULK
- I looked at the source to search.red in pe: and found that it does
- a very dumb search algorithm.
- The search algorithm should be replaced with the kmp algorithm
- which can be found in most data structures/algorithm books.
- I have a version running in lisp (but not fully compatible with
- emode functions) which I can send. The whole algorithm is
- about 20 lines of code.
- I also have a version in pascal which runs on my 9836 ( i debugged
- it on there when the hulk was down and moved it over.
- ----
- I am including the whole algorithm in lisp slightly commented.
- This version to work with emode needs to convert some or the list
- of characters and vectors of character to vectors of ints, and
- needs to ignore case (this version does not ignore case).
- This code has been checked and works. I am using a variation of
- it in my program for my search through the history table.
- It runs much faster than the algorithm currently used in emode.
- If you wish to install it, I can help in debugging this part of
- the code and checking it works, if you can get someone else
- to interface it to the reset of emode and set up the correct
- accessing of emode data structures.
- douglas
- -----
- %%
- %% Implemenation of Knuth_Morris_Pratt algorithm.
- %%
- %%
- %% p: input-pattern format vector of characters:
- %% '[a b c].
- %%
- %% output failure link vector to be used by emode_kmp_scan.
- %%
- (defun emode_kmp_flowchart_construction (p)
- (let ((m (size p)))
- (let ((*flink (mkvect (iplus2 1 m))))
- (iputv *flink 0 -1)
- (do ((i 1 (+ 1 i)))
- ((> i m) *flink)
- (do ((j (igetv *flink (- i 1)) (igetv *flink j)))
- ((or (eq j -1) (eq (igetv p j) (igetv p (- i 1))))
- (iputv *flink i (+ j 1))))))))
- %%
- %% p : input _string in vector format '[ a b c]
- %% m : upper bound of vector p (answer for above is 2).
- %% s : line of characters to be searched
- %% format list of characters: '(A b c d e . ..)
- %% *flink : failure link vector from emode_kmp_flowchart_construction.
- %%
- %% returns t if succeed, nil if not found.
- %%
- (defun emode_kmp_scan (p m s *flink)
- (and s
- (prog (j)
- (setq j 0)
- %%
- %% if next character does not match use failure links
- %% to back up and try again.
- %%
- loop (cond ((and (neq j -1) (neq (igetv p j) (car s)))
- (setq j (igetv *flink j)) (go loop)))
- %%
- %% if you have matched the entire pattern => succeed.
- %%
- (and (= j m) (return t))
- (or (setq j (+ 1 j) s (cdr s))
- %%
- %% move pointer in line,
- %%
- %% if no more line, fail.
- (return nil))
- (go loop))))
- -------
- 12-Aug-82 16:40:09-PDT,603;000000000000
- Mail-From: LANAM created at 12-Aug-82 16:36:41
- Date: 12 Aug 1982 1636-PDT
- From: LANAM at HP-HULK
- Subject: psl read bug
- To: psl at HP-HULK
- do (let () (setq y (readch)) (unreadchar y) (read))word
- the system will return
- wORD
- note: that read normally changes all the characters in its word to
- upper case.
- But if the character was sent back to the input stream from unreadchar,
- its initial case remains and the atom that read interns has its first
- character in lower case if it was typed that way.
- The above should have returned WORD.
- The above is with *raise = t.
- douglas
- -------
- 14-Aug-82 14:58:13-PDT,428;000000000000
- Mail-From: LANAM created at 14-Aug-82 14:57:28
- Date: 14 Aug 1982 1457-PDT
- From: LANAM at HP-HULK
- Subject: (reset) should end a (faslout)
- To: psl at HP-HULK
- If i do (faslout), get an error, and do (reset),
- I do not think the system should be in fasl mode any more.
- I think if I wanted to continue the (faslout), or save it,
- I would use the continue option of the break package, and
- not do (reset).
- douglas
- -------
- 14-Aug-82 18:37:33-PDT,610;000000000000
- Mail-From: LANAM created at 14-Aug-82 18:33:00
- Date: 14 Aug 1982 1833-PDT
- From: LANAM at HP-HULK
- Subject: can someone please explain why the following takes place
- To: psl at HP-HULK
- HP-PSL 3.0, 12-Aug-82
- 1 lisp> (setq *comp t)
- T
- 2 lisp> (defun a (b) (b b))
- *** Functional form converted to APPLY (B B)
- *** (A): base 412016, length 3 words
- A
- Why is it, if the function and argument have the same name, it
- gives me this message, but if I change either the name of the
- function or the argument, it doesn't give me this message?
- I don't think this message should pop up.
- douglas
- -------
- 14-Aug-82 18:42:30-PDT,415;000000000000
- Mail-From: LANAM created at 14-Aug-82 18:40:11
- Date: 14 Aug 1982 1840-PDT
- From: LANAM at HP-HULK
- Subject: last message with apply message.
- To: psl at HP-HULK
- Even if the function b was declared already.
- (defun a (b) (B b)) causes the system to think that b is a variable bound
- to a function.
- I think this is wrong. If I had wanted that I would have done
- (apply b (list b)) instead of (b b).
- -------
- 14-Aug-82 19:02:26-PDT,342;000000000000
- Mail-From: LANAM created at 14-Aug-82 18:59:24
- Date: 14 Aug 1982 1859-PDT
- From: LANAM at HP-HULK
- Subject: what does ($fluid :value) not compiled mean?
- To: psl at HP-HULK
- I got this between two functions I compiled, but there was no code between
- the two function (and the declaration was pages earlier).
- thanks,
- douglas
- -------
- 15-Aug-82 12:39:55-PDT,282;000000000000
- Mail-From: LANAM created at 15-Aug-82 12:36:13
- Date: 15 Aug 1982 1236-PDT
- From: LANAM at HP-HULK
- Subject: bug in macroexpand.
- To: sys: ;
- HP-PSL 3.0, 12-Aug-82
- 1 lisp> (macroexpand '(setq a b c d))
- (SETQ A B)
- The result should have been '(setq a b c d)).
- -------
- 16-Aug-82 09:57:40-PDT,538;000000000000
- Date: 16 Aug 1982 0957-PDT
- From: Cris Perdue <Perdue>
- Subject: Re: can someone please explain why the following takes place
- To: LANAM
- In-Reply-To: Your message of 14-Aug-82 1833-PDT
- (defun a (b) (b b)) is compiled heuristically. The compiler guesses
- whether the call on b is directly a function call or whether "b" is
- used as a function-valued variable. On the basis of local context it
- guesses b is a variable in function position. I'm sure it will be
- a low priority for fixing, since it is easily worked around.
- -------
- 16-Aug-82 10:02:02-PDT,234;000000000000
- Date: 16 Aug 1982 1002-PDT
- From: Cris Perdue <Perdue>
- Subject: Re: bug in macroexpand.
- To: LANAM
- In-Reply-To: Your message of 15-Aug-82 1236-PDT
- Right on expanding SETQ. There may be an associated compiler bug, too.
- -------
- 18-Aug-82 09:55:56-PDT,256;000000000001
- Mail-From: AS created at 18-Aug-82 09:52:47
- Date: 18 Aug 1982 0952-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: PSL Deficiency
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- PRINTX apparently does not handle shared structures involving
- Vectors.
- -------
- 18-Aug-82 12:21:00-PDT,1125;000000000000
- Mail-From: AS created at 18-Aug-82 12:16:33
- Date: 18 Aug 1982 1216-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: PSL compiler bug
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- There is a serious PSL compiler bug relating
- to the interaction between fast arithmetic
- and fast vector access. In the following code,
- note that register 1 is clobbered by the MOVE
- instruction before it is used as an index
- register in the ADD instruction. (Possibly
- useful info: if the vector fetch is replaced
- by CAR, the compiler does the right thing,
- i.e., moves V to a free register before
- loading register 1.) PLEASE FIX THIS BUG!!!!
- ----------------------------------------------
- (CompileTime (Load Fast-Vector))
- (de test (v a)
- (WPlus2 (IGetV v 0) a))
- ----------------------------------------------
- (*ENTRY TEST EXPR 2)
- (*ALLOC 0)
- (*MOVE (REG 2) (REG 1))
- (*WPLUS2 (REG 1) (MEMORY (REG 1) (WCONST 1)))
- (*EXIT 0)
- ----------------------------------------------
- (MOVE (REG 1) (REG 2))
- (ADD (REG 1) (INDEXED (REG 1) 1))
- (POPJ (REG ST) 0)
- ----------------------------------------------
- -------
- 19-Aug-82 09:37:22-PDT,525;000000000000
- Mail-From: LANAM created at 19-Aug-82 09:35:24
- Date: 19 Aug 1982 0935-PDT
- From: LANAM at HP-HULK
- Subject: deficiencies in the history command.
- To: psl at HP-HULK
- When you do (hist), it tell you things like:
- 5 Inp: (HIST)
- Ans: NIL
- 6 Inp: Q
- Ans: NIL
- But it doesn't tell me that the Q on (inp 6) is a response to the break
- package, not the evaluation of the atom q. It also doesn't tell me that
- (ans 4) is nil because it never existed.{History is an undefined function}.
- -------
- 19-Aug-82 10:12:21-PDT,387;000000000000
- Mail-From: AS created at 19-Aug-82 10:07:31
- Date: 19 Aug 1982 1007-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: CMACRO Bug
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- The *WNOT CMACRO produces bad code when its argument is
- an integer constant. For example, the expression
- (WNot 7) produces (SETCM (REG 1) 7), which computes
- the complement of the contents of register 7.
- -------
- 19-Aug-82 10:47:20-PDT,429;000000000000
- Mail-From: PAULSON created at 19-Aug-82 10:47:09
- Date: 19 Aug 1982 1047-PDT
- From: PAULSON at HP-HULK
- Subject: matching parens
- To: psl at HP-HULK
- It's a serious misfeature in PSL that the system doesn't do automatic
- carriage return after it sees the last matching closeparen. But it's much
- worse that if you count wrong and type an extra closeparen, the system
- goes in to a break. This has got to be fixed.
- -------
- 20-Aug-82 17:42:54-PDT,3634;000000000000
- Date: 20 Aug 1982 17:34:58-PDT
- From: daemon at HP-Speech
- Via: utah-cs
- Date: 20 Aug 1982 0546-MDT
- From: Martin.Griss <Griss at UTAH-20>
- Subject: [Norman.kentvax at UDel-Relay: psl stray queries]
- To: benson@HP-Speech
- cc: griss@HP-Speech
- Remailed-date: 20 Aug 1982 1306-MDT
- Remailed-from: Eric Benson <BENSON at UTAH-20>
- Remailed-to: psl-bugs at UTAH-20
- Remailed-date: 20 Aug 1982 1742-PDT
- Remailed-from: Cris Perdue <Perdue>
- Mail-from: ARPANET site UDEL-RELAY rcvd 20-Aug-82 0445-MDT
- Date: 19 Aug 82 21:33:08-EDT (Thu)
- From: Norman.kentvax at UDel-Relay
- To: griss at Utah-20
- cc: hearn at Rand-Ai
- Subject: psl stray queries
- Via: kentvax; 20 Aug 82 5:29-EDT
- this is a very initial bunch of psl queries/thoughts.
- it is also a test to see if i can get mail out of this vax
- & over to you lot.
- (a)i
- (a) on vax psl 'messages' and 'real output' get interleaved in what
- seems to be an assynchronous manner. at least i seem to get error
- messages all mixed in with the stuff i print, so the idiom
- print <my own messages>;
- error 'stop here;
- is not as helpful as I would like.
- (b) I have tried to use
- rlisp <<here | tee logfile
- on echo;
- ....
- to get a copy of input & output of a set of standartd tests. the
- 'on echo;' seems not to be honoured? also the error recovery is
- a mess in this case because i go into lisp syntax & need to type
- special error-break-loop commands to escape it, and these are
- abominated unless i am in the error loop.
- (c) in ann error
- I wanted to see the value of fluid variables called a,b,c,d,...
- but of course some of these letters gave magic effects! i ended
- up with going (eval 'c) & similar nasties. yuk. also could the
- backtrace print values that fluids have on the stack, or could i
- have some similar easy way to see values of fluids that have been
- covered up by subsequent bindings. furthermore the mess one gets on
- going (backtrace) is a MESS and i find it hard to see the stuff that
- i want for all the muck that i dont.
- (d) try printing (expt 2 31). for me it gives an infinite string of -
- signs!!!!!!!
- (e) lack of bignums is mildly bothersome - for work with reduce I guess
- i will lash up a botched bignum package representing numbers as vectors
- (so they pass the atom test), cos i presume your proper version is in
- the pipeline but not ready yet.
- (f) i looked for the followng functions without apparent success:
- random() generate random number
- timeofday() like date() but gives wallclock time
- (I wanted it to help generate a good seed for my own
- random number generator!)
- (g) in rlisp, various things I expected to be errors were not trapped very
- hard, e.g. a missing ')' seemed to be continuable when i didn't
- expect/want it to. also "help help" failed by turning into
- (help 'help) internally, not (help help), and in a break look following
- an error (help <anything?>) complained about the help package not being
- loaded even though I had called it from rlisp.
- (h) i suspect that often while in an break loop i want further errors
- ignored rather than letting them push me further into deeper break
- loops. I might be happy to have a break level that eats simple 1-char commands to continue, quit, backtrace with one char
- that pushes me into a brand new read-eval-print loop. for rlisp I
- guess that should be an rlisp r-e-p loop?
- I will try to collect further notes to pass on as I think of things:
- just put these somewhere in your big pile of gripes!
- Was good to see you in Pittsburg. cheers. arthur
- -------
- 22-Aug-82 13:50:13-PDT,524;000000000000
- Mail-From: PAULSON created at 22-Aug-82 13:45:20
- Date: 22 Aug 1982 1345-PDT
- From: PAULSON at HP-HULK
- Subject: SUBSTRING
- To: PSL at HP-HULK
- In INTERLISP, (SUBSTRING STR N M) gives you the Nth through Mth elements of
- the string. Makes sense, right? And in ZLisp, (NSUBSTRING STR N M) gives you
- the (N+1)th through (M+1)th elements. Fine- ZLisp does zero-indexing.
- But in PSL, (SUBSTRING N M) gives you the (N+1)th through Mth elements.
- This does not make sense at all (and it isn't documented either.)
- -------
- 23-Aug-82 16:34:14-PDT,253;000000000011
- Mail-From: LANAM created at 23-Aug-82 16:30:41
- Date: 23 Aug 1982 1630-PDT
- From: LANAM at HP-HULK
- Subject: (HELP) load module not found.
- To: psl at HP-HULK
- If you do '? in a break, the system says (HELP) load module not found.
- douglas
- -------
- 25-Aug-82 13:42:37-PDT,254;000000000000
- Mail-From: FILMAN created at 25-Aug-82 13:40:16
- Date: 25 Aug 1982 1340-PDT
- From: FILMAN at HP-HULK
- Subject: bugs
- To: psl at HP-HULK
- The (bug) function gives an access failure (and dies in emode)
- The function destructp is undefined.
- -------
- 25-Aug-82 14:29:18-PDT,315;000000000000
- Mail-From: FILMAN created at 25-Aug-82 13:50:26
- Date: 25 Aug 1982 1350-PDT
- From: FILMAN at HP-HULK
- Subject: more bug
- To: psl at HP-HULK
- The psl manual "swaps" the page and section numbers on left and right pages,
- but leaves the "PSL Manual" and section names unswapped. This is a bit
- confusing.
- -------
- 25-Aug-82 16:09:32-PDT,618;000000000000
- Date: 25 Aug 1982 1556-PDT
- From: Kendzierski (Nancy)
- Subject: One of Filman's PSL bugs
- To: perdue
- Remailed-date: 25 Aug 1982 1609-PDT
- Remailed-from: Cris Perdue <Perdue>
- Remailed-to: filman
- I'm sending this to you (rather than PSL) because I'm answering
- a bug, not reporting one and I don't know the proper procedure
- for that. Bob Filman complained about the "swapping/unswapping"
- of the PSL manual headers (chapter, section, section #, page #).
- The new manual -- I wasn't sure if you had looked at it -- has
- these correctly set up for right/left pagination. I'm sure
- Bob has an old manual.
- -------
- 26-Aug-82 09:25:24-PDT,383;000000000000
- Mail-From: LANAM created at 26-Aug-82 09:22:25
- Date: 26 Aug 1982 0922-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: errors in manual.
- To: psl at HP-HULK
- Page 14.1:
- Under the function savesystem, is a spelling error.
- lispbannner!* should be lispbanner!*.
- On page 13.2 is the following :
- BREAKOUT!* (initially: NIL) global
- similar to BREAKOUT!*.
- -------
- 26-Aug-82 09:50:43-PDT,488;000000000000
- Mail-From: LANAM created at 26-Aug-82 09:47:51
- Date: 26 Aug 1982 0947-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: why are there global variables which can be bound statically?
- To: psl at HP-HULK
- what is really gained by this?
- I find it unreasonable that I can not do
- (let ((out* (open "junk" 'output))) (princ ....))))
- And if I can't do it this way, I have to use a catch to make sure that
- out* is bound correctly after the body of the let is executed.
- douglas
- -------
- 26-Aug-82 09:54:53-PDT,209;000000000000
- Date: 26 Aug 1982 0857-PDT
- From: douglas <LANAM>
- Subject: you can do a funcall or apply on a code pointer.
- To: perdue
- Remailed-date: 26 Aug 1982 0954-PDT
- Remailed-from: Cris Perdue <Perdue>
- -------
- 26-Aug-82 11:00:24-PDT,545;000000000000
- Mail-From: FILMAN created at 26-Aug-82 10:58:53
- Date: 26 Aug 1982 1058-PDT
- From: FILMAN at HP-HULK
- Subject: yet another bug complaint
- To: psl at HP-HULK
- This is a subtle one, that most lisp's get wrong.
- In PSL, macros eat stack. For example, the sequence
- (setq x 1000)
- (dm awhile (l)(cond ((eval (cadr l)) (eval (caddr l)) l)
- (t nil)))
- (awhile (greaterp x 0) (setq x (sub1 x)))
- gets a stack overflow; it needn't. I believe that stanford 1.6 lisp
- does this right, while uci-lisp does it wrong.
- Bob
- -------
- 26-Aug-82 11:25:30-PDT,812;000000000000
- Mail-From: LANAM created at 26-Aug-82 11:23:54
- Date: 26 Aug 1982 1123-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: bugs in emode.
- To: psl at HP-HULK
- try the following:
- @psl
- 1 lisp> (emode)
- ^\e^L
- (that is type meta-e, cntl-l as the first input to emode).
- --------
- What is the replace string command?
- What is the global replace string command?
- --------
- The manual says escape will work as a meta key. It does not.
- --------
- I got into a 3 window mode where one was a break window.
- I could not figure out how to use it.
- Is there any documentation on it?
- --------
- meta-x is mentioned in the manual. It does not exist.
- --------
- is the list of commands in the manual complete?
- --------
- can ctrl-h work the same as ^b ? It does in emacs.
- douglas
- -------
- 26-Aug-82 11:55:25-PDT,354;000000000000
- Mail-From: FILMAN created at 26-Aug-82 11:54:50
- Date: 26 Aug 1982 1154-PDT
- From: FILMAN at HP-HULK
- Subject: emode and mm
- To: psl at HP-HULK
- If you're in emode, and call mm, the exit from mm leaves emode confused.
- The various controll characters to the screen get printed. Doing an ^x^s
- and a continue psl fixes the problem.
- Bob
- -------
- 26-Aug-82 12:00:25-PDT,232;000000000000
- Mail-From: FILMAN created at 26-Aug-82 11:55:32
- Date: 26 Aug 1982 1155-PDT
- From: FILMAN at HP-HULK
- Subject: last bug
- To: psl at HP-HULK
- Excuse me, that's if you do an ^x^z in emode to get back to the exec.
- Bob
- -------
- 26-Aug-82 12:15:25-PDT,430;000000000000
- Mail-From: FILMAN created at 26-Aug-82 12:12:28
- Date: 26 Aug 1982 1212-PDT
- From: FILMAN at HP-HULK
- Subject: defstruct
- To: psl at HP-HULK
- The defstruct documentation in the psl manual does not correspond to the
- implementation in psl. For example, defstructp doesn't exist. Chris
- assures me that the defstruct in psl is lisp machine defstruct. Perhaps
- the manual could be adjusted for this reality.
- Bob
- -------
- 26-Aug-82 12:15:27-PDT,403;000000000000
- Mail-From: FILMAN created at 26-Aug-82 12:14:36
- Date: 26 Aug 1982 1214-PDT
- From: FILMAN at HP-HULK
- Subject: closures
- To: psl at HP-HULK
- I was pleased to see the documentation on closures on page 10.9 of the psl
- manual. Unfortunately, this stuff is not implemented. Perhaps a better
- warning than "[??? Not yet connected to V3 ???]" could be associated with this
- material.
- Bob
- -------
- 26-Aug-82 15:30:31-PDT,315;000000000000
- Mail-From: FILMAN created at 26-Aug-82 15:27:19
- Date: 26 Aug 1982 1527-PDT
- From: FILMAN at HP-HULK
- Subject: ***** Unexpected EOF while reading {99}
- To: psl at HP-HULK
- I get the above message in a break, and all the ^q's I give it don't pop.
- Is there some sure way back to the top level?
- Bob
- -------
- 26-Aug-82 16:39:38-PDT,470;000000000000
- Date: 26 Aug 1982 1639-PDT
- From: Cris Perdue <Perdue>
- Subject: Re: ***** Unexpected EOF while reading {99}
- To: FILMAN
- In-Reply-To: Your message of 26-Aug-82 1527-PDT
- Say "a" rather than "q" to get out. There is a menu that tends to come
- up these days, even when you don't want it. When you don't want it,
- use ^XO to get out of it. A couple of ^XOs and it will even disappear
- from the screen. We'll get rid of that menu altogether in a day or so.
- -------
- 26-Aug-82 16:45:32-PDT,312;000000000000
- Date: 26 Aug 1982 16:35-PDT (Thursday)
- Full-Name: Steve Hiebert
- Subject: Bug in "apply" function
- To: hp-pcd!psl@HP-Hewey
- Cc: hp-pcd!Steve@HP-Hewey
- When the function "(apply 'plus '(1 2 3))" is entered, psl returns a line
- of the form
- #<Unknown:15602127320>
- rather than the result "6".
- 26-Aug-82 17:49:47-PDT,572;000000000000
- Date: 26 Aug 1982 1749-PDT
- From: Cris Perdue <Perdue>
- Subject: Re: Bug in "apply" function
- To: hp-pcd!steve at HP-HEWEY
- In-Reply-To: Your message of 26-Aug-82 1645-PDT
- PLUS is a MACRO, so you don't get what you expect as an answer.
- In general, applying a macro causes it to perform macro expansion
- but not to evaluate the expanded form. Probably applying a macro
- ought to either be an error. In some LISPs (apply fn arglist)
- is equivalent to (eval (cons fn arglist)) when fn is a macro, but
- these are not equivalent when fn is a normal function.
- -------
- 26-Aug-82 18:40:21-PDT,1160;000000000001
- Date: 26 Aug 1982 17:21-PDT (Thursday)
- Full-Name: Ching-Chao Liu
- Subject: bug report
- To: hp-pcd!psl@HP-Hewey
- We run psl on VAX/750 under UNIX.
- The problems are
- (1) I first defined a function "x". Then I initialized the property
- list of "x" by using "SetProp" which turned my function definition
- into "NIL".
- (2) I went on typing my function definition again. Then I looked at
- my property list. It has my function definition with some other
- goodies in it.
- I'll imagine the function cell and the property cell are two seperate
- entities. So, these side effects are unexpected and undesired.
- Following is a sample of the problems.
- 1 lisp> (de x (y) (car y))
- X
- 2 lisp> (pp x)
- (DE X (Y) (CAR Y))
- T
- 3 lisp> (setprop 'x '((color . red)))
- ((COLOR . RED))
- 4 lisp> (prop 'x)
- ((COLOR . RED))
- 5 lisp> (pp x)
- *** X has ill-formed definition.
- (DE X NIL)
- T
- 6 lisp> (de x (y) (car y))
- Do you really want to redefine the system function `X'?(Y or N)y
- *** Function `X' has been redefined
- X
- 7 lisp> (pp x)
- (DE X (Y) (CAR Y))
- T
- 8 lisp> (prop 'x)
- ((*LAMBDALINK LAMBDA (Y) (CAR Y)) USER (COLOR . RED))
- 26-Aug-82 18:48:35-PDT,546;000000000000
- Date: 26 Aug 1982 1848-PDT
- From: Cris Perdue <Perdue>
- Subject: Function cells and property lists
- To: hp-pcd!tw at HP-HEWEY, hp-pcd!liu at HP-HEWEY
- Thanks for the good observation. It turns out that the
- function cell in PSL always contains a machine instruction,
- so the lambda expression can't be stored there. PSL stores
- the lambda expression on the property list. I don't believe
- this fact is documented.
- TW: I'm sending this to you also in case my guess for Liu's
- username is wrong. Please forward. Thanks. -Cris
- -------
- 27-Aug-82 14:56:00-PDT,350;000000000000
- Mail-From: LANAM created at 27-Aug-82 14:55:33
- Date: 27 Aug 1982 1455-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: file function needed.
- To: psl at HP-HULK
- Is there a function which can tell me when a file was last written to
- the disk? I could use such a function.
- (I know this is machine/operating system dependent).
- douglas
- -------
- 27-Aug-82 15:01:00-PDT,449;000000000000
- Mail-From: AS created at 27-Aug-82 14:58:45
- Date: 27 Aug 1982 1458-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Re: file function needed.
- To: LANAM at HP-HULK
- cc: psl at HP-HULK, AS at HP-HULK
- In-Reply-To: Your message of 27-Aug-82 1455-PDT
- The file <HP-PSL.EMODE>DIRECTORY.SL has functions that almost
- do what you want. Take the part of FILE-DELETED-STATUS that
- does at GTJFN to get a JFN, then pass that to JFN-WRITE-DATE.
- -------
- 27-Aug-82 16:10:59-PDT,231;000000000000
- Mail-From: LANAM created at 27-Aug-82 16:09:05
- Date: 27 Aug 1982 1609-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: strange print bug in psl
- To: psl at HP-HULK
- @psl
- 1 lisp> '(quote a b)
- 'A
- 2 lisp>
- douglas
- -------
- 28-Aug-82 04:01:02-PDT,616;000000000000
- Mail-From: LANAM created at 28-Aug-82 03:56:46
- Date: 28 Aug 1982 0356-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: vector print length limit.
- To: psl at HP-HULK
- There should be a special variable (say *printlength) which is set to
- the maximum number of elements in a vector, list, (half-words vectors),
- which are printed out. The rest could be printed ... .
- This variable could be reset by the user (nil for no limit). But I
- think there should be a limit in the system (say 25-30?), often I
- get a strange error in compiled code which results in the endless
- printing of a vector.
- douglas
- -------
- 28-Aug-82 04:01:04-PDT,359;000000000000
- Mail-From: LANAM created at 28-Aug-82 03:57:53
- Date: 28 Aug 1982 0357-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: interrupt and dumpsave.
- To: psl at HP-HULK
- If you do
- (load interrupt)
- (savesystem "xxx.exe")
- (quit)
- @xxx.exe
- The interrupts will not work in xxx.exe, but the system will think the
- file was already loaded.
- douglas
- -------
- 30-Aug-82 10:36:42-PDT,202;000000000000
- Mail-From: FILMAN created at 30-Aug-82 10:34:10
- Date: 30 Aug 1982 1034-PDT
- From: FILMAN at HP-HULK
- Subject: break window
- To: psl at HP-HULK
- What happened to the break window?
- Bob
- -------
- 30-Aug-82 13:41:35-PDT,273;000000000000
- Mail-From: FILMAN created at 30-Aug-82 13:38:40
- Date: 30 Aug 1982 1338-PDT
- From: FILMAN at HP-HULK
- Subject: emode, breaks and "a"
- To: psl at HP-HULK
- Giving an "a" from emode inside a break seems to confuse the emode
- page printing routines some.
- Bob
- -------
- 30-Aug-82 15:36:37-PDT,511;000000000000
- Mail-From: FILMAN created at 30-Aug-82 15:34:57
- Date: 30 Aug 1982 1534-PDT
- From: FILMAN at HP-HULK
- Subject: break and emode
- To: psl at HP-HULK
- When trying to "q" from a break in emode, the cursor goes to the end of
- the second following line, not the next line. That is, if the screen is:
- (cursor shown by *)
- q*
- first line
- second line
- and you execute a meta-e, you get:
- q
- first line
- second line*
- not what you should get, which is:
- q
- first line*
- second line
- Bob
- -------
- 31-Aug-82 10:47:00-PDT,562;000000000000
- Mail-From: LANAM created at 31-Aug-82 10:46:17
- Date: 31 Aug 1982 1046-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: feature in print.
- To: psl at HP-HULK
- It would be nice if print could know about readmacrochars that
- do as follows ^lisp-expression => (tag lisp-expression).
- An example is quote.
- Note: it should make sure the tagged list is of length 2 before
- doing the special print(at least in the case of quote).
- I found the variable idescapechar* and was able to change the
- character that psl prints as the escape character.
- douglas
- -------
- 31-Aug-82 11:16:55-PDT,826;000000000000
- Mail-From: LANAM created at 31-Aug-82 11:14:18
- Date: 31 Aug 1982 1114-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: delcaration of functions and variables.
- To: psl at HP-HULK
- I think it is better to have a declaration statement to declare
- something as a fexpr or as a nexpr, if you wish to use it before
- defining it in compiled code.
- Currently the manual says to write a dummy version.
- But something like :
- (declare (*fexpr x) (*nexpr x)) would be better.
- It could also be used in compiling files that reference other
- files but that you don't wish to load everything in to compile it.
- Also,
- (fluid x) should not set x to nil.
- and there should be two property list names for function type and
- variable type, not one, you should be able to use a name as a
- global variable and a fexpr.
- douglas
- -------
- 1-Sep-82 11:51:56-PDT,333;000000000000
- Mail-From: LANAM created at 1-Sep-82 11:49:33
- Date: 1 Sep 1982 1149-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: if you do a (br func) and func is a fexpr:
- To: psl at HP-HULK
- The system asks how many arguments does func take.
- What is the correct answer (1)?? If so, why does it ask?
- If not, what should I type?
- -------
- 1-Sep-82 11:56:56-PDT,276;000000000000
- Mail-From: LANAM created at 1-Sep-82 11:52:25
- Date: 1 Sep 1982 1152-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: compiletime
- To: psl at HP-HULK
- do
- @psl
- (compiletime (setq a 1))
- a
- You will get that a has been set to 1. I do not think this is right.
- -------
- 1-Sep-82 11:56:59-PDT,268;000000000000
- Mail-From: LANAM created at 1-Sep-82 11:53:16
- Date: 1 Sep 1982 1153-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: correction on br error message.
- To: psl at HP-HULK
- func was a macro, not a fexpr, but the same question still applies.
- sorry, douglas
- -------
- 1-Sep-82 11:57:01-PDT,305;000000000000
- Mail-From: LANAM created at 1-Sep-82 11:55:03
- Date: 1 Sep 1982 1155-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: further correction on br and macro.
- To: psl at HP-HULK
- the func was a compiled macro. But why should it ask the number of
- arguments on a macro or fexpr, compiled or not?
- -------
- 1-Sep-82 12:02:00-PDT,523;000000000000
- Mail-From: LANAM created at 1-Sep-82 12:01:03
- Date: 1 Sep 1982 1201-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: br does not work with macros.
- To: psl at HP-HULK
- If you have a function x which is a macro. Say
- (dm x (y) (rplaca y 'princ))
- then do (br x) .
- Before the call to br,
- (x 'a) typed into the interpretor will execute the princ and return a.
- After the call to br,
- typeing (x 'a) to the interpretor will cause the expression
- (princ 'a) to be returned but not evaluated.
- douglas
- -------
- 1-Sep-82 12:11:58-PDT,643;000000000000
- Mail-From: FILMAN created at 1-Sep-82 12:08:02
- Date: 1 Sep 1982 1208-PDT
- From: FILMAN at HP-HULK
- Subject: circular structure bugs
- To: psl at HP-HULK
- 1) Printx doesn't handle circular vector structures. Since defstruct
- makes vectors, this is a serious problem
- 2) Consider the following sequence:
- (setq bbb '[a b c d])
- (indx bbb 3) --> d
- (setindx bbb 3 bbb) --> prints the appropriate circular structure
- (indx bbb 3) --> an infinite structure
- (indx (indx bbb 3) 3) --> produces a push down overflow error
- (indx (indx (indx bbb 3) 3) 1) --> also produces a push down overflow error
- What gives?
- Bob
- -------
- 1-Sep-82 12:12:10-PDT,241;000000000000
- Mail-From: FILMAN created at 1-Sep-82 12:11:34
- Date: 1 Sep 1982 1211-PDT
- From: FILMAN at HP-HULK
- Subject: last bug report
- To: psl at HP-HULK
- The last bug i sent (on index mistakes) doesn't seem to be repeatable.
- Bob
- -------
- 1-Sep-82 17:03:50-PDT,268;000000000000
- Mail-From: FILMAN created at 1-Sep-82 17:00:41
- Date: 1 Sep 1982 1700-PDT
- From: FILMAN at HP-HULK
- Subject: trace
- To: psl at HP-HULK
- The function "trace" is defined but doesn't trace; nor is it documented in
- my version of the documentation.
- Bob
- -------
- 1-Sep-82 23:00:30-PDT,1067;000000000000
- Mail-From: LANAM created at 1-Sep-82 22:55:56
- Date: 1 Sep 1982 2255-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: macros in compile mode.
- To: psl at HP-HULK
- HP-PSL 3.0, 27-Aug-82
- 1 lisp> (bothtimes (setq x 2))
- 2
- 2 lisp> x
- 2
- 3 lisp> (dm x (y) `(bothtimes (setq . ,(cdr y)))
- 3 lisp> )
- X
- 4 lisp> (x z 4)
- 4
- 5 lisp> z
- 4
- 6 lisp> (faslout "junk")
- FASLOUT: (DSKIN files) or type in expressions
- When all done execute (FASLEND)
- T
- 7 lisp> (bothtimes (setq a 3))
- 3
- 8 lisp> (x b 4)
- 9 lisp> (faslend)
- *** Init code length is 2
- *** A declared fluid
- *** B declared fluid
- **FASL**INITCODE**NIL
- 10 lisp> a
- 3
- 11 lisp> b
- NIL
- 12 lisp> (quit)
- I do not think this is correct, the call to x on line 8 should be expanded
- by the compiler and then the system should notice that it is a bothtimes
- clause and should be executed at compile time and compiled. Instead it
- appears to be just compiled.
- The x is expanded (it is just not executed at compile time like it
- is suppose to be).
- Can you fix this soon?
- thanks,
- douglas
- -------
- 1-Sep-82 23:00:33-PDT,294;000000000000
- Mail-From: LANAM created at 1-Sep-82 22:58:44
- Date: 1 Sep 1982 2258-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: what is defn* and *defn?
- To: psl at HP-HULK
- and what is dfprint*
- They are on page 19.3. They seem important yet are pretty much undocumented.
- What are they.
- -------
- 1-Sep-82 23:00:36-PDT,247;000000000000
- Mail-From: LANAM created at 1-Sep-82 23:00:12
- Date: 1 Sep 1982 2300-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: faslout change
- To: psl at HP-HULK
- Did someone change faslout? It use to echo input, but now it doesn't
- seem to.
- -------
- 1-Sep-82 23:05:30-PDT,321;000000000000
- Mail-From: LANAM created at 1-Sep-82 23:02:45
- Date: 1 Sep 1982 2302-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: Can you change faslout back to echoing input that is just
- To: psl at HP-HULK
- passed to the fasl file. I can not figure out easily when I finish typing
- an expression to faslout any more.
- -------
- 2-Sep-82 01:59:59-PDT,741;000000000000
- Mail-From: LANAM created at 2-Sep-82 01:58:26
- Date: 2 Sep 1982 0158-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: break package and returning new values.
- To: psl at HP-HULK
- I have read through the break package, and tried a few things, and can
- not find how I can do something that means
- (return value) where value is a lisp-expression to be evaluated and become
- the value of the call to break(or conterror), without calling
- the editor. I would like to be able to return a value or evaluate an
- expression that may not be similar to the expression that caused the
- error and return that value back from the break point (similar to
- what one can do in maclisp/franz/lisp machine lisp).
- How do I do this?
- douglas
- -------
- 2-Sep-82 08:24:59-PDT,374;000000000000
- Mail-From: AS created at 2-Sep-82 08:20:49
- Date: 2 Sep 1982 0820-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Re: break package and returning new values.
- To: LANAM at HP-HULK
- cc: psl at HP-HULK, AS at HP-HULK
- In-Reply-To: Your message of 2-Sep-82 0158-PDT
- Just type the expression at the break handler, then type 'C' for
- "continue using last value".
- -------
- 2-Sep-82 10:45:03-PDT,290;000000000000
- Mail-From: LANAM created at 2-Sep-82 10:43:26
- Date: 2 Sep 1982 1043-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: continuable break.
- To: psl at HP-HULK
- Is there a function that would be (contbreak) ?
- Which is something to (break) as (conterror) is to (error)?
- douglas
- -------
- 2-Sep-82 10:55:00-PDT,490;000000000000
- Mail-From: FILMAN created at 2-Sep-82 10:53:48
- Date: 2 Sep 1982 1053-PDT
- From: FILMAN at HP-HULK
- Subject: atomic rules
- To: psl at HP-HULK
- In PSL, (atom x) == (not (pairp x)). Thus, vectors, code pointers
- strings, etc are all atoms.
- I know that this is documented. However, it is counter-intuitive
- (counter-intuitive == the other lisps I've played with don't do it this
- way). Not having read the fine print, I spent an afternoon discovering this
- fact.
- Bob
- -------
- 2-Sep-82 11:10:01-PDT,273;000000000000
- Mail-From: AS created at 2-Sep-82 11:05:43
- Date: 2 Sep 1982 1105-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: PSL bug
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- Char-UpCase and Char-DownCase return NIL instead of their
- argument when no conversion is done.
- -------
- 2-Sep-82 11:50:02-PDT,615;000000000000
- Mail-From: FILMAN created at 2-Sep-82 11:45:35
- Date: 2 Sep 1982 1145-PDT
- From: FILMAN at HP-HULK
- Subject: printing circular structures to depth
- To: gadol at HP-HULK, psl at HP-HULK
- Unfortunately, PSL doesn't have a printlevel function (that prints a structure
- only to a certain depth). Nor does the circular printing function deal with
- circularity in vectors.
- I've written a (not deeply thought-out) depth-limited printing function of my
- own. Since PSL doesn't come with the most complete set of user utilities, how
- about a user-utility function area for such contributions?
- Bob
- -------
- 2-Sep-82 12:15:00-PDT,281;000000000000
- Mail-From: LANAM created at 2-Sep-82 12:13:04
- Date: 2 Sep 1982 1213-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: flag that should be documented.
- To: psl at HP-HULK
- I found a flag *continuableerror which should be documented in the manual.
- (It is very useful).
- -------
- 2-Sep-82 12:59:59-PDT,245;000000000000
- Mail-From: AS created at 2-Sep-82 12:56:54
- Date: 2 Sep 1982 1256-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: TAGS
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- I extended <HP-PSL>TAGS.EXE to recognize DS, DEFFLAVOR, and DEFMETHOD.
- -------
- 2-Sep-82 15:20:08-PDT,821;000000000000
- Mail-From: AS created at 2-Sep-82 15:17:00
- Date: 2 Sep 1982 1517-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Feature request
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- I would like to have the GC starting and ending messages printed by specific
- functions that are invoked at the beginning and ending of each garbage
- collection. These functions should take as arguments all information that they
- use to construct an appropriate message. This change would allow me to alter
- the form of announcement without mucking with the GC itself. In particular, I
- don't want to have to make an altered copy of the GC code or access its private
- variables. I realize that the GC-start function would have to be written to
- not allocate any storage. I need this feature to display a GC announcement in
- NMODE.
- -------
- 3-Sep-82 04:54:48-PDT,837;000000000000
- Mail-From: LANAM created at 3-Sep-82 04:52:14
- Date: 3 Sep 1982 0452-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: can you change princ,
- To: psl at HP-HULK
- Can you change the printing of the following by princ, so that the open
- parens are on the beginning of the line, not the end? I think that
- this would be more pleasant to look at.
- Currently:
- (THING (WCHEM-CLASS (WCH) (WCHO (C-O-STRETCH-ALCOHOL) (O-H-DEFORMATION (
- (THING (WCHEM-CLASS (WCH) (WCHO (C-O-STRETCH-ALCOHOL) (O-H-DEFORMATION (
- O-H-STRETCH-FREE-OH-ALCOHOL) (O-H-STRETCH-INTRAMOLECULAR-H-BONDED-ALCOHOL) (
- O-H-STRETCH-POLYMERIC-ALCOHOL) (O-H-STRETCH-DIMERIC-ALCOHOL)) (
- C=O-STRETCH-OVERTONE) (C=O-STRETCH))))
- (Actually I tried to copy this off my terminal and one line got mixed up,
- but it still displays what is currently done.
- douglas
- -------
- 3-Sep-82 09:20:07-PDT,377;000000000000
- Mail-From: BENSON created at 3-Sep-82 09:17:11
- Date: 3 Sep 1982 0917-PDT
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: can you change princ,
- To: Lanam at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 3-Sep-82 0452-PDT
- That's what PRETTYPRINT is for. It has been suggested that the top loop
- use PRETTYPRINT instead of PRINT. Any opinions?
- -------
- 3-Sep-82 12:00:08-PDT,253;000000000000
- Mail-From: PERDUE created at 3-Sep-82 11:57:28
- Date: 3 Sep 1982 1157-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: STEP bug
- To: psl at HP-HULK
- Try (step '(plus 3 4)). Step using ^N. The stepper breaks after
- a couple of steps.
- -------
- 3-Sep-82 13:10:08-PDT,321;000000000001
- Mail-From: FILMAN created at 3-Sep-82 13:06:38
- Date: 3 Sep 1982 1306-PDT
- From: FILMAN at HP-HULK
- Subject: emode and []
- To: psl at HP-HULK
- The s-expression functions in emode don't seem to know about []'s.
- Since these are the default construction of defstruct, this is a serious
- deficiency.
- Bob
- -------
- 9-Sep-82 14:29:54-PDT,289;000000000001
- Mail-From: LANAM created at 9-Sep-82 14:29:09
- Date: 9 Sep 1982 1429-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: change not have same name for fluid and macro.
- To: psl at HP-HULK
- Please fix this soon. It is a very annoying restriction that
- shouldn't exist.
- douglas
- -------
- 9-Sep-82 14:34:55-PDT,687;000000000001
- Mail-From: LANAM created at 9-Sep-82 14:32:52
- Date: 9 Sep 1982 1432-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: Does the following mean the whole phrase was not compiled or
- To: psl at HP-HULK
- just the car was not compiled.
- *** (car (merge-comment (*i-put-datum (frame ($local type)) (get-field-location 'nil ($local key1)) '3 '(insert-frame (fname :frame))) 'finherit: 'continue))
- not compiled.
- If the first, it is very, very wrong since all of these functions are my
- own and do side effects (set property lists).
- If the second, the message should be changed to something like, return
- value of car is not used and thus car is not being compiled.
- douglas
- -------
- 9-Sep-82 14:39:53-PDT,373;000000000001
- Mail-From: BENSON created at 9-Sep-82 14:37:54
- Date: 9 Sep 1982 1437-PDT
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: Does the following mean the whole phrase was not compiled or
- To: LANAM at HP-HULK, psl at HP-HULK
- In-Reply-To: Your message of 9-Sep-82 1432-PDT
- It means just the CAR was not compiled. I'll see what I can do about
- the message.
- -------
- 9-Sep-82 15:09:52-PDT,322;000000000001
- Mail-From: LANAM created at 9-Sep-82 15:08:09
- Date: 9 Sep 1982 1508-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: psl on the vax.
- To: psl at HP-HULK
- Could the psl on the vax be reconfigured so that there is 100K words of
- bps free at its startup (currently it is approx 46K words)?
- thanks,
- douglas
- -------
- 10-Sep-82 09:10:13-PDT,472;000000000001
- Mail-From: LANAM created at 10-Sep-82 09:07:36
- Date: 10 Sep 1982 0907-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: warnings by compiler.
- To: psl at HP-HULK
- When the compiler says something is declared fluid, could you include the function that caused this on the same line in the message. Due to the fast number of
- lisp systems, I have a hard time remembering whether yours does it before it
- prints the function name concerning it or after.
- douglas
- -------
- 10-Sep-82 10:25:21-PDT,728;000000000001
- Mail-From: LANAM created at 10-Sep-82 10:22:02
- Date: 10 Sep 1982 1022-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: feature that needs to be documented and fix in documentation.
- To: psl at HP-HULK
- I found if you set the value of breakfunction on the propertylist of
- an atom, and type the atom at the break level, it will execute
- that function. This needs to be documented somewhere. Also the
- help file printed at the level should be able to be updated to
- reflect any changes the user may make. I am not sure I like having
- atoms automatically changed into functions at type in, but I do like
- being able to change the break system to take control characters
- instead of alphabetic characters.
- douglas
- -------
- 10-Sep-82 10:50:12-PDT,341;000000000001
- Mail-From: LANAM created at 10-Sep-82 10:49:18
- Date: 10 Sep 1982 1049-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: configuration of bps and heap on 20
- To: psl at HP-HULK
- Can the configuration of the above in psl be changed by moving approx.
- 20K-30K of heap space from heap to bps in bare-psl and psl?
- thanks,
- douglas
- -------
- 10-Sep-82 16:10:12-PDT,748;000000000001
- Date: 10 Sep 1982 1606-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: complaint
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- The manual states that (APPLY x (LIST a b c...)) is compiled in such a way that
- the list (LIST a b c ...) is not actually constructed. This is a very useful
- optimization that I rely upon to make message passing efficient in my OBJECTS
- package. However, I was recently surprised to discover that the optimization
- is not performed if there are six or more elements in the list. I surmise that
- this is somehow related to the number of real (as opposed to virtual) registers
- in the DEC-20 implementation, but don't see any reason why this should prevent
- the optimization from being carried out. What gives?
- -------
- 10-Sep-82 16:25:33-PDT,351;000000000001
- Mail-From: BENSON created at 10-Sep-82 16:20:11
- Date: 10 Sep 1982 1620-PDT
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: complaint
- To: AS at HP-HULK, PSL at HP-HULK
- In-Reply-To: Your message of 10-Sep-82 1610-PDT
- It's a nasty interaction between optimized compilation of LIST and
- optimized compilation of APPLY. I can fix it.
- -------
- 11-Sep-82 11:00:18-PDT,242;000000000001
- Mail-From: LANAM created at 11-Sep-82 10:57:56
- Date: 11 Sep 1982 1057-PDT
- From: douglas <LANAM at HP-HULK>
- To: psl at HP-HULK
- how do I convert "23" or |23| into 23 in psl?
- I need to be able to do this.
- thanks,
- douglas
- -------
- 12-Sep-82 10:28:05-PDT,361;000000000000
- Mail-From: LANAM created at 12-Sep-82 10:24:22
- Date: 12 Sep 1982 1024-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: what are the strange numbers after error. ex: {99}.
- To: psl at HP-HULK
- Do they have a meaning? If so, can that be printed instead?
- If it is just an internal meaning or little help to the user, could
- they be removed?
- douglas
- -------
- 13-Sep-82 12:50:42-PDT,194;000000000001
- Date: 13 Sep 1982 1249-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: bug in COMMON.SL
- To: PSL at HP-HULK
- Make-String in compiled form creates a string with 1 too many elements.
- -------
- 16-Sep-82 11:42:52-PDT,708;000000000001
- Date: 16 Sep 1982 1141-PDT
- From: Kendzierski at HP-HULK (Nancy)
- Subject: bug in UNION clause of FOR
- To: psl at HP-HULK
- The manual states that "(UNION EXP) is similar to (COLLECT EXP), but
- only adds an element to the list if it is not equal to anything already
- there." However, I get the following results with COLLECT and UNION:
- -----------------------------
- (for (from i 1 4)
- (collect (cond ((= i 1) 1)
- ((= i 2) 1)
- ((= i 3) 3)
- ((= i 4) 3))
- ))
- Returned: (1 1 3 3)
- -----------------------------
- (for (from i 1 4)
- (union (cond ((= i 1) 1)
- ((= i 2) 1)
- ((= i 3) 3)
- ((= i 4) 3))
- ))
- Returned: 3
- -----------------------------
- -------
- 16-Sep-82 11:49:09-PDT,240;000000000000
- Date: 16 Sep 1982 1149-PDT
- From: Cris Perdue <Perdue>
- Subject: Re: bug in UNION clause of FOR
- To: Kendzierski
- In-Reply-To: Your message of 16-Sep-82 1142-PDT
- Actually, UNION is similar to JOIN rather than COLLECT. Thanks.
- -------
- 17-Sep-82 02:47:09-PDT,1466;000000000000
- Mail-From: LANAM created at 17-Sep-82 02:46:17
- Date: 17 Sep 1982 0246-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: proposal for inum/wnum arithmetic.
- To: benson at HP-HULK
- cc: psl at HP-HULK, rosENBERG at HP-HULK, lanam at HP-HULK
- I have thought of a reason for having both i and w commands.
- I think the w should be what both are now (just do the machine
- operation and dont worry about tags).
- But the i commands (iplus, ishift, ilor, etc.) could take their
- arguments make sure they are working on a full word (either
- go down the pointer to the integer object or move the immediate
- number into a full word (or register), play with it there, then
- if the number if to be passed to another procedure or used outside
- the context of the i num arithmetic functions, to be send to
- a function that would convert the word back to psl format.
- If small, convert to immediate format, if big, return the pointer
- to the object. This way I could have access to a full word
- on any machine, and be able to produce efficient open code,
- and not have to worry about the psl tag bits.
- The proposal would be if the system sees
- (ilor (ishift x n) (iland a b)), that x, n, a, and b would be converted
- first, then the operations done, and then the one result would be
- converted back. No type checking would be done (if it is an immediate
- number, the pointer would be followed and its location used, for
- efficiency.).
- How does this idea sound?
- -------
- 17-Sep-82 02:57:07-PDT,1143;000000000000
- Mail-From: LANAM created at 17-Sep-82 02:52:52
- Date: 17 Sep 1982 0252-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: compiler conversions to apply.
- To: benson at HP-HULK, psl at HP-HULK
- cc: ROSENBERG at HP-HULK
- In the interpreter, if you have
- (x y z) and x is a local variable and a function, the function x gets
- evaluated.
- In the compiler, it produces code that causes x to be evaluated first.
- (in the case of
- (de x (list) (list list)) , the compiler goes into an endless
- loop trying to perform this conversion for no apparent reason (it endlessly
- prints error messages.))
- I would like the compiler to not make this optimization, since I think
- this is why apply is provided in the first place. Also it makes it
- hard to test code interpretively and then easily compile it.
- Finally, alot of old frl code that I wish to bring up has this style
- in it (frame is used as an argument and a function name in many
- places, along with rule, and domain).
- If it isn't possible to remove it, is it possible to have a flag that
- when set or unset causes the system not to do such an optimization?
- thanks,
- douglas
- -------
- 17-Sep-82 09:57:05-PDT,749;000000000000
- Mail-From: AS created at 17-Sep-82 09:54:27
- Date: 17 Sep 1982 0954-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Complaint
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- If I forget the ending " on a string in a file, then I get one message
- "string continued over EOL" for every succeeding line in the file
- when the file is read in. There should be only one message given.
- Furthermore, if you believe that multi-line strings are bad (which I
- do), then you should probably generate an Error so that you don't
- read the remainder of the file in "reverse polarity" (in terms of
- what is inside vs. outside of string literals).
- (Manual note: I couldn't find anything in my manual that addresses
- the issue of multi-line string literals.)
- -------
- 17-Sep-82 10:17:05-PDT,301;000000000000
- Mail-From: PERDUE created at 17-Sep-82 10:15:26
- Date: 17 Sep 1982 1015-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Re: compiler conversions to apply.
- To: LANAM at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 17-Sep-82 0252-PDT
- We already had a discussion of this.
- -------
- 17-Sep-82 11:17:03-PDT,560;000000000000
- Mail-From: AS created at 17-Sep-82 11:14:26
- Date: 17 Sep 1982 1114-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Compiler Error Message
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- What does the message "($FLUID FOO) not compiled" mean? It sounds
- like the compiler has broken or something, although the program
- seems to work. Furthermore, why shouldn't it be compiled?
- Did the compiler run out of registers or something?
- Suggested fix: either fix the compiler to compile it, or change
- the error message to be more informative to naive users.
- -------
- 17-Sep-82 11:42:00-PDT,1150;000000000000
- Mail-From: AS created at 17-Sep-82 11:40:31
- Date: 17 Sep 1982 1140-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: PSL cleanup
- To: PSL at HP-HULK
- cc: AS at HP-HULK, Griss at HP-HULK
- As part of the current effort to "clean up" PSL, I would like to
- suggest that an effort be made to reduce or eliminate the use
- of fluid variables as "optional" or "implied" arguments, by defining
- new functions with explicit arguments. For example, instead of
- having SpecialReadFunction*, SpecialWriteFunction*, and SpecialCloseFunction*,
- there should be an additional function OpenSpecial that takes four
- arguments, the filename, and the three functions. Another example
- is DumpFileName*: currently there is no way to save a PSL that does
- not have DumpFileName* bound to the name of the file it was dumped
- to. In the case of "system" programs, the default dump file should
- probably be "PSL.EXE" (i.e., something that would write in the
- user's directory). There should be a variant of DumpLisp that
- takes the filename as an argument (and does NOT bind DumpFileName*).
- These are the two examples that come to mind, there may be others.
- -------
- 17-Sep-82 15:27:23-PDT,488;000000000000
- Mail-From: BENSON created at 17-Sep-82 15:25:21
- Date: 17 Sep 1982 1525-PDT
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: bug in UNION clause of FOR
- To: Kendzierski at HP-HULK, psl at HP-HULK
- In-Reply-To: Your message of 16-Sep-82 1142-PDT
- The bug here is in the manual, not in FOR. It should refer to the
- ADJOIN clause, not the UNION clause. UNION expects each expression to
- be a list, then they are combined using UNION. Actually, UNION is
- analogous to JOIN.
- -------
- 18-Sep-82 15:54:54-PDT,218;000000000000
- Mail-From: LANAM created at 18-Sep-82 15:54:10
- Date: 18 Sep 1982 1554-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: what does #<Code:0> mean?
- To: psl at HP-HULK
- Why is this the return value of faslin?
- -------
- 20-Sep-82 08:59:15-PDT,233;000000000000
- Mail-From: GRISS created at 20-Sep-82 08:56:08
- Date: 20 Sep 1982 0856-PDT
- From: GRISS at HP-HULK
- Subject: Re: PSL cleanup
- To: AS at HP-HULK, PSL at HP-HULK
- In-Reply-To: Your message of 17-Sep-82 1140-PDT
- I agree.
- -------
- 20-Sep-82 09:09:15-PDT,509;000000000000
- Mail-From: BENSON created at 20-Sep-82 09:06:06
- Date: 17 Sep 1982 1717-PDT
- From: PAULSON
- Subject: Bug reports
- To: BENSON
- Remailed-date: 20 Sep 1982 0906-PDT
- Remailed-from: Eric Benson <BENSON at HP-HULK>
- Remailed-to: psl at HP-HULK
- Two problems:
- (1) Read macros are apparently not attached to read tables. Therefore
- a read macro for one read table may interfere with other read tables,
- including the system read table.
- (2) the function BUG bombs on directory access privileges.
- -------
- 20-Sep-82 10:44:18-PDT,869;000000000000
- Mail-From: AS created at 20-Sep-82 10:43:11
- Date: 20 Sep 1982 1043-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Complaint
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- I have found when writing functions designed to "replace" MAIN, that it
- is necessary for those functions to initialize the variables
- CurrentReadMacroIndicator* and CurrentScanTable*, otherwise after a
- SaveSystem when the program comes up, the scan table will be in a
- very strange state. I believe that this initialization should be
- performed by a "pre-main" procedure and that user-written "main"
- procedures should be spared these details, which tend to be system-dependent.
- Your source code for Main claims "Redefine this function to call whatever
- top loop is desired." I agree, except that "this function" should be
- one that does nothing except invoke the "standard" top loop.
- -------
- 20-Sep-82 11:09:20-PDT,359;000000000000
- Mail-From: AS created at 20-Sep-82 11:07:38
- Date: 20 Sep 1982 1107-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Complaint
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- When compiling a file, extra right parens should produce
- a warning message, as (in my case) they often are the result
- of a paren mismatch in the middle of a function definition.
- -------
- 20-Sep-82 15:52:33-PDT,307;000000000000
- Mail-From: LANAM created at 20-Sep-82 15:50:44
- Date: 20 Sep 1982 1550-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: bug in scanner
- To: psl at HP-HULK
- 1.2xa is read as two tokens 1.2 and xa.
- 1.2ea gives a error message that the exponent is missing.
- same with 1.2x-a and 1.2e-a
- douglas
- -------
- 20-Sep-82 15:52:44-PDT,272;000000000000
- Mail-From: LANAM created at 20-Sep-82 15:51:29
- Date: 20 Sep 1982 1551-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: continued bug in psl scanner.
- To: psl at HP-HULK
- 1xa is two atoms 1 and xa.
- 1ea says that the exponent in the float is missing.
- douglas
- -------
- 21-Sep-82 09:46:42-PDT,275;000000000000
- Mail-From: LANAM created at 21-Sep-82 09:45:48
- Date: 21 Sep 1982 0945-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: does the compiler have to complain about too many )'s?
- To: psl at HP-HULK
- Currently it complains and breaks. It would be nicer if it didn't.
- -------
- 21-Sep-82 10:26:32-PDT,540;000000000000
- Mail-From: AS created at 21-Sep-82 10:24:22
- Date: 21 Sep 1982 1024-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Re: does the compiler have to complain about too many )'s?
- To: LANAM at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 21-Sep-82 0945-PDT
- I think its important that the compiler complain about extra )'s.
- I have been screwed a number of times because I had mismatched
- parens in the middle of a function but no one told me. It's not
- necessary that it break, however. Is that what you object to?
- -------
- 21-Sep-82 10:36:37-PDT,508;000000000000
- Mail-From: LANAM created at 21-Sep-82 10:31:52
- Date: 21 Sep 1982 1031-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: Re: does the compiler have to complain about too many )'s?
- To: AS at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 21-Sep-82 1024-PDT
- I am getting screwed now, that my files dont compile because
- of two many extra parenthesis (they load fine).
- The message I can ignore, but I object greatly to the breaking,
- (especially when I compile files in batch commands).
- -------
- 22-Sep-82 15:38:39-PDT,256;000000000000
- Mail-From: LANAM created at 22-Sep-82 15:34:38
- Date: 22 Sep 1982 1534-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: bug in do
- To: psl at HP-HULK
- do still returns t when there are no clauses after the test.
- the manual says it returns nil.
- -------
- 22-Sep-82 15:44:02-PDT,306;000000000000
- Mail-From: BENSON created at 22-Sep-82 15:39:55
- Date: 22 Sep 1982 1539-PDT
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: bug in do
- To: LANAM at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 22-Sep-82 1534-PDT
- I fixed the source but haven't rebuilt yet. I'll do that now.
- -------
- 22-Sep-82 15:58:26-PDT,297;000000000000
- Mail-From: BENSON created at 22-Sep-82 15:56:23
- Date: 22 Sep 1982 1556-PDT
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: bug in do
- To: LANAM at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 22-Sep-82 1539-PDT
- USEFUL has been rebuilt and presumably DO is correct.
- -------
- 23-Sep-82 15:30:17-PDT,439;000000000000
- Mail-From: LANAM created at 23-Sep-82 15:26:13
- Date: 23 Sep 1982 1526-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: bug in backtrace.
- To: psl at HP-HULK
- I found if you have
- (x (y (z a))) and you get an error evaluating (z a), you might find x and
- y on the backtrace stack even though you haven't executed it yet.
- Worse, if you trace y, y will never say it is entered but will be on
- the backtrace stack.
- douglas
- -------
- 24-Sep-82 03:54:43-PDT,394;000000000000
- Mail-From: LANAM created at 24-Sep-82 03:52:46
- Date: 24 Sep 1982 0352-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: other thing different about bare-psl.
- To: psl at HP-HULK
- It no longer tells the operating system that the process should be
- kept when you exit and run another process. When you do that,
- the fork disappears. Previously the fork use to stay around.
- douglas
- -------
- 27-Sep-82 12:00:02-PDT,249;000000000000
- Date: 27 Sep 1982 03:54:51-PDT
- From: douglas at HP-Hewey
- To: psl@hulk
- Subject: bugs in vax version of psl
- % ~psl/bin/psl
- PSL 3.0, 22-Sep-82
- 1 lisp> (load nstruct)
- ***** Segmentation violation {99}
- Break loop
- 2 lisp break>> q
- douglas
- 27-Sep-82 12:00:03-PDT,207;000000000000
- Date: 27 Sep 1982 03:57:05-PDT
- From: douglas at HP-Hewey
- To: psl@hulk
- Subject: vax version and prettyprint
- The module prettyprint does not exist on the vax
- (only the older module pretty).
- douglas
- 27-Sep-82 12:00:04-PDT,339;000000000000
- Date: 27 Sep 1982 04:26:52-PDT
- From: douglas at HP-Hewey
- To: psl@hulk
- Subject: faslin on vax psl.
- If you say
- (faslout "filename")
- define some functions here.
- (faslend)
- and do (faslin "filename.b") in either this psl or a new copy,
- you will get a segmentation violation in the new version in
- ~psl/new-dist/bare-psl
- douglas
- 27-Sep-82 12:00:05-PDT,458;000000000000
- Mail-From: FILMAN created at 24-Sep-82 14:20:40
- Date: 24 Sep 1982 1420-PDT
- From: FILMAN at HP-HULK
- Subject: page and section numbers
- To: psl at HP-HULK
- I find confusing the fact that (in the PSL manual) page and section numbers
- are annotated the same way. When the index refers to 8.5, I don't know
- whether to rush off to section 8.5 (wrong) or page 8.5 . How about 8.5 for
- sections and 8-5 for pages, or something like that?
- Bob
- -------
- 27-Sep-82 12:00:06-PDT,308;000000000000
- Mail-From: AS created at 27-Sep-82 09:02:49
- Date: 27 Sep 1982 0902-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Bug or documentation error
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- The manual says that ChannelRead will catch $READ$ and return
- $EOF$. This is false; only Read does the catch.
- -------
- 27-Sep-82 12:00:08-PDT,422;000000000000
- Mail-From: LANAM created at 27-Sep-82 04:33:32
- Date: 27 Sep 1982 0433-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: speed of psl
- To: ROSENBERG at HP-HULK
- cc: psl at HP-HULK
- I am finding psl on the vax to be much slower than psl on the 20.
- Is this true? Is there any reason for this?
- (Things are noticiable a factor of 4 slower with equivalent
- load averages - but I did not do any timings).
- douglas
- -------
- 27-Sep-82 12:00:09-PDT,361;000000000001
- Mail-From: PERDUE created at 27-Sep-82 11:27:15
- Date: 27 Sep 1982 1127-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: EOF handling
- To: psl at HP-HULK
- There appears to be no documentation in the reference manual
- concerning end of file handling, except for the case of READ.
- It appears to be undocumented for ChannelReadChar in particular.
- -------
- 27-Sep-82 13:04:59-PDT,302;000000000001
- Mail-From: AS created at 27-Sep-82 13:01:31
- Date: 27 Sep 1982 1301-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Complaint
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- The error "Undefined function FOO called from compiled code" should
- (i.e., ought to be, for the user's sake) continuable.
- -------
- 28-Sep-82 09:13:55-PDT,420;000000000001
- Mail-From: BENSON created at 28-Sep-82 09:09:49
- Date: 28 Sep 1982 0909-PDT
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: Complaint
- To: psl at HP-HULK
- In-Reply-To: Your message of 27-Sep-82 1301-PDT
- Yes, that would be one benefit of loading a register with the number of
- arguments being passed to a function. The problem now is not knowing
- how many arguments to put in the list to be evaluated.
- -------
- 28-Sep-82 11:05:36-PDT,432;000000000001
- Mail-From: PERDUE created at 28-Sep-82 11:01:15
- Date: 28 Sep 1982 1101-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Documentation update for CopyStringToFrom
- To: psl at HP-HULK
- Copy all characters from OLD into NEW. This operation is destructive.
- If the lengths of OLD and NEW differ, only the lesser number of
- characters is copied. If NEW is longer than OLD, the part not
- copied into is left unchanged.
- -------
- 28-Sep-82 11:20:36-PDT,441;000000000001
- Mail-From: AS created at 28-Sep-82 11:19:30
- Date: 28 Sep 1982 1119-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: RETURN complaint
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- The PSL compiler now produces an error message if it
- encounters a RETURN with no arguments. This is fine.
- However, it still generates an invocation of "NIL".
- It should be possible to avoid generating garbage code
- when there are errors in the source.
- -------
- 28-Sep-82 13:55:41-PDT,572;000000000001
- Mail-From: PERDUE created at 28-Sep-82 13:50:35
- Date: 28 Sep 1982 1350-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: CompileTime and DskIn
- To: psl at HP-HULK
- (CompileTime (dskin "blah.sl")) has the effect of treating the
- contents of blah.sl as though they were textually embedded in
- the file with the CompileTime form. (CompileTime (load blah))
- on the other hand causes the definitions in blah.b to be made
- available at compile time. Even if there is a text file blah.lap
- rather than binary blah.b, "load" seems to only load the
- definitions.
- -------
- 28-Sep-82 14:00:38-PDT,519;000000000001
- Mail-From: PERDUE created at 28-Sep-82 13:59:41
- Date: 28 Sep 1982 1359-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: CompileTime, Load, DskIn
- To: psl at HP-HULK
- Hmm. It seems if I put (CompileTime (load foo)) into a source
- file and compile the source file, and if foo.lap (another source
- file) exists rather than foo.b, then the contents of foo.lap
- are effectively included in the source file I am trying to compile.
- This is a difference in behavior between compiled and non-compiled
- files.
- -------
- 28-Sep-82 17:00:39-PDT,171;000000000001
- Mail-From: YDUJ created at 28-Sep-82 16:59:53
- Date: 28 Sep 1982 1659-PDT
- From: yduJ at HP-HULK (Judy Anderson)
- Subject: testing 1 2 3
- To: psl at HP-HULK
- -------
- 28-Sep-82 17:50:14-PDT,3097;000000000001
- Date: 28 Sep 1982 1750-PDT
- From: Alan Snyder <AS>
- Subject: new PSL!!!!
- To: PSL-News: ;, PSL-Users: ;
- cc: AS
- Important Change to PSL!
- We have installed a new version of PSL on HULK. It contains a number of
- significant changes which are described here. In addition, you must change
- your LOGIN.CMD file to TAKE PSL:LOGICAL-NAMES.CMD instead of
- <PSL>LOGICAL-NAMES.CMD. The <PSL> directory will disappear soon, so make this
- change right away!
- [These changes, except for NMODE, will appear on THOR and HEWEY shortly. There
- are no immediate plans to move NMODE to the Vax.]
- Summary of changes:
- * If you run "PSL", you will now get a PSL that contains the NMODE editor,
- which is a replacement for EMODE. PSL will start up in the editor, instead of
- the PSL listen loop. You can easily get back to the PSL listen loop from NMODE
- by typing C-] L. NMODE is a decent subset of EMACS, so if you are familiar
- with EMACS you should be able to use NMODE without too much difficulty. If you
- are familiar with EMODE, you should read the file PSL:NMODE-GUIDE.TXT, which
- explains the differences between NMODE and EMODE. A printed copy of this memo,
- including the NMODE command chart, is available in the documentation area next
- to Helen Asakawa's office.
- * The "PSL" program (what you get when you say "PSL" to EXEC) no longer
- contains the PSL compiler. Instead, there is a separate program for compiling
- (Lisp) files. To compile a file "FOO.SL", give the command "PSLCOMP FOO" to
- EXEC. PSLCOMP will produce a binary file "FOO.B" that can then be LOADed or
- FASLINed. To run the compiler interactively, just say "PSLCOMP" to EXEC.
- * The PSL directories that contain the source and binaries for all PSL modules
- have been moved to a private structure called SS: (the directories are now
- SS:<PSL*>). The old PSL directories (PS:<PSL*>) will disappear soon. In
- addition, the new directories have been reorganized somewhat to better reflect
- the structure of the implementation. The file PSL:-THIS-.DIRECTORY contains a
- brief description of the new structure. If you have used logical names to
- refer to PSL directories, then this change should not cause too many problems.
- * A number of small bug fixes and improvements have been made. The most
- notable improvements are (1) a more readable backtrace, (2) a better
- prettyprinter, and (3) the definition of a "complete" set of I/O functions
- taking an explicit channel argument (these functions all have names like
- ChannelTerpri, where Terpri is an example of an I/O function that uses the
- default I/O channels). The file PSL:BUG-FIX.LOG contains an exhaustive listing
- of the recent changes.
- The documentation has been updated to reflect these changes. The following new
- or revised documents are available in the documentation area next to Helen
- Asakawa's office:
- Notes on PSL at HP
- DEC-20 PSL New Users' Guide
- NMODE for EMODE Users
- How to customize NMODE
- We have made "documentation packets" containing copies of these documents.
- Users are encouraged to pick up a copy!
- -------
- 28-Sep-82 20:42:48-PDT,488;000000000001
- Mail-From: LANAM created at 28-Sep-82 20:39:17
- Date: 28 Sep 1982 2039-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: new psl
- To: as at HP-HULK, psl at HP-HULK
- I strongly object to psl starting out in the editor. Now if you had an init
- file, you would give people a choice. Starting in the editor makes it
- harder to run shell scripts with do or submit with psl.
- Why wasn't any USERS asked if they would like or want this change?
- When was this discussed?
- douglas
- -------
- 28-Sep-82 20:57:45-PDT,504;000000000001
- Mail-From: LANAM created at 28-Sep-82 20:53:45
- Date: 28 Sep 1982 2053-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: new psl and reset.
- To: as at HP-HULK, psl at HP-HULK
- do (reset) and now you get into the editor.
- I object strongly to this. This is not lisp.
- Why not have a program nmode and a program psl?
- Or at least have an init file that allows me to
- start up in lisp if I like.
- douglas
- ps: how do I change the prompt in psl??
- If i set promptstring*, the system resets it.
- -------
- 28-Sep-82 21:02:45-PDT,704;000000000001
- Mail-From: LANAM created at 28-Sep-82 20:59:41
- Date: 28 Sep 1982 2059-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: close all parenthsis to a particular level.
- To: psl at HP-HULK
- How about adding the ability of ] to close all parenthesis (as in franz,
- maclisp, ucilisp). It would be nice if it could stop at [ (as in franz,
- maclisp, ucilisp). But I realize you use [] for reading arrayes, thus
- maybe you could use {} for this type of bracketing. It would be nice
- to type } to close an expression instead of )))))) (and have to count
- them also, or wait for the editor to match them flipping the screen
- at 1200 baud (That process is a pain to go through in the editor).
- douglas
- -------
- 29-Sep-82 09:26:46-PDT,257;000000000001
- Mail-From: PERDUE created at 29-Sep-82 09:23:08
- Date: 29 Sep 1982 0923-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Testing
- To: psl at HP-HULK
- Is this better? I changed the distribution list to mention
- ss:<psl>bug-mail.txt by name.
- -------
- 29-Sep-82 09:56:46-PDT,254;000000000001
- Mail-From: AS created at 29-Sep-82 09:53:14
- Date: 29 Sep 1982 0953-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: testing
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- Perhaps this will work. I changed the file protection
- on PSL:BUG-MAIL.TXT.
- -------
- 29-Sep-82 10:01:44-PDT,197;000000000001
- Mail-From: AS created at 29-Sep-82 09:58:22
- Date: 29 Sep 1982 0958-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: testing
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- another test, sorry
- -------
- 29-Sep-82 10:01:48-PDT,456;000000000001
- Mail-From: LANAM created at 29-Sep-82 10:01:01
- Date: 29 Sep 1982 1001-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: bug in nmode
- To: as at HP-HULK, psl at HP-HULK
- If you type
- (expression)
- cntrl-] E.
- where the cntrl-] E is on the start of a new line,
- you get
- Exiting NMODE Lisp
- End of File read!,
- shouldn't it execute the last expression? Why should typing a carriage
- return before the cntrl-] E make a difference?
- douglas
- -------
- 29-Sep-82 10:11:45-PDT,175;000000000001
- Date: 29 Sep 1982 1010-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: more testing
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- sorry, folks, but it still don't work
- -------
- 29-Sep-82 10:41:43-PDT,197;000000000001
- Mail-From: ELDREDGE created at 29-Sep-82 10:41:35
- Date: 29 Sep 1982 1041-PDT
- From: Tim Eldredge <ELDREDGE at HP-HULK>
- Subject: test
- To: psl at HP-HULK
- please igonore this message.
- -------
- 29-Sep-82 10:56:43-PDT,350;000000000001
- Mail-From: LANAM created at 29-Sep-82 10:55:54
- Date: 29 Sep 1982 1055-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: <psl>bug-mail.txt at HP-HULK
- To: psl at HP-HULK
- Could someone please correct the mail forwarding of psl that
- goes to this file so that one does not get mail back saying
- the file does not exist? thanks,
- douglas
- -------
- 29-Sep-82 11:36:44-PDT,284;000000000001
- Mail-From: LANAM created at 29-Sep-82 11:34:48
- Date: 29 Sep 1982 1134-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: upon exit of psl (or interrupt with ^c).
- To: psl at HP-HULK
- Can the terminal keys be restored upon exit of psl-nmode
- (or interrupt with ^c)?
- dougla
- -------
- 29-Sep-82 11:51:45-PDT,321;000000000001
- Mail-From: LANAM created at 29-Sep-82 11:47:14
- Date: 29 Sep 1982 1147-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: add to things psl should do when ^c is typed.
- To: psl at HP-HULK
- Add to things psl should do when ^c is typed:
- restore cntl-s. (This should be possible since emacs does this).
- douglas
- -------
- 29-Sep-82 14:21:10-PDT,90;000000000001
- Date: 29 Sep 1982 1421-PDT
- From: Cris Perdue <Perdue>
- Subject: testing
- foo
- -------
- 30-Sep-82 09:01:44-PDT,149;000000000001
- Date: 30 Sep 1982 0901-PDT
- From: Tim Eldredge <ELDREDGE at HP-THOR>
- Subject: testing
- To: psl at HP-HULK
- This message came from THOR.
- -------
- 30-Sep-82 09:15:05-PDT,113;000000000001
- Date: 30 Sep 1982 09:11:14-PDT
- From: twe at HP-Hewey
- To: psl@hulk
- Subject: testing
- This came from the vax
- 30-Sep-82 09:15:11-PDT,196;000000000001
- Mail-From: ELDREDGE created at 30-Sep-82 09:15:00
- Date: 30 Sep 1982 0915-PDT
- From: Tim Eldredge <ELDREDGE at HP-HULK>
- Subject: testing
- To: psl at HP-HULK
- This is yet another test
- -------
- 30-Sep-82 09:44:14-PDT,179;000000000000
- Date: 30 Sep 1982 0940-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: test
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- Tim now says it will work "for sure".
- Let's see!
- -------
- 30-Sep-82 11:14:01-PDT,639;000000000000
- Mail-From: AS created at 30-Sep-82 11:09:01
- Date: 30 Sep 1982 1109-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Request
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- I would like to reiterate a request made previously, I believe, by
- Doug to get rid of the "FOO already loaded" messages. If you
- feel strongly that some sort of warning is needed when people
- type (LOAD FOO) by hand, then I would suggest having LOAD return
- a string that would be printed by the Read-Eval-Print loop.
- I don't think there is any need to print these messages when
- the LOAD is contained in a file (either source or object) that
- is being read.
- -------
- 30-Sep-82 19:33:45-PDT,423;000000000000
- Date: 30 Sep 1982 19:15:53-PDT
- From: douglas at HP-Hewey
- To: benson@hulk, psl@hulk
- Subject: problems with faslin and psl on the vax.
- I still have the problem with any file I create with (faslout) - (faslend).
- I can not load the object file in without getting in to a Break loop
- because of some segmentation violation or bus error.
- There are no calls to load or faslin in my files any more (on the vax).
- douglas
- 1-Oct-82 11:24:42-PDT,333;000000000000
- Mail-From: AS created at 1-Oct-82 11:23:53
- Date: 1 Oct 1982 1123-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Printing
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- The atom - prints as !- in Lisp mode.
- The atom + prints as !+ in Lisp mode.
- I believe this is a mistake.
- The printer should not insert unnecessary !'s.
- -------
- 2-Oct-82 12:47:59-PDT,613;000000000000
- Mail-From: LANAM created at 2-Oct-82 12:46:12
- Date: 2 Oct 1982 1246-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: please do not have psl come up in the editor.
- To: psl at HP-HULK
- This is not a desired start up position.
- 1) Reading logs of background jobs is very difficult, if you can get
- them to work at all.
- 2) Nmode does not work on a lot of terminals. (including the ever
- popular chipmunk.
- 3) The first thing I want to do in a lisp is dskin or fasl in my
- files, not edit a command to do this.
- 4) It is even difficult to run do's with this type of mode.
- (shell scripts).
- douglas
- -------
- 2-Oct-82 12:52:58-PDT,491;000000000000
- Mail-From: LANAM created at 2-Oct-82 12:48:03
- Date: 2 Oct 1982 1248-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: princ does too much.
- To: psl at HP-HULK
- Princ should not check the position of the line to determine
- whether or not the atom will fit. There should be a higher
- level function with that property. I thought princ should
- just print the atom. (or is there a lower level princ with
- out that check and possibly added carriage return not printed).
- douglas
- -------
- 2-Oct-82 14:17:45-PDT,646;000000000000
- Mail-From: LANAM created at 2-Oct-82 14:15:18
- Date: 2 Oct 1982 1415-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: suggestion about printing of error messages in compiler.
- To: psl at HP-HULK
- Could the error messages that are longer than one line, be indented about 1 tab
- stop (5-8 spaces on the 2nd and succeeding lines so that they stand out and
- are easier to distinguish and read). An example would be
- *** Car in (car (foo 'foo1 (foo2 (foo3 'ffo4 (foo4 'xjks) 'sdjkl) (append (foo2 'x) (apply 'foo3 '4))))), not used, therefore not compiled.
- Due to macros, a number of these come up in my program.
- thanks,
- douglas
- -------
- 5-Oct-82 15:11:47-PDT,314;000000000000
- Mail-From: PERDUE created at 5-Oct-82 15:11:06
- Date: 5 Oct 1982 1511-PDT
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Documentation for REPEAT
- To: psl at HP-HULK
- Documentation for REPEAT is still incorrect in the latest
- PSL reference manual. The syntax is:
- Repeat ([S:form], E:form): nil
- -------
- 5-Oct-82 16:31:29-PDT,659;000000000000
- Date: 5 Oct 1982 1628-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: PSL compiler bug
- To: PSL at HP-HULK
- The PSL compiler still has a bug related to fast vector access:
- (de foo (v)
- (cons
- (+ (igetv v 0) (igetv v 1))
- (+ (igetv v 2) (igetv v 3))
- ))
- FOO
- (setf v [1 2 3 4])
- [1 2 3 4]
- (foo v)
- (3 . 7)
- (compile '(foo))
- *** (FOO): base 460253, length 6 words
- NIL
- (foo v)
- (0 . 7)
- (*ENTRY FOO EXPR 1)
- (*ALLOC 0)
- (*MOVE (MEMORY (REG 1) (WCONST 4)) (REG 2))
- (*WPLUS2 (REG 2) (MEMORY (REG 1) (WCONST 3)))
- (*MOVE (MEMORY (REG 1) (WCONST 1)) (REG 1))
- (*WPLUS2 (REG 1) (MEMORY (REG 1) (WCONST 2)))
- (*LINKE 0 CONS EXPR 2)
- -------
- 5-Oct-82 17:51:56-PDT,279;000000000000
- Mail-From: FILMAN created at 5-Oct-82 17:47:25
- Date: 5 Oct 1982 1747-PDT
- From: FILMAN at HP-HULK
- Subject: apply and list
- To: psl at HP-HULK
- Apply doesn't seem to work with list. I.e.:
- (apply 'list '(3 4 5)) ==> nil
- Is this a feature or a bug?
- Bob
- -------
- 6-Oct-82 09:19:11-PDT,303;000000000000
- Mail-From: BENSON created at 6-Oct-82 09:16:25
- Date: 6 Oct 1982 0916-PDT
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: apply and list
- To: FILMAN at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 5-Oct-82 1747-PDT
- Only EXPRs can be APPLYed correctly. LIST is a FEXPR.
- -------
- 6-Oct-82 10:04:09-PDT,521;000000000000
- Mail-From: FILMAN created at 6-Oct-82 10:00:11
- Date: 6 Oct 1982 1000-PDT
- From: FILMAN at HP-HULK
- Subject: Re: apply and list
- To: BENSON at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 6-Oct-82 0916-PDT
- If only EXPRs can be correctly applied, then you need to fix the
- documentation, where it says:
- "We permit macros and fexprs to be applied;"
- though the rest of the sentence presents a confusing disclaimer.
- In any case, why can FEXPRs and MACROS be correctly applied?
- Bob
- -------
- 6-Oct-82 10:48:51-PDT,1181;000000000001
- Mail-From: BENSON created at 6-Oct-82 10:44:23
- Date: 6 Oct 1982 1044-PDT
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: apply and list
- To: FILMAN at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 6-Oct-82 1000-PDT
- They can be applied, but the result of Apply(FexprOrMacro, X) is the same as
- Apply(cdr getd FexprOrMacro, X). That means that the code is treated as though
- it were an EXPR. FEXPRs take a single argument, which is a list of unevaluated
- parameters. In the case of EXPRs, Apply(X, Y) is the same as
- Eval(cons(X, for each U in Y collect list('QUOTE, U))). This is not the
- case for FEXPRs or macros. In the case of macros, Apply can be used to
- perform macro expansion, i.e.
- (apply 'let '((let ((x y)) z))) returns ((lambda (x) z) y). In the case
- of FEXPRs, the list given to APPLY should have one element, which is the
- formal parameter to the function, e.g. if x=1, y=2 and z=3, then
- (apply 'list '((x y z))) returns (1 2 3). This type of thing is only
- dome in unusual situations, e.g. in Eval. It is generally not recommended
- that macros and fexprs be given to APPLY. The function which does what
- you want is EVAL.
- -------
- 7-Oct-82 15:18:50-PDT,707;000000000001
- Mail-From: AS created at 7-Oct-82 15:17:52
- Date: 7 Oct 1982 1517-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: Bug
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- PSL is apparently using a reserved location in an improper way.
- The location ".JBSYM" (whatever that is) is supposed to point
- to a symbol table, but it apparently does not contain a proper
- value, since if you ask EXEC to print out locations in symbolic
- mode, the EXEC will blow up trying to do a symbol table lookup.
- Please fix this bug. (I have noticed NDDT get screwed up doing
- symbol table lookup also; perhaps this is the cause of that
- problem as well.) (This analysis is based on information provided
- by Tim Eldredge.)
- -------
- 9-Oct-82 12:16:55-PDT,798;000000000001
- Mail-From: LANAM created at 9-Oct-82 12:14:25
- Date: 9 Oct 1982 1214-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: terminal interrupt (^B) error
- To: benson at HP-HULK, psl at HP-HULK
- Similar to the one on the vax, on the 20 it also tries to reexecute previously
- typed in expressions.
- 8 lisp> (show 'thing)
- (thing (ako ($if-added (add-instance)) ($if-removed (remove-instance)))
- (instance ($value (request) (domain) (rule))
- ($if-added (add-ako))
- ($if-removed (remove-ako)))
- (self ($value (%(fname :frame)))))
- nil
- Time: 120 ms
- 9 lisp> *** Break in cleario at 43316
- Break loop
- ***** `show' is an unbound ID
- ***** Continuation requires a value for `show'
- Break loop
- thing
- Time: 1 ms
- 12 lisp break>>> ^C
- douglas
- -------
- 15-Oct-82 11:35:28-PDT,282;000000000001
- Date: 15 Oct 1982 1131-PDT
- From: PERDUE at HP-HULK
- Subject: Make-String
- To: PSL at HP-HULK
- The reference manual claims that the first argument to make-string
- is the upper limit for indices into the string, but in fact it
- is the number of characters in the string.
- -------
- 18-Oct-82 12:32:59-PDT,1010;000000000001
- Mail-From: AS created at 18-Oct-82 12:29:47
- Date: 18 Oct 1982 1229-PDT
- From: Alan Snyder <AS at HP-HULK>
- Subject: compiler bug
- To: PSL at HP-HULK
- The compiler incorectly compiles the first clause of the COND in the function
- below. It compiles to return M2, rather than M1.
- (de foo (i1 i2)
- (let ((m1 (> i1 3))
- (m2 (> i2 4))
- )
- (cond ((not (eq m1 m2))
- m1)
- (t
- (+ i1 i2))
- )))
- (*ENTRY FOO EXPR 2)
- (*ALLOC 3)
- (*MOVE (REG 1) (FRAME 1))
- (*MOVE (REG 2) (FRAME 2))
- (*MOVE (QUOTE 4) (REG 2))
- (*MOVE (FRAME 2) (REG 1))
- (*LINK GREATERP EXPR 2)
- (*MOVE (REG 1) (FRAME 3)) -- REG 1 contains M2
- (*MOVE (QUOTE 3) (REG 2))
- (*MOVE (FRAME 1) (REG 1))
- (*LINK GREATERP EXPR 2)
- (*MOVE (REG 1) (REG 2)) -- REG 1 contains M1
- (*MOVE (FRAME 3) (REG 1))
- (*JUMPNOTEQ (LABEL G0001) (REG 2) (REG 1))
- (CAME (REG 2) (REG 1))
- (JRST (LABEL G0001))
- (*MOVE (FRAME 2) (REG 2))
- (*MOVE (FRAME 1) (REG 1))
- (*LINKE 3 PLUS2 EXPR 2)
- (*LBL (LABEL G0001))
- (*EXIT 3)
- -------
- 22-Oct-82 09:42:02-PDT,455;000000000001
- Mail-From: LANAM created at 22-Oct-82 09:38:48
- Date: 22 Oct 1982 0938-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: function timings.
- To: psl at HP-HULK
- Is it possible to make a version of psl that gives me a profile
- of all the lisp functions called and how much cpu time was spent
- in each. (I would assume since this involves some overhead, it
- should not be put in the standard psl). It would be preferable
- to have this on the vax.
- -------
- 27-Oct-82 17:16:40-PDT,335;000000000001
- Mail-From: LANAM created at 27-Oct-82 17:16:07
- Date: 27 Oct 1982 1716-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: bug in psl - (tr get)
- To: psl at HP-HULK
- Do (tr get) in psl, and you get an endless message:
- ***** Undefined function 'GET' called from compiled code
- over and over and over and over ...
- douglas
- -------
- 30-Oct-82 18:51:17-PDT,1012;000000000001
- Mail-From: LANAM created at 30-Oct-82 18:49:42
- Date: 30 Oct 1982 1849-PDT
- From: douglas <LANAM at HP-HULK>
- Subject: difference in apply betwen compiled and interpreted code.
- To: psl at HP-HULK
- Dealing with apply to nexprs.:
- 18 lisp> (dn nexpr (a) (princ a) (terpri))
- NEXPR
- 19 lisp> (de calling-function (arg) (apply (function nexpr) (list arg))
- 19 lisp> )
- CALLING-FUNCTION
- 20 lisp> (calling-function 'a)
- A
- NIL
- 21 lisp> (calling-function '(a b))
- (A B)
- NIL
- 22 lisp> (compile '(calling-function))
- *** Function `CALLING-FUNCTION' has been redefined
- *** (CALLING-FUNCTION): base 257007, length 3 words
- NIL
- 23 lisp> (calling-function '(a b))
- ((A B))
- NIL
- 24 lisp> (calling-function 'a)
- (A)
- NIL
- 25 lisp> ^C
- --------
- Note: This bug does not exist on the vax. On the vax, this function
- runs the same interpretively and compiled. (The interpretive
- version on the 20 is the same definition as that on the vax). This
- use to work on the 20 until about 3 weeks ago.
- douglas
- -------
- 1-Nov-82 15:01:41-PST,352;000000000001
- Mail-From: PERDUE created at 1-Nov-82 14:56:40
- Date: 1 Nov 1982 1456-PST
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: APPEND
- To: psl at HP-HULK
- In PSL the function APPEND now takes exactly 2 arguments.
- Could it be extended to take an arbitrary number. Probably
- 0 and 1 should also be legitimate numbers of arguments.
- What say?
- -------
- 2-Nov-82 09:05:28-PST,247;000000000001
- Mail-From: BENSON created at 2-Nov-82 09:03:58
- Date: 2 Nov 1982 0903-PST
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: APPEND
- To: Perdue at HP-HULK, psl at HP-HULK
- In-Reply-To: Your message of 1-Nov-82 1456-PST
- Someday...
- -------
- 10-Nov-82 13:42:47-PST,217;000000000001
- Date: 10 Nov 1982 1340-PST
- From: AS at HP-HULK
- Subject: documentation deficiency
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- The manual says that InternP takes an ID argument.
- It also will accept a string.
- -------
- 10-Nov-82 16:27:48-PST,2142;000000000001
- Mail-From: LANAM created at 10-Nov-82 16:22:56
- Date: 10 Nov 1982 1622-PST
- From: douglas <LANAM at HP-HULK>
- Subject: new package to time functions.
- To: psl at HP-HULK
- Package name: time-fnc
- To load it, do : (load time-fnc)
- Source: pu:time-fnc.sl
- Object: pul:time-fnc.b
- Purpose: Will record the total time spent from beginning to end in a function
- and the number of calls to the function. (Works on all functions,
- compiled and interpreted).
- Side-effect: Over all execution time is slowed down when this information
- is recorded. Thus functions that are called by a function being
- timed, should not be timed at the same time that the calling
- function is being timed.
- Description of the package and how to use it:
- Time-fnc.sl : code to time function calls.
- Usage:
- do
- (timef function-name-1 function-name-2 ...)
- Timef is a fexpr.
- It will redefine the functions named so that timing information is
- kept on these functions.
- This information is kept on the property list of the function name.
- The properties used are `time' and `number-of-calls'.
- (get function-name 'time) gives you the total time in the function.
- (not counting gc time).
- Note, this is the time from entrance to exit.
- The timef function redefines the function with an
- unwind-protect, so calls that are interrupted
- by *throws are counted.
- (get function-name 'number-of-calls) gives you the number of times
- the function is called.
- To stop timing do :
- (untimef function-name1 ..)
- or do (untimef) for all functions.
- (untimef) is a fexpr.
- To print timing information do
- (print-time-info function-name-1 function-name-2 ..)
- or do (print-time-info) for timing information on all function names.
- special variables used:
- *timed-functions* : list of all functions currently being timed.
- *all-timed-functions* : list of all functions ever timed in the
- current session.
- Comment: if tr is called on a called on a function that is already
- being timed, and then untimef is called on the function, the
- function will no longer be traced.
- -------
- douglas
- -------
- 10-Nov-82 17:02:48-PST,389;000000000001
- Mail-From: LANAM created at 10-Nov-82 17:02:00
- Date: 10 Nov 1982 1702-PST
- From: douglas <LANAM at HP-HULK>
- Subject: new package: time-fnc
- To: psl at HP-HULK
- The package now subtracts out time spent in timing functions.
- Thus one timed function that calls another timed function will get
- the correct time (the same as if the called function had not been timed).
- douglas
- -------
- 12-Nov-82 18:23:36-PST,478;000000000001
- Mail-From: LANAM created at 12-Nov-82 18:22:33
- Date: 12 Nov 1982 1822-PST
- From: douglas <LANAM at HP-HULK>
- Subject: new prettyprinter
- To: benson at HP-HULK
- cc: psl at HP-HULK
- I have modified pp for frl to handle vectors, and readmacros better.
- The new version is in psl syntax and runs in psl, so I have put it
- in pul:.
- The names of the files are newpp.sl, and newpp.b .
- Note: It may still need a little work with lambda, and prog expressions.
- douglas
- -------
- 12-Nov-82 19:28:23-PST,466;000000000001
- Date: 12 Nov 1982 19:23:11-PST
- From: douglas at HP-Hewey
- To: psl@hulk
- Subject: printing without carriage returns.
- If you do
- (let ()
- (princ 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
- (princ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb))
- The system automatically puts a carriage return between because the
- second atom (bbb..), is longer than the space on the line left.
- I need to be able to turn this off? How do I do that?
- douglas
- 12-Nov-82 19:28:31-PST,223;000000000001
- Date: 12 Nov 1982 19:26:06-PST
- From: douglas at HP-Hewey
- To: psl@hulk
- Subject: linelength
- Is there a way to turn off automatic line feeds without making the
- function (linelength) return some large number?
- douglas
- 14-Nov-82 09:34:39-PST,279;000000000001
- Mail-From: GRISS created at 14-Nov-82 09:33:51
- Date: 14 Nov 1982 0933-PST
- From: GRISS at HP-HULK
- Subject: .B
- To: psl at HP-HULK
- Pehaps we should cleanup the .B needed/omitted in the FASLOUT and FASLIN
- pair. I guess I would make the .B explicit in the FASLOUT ?
- -------
- 15-Nov-82 09:27:28-PST,256;000000000001
- Mail-From: BENSON created at 15-Nov-82 09:26:24
- Date: 15 Nov 1982 0926-PST
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: .B
- To: GRISS at HP-HULK, psl at HP-HULK
- In-Reply-To: Your message of 14-Nov-82 0933-PST
- Yes, an excellent idea.
- -------
- 15-Nov-82 10:47:24-PST,311;000000000001
- Mail-From: PERDUE created at 15-Nov-82 10:44:09
- Date: 15 Nov 1982 1044-PST
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: LispVars in SysLisp code
- To: psl at HP-HULK
- In the section of the manual on SYSLISP there is really no discussion
- of the use of "LispVar". It only appears in an example.
- -------
- 15-Nov-82 10:52:25-PST,255;000000000001
- Mail-From: PERDUE created at 15-Nov-82 10:51:48
- Date: 15 Nov 1982 1051-PST
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: SysLisp FOR loop
- To: psl at HP-HULK
- There is no discussion in my manual of what can be done in a
- SysLisp FOR loop.
- -------
- 15-Nov-82 12:12:31-PST,282;000000000001
- Mail-From: PERDUE created at 15-Nov-82 12:09:38
- Date: 15 Nov 1982 1209-PST
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: RLISP (SysLisp?) parser
- To: psl at HP-HULK
- I had an excess "end;" in a source file and the parser (compiler?)
- didn't complain about it. Boo!
- -------
- 15-Nov-82 23:48:56-PST,389;000000000001
- Date: 15 Nov 1982 23:44:12-PST
- From: douglas at HP-Hewey
- To: psl@hulk
- Subject: behaviour in printing with prinlevel.
- It appears that the print function used by tr knows about circular lists.
- It uses %L1: , etc. But if you have prinlength or prinlevel set, there
- are times that the definition of %L1: is not shown, only references to it
- all over the place are printed.
- douglas
- 16-Nov-82 16:42:20-PST,372;000000000001
- Mail-From: PERDUE created at 16-Nov-82 16:41:53
- Date: 16 Nov 1982 1641-PST
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: INDX
- To: psl at HP-HULK
- Caution: The "indx" function doesn't do the same thing in SysLISP
- that it does in regular lisp. In SysLISP it just does the
- "obvious" address arithmetic without accounting for the header
- word of a vector.
- -------
- 17-Nov-82 17:44:15-PST,379;000000000001
- Mail-From: PERDUE created at 17-Nov-82 17:40:43
- Date: 17 Nov 1982 1740-PST
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: WCONSTs for tags, etc.
- To: psl at HP-HULK
- Is there a proper way to make sure that various system WCONSTs are
- defined with the correct values? I am thinking particularly of the
- constants representing the values of the tags for LISP data.
- -------
- 18-Nov-82 09:58:58-PST,387;000000000001
- Date: 18 Nov 1982 0957-PST
- From: AS at HP-HULK
- Subject: documentation deficiency
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- My manual does not describe the following Printf formats (which are
- documented in the code):
- %b - print the specified number of blanks
- %f - start a fresh line if not at the beginning of the line
- %t - print blanks until the specified column
- -------
- 18-Nov-82 20:29:52-PST,158;000000000001
- Date: 18 Nov 1982 20:25:01-PST
- From: douglas at HP-Hewey
- To: psl@hulk
- Subject: question
- how do I find out how much id space is left?
- thanks,
- Doug
- 19-Nov-82 11:38:32-PST,789;000000000001
- Mail-From: LANAM created at 19-Nov-82 11:38:01
- Date: 19 Nov 1982 1138-PST
- From: douglas <LANAM at HP-HULK>
- Subject: Re: Length of ID free list
- To: Perdue at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 19-Nov-82 1131-PST
- I was told they need to write a function. I am not sure how urgent it is,
- as I then to run out at times, but I can recover the space anyways. It would
- tell me wether I should not bother to continue working in the current copy
- of psl (for certain long task that generate many id's, and this would be
- useful.)
- More useful things and much more needed are (on the vax);
- Make interrupt (^c) a continuable break.
- Make interrupt not reexecute that last thing that was typed into the input
- buffer (and already evaled!).
- douglas
- -------
- 19-Nov-82 12:03:31-PST,490;000000000001
- Mail-From: PERDUE created at 19-Nov-82 12:00:28
- Date: 19 Nov 1982 1200-PST
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Fast vector and string operations
- To: psl at HP-HULK
- The vector and string operations beginning with "i" (igetv, iputv, etc.)
- are more or less documented in the reference manual (igets and iputs
- were penciled into the original mine was made from). These are
- only available through a library, though, and that fact is not
- mentioned in the manual.
- -------
- 20-Nov-82 07:28:39-PST,259;000000000001
- Mail-From: GRISS created at 20-Nov-82 07:26:13
- Date: 20 Nov 1982 0726-PST
- From: GRISS at HP-HULK
- Subject: (concat s v)
- To: psl at HP-HULK
- Error message when trying to concat a string and a vector only refers to one
- of the offeding elements.
- -------
- 22-Nov-82 11:03:16-PST,304;000000000001
- Mail-From: PERDUE created at 22-Nov-82 10:58:08
- Date: 22 Nov 1982 1058-PST
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: The HCONS package
- To: psl at HP-HULK
- The HCONS package is documented but only the package itself is
- referred to in the index, not any of the functions it provides.
- -------
- 22-Nov-82 14:09:43-PST,189;000000000001
- Date: 22 Nov 1982 1405-PST
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: IF-SYSTEM
- To: psl at HP-HULK
- IF_SYSTEM is documented as being a CMACRO, but it is really
- a macro.
- -------
- 23-Nov-82 10:07:53-PST,460;000000000001
- Mail-From: SOREFF created at 23-Nov-82 10:07:12
- Date: 23 Nov 1982 1007-PST
- From: SOREFF at HP-HULK
- Subject: possible bug
- To: psl at HP-HULK
- cc: soreff at HP-HULK
- In the course of debugging a piece of software, I noticed that when
- (list2string '(a b . c)) is executed, no error is flagged and [a b]
- is returned. Is this an intentional feature? It would seem reasonable
- to treat the argument as being of the wrong type. -Jeff (Soreff@Hulk)
- -------
- 23-Nov-82 10:22:50-PST,348;000000000001
- Mail-From: BENSON created at 23-Nov-82 10:21:51
- Date: 23 Nov 1982 1021-PST
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: possible bug
- To: SOREFF at HP-HULK, psl at HP-HULK
- In-Reply-To: Your message of 23-Nov-82 1007-PST
- Nearly every program in PSL which deals with lists uses ATOM to test for
- end-of-list, rather than NULL.
- -------
- 23-Nov-82 10:27:51-PST,362;000000000001
- Mail-From: BENSON created at 23-Nov-82 10:26:56
- Date: 23 Nov 1982 1026-PST
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: possible bug
- To: SOREFF at HP-HULK, psl at HP-HULK
- In-Reply-To: Your message of 23-Nov-82 1021-PST
- Of course I meant function, not program. These could be changed to cause
- an error, but I don't think it's important.
- -------
- 23-Nov-82 16:51:38-PST,1406;000000000001
- Date: 23 Nov 1982 1651-PST
- From: Cris Perdue <Perdue>
- Subject: LOAD vs. IMPORTS
- To: PSL-Users: ;
- This note may be IMPORTANT TO YOU!!
- Do your PSL programs use a lot of space? Do you use the function
- LOAD in your source files? Then you can probably save space
- by using IMPORTS instead!
- The IMPORTS function is little known, but quite similar in effect
- to LOAD. IMPORTS is mentioned in the reference manual in the same
- section, but not described, so here goes:
- Call: (imports <files>)
- The argument to IMPORTS should evaluate to a list of atoms or
- strings which are treated as references to files in the same way
- as is done by LOAD. If not already loaded, those load modules
- are loaded. This is the same behavior as LOAD, but loading
- requested by IMPORTS may be delayed until after all the
- initializations specified in the source file have been performed.
- Note: When compiling a file, code of two sorts is generated: code
- for compiled functions (etc.) and code for initialization.
- Initialization code includes code to install the definitions of
- compiled functions and code to perform any other actions
- specified by "top level" expressions in the file.
- Allowing delay in the loading specified by IMPORTS makes it
- possible to reclaim some space used for the process of loading.
- This space is in fact precisely the space occupied by the
- initialization code.
- -------
- 24-Nov-82 11:02:25-PST,208;000000000001
- Date: 24 Nov 1982 1058-PST
- From: PERDUE at HP-HULK
- Subject: READ-UTILS
- To: PSL at HP-HULK
- The library module READ-UTILS is documented in the reference
- manual as being named READ-TABLE-UTILS.
- -------
- 25-Nov-82 07:17:32-PST,212;000000000001
- Mail-From: GRISS created at 25-Nov-82 07:14:46
- Date: 25 Nov 1982 0714-PST
- From: GRISS at HP-HULK
- Subject: ExitLISP for 20
- To: psl at HP-HULK, psl-bugs at UTAH-20
- We need an ExitLISP stub for 20.
- -------
- 29-Nov-82 07:37:24-PST,763;000000000001
- Mail-From: GRISS created at 29-Nov-82 07:34:53
- Date: 29 Nov 1982 0734-PST
- From: GRISS at HP-HULK
- Subject: FLAG->SWITCH
- To: hearn at RAND-UNIX
- cc: psl at HP-HULK, uscg at UTAH-20
- I propose renaming the things we have been calling FLAGS (!*ECHO, etc)
- into SWITCHEs. This is more consistent with the ON/OFF functions that
- change them, and avoids confusion the FLAG operations that put atoms on
- property lists.
- Thus SWITCHs are a special case of global/fluids; by convetion they
- have a * at the front of their names, other globals have * at end.
- ON xx,yy,xx; turns on the SWITCH's *XX,*YY,*ZZ.
- Perhaps we could make ON also accept with the *:
- ON *xx,*yy.
- Should the SIMPFG property be really on the XXX or the *XXX for consistency?
- -------
- 29-Nov-82 10:52:17-PST,266;000000000001
- Date: 29 Nov 1982 1049-PST
- From: AS at HP-HULK
- Subject: feature request
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- Although the Common Lisp manual doesn't say so, I think that PRINLENGTH
- (or some variable) should control the printing of strings as well.
- -------
- 29-Nov-82 13:07:08-PST,313;000000000001
- Mail-From: LANAM created at 29-Nov-82 13:03:40
- Date: 29 Nov 1982 1303-PST
- From: douglas <LANAM at HP-HULK>
- Subject: capitalization function.
- To: psl at HP-HULK
- Is there a function that takes a word and prints it so that the
- first letter is in upper case and the rest is in lower case?
- douglas
- -------
- 29-Nov-82 15:54:42-PST,467;000000000001
- Mail-From: BENSON created at 29-Nov-82 15:50:21
- Date: 29 Nov 1982 1550-PST
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: capitalization function.
- To: LANAM at HP-HULK, psl at HP-HULK
- In-Reply-To: Your message of 29-Nov-82 1303-PST
- STRING-CAPITALIZE takes a string argument and returns a string with all "words"
- capitalized from the argument. A "word" is any sequence of alphanumeric
- characters. See the Common Lisp manual for more details.
- -------
- 30-Nov-82 01:13:56-PST,714;000000000001
- Mail-From: GRISS created at 30-Nov-82 01:09:04
- Date: 30 Nov 1982 0109-PST
- From: GRISS at HP-HULK
- Subject: draft of portions of new PSL manual
- To: psl at HP-HULK
- I am enaged in editing the latest PSL manual with people at Utah.
- I have some chapters down here on <griss> as *.lpt. Please feel free
- to look at an comment on these. They may lag a day or two behind those at
- Utah. We have made extensive additions based on 3.1 additions, and corrections.
- Also we are trying to use LISP syntax, rather than RLISP (or at least a mix).
- I will be viitng Utah Thursday/Friday, would likew to give as much feedback.
- Volunteers to help improve manual welcome (yes, I heard some of you complain...)
- M
- -------
- 1-Dec-82 11:02:17-PST,385;000000000001
- Date: 1 Dec 1982 10:54:24-PST
- From: douglas at HP-Hewey
- To: benson@hulk, psl@hulk
- Subject: change in printing ports of compiler.
- Can all printing be done to one port on the vax, please.
- I get a message like, cannot convert <#XXyy> into string, and have
- no idea which function it is in, because the compiler does not print
- the function names at any reasonable time.
- douglas
- 1-Dec-82 15:42:23-PST,370;000000000001
- Mail-From: BENSON created at 1-Dec-82 15:39:39
- Date: 1 Dec 1982 1539-PST
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Bug in compiler in &PaApply
- To: psl at HP-HULK
- The line
- if first third U = 'LIST then
- should be changed to
- if EqCar(third U, 'LIST) then
- (It sometimes takes the CAR of an atom. EqCar checks to be sure it's a
- pair.)
- -------
- 2-Dec-82 08:21:20-PST,1267;000000000001
- Mail-From: GRISS created at 2-Dec-82 08:16:43
- Date: 2 Dec 1982 0816-PST
- From: GRISS at HP-HULK
- Subject: Duplicate functionality
- To: psl at HP-HULK, psl at UTAH-20
- Folks, its time to make some decisions/gather information on
- the various duplicate functionality modules we now have: Let
- me list some, and solicit more examples:
- DEFSTRUCT and NSTRUCT
- PRETTY and PRETTYPRINT and (? one other?
- EMODE and NMODE
- EDITOR and MINI-EDITOR
- TRACE/DEBUG and MINI-TRACE
- In some cases, we either had the early simple module, and inherited
- a second module with other packages (the various pretty's), or
- managed to get a more official version (LISPM NSTRUCT) converted to
- PSL via a compatibility package, or a new woeker, following the NIH
- syndrome made changes and renamed.
- We cant afford to support this "chaos" much longer, w cant afford
- to document all variants, and be responsible for maintaining all
- versions on all machines.
- Please send me MAIL on other examples of duplication, and
- your feelings why a certain module has a clone, rather than being
- repaired.
- I would like to trim the set of files for the upcoming distributions.
- We could always relgate the "unofficial" versions to an UNSUPPORTED
- random junk directory.
- -------
- 2-Dec-82 09:27:20-PST,565;000000000001
- Date: 2 Dec 1982 0925-PST
- From: AS at HP-HULK
- Subject: suggestion
- To: PSL at HP-HULK
- cc: AS at HP-HULK
- I would like to suggest adding primitives
- vector-trim (v, new-length)
- string-trim (s, new-length)
- that would reduce the length of existing vector and string objects.
- This would be done by adjusting the size field in the header word
- and, if necessary, making the "freed" space at the end of the object
- look like some sort of object so that heap scanning would still work.
- The "freed" space would them be reclaimed by the next GC.
- -------
- 2-Dec-82 11:17:21-PST,877;000000000001
- Mail-From: BENSON created at 2-Dec-82 11:15:15
- Date: 2 Dec 1982 1115-PST
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: Duplicate functionality
- To: GRISS at HP-HULK, psl at HP-HULK, psl at UTAH-20
- In-Reply-To: Your message of 2-Dec-82 0816-PST
- My feeling is that some of the small versions of things should be retained,
- but only for the bootstrapping phase for new machines. It has been very
- useful to have both MINI-EDITOR and MINI-TRACE while debugging the HP9836
- PSL. It would be highly impractical (beyond consideration) to include
- DEBUG and ZPEDIT in a cross-compilation. The lightweight versions should
- not be included in any released system, however, and therefore need not be
- documented in the manual. It might be worthwhile to make sure that the
- mini versions of things are true subsets, rather than slightly incompatible
- versions.
- -------
- 2-Dec-82 11:17:41-PST,307;000000000001
- Mail-From: BENSON created at 2-Dec-82 11:16:25
- Date: 2 Dec 1982 1116-PST
- From: Eric Benson <BENSON at HP-HULK>
- Subject: Re: suggestion
- To: AS at HP-HULK, PSL at HP-HULK
- In-Reply-To: Your message of 2-Dec-82 0927-PST
- Something equivalent to this already exists, in the module VECTOR-FIX.
- -------
- 3-Dec-82 10:17:56-PST,301;000000000001
- Date: 3 Dec 1982 1013-PST
- From: PERDUE at HP-HULK
- Subject: Re: suggestion
- To: AS at HP-HULK
- cc: psl at HP-HULK
- In-Reply-To: Your message of 3 Dec 1982 01:39:41-PST
- In the module PU:VECTOR-FIX, the function TruncateVector provides
- what you want for vectors, though not for strings.
- -------
- 3-Dec-82 18:13:54-PST,648;000000000001
- Date: 3 Dec 1982 1809-PST
- From: PERDUE at HP-HULK
- Subject: Compiling boolean expressions for value
- To: PSL at HP-HULK
- cc: Feldman at HP-HULK
- Samuel Feldman discovered that boolean expressions do not always
- return the same value in compiled code that they do in interpreted
- code. In particular, things like double negations get optimized
- completely away, but this results in an expression that may return
- something other than T or NIL.
- After consulting Eric Benson, I have tested out a patch to the
- compiler to fix this and have changed the sources correspondingly. The
- compiler should do this right in the next release.
- -------
- 8-Dec-82 14:24:32-PST,729;000400000001
- Date: 8 Dec 1982 1420-PST
- From: PERDUE at HP-HULK
- Subject: Internals of BREAK
- To: psl at HP-HULK
- These remarks apply just to system internals, I guess, but here goes
- anyway:
- The hooks in BREAK do not connect RLISP up to the BREAK loop. Why
- not? If there is a decent reason, should the hooks be removed from
- BREAK? Should they be removed in any case?
- The function BREAK is not documented as a function for the user to
- call. Such a thing would be useful: BREAK could serve to provide
- breakpoints. If it is to stand somewhat on its own, its interrelation
- with ERROR, CONTINUABLEERROR, etc. must certainly be cleaned up.
- Responsiblity for various actions and messages is very poorly
- distributed.
- -------
- 8-Dec-82 14:24:46-PST,478;000400000001
- Date: 8 Dec 1982 1423-PST
- From: PERDUE at HP-HULK
- Subject: BREAK loop documentation
- To: psl at HP-HULK
- The variables breakreader*, breakevaluator*, and breakprinter* are
- mythical. BREAK now in fact uses toploopread*, toploopeval*, and
- toploopprint*, though it isn't clear that this is a viable and/or
- permanent feature of BREAK. (Technically, toploopeval* is only called
- after a check that toploopread* has not returned an atom that is a
- break command.)
- -------
- 9-Dec-82 18:14:45-PST,425;000400000001
- Date: 9 Dec 1982 1811-PST
- From: PERDUE at HP-HULK
- Subject: Documentation of ContinuableError
- To: PSL at HP-HULK
- The documentation of ContinuableError and the break loop is aimed at
- situations where there is an error in interpreted code. The
- documentation of ContinuableError should say explicitly that the value
- of the retry form or of the explicit continuation value is returned
- from ContinuableError.
- -------
- 10-Dec-82 17:45:15-PST,530;000000000001
- Date: 10 Dec 1982 1740-PST
- From: PERDUE at HP-HULK
- Subject: [Forwarded:] trace facilities in PSL
- To: PSL at HP-HULK
- Date: 10 Dec 1982 1500-PST
- From: SOREFF
- Subject: trace facilities in PSL
- To: perdue
- cc: soreff
- I think that there is a bug in the PSL trace facilities. Trst appears to
- drop the first element of vectors that it displays. -Jeff
- 3 NMODE Lisp> (de echo (x) x)
- ECHO
- 4 NMODE Lisp> (trst echo)
- (ECHO)
- 5 NMODE Lisp> (echo [a])
- ECHO being entered
- X: []
- ECHO = []
- [A]
- 6 NMODE Lisp>
- -------
- 11-Dec-82 18:23:10-PST,256;000000000001
- Date: 11 Dec 1982 18:19:42-PST
- From: douglas at HP-Hewey
- To: benson@hulk, psl@hulk
- Subject: question about tr .
- What does it mean when tr starts putting "*"'s at the beginning of each
- line of the trace information printed out?
- thanks,
- douglas
- 12-Dec-82 13:17:09-PST,329;000000000001
- Date: 12 Dec 1982 13:10:36-PST
- From: douglas at HP-Hewey
- To: benson@hulk, griss@hulk, psl@hulk
- Subject: bug in garbage collection
- Interrupts should be turned off during garbage collection.
- I and a few others (Mark, Carl, etc), have had very, very strange
- things happen after interrupting a garbage collection.
- douglas
- 13-Dec-82 12:06:55-PST,484;000000000001
- Mail-From: SOREFF created at 13-Dec-82 12:04:12
- Date: 13 Dec 1982 1204-PST
- From: SOREFF at HP-HULK
- Subject: bug in trst
- To: psl at HP-HULK
- cc: soreff at HP-HULK
- Trst seems to have a bug in it that is sensitive to the formal parameters
- of the function(s) being traced. -Jeff
- (de tst1 (x y z)
- (cond (x
- (setq y z))))
- (de tst2 (pop y z)
- (cond (pop
- (setq y z))))
- (trst tst1) % OK
- (trst tst2) % blows up, differs from tst1 only in formal parameter name
- -------
- 13-Dec-82 14:01:56-PST,402;000000000001
- Mail-From: SOREFF created at 13-Dec-82 13:57:36
- Date: 13 Dec 1982 1357-PST
- From: SOREFF at HP-HULK
- Subject: representing control characters
- To: psl at HP-HULK
- cc: soreff at HP-HULK
- Is there a simple way to represent control characters in a PSL source file
- which does not require actual control characters in the file, allowing it
- to be printed without fouling up the printer? -Jeff
- -------
- 13-Dec-82 15:01:59-PST,715;000400000001
- Date: 13 Dec 1982 1456-PST
- From: PERDUE at HP-HULK
- Subject: CHAR and "#\"
- To: PSL at HP-HULK
- cc: Soreff at HP-HULK
- The CHAR macro is apparently documented in the wrong place and the
- documentation for the "#\" (extended) read macro needs to be fleshed
- out. CHAR is actually in the kernel in spite of being documented in
- the section on SYSLISP, and the kernel seems like a reasonable place for
- it. "#\" is actually an extended version of CHAR (redefine DOCHAR,
- which does the work for CHAR), and the names defined for characters need
- to appear in the documentation, not just the source code.
- The set of names supplied with #\ in PU:READ-MACROS is also quite
- excessive and I will trim it.
- -------
- 19-Dec-82 17:47:56-PST,738;000000000001
- Date: 19 Dec 1982 17:34:47-PST
- From: douglas at HP-VENUS
- To: griss@hulk, psl@hulk
- Subject: deficiency in psl (dealing with remainders and modular arithmetic).
- I find remainder is not complete in its present definition in psl.
- I need to always do:
- (let ((a (remainder arg1 arg2)))
- (cond ((>= a 0) a)
- (t (minus a)))),
- I could find no function that corresponds to the above.
- Nor could I find a function which returns a/b mod c in a range
- other than (-c,c). It is useful to have integer remainder functions
- that return in the ranges [0,c), and (-c/2,c/2] (or was is [-c/2,c/2).)
- Do such functions exist?
- Wremainder and Iremainder both act the same as remainder (except only
- on integers).
- douglas
- 20-Dec-82 06:52:41-PST,363;000000000001
- Mail-From: GRISS created at 20-Dec-82 06:49:28
- Date: 20 Dec 1982 0649-PST
- From: GRISS at HP-HULK
- Subject: RCREF "bug"
- To: psl at HP-HULK
- Need to install LPOSN for line number counters in RCREF.
- Need to install information about FOREACH and other "standard" macros
- (or make them expand) so that variables in FOREACH dont behave as
- functions.
- -------
- 20-Dec-82 07:27:34-PST,426;000000000001
- Mail-From: GRISS created at 20-Dec-82 07:24:34
- Date: 20 Dec 1982 0724-PST
- From: GRISS at HP-HULK
- Subject: RCREF
- To: psl at HP-HULK
- I have flagged some functions EXPAND (FOR, FOREACH, WHILE and REPEAT)
- and taught RCREF about NEXPRs and SMACROS.
- Still need to carfully check the various standard functionlists
- to suppress printing of "uninteresting" functions. Eg, GEQ, LEQ should
- be added to such lists.
- -------
- 20-Dec-82 18:29:00-PST,406;000000000001
- Mail-From: GRISS created at 20-Dec-82 18:27:47
- Date: 20 Dec 1982 1827-PST
- From: GRISS at HP-HULK
- Subject: RCREF
- To: psl at HP-HULK
- We need to teach RCREF about functions such as PRINTF and BLDMSG that
- take a variable # of arguments. perhaps relate to better NEXPR/LEXPR
- model.
- We need to teach RCREF how to use .BUILD file(s) to cref modules with
- appropriate support modules laoded.
- -------
- 21-Dec-82 14:55:00-PST,4447;000000000001
- Mail-From: BENSON created at 21-Dec-82 14:50:08
- Date: 21 Dec 1982 1450-PST
- From: Eric Benson <BENSON at HP-HULK>
- Subject: PSL problems
- To: psl at HP-HULK
- A perusal of PSL:BUG-MAIL.TXT revealed the following outstanding problems
- with PSL:
- No checking for number of arguments in compiled code, not even for
- interpreted code calling compiled code. A related problem is the inability
- to define functions which take a variable number of arguments which can be
- FUNCALLed effectively.
- The distinction between fluids and globals is not useful in PSL. Its only
- function is to print annoying messages about globals which can't become
- fluids. Perhaps the warning message should be suppresed.
- There is no general function for type coercion. Also there is no function
- TYPE-OF which returns the name of a data type, or TYPECASE which dispatches
- on the type. In general, the name of a data type is not really used by the
- system.
- Debugging tools leave much to be desired. Some features requested are:
- A backtrace for bindings of fluid variables.
- A means of examining stack frames of compiled functions.
- A better interface to the STEP function, such as being able to step just
- within a certain function, similar to TRST.
- The structure editor ZPEDIT, obtained from IMSSS has bugs in the A, N and
- BO commands. These are probably caused by miscompilation due to evaluation
- order problems.
- There are several deficiencies with input and output:
- RDS and WRS are considered to be poor means to direct input and output
- to different places, as opposed to functions which take optional stream
- arguments.
- The representation of channels as small integers means that there are a
- limited number of streams which can be active. Also, there can be no predicate
- stream-p with this arrangement.
- The method of opening special channels is messy. It should be changed
- to use a separate function OPEN-SPECIAL.
- The token scanner is insufficiently general. Read macros are tied to
- property lists instead of scanner tables.
- + and - print as !+ and !-.
- Characters are represented as integers instead of being a separate data
- type.
- FASLOUT adds a ".b" to the filename given, while FASLIN does not.
- The arguments to MAP, MAPC, etc. are in the wrong order wrt
- Maclisp/Commonlisp compatibility.
- The separation of error output and standard output into 2 channels on Unix
- has proven to be undesirable. They should be combined into 1 channel.
- There should be user-controllable hooks before and after garbage
- collection. Also, interrupts should be disabled during GC.
- Some system functions cannot be traced without destroying the system, e.g.
- GET.
- There is no way to circumvent the automatic line breaks produced by PRIN1
- and PRIN2 before long atoms.
- The interface to BREAK is poor, with the single character atoms which do
- magic things. Also, the inheritance of the top loop read/eval/print is
- undesirable.
- There are 2 different interfaces to Rlisp, one from the PSL top loop,
- obtained with the function RLISP, and one from Reduce, with the BEGIN
- function. These are slightly incompatible and produce different results
- when a break loop is entered (see above comment).
- The small-integer-only functions IPLUS2, IDIFFERENCE, etc. are not
- documented.
- The PRINTX function used for printing parameters of traced functions does
- not interact well with PRINLEVEL and/or PRINLENGTH.
- The most negative integer is not properly handled by the printer. An
- infinite stream of - signs is produced. The solution is to do all
- arithmetic on negative numbers in printing routines, since -n exists for
- all positive n in 2's complement number systems.
- The function ERRORSET must call EVAL on its form argument. This causes the
- usual problems with calling EVAL. The only other way to trap errors is
- with UNWIND-PROTECT, but that doesn't stop BREAK from being called. ERRSET
- exists but it doesn't seem to be what is desired, being essentially just a
- special form version of ERRORSET.
- The %e format specifier in PRINTF has the same problem as ERRORSET, a call
- to EVAL.
- Compilation of constant expressions is sometimes wrong, e.g. (eq 3 3).
- Code space cannot be reclaimed, even though compiled functions may no
- longer be available.
- UNTR doesn't change a function back to its original definition, but leaves
- a silently traced definition.
- -------
- 21-Dec-82 22:27:35-PST,124;000000000001
- Date: 21 Dec 1982 2227-PST
- From: Cris Perdue <Perdue>
- Subject: Test
- To: Benson, PSL-Buggees: ;
- Just a test.
- -------
- 21-Dec-82 22:34:04-PST,127;000000000001
- Date: 21 Dec 1982 2231-PST
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Test
- To: psl at HP-HULK
- another test
- -------
- 22-Dec-82 10:03:43-PST,563;000000000001
- Mail-From: GRISS created at 22-Dec-82 09:59:11
- Date: 22 Dec 1982 0959-PST
- From: GRISS at HP-HULK
- Subject: BIGNUM/LAP problem on HP9836
- To: psl at HP-HULK
- Apparently LAP and BIGNUM inmteract badly on HP9836. This beacuse INUM
- range decreased when BIGNUMs present, but some code in LAP must be
- cavalierly passing Generic arith output, assumed to be INUM, to INUM
- routines.
- Should track down and fix in LAP.
- Alternative fix (longer term), is to make BIGNUM and GENERIC rith
- use double word operations to correctly permit full sized INUMs.
- -------
- 24-Nov-82 01:48:48-PST,471;000000000005
- Date: 24 Nov 1982 01:43:46-PST
- From: daemon at HP-Hewey
- Via: utah-cs
- Date: 23 Nov 1982 0736-MST
- From: Robert R. Kessler <KESSLER at UTAH-20>
- To: psl-bugs at UTAH-20
- It doesn't seem to function properly. IN RLISP mode, !*echo is ignored,
- and only depends on whether or not there is a ; or $.
- I propose: If !*echo on then go by the ; or $, otherwise with !*echo off
- then don't echo.
- ? The fix is easy, do people agree with the change?
- Bob.
- -------
- 14-Dec-82 01:37:05-PST,418;000000000005
- Date: 14 Dec 1982 01:35:34-PST
- From: daemon at HP-Hewey
- Via: utah-cs
- Date: 13 Dec 1982 2146-MST
- From: William Galway <Galway at UTAH-20>
- Subject: Bug in COMMON module
- To: PSL-BUGS at UTAH-20
- There is a bug in the CopyList and CopyAlist utilities defined in
- PU:COMMON.LSP, causing the first thing in the list to be copied twice.
- I've fixed the source code and put it onto <PSL.UTIL.NEWVERSIONS>.
- -------
- 23-Dec-82 14:00:02-PST,792;000000000001
- Date: 23 Dec 1982 12:36:18-PST
- From: GRISS@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:37:24 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0033-MST
- Date: 22 Dec 1982 0959-PST
- From: GRISS at HP-HULK
- Subject: BIGNUM/LAP problem on HP9836
- To: psl at HP-HULK, GRISS@at, @, GRISS@HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:07-PDT
- Apparently LAP and BIGNUM inmteract badly on HP9836. This beacuse INUM
- range decreased when BIGNUMs present, but some code in LAP must be
- cavalierly passing Generic arith output, assumed to be INUM, to INUM
- routines.
- Should track down and fix in LAP.
- Alternative fix (longer term), is to make BIGNUM and GENERIC rith
- use double word operations to correctly permit full sized INUMs.
- -------
- 23-Dec-82 14:00:11-PST,778;000000000001
- Date: 23 Dec 1982 12:52:47-PST
- From: SOREFF@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:42:22 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0036-MST
- Date: 13 Dec 1982 1204-PST
- From: SOREFF at HP-HULK
- Subject: bug in trst
- To: psl at HP-HULK, SOREFF@at, @, SOREFF@HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- cc: soreff at HP-HULK, SOREFF@at, @, SOREFF@HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:09-PDT
- Trst seems to have a bug in it that is sensitive to the formal parameters
- of the function(s) being traced. -Jeff
- (de tst1 (x y z)
- (cond (x
- (setq y z))))
- (de tst2 (pop y z)
- (cond (pop
- (setq y z))))
- (trst tst1) % OK
- (trst tst2) % blows up, differs from tst1 only in formal parameter name
- -------
- 23-Dec-82 14:00:18-PST,696;000000000001
- Date: 23 Dec 1982 12:53:11-PST
- From: SOREFF@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:42:41 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0038-MST
- Date: 13 Dec 1982 1357-PST
- From: SOREFF at HP-HULK
- Subject: representing control characters
- To: psl at HP-HULK, SOREFF@at, @, SOREFF@HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- cc: soreff at HP-HULK, SOREFF@at, @, SOREFF@HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:10-PDT
- Is there a simple way to represent control characters in a PSL source file
- which does not require actual control characters in the file, allowing it
- to be printed without fouling up the printer? -Jeff
- -------
- 23-Dec-82 14:00:28-PST,932;000000000001
- Date: 23 Dec 1982 12:53:33-PST
- From: PERDUE@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:43:01 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0038-MST
- Date: 13 Dec 1982 1456-PST
- From: PERDUE at HP-HULK
- Subject: CHAR and "#\"
- To: PSL at HP-HULK
- cc: Soreff at HP-HULK
- Via: HP-Labs; 22 Dec 82 23:11-PDT
- The CHAR macro is apparently documented in the wrong place and the
- documentation for the "#\" (extended) read macro needs to be fleshed
- out. CHAR is actually in the kernel in spite of being documented in
- the section on SYSLISP, and the kernel seems like a reasonable place for
- it. "#\" is actually an extended version of CHAR (redefine DOCHAR,
- which does the work for CHAR), and the names defined for characters need
- to appear in the documentation, not just the source code.
- The set of names supplied with #\ in PU:READ-MACROS is also quite
- excessive and I will trim it.
- -------
- 23-Dec-82 14:01:19-PST,957;000000000001
- Date: 23 Dec 1982 12:53:57-PST
- From: douglas@HP-VENUS at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:52:28 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0048-MST
- Date: 19 Dec 1982 17:34:47-PST
- From: douglas at HP-VENUS
- To: griss@hulk, psl@hulk
- Subject: deficiency in psl (dealing with remainders and modular arithmetic).
- Via: HP-Labs; 22 Dec 82 23:28-PDT
- I find remainder is not complete in its present definition in psl.
- I need to always do:
- (let ((a (remainder arg1 arg2)))
- (cond ((>= a 0) a)
- (t (minus a)))),
- I could find no function that corresponds to the above.
- Nor could I find a function which returns a/b mod c in a range
- other than (-c,c). It is useful to have integer remainder functions
- that return in the ranges [0,c), and (-c/2,c/2] (or was is [-c/2,c/2).)
- Do such functions exist?
- Wremainder and Iremainder both act the same as remainder (except only
- on integers).
- douglas
- 23-Dec-82 14:01:32-PST,592;000000000001
- Date: 23 Dec 1982 12:54:19-PST
- From: GRISS@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:52:48 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0048-MST
- Date: 20 Dec 1982 0649-PST
- From: GRISS at HP-HULK
- Subject: RCREF "bug"
- To: psl at HP-HULK, GRISS@at, @, GRISS@HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:29-PDT
- Need to install LPOSN for line number counters in RCREF.
- Need to install information about FOREACH and other "standard" macros
- (or make them expand) so that variables in FOREACH dont behave as
- functions.
- -------
- 23-Dec-82 14:01:40-PST,655;000000000001
- Date: 23 Dec 1982 12:54:40-PST
- From: GRISS@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:53:10 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0048-MST
- Date: 20 Dec 1982 0724-PST
- From: GRISS at HP-HULK
- Subject: RCREF
- To: psl at HP-HULK, GRISS@at, @, GRISS@HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:29-PDT
- I have flagged some functions EXPAND (FOR, FOREACH, WHILE and REPEAT)
- and taught RCREF about NEXPRs and SMACROS.
- Still need to carfully check the various standard functionlists
- to suppress printing of "uninteresting" functions. Eg, GEQ, LEQ should
- be added to such lists.
- -------
- 23-Dec-82 14:01:48-PST,635;000000000001
- Date: 23 Dec 1982 12:55:00-PST
- From: GRISS@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 01:37:20 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0131-MST
- Date: 20 Dec 1982 1827-PST
- From: GRISS at HP-HULK
- Subject: RCREF
- To: psl at HP-HULK, GRISS@at, @, GRISS@HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:35-PDT
- We need to teach RCREF about functions such as PRINTF and BLDMSG that
- take a variable # of arguments. perhaps relate to better NEXPR/LEXPR
- model.
- We need to teach RCREF how to use .BUILD file(s) to cref modules with
- appropriate support modules laoded.
- -------
- 23-Dec-82 14:01:57-PST,4678;000000000001
- Date: 23 Dec 1982 12:55:28-PST
- From: BENSON@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 01:42:22 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0134-MST
- Date: 21 Dec 1982 1450-PST
- From: Eric Benson <BENSON at HP-HULK>
- Subject: PSL problems
- To: psl at HP-HULK, BENSON@at, @, BENSON@HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:39-PDT
- A perusal of PSL:BUG-MAIL.TXT revealed the following outstanding problems
- with PSL:
- No checking for number of arguments in compiled code, not even for
- interpreted code calling compiled code. A related problem is the inability
- to define functions which take a variable number of arguments which can be
- FUNCALLed effectively.
- The distinction between fluids and globals is not useful in PSL. Its only
- function is to print annoying messages about globals which can't become
- fluids. Perhaps the warning message should be suppresed.
- There is no general function for type coercion. Also there is no function
- TYPE-OF which returns the name of a data type, or TYPECASE which dispatches
- on the type. In general, the name of a data type is not really used by the
- system.
- Debugging tools leave much to be desired. Some features requested are:
- A backtrace for bindings of fluid variables.
- A means of examining stack frames of compiled functions.
- A better interface to the STEP function, such as being able to step just
- within a certain function, similar to TRST.
- The structure editor ZPEDIT, obtained from IMSSS has bugs in the A, N and
- BO commands. These are probably caused by miscompilation due to evaluation
- order problems.
- There are several deficiencies with input and output:
- RDS and WRS are considered to be poor means to direct input and output
- to different places, as opposed to functions which take optional stream
- arguments.
- The representation of channels as small integers means that there are a
- limited number of streams which can be active. Also, there can be no predicate
- stream-p with this arrangement.
- The method of opening special channels is messy. It should be changed
- to use a separate function OPEN-SPECIAL.
- The token scanner is insufficiently general. Read macros are tied to
- property lists instead of scanner tables.
- + and - print as !+ and !-.
- Characters are represented as integers instead of being a separate data
- type.
- FASLOUT adds a ".b" to the filename given, while FASLIN does not.
- The arguments to MAP, MAPC, etc. are in the wrong order wrt
- Maclisp/Commonlisp compatibility.
- The separation of error output and standard output into 2 channels on Unix
- has proven to be undesirable. They should be combined into 1 channel.
- There should be user-controllable hooks before and after garbage
- collection. Also, interrupts should be disabled during GC.
- Some system functions cannot be traced without destroying the system, e.g.
- GET.
- There is no way to circumvent the automatic line breaks produced by PRIN1
- and PRIN2 before long atoms.
- The interface to BREAK is poor, with the single character atoms which do
- magic things. Also, the inheritance of the top loop read/eval/print is
- undesirable.
- There are 2 different interfaces to Rlisp, one from the PSL top loop,
- obtained with the function RLISP, and one from Reduce, with the BEGIN
- function. These are slightly incompatible and produce different results
- when a break loop is entered (see above comment).
- The small-integer-only functions IPLUS2, IDIFFERENCE, etc. are not
- documented.
- The PRINTX function used for printing parameters of traced functions does
- not interact well with PRINLEVEL and/or PRINLENGTH.
- The most negative integer is not properly handled by the printer. An
- infinite stream of - signs is produced. The solution is to do all
- arithmetic on negative numbers in printing routines, since -n exists for
- all positive n in 2's complement number systems.
- The function ERRORSET must call EVAL on its form argument. This causes the
- usual problems with calling EVAL. The only other way to trap errors is
- with UNWIND-PROTECT, but that doesn't stop BREAK from being called. ERRSET
- exists but it doesn't seem to be what is desired, being essentially just a
- special form version of ERRORSET.
- The %e format specifier in PRINTF has the same problem as ERRORSET, a call
- to EVAL.
- Compilation of constant expressions is sometimes wrong, e.g. (eq 3 3).
- Code space cannot be reclaimed, even though compiled functions may no
- longer be available.
- UNTR doesn't change a function back to its original definition, but leaves
- a silently traced definition.
- -------
- 23-Dec-82 14:02:04-PST,666;000000000001
- Date: 23 Dec 1982 12:55:52-PST
- From: SOREFF@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 01:42:43 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0135-MST
- Date: 21 Dec 1982 1728-PST
- From: SOREFF at HP-HULK
- Subject: compiler
- To: psl at HP-HULK, SOREFF@at, @, SOREFF@HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- cc: soreff at HP-HULK, SOREFF@at, @, SOREFF@HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:41-PDT
- What does "Compiler bug: expression too complicated, please simplify" mean?!!!
- What sort of sexp is too complex for the compiler to handle, what sort of
- rewrite is needed to eliminate it? -Jeff
- -------
- 24-Dec-82 01:49:00-PST,1029;000000000001
- Date: 24 Dec 1982 01:43:25-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:22:27 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2113-MST
- Date: 23 Dec 1982 12:36:18-PST
- From: GRISS@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:37:24 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0033-MST
- Date: 22 Dec 1982 0959-PST
- From: GRISS at HP-HULK
- Subject: BIGNUM/LAP problem on HP9836
- To: psl at HP-HULK, GRISS@at, @, GRISS@HP-labs, @, GRISS@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:07-PDT
- Via: HP-Labs; 23 Dec 82 19:49-PDT
- Apparently LAP and BIGNUM inmteract badly on HP9836. This beacuse INUM
- range decreased when BIGNUMs present, but some code in LAP must be
- cavalierly passing Generic arith output, assumed to be INUM, to INUM
- routines.
- Should track down and fix in LAP.
- Alternative fix (longer term), is to make BIGNUM and GENERIC rith
- use double word operations to correctly permit full sized INUMs.
- -------
- 24-Dec-82 01:49:07-PST,1047;000000000001
- Date: 24 Dec 1982 01:43:42-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:22:46 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2113-MST
- Date: 23 Dec 1982 12:52:47-PST
- From: SOREFF@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:42:22 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0036-MST
- Date: 13 Dec 1982 1204-PST
- From: SOREFF at HP-HULK
- Subject: bug in trst
- To: psl at HP-HULK, SOREFF@at, @, SOREFF@HP-labs, @, SOREFF@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- cc: soreff at HP-HULK, SOREFF@at, @, SOREFF@HP-labs, @, SOREFF@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:09-PDT
- Via: HP-Labs; 23 Dec 82 19:49-PDT
- Trst seems to have a bug in it that is sensitive to the formal parameters
- of the function(s) being traced. -Jeff
- (de tst1 (x y z)
- (cond (x
- (setq y z))))
- (de tst2 (pop y z)
- (cond (pop
- (setq y z))))
- (trst tst1) % OK
- (trst tst2) % blows up, differs from tst1 only in formal parameter name
- -------
- 24-Dec-82 01:49:13-PST,965;000000000001
- Date: 24 Dec 1982 01:44:01-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:23:05 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2114-MST
- Date: 23 Dec 1982 12:53:11-PST
- From: SOREFF@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:42:41 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0038-MST
- Date: 13 Dec 1982 1357-PST
- From: SOREFF at HP-HULK
- Subject: representing control characters
- To: psl at HP-HULK, SOREFF@at, @, SOREFF@HP-labs, @, SOREFF@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- cc: soreff at HP-HULK, SOREFF@at, @, SOREFF@HP-labs, @, SOREFF@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:10-PDT
- Via: HP-Labs; 23 Dec 82 19:49-PDT
- Is there a simple way to represent control characters in a PSL source file
- which does not require actual control characters in the file, allowing it
- to be printed without fouling up the printer? -Jeff
- -------
- 24-Dec-82 01:49:19-PST,1139;000000000001
- Date: 24 Dec 1982 01:44:21-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:23:24 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2114-MST
- Date: 23 Dec 1982 12:53:33-PST
- From: PERDUE@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:43:01 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0038-MST
- Date: 13 Dec 1982 1456-PST
- From: PERDUE at HP-HULK
- Subject: CHAR and "#\"
- To: PSL at HP-HULK
- cc: Soreff at HP-HULK
- Via: HP-Labs; 22 Dec 82 23:11-PDT
- Via: HP-Labs; 23 Dec 82 19:49-PDT
- The CHAR macro is apparently documented in the wrong place and the
- documentation for the "#\" (extended) read macro needs to be fleshed
- out. CHAR is actually in the kernel in spite of being documented in
- the section on SYSLISP, and the kernel seems like a reasonable place for
- it. "#\" is actually an extended version of CHAR (redefine DOCHAR,
- which does the work for CHAR), and the names defined for characters need
- to appear in the documentation, not just the source code.
- The set of names supplied with #\ in PU:READ-MACROS is also quite
- excessive and I will trim it.
- -------
- 24-Dec-82 01:49:26-PST,1164;000000000001
- Date: 24 Dec 1982 01:44:39-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:23:43 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2114-MST
- Date: 23 Dec 1982 12:53:57-PST
- From: douglas@HP-VENUS at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:52:28 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0048-MST
- Date: 19 Dec 1982 17:34:47-PST
- From: douglas at HP-VENUS
- To: griss@hulk, psl@hulk
- Subject: deficiency in psl (dealing with remainders and modular arithmetic).
- Via: HP-Labs; 22 Dec 82 23:28-PDT
- Via: HP-Labs; 23 Dec 82 19:50-PDT
- I find remainder is not complete in its present definition in psl.
- I need to always do:
- (let ((a (remainder arg1 arg2)))
- (cond ((>= a 0) a)
- (t (minus a)))),
- I could find no function that corresponds to the above.
- Nor could I find a function which returns a/b mod c in a range
- other than (-c,c). It is useful to have integer remainder functions
- that return in the ranges [0,c), and (-c/2,c/2] (or was is [-c/2,c/2).)
- Do such functions exist?
- Wremainder and Iremainder both act the same as remainder (except only
- on integers).
- douglas
- 24-Dec-82 01:49:31-PST,829;000000000001
- Date: 24 Dec 1982 01:44:58-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:24:02 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2114-MST
- Date: 23 Dec 1982 12:54:19-PST
- From: GRISS@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:52:48 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0048-MST
- Date: 20 Dec 1982 0649-PST
- From: GRISS at HP-HULK
- Subject: RCREF "bug"
- To: psl at HP-HULK, GRISS@at, @, GRISS@HP-labs, @, GRISS@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:29-PDT
- Via: HP-Labs; 23 Dec 82 19:50-PDT
- Need to install LPOSN for line number counters in RCREF.
- Need to install information about FOREACH and other "standard" macros
- (or make them expand) so that variables in FOREACH dont behave as
- functions.
- -------
- 24-Dec-82 02:06:41-PST,892;000000000001
- Date: 24 Dec 1982 01:45:18-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:24:22 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2115-MST
- Date: 23 Dec 1982 12:54:40-PST
- From: GRISS@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:53:10 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0048-MST
- Date: 20 Dec 1982 0724-PST
- From: GRISS at HP-HULK
- Subject: RCREF
- To: psl at HP-HULK, GRISS@at, @, GRISS@HP-labs, @, GRISS@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:29-PDT
- Via: HP-Labs; 23 Dec 82 19:50-PDT
- I have flagged some functions EXPAND (FOR, FOREACH, WHILE and REPEAT)
- and taught RCREF about NEXPRs and SMACROS.
- Still need to carfully check the various standard functionlists
- to suppress printing of "uninteresting" functions. Eg, GEQ, LEQ should
- be added to such lists.
- -------
- 24-Dec-82 02:06:53-PST,873;000000000001
- Date: 24 Dec 1982 01:45:35-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:24:41 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2115-MST
- Date: 23 Dec 1982 12:55:00-PST
- From: GRISS@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 01:37:20 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0131-MST
- Date: 20 Dec 1982 1827-PST
- From: GRISS at HP-HULK
- Subject: RCREF
- To: psl at HP-HULK, GRISS@at, @, GRISS@HP-labs, @, GRISS@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:35-PDT
- Via: HP-Labs; 23 Dec 82 19:50-PDT
- We need to teach RCREF about functions such as PRINTF and BLDMSG that
- take a variable # of arguments . perhaps relate to better NEXPR/LEXPR
- model.
- We need to teach RCREF how to use .BUILD file(s) to cref modules with
- appropriate support modules laoded.
- -------
- 24-Dec-82 02:07:06-PST,4916;000000000001
- Date: 24 Dec 1982 02:05:32-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:25:03 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2115-MST
- Date: 23 Dec 1982 12:55:28-PST
- From: BENSON@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 01:42:22 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0134-MST
- Date: 21 Dec 1982 1450-PST
- From: Eric Benson <BENSON at HP-HULK>
- Subject: PSL problems
- To: psl at HP-HULK, BENSON@at, @, BENSON@HP-labs, @, BENSON@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:39-PDT
- Via: HP-Labs; 23 Dec 82 19:51-PDT
- A perusal of PSL:BUG-MAIL.TXT revealed the following outstanding problems
- with PSL:
- No checking for number of arguments in compiled code, not even for
- interpreted code calling compiled code. A related problem is the inability
- to define functions which take a variable number of arguments which can be
- FUNCALLed effectively.
- The distinction between fluids and globals is not useful in PSL. Its only
- function is to print annoying messages about globals which can't become
- fluids. Perhaps the warning message should be suppresed.
- There is no general function for type coercion. Also there is no function
- TYPE-OF which returns the name of a data type, or TYPECASE which dispatches
- on the type. In general, the name of a data type is not really used by the
- system.
- Debugging tools leave much to be desired. Some features requested are:
- A backtrace for bindings of fluid variables.
- A means of examining stack frames of compiled functions.
- A better interface to the STEP function, such as being able to step just
- within a certain function, similar to TRST.
- The structure editor ZPEDIT, obtained from IMSSS has bugs in the A, N and
- BO commands. These are probably caused by miscompilation due to evaluation
- order problems.
- There are several deficiencies with input and output:
- RDS and WRS are considered to be poor means to direct input and output
- to different places, as opposed to functions which take optional stream
- arguments.
- The representation of channels as small integers means that there are a
- limited number of streams which can be active. Also, there can be no predicate
- stream-p with this arrangement.
- The method of opening special channels is messy. It should be changed
- to use a separate function OPEN-SPECIAL.
- The token scanner is insufficiently general. Read macros are tied to
- property lists instead of scanner tables.
- + and - print as !+ and !-.
- Characters are represented as integers instead of being a separate data
- type.
- FASLOUT adds a ".b" to the filename given, while FASLIN does not.
- The arguments to MAP, MAPC, etc. are in the wrong order wrt
- Maclisp/Commonlisp compatibility.
- The separation of error output and standard output into 2 channels on Unix
- has proven to be undesirable. They should be combined into 1 channel.
- There should be user-controllable hooks before and after garbage
- collection. Also, interrupts should be disabled during GC.
- Some system functions cannot be traced without destroying the system, e.g.
- GET.
- There is no way to circumvent the automatic line breaks produced by PRIN1
- and PRIN2 before long atoms.
- The interface to BREAK is poor, with the single character atoms which do
- magic things. Also, the inheritance of the top loop read/eval/print is
- undesirable.
- There are 2 different interfaces to Rlisp, one from the PSL top loop,
- obtained with the function RLISP, and one from Reduce, with the BEGIN
- function. These are slightly incompatible and produce different results
- when a break loop is entered (see above comment).
- The small-integer-only functions IPLUS2, IDIFFERENCE, etc. are not
- documented.
- The PRINTX function used for printing parameters of traced functions does
- not interact well with PRINLEVEL and/or PRINLENGTH.
- The most negative integer is not properly handled by the printer. An
- infinite stream of - signs is produced. The solution is to do all
- arithmetic on negative numbers in printing routines, since -n exists for
- all positive n in 2's complement number systems.
- The function ERRORSET must call EVAL on its form argument. This causes the
- usual problems with calling EVAL. The only other way to trap errors is
- with UNWIND-PROTECT, but that doesn't stop BREAK from being called. ERRSET
- exists but it doesn't seem to be what is desired, being essentially just a
- special form version of ERRORSET.
- The %e format specifier in PRINTF has the same problem as ERRORSET, a call
- to EVAL.
- Compilation of constant expressions is sometimes wrong, e.g. (eq 3 3).
- Code space cannot be reclaimed, even though compiled functions may no
- longer be available.
- UNTR doesn't change a function back to its original definition, but leaves
- a silently traced definition.
- -------
- 24-Dec-82 02:17:27-PST,935;000000000001
- Date: 24 Dec 1982 02:05:53-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:25:23 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2116-MST
- Date: 23 Dec 1982 12:55:52-PST
- From: SOREFF@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 01:42:43 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0135-MST
- Date: 21 Dec 1982 1728-PST
- From: SOREFF at HP-HULK
- Subject: compiler
- To: psl at HP-HULK, SOREFF@at, @, SOREFF@HP-labs, @, SOREFF@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- cc: soreff at HP-HULK, SOREFF@at, @, SOREFF@HP-labs, @, SOREFF@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:41-PDT
- Via: HP-Labs; 23 Dec 82 19:51-PDT
- What does "Compiler bug: expression too complicated, please simplify" mean?!!!
- What sort of sexp is too complex for the compiler to handle, what sort of
- rewrite is needed to eliminate it? -Jeff
- -------
- 24-Dec-82 09:50:59-PST,1235;000000000001
- Date: 24 Dec 1982 09:46:34-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 24 07:32:28 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 24-Dec-82 0728-MST
- Date: 24 Dec 1982 01:43:25-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:22:27 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2113-MST
- Date: 23 Dec 1982 12:36:18-PST
- From: GRISS@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:37:24 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0033-MST
- Date: 22 Dec 1982 0959-PST
- From: GRISS at HP-HULK
- Subject: BIGNUM/LAP problem on HP9836
- To: psl at HP-HULK, GRISS@at, @, GRISS@HP-labs, @, GRISS@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:07-PDT
- Via: HP-Labs; 23 Dec 82 19:49-PDT
- Via: HP-Labs; 24 Dec 82 6:16-PDT
- Apparently LAP and BIGNUM inmteract badly on HP9836. This beacuse INUM
- range decreased when BIGNUMs present, but some code in LAP must be
- cavalierly passing Generic arith output, assumed to be INUM, to INUM
- routines.
- Should track down and fix in LAP.
- Alternative fix (longer term), is to make BIGNUM and GENERIC rith
- use double word operations to correctly permit full sized INUMs.
- -------
- 24-Dec-82 09:51:06-PST,1253;000000000001
- Date: 24 Dec 1982 09:46:51-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 24 07:32:47 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 24-Dec-82 0729-MST
- Date: 24 Dec 1982 01:43:42-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:22:46 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2113-MST
- Date: 23 Dec 1982 12:52:47-PST
- From: SOREFF@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:42:22 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0036-MST
- Date: 13 Dec 1982 1204-PST
- From: SOREFF at HP-HULK
- Subject: bug in trst
- To: psl at HP-HULK, SOREFF@at, @, SOREFF@HP-labs, @, SOREFF@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- cc: soreff at HP-HULK, SOREFF@at, @, SOREFF@HP-labs, @, SOREFF@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:09-PDT
- Via: HP-Labs; 23 Dec 82 19:49-PDT
- Via: HP-Labs; 24 Dec 82 6:16-PDT
- Trst seems to have a bug in it that is sensitive to the formal parameters
- of the function(s) being traced. -Jeff
- (de tst1 (x y z)
- (cond (x
- (setq y z))))
- (de tst2 (pop y z)
- (cond (pop
- (setq y z))))
- (trst tst1) % OK
- (trst tst2) % blows up, differs from tst1 only in formal parameter name
- -------
- 24-Dec-82 09:51:12-PST,1171;000000000001
- Date: 24 Dec 1982 09:47:08-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 24 07:33:07 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 24-Dec-82 0729-MST
- Date: 24 Dec 1982 01:44:01-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:23:05 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2114-MST
- Date: 23 Dec 1982 12:53:11-PST
- From: SOREFF@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:42:41 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0038-MST
- Date: 13 Dec 1982 1357-PST
- From: SOREFF at HP-HULK
- Subject: representing control characters
- To: psl at HP-HULK, SOREFF@at, @, SOREFF@HP-labs, @, SOREFF@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- cc: soreff at HP-HULK, SOREFF@at, @, SOREFF@HP-labs, @, SOREFF@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:10-PDT
- Via: HP-Labs; 23 Dec 82 19:49-PDT
- Via: HP-Labs; 24 Dec 82 6:17-PDT
- Is there a simple way to represent control characters in a PSL source file
- which does not require actual control characters in the file, allowing it
- to be printed without fouling up the printer? -Jeff
- -------
- 24-Dec-82 09:51:18-PST,1345;000000000001
- Date: 24 Dec 1982 09:47:25-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 24 07:33:27 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 24-Dec-82 0729-MST
- Date: 24 Dec 1982 01:44:21-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:23:24 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2114-MST
- Date: 23 Dec 1982 12:53:33-PST
- From: PERDUE@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:43:01 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0038-MST
- Date: 13 Dec 1982 1456-PST
- From: PERDUE at HP-HULK
- Subject: CHAR and "#\"
- To: PSL at HP-HULK
- cc: Soreff at HP-HULK
- Via: HP-Labs; 22 Dec 82 23:11-PDT
- Via: HP-Labs; 23 Dec 82 19:49-PDT
- Via: HP-Labs; 24 Dec 82 6:17-PDT
- The CHAR macro is apparently documented in the wrong place and the
- documentation for the "#\" (extended) read macro needs to be fleshed
- out. CHAR is actually in the kernel in spite of being documented in
- the section on SYSLISP, and the kernel seems like a reasonable place for
- it. "#\" is actually an extended version of CHAR (redefine DOCHAR,
- which does the work for CHAR), and the names defined for characters need
- to appear in the documentation, not just the source code.
- The set of names supplied with #\ in PU:READ-MACROS is also quite
- excessive and I will trim it.
- -------
- 24-Dec-82 09:51:24-PST,1370;000000000001
- Date: 24 Dec 1982 09:47:42-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 24 07:33:46 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 24-Dec-82 0730-MST
- Date: 24 Dec 1982 01:44:39-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:23:43 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2114-MST
- Date: 23 Dec 1982 12:53:57-PST
- From: douglas@HP-VENUS at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:52:28 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0048-MST
- Date: 19 Dec 1982 17:34:47-PST
- From: douglas at HP-VENUS
- To: griss@hulk, psl@hulk
- Subject: deficiency in psl (dealing with remainders and modular arithmetic).
- Via: HP-Labs; 22 Dec 82 23:28-PDT
- Via: HP-Labs; 23 Dec 82 19:50-PDT
- Via: HP-Labs; 24 Dec 82 6:17-PDT
- I find remainder is not complete in its present definition in psl.
- I need to always do:
- (let ((a (remainder arg1 arg2)))
- (cond ((>= a 0) a)
- (t (minus a)))),
- I could find no function that corresponds to the above.
- Nor could I find a function which returns a/b mod c in a range
- other than (-c,c). It is useful to have integer remainder functions
- that return in the ranges [0,c), and (-c/2,c/2] (or was is [-c/2,c/2).)
- Do such functions exist?
- Wremainder and Iremainder both act the same as remainder (except only
- on integers).
- douglas
- 24-Dec-82 10:02:50-PST,1035;000000000001
- Date: 24 Dec 1982 09:47:59-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 24 07:34:05 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 24-Dec-82 0730-MST
- Date: 24 Dec 1982 01:44:58-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:24:02 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2114-MST
- Date: 23 Dec 1982 12:54:19-PST
- From: GRISS@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:52:48 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0048-MST
- Date: 20 Dec 1982 0649-PST
- From: GRISS at HP-HULK
- Subject: RCREF "bug"
- To: psl at HP-HULK, GRISS@at, @, GRISS@HP-labs, @, GRISS@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:29-PDT
- Via: HP-Labs; 23 Dec 82 19:50-PDT
- Via: HP-Labs; 24 Dec 82 6:17-PDT
- Need to install LPOSN for line number counters in RCREF.
- Need to install information about FOREACH and other "standard" macros
- (or make them expand) so that variables in FOREACH dont behave as
- functions.
- -------
- 24-Dec-82 10:02:59-PST,1098;000000000001
- Date: 24 Dec 1982 09:48:15-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 24 07:34:26 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 24-Dec-82 0730-MST
- Date: 24 Dec 1982 01:45:18-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:24:22 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2115-MST
- Date: 23 Dec 1982 12:54:40-PST
- From: GRISS@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 00:53:10 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0048-MST
- Date: 20 Dec 1982 0724-PST
- From: GRISS at HP-HULK
- Subject: RCREF
- To: psl at HP-HULK, GRISS@at, @, GRISS@HP-labs, @, GRISS@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:29-PDT
- Via: HP-Labs; 23 Dec 82 19:50-PDT
- Via: HP-Labs; 24 Dec 82 6:18-PDT
- I have flagged some functions EXPAND (FOR, FOREACH, WHILE and REPEAT)
- and taught RCREF about NEXPRs and SMACROS.
- Still need to carfully check the various standard functionlists
- to suppress printing of "uninteresting" functions. Eg, GEQ, LEQ should
- be added to such lists.
- -------
- 24-Dec-82 10:03:06-PST,1079;000000000001
- Date: 24 Dec 1982 09:48:33-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 24 07:34:46 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 24-Dec-82 0730-MST
- Date: 24 Dec 1982 01:45:35-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 21:24:41 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 2115-MST
- Date: 23 Dec 1982 12:55:00-PST
- From: GRISS@HP-HULK at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 23 01:37:20 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 23-Dec-82 0131-MST
- Date: 20 Dec 1982 1827-PST
- From: GRISS at HP-HULK
- Subject: RCREF
- To: psl at HP-HULK, GRISS@at, @, GRISS@HP-labs, @, GRISS@HP-HULK, @, HP-VENUS@HP-labs, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 22 Dec 82 23:35-PDT
- Via: HP-Labs; 23 Dec 82 19:50-PDT
- Via: HP-Labs; 24 Dec 82 6:18-PDT
- We need to teach RCREF about functions such as PRINTF and BLDMSG that
- take a variable # of arguments . perhaps relate to better NEXPR/LEXPR
- model.
- We need to teach RCREF how to use .BUILD file(s) to cref modules with
- appropriate support modules laoded.
- -------
- 28-Dec-82 14:17:25-PST,185;000000000001
- Date: 28 Dec 1982 1414-PST
- From: PERDUE at HP-HULK
- Subject: Fix to TRST
- To: PSL, Soreff
- I have fixed the bug with TRST where (cond (pop (setq y z))) was
- handled wrong.
- -------
- 28-Dec-82 16:33:40-PST,487;000000000001
- Mail-From: GRISS created at 28-Dec-82 16:28:55
- Date: 28 Dec 1982 1628-PST
- From: GRISS at HP-HULK
- Subject: Misc
- To: psl at HP-HULK
- a) I am working on major cleanup of compiler. Copy on <griss>new-compiler.red
- _Please dont change COMPILER.RED on PC:
- b) Some new .MSS files for manual. I put on <psl-distribution.rsm>,
- new one are nn-name.mss, so can compare with old, and R'd versions.
- This is not latest set, but much closer ow to what we have at Utah.
- -------
- 29-Dec-82 13:16:59-PST,156;000000000001
- Date: 29 Dec 1982 1316-PST
- From: PERDUE at HP-HULK
- Subject: LPOSN
- To: PSL
- I have modified source files to implement LPOSN and CHANNELLPOSN.
- -------
- 29-Dec-82 14:50:40-PST,265;000000000001
- Mail-From: GRISS created at 29-Dec-82 14:42:07
- Date: 29 Dec 1982 1442-PST
- From: GRISS at HP-HULK
- Subject: Latest Printx
- To: psl at HP-HULK
- try trst of foo x;
- procedure foo x; 1;
- and call foo '[]; seems to put in the %L1: stuff unneccesarily.
- -------
- 29-Dec-82 15:22:00-PST,327;000000000001
- Date: 29 Dec 1982 15:06:10-PST
- From: douglas at HP-VENUS
- To: benson@HP-VENUS, benson@hulk, psl@hulk
- Subject: psl bug on vax.
- When you start psl on the vax now, you get the message:
- ***** `READ-INIT-FILE' is an undefined function
- ***** Continuation requires a value for `(READ-INIT-FILE "psl")'
- Break loop
- Douglas
- 30-Dec-82 01:42:07-PST,703;000000000001
- Date: 30 Dec 1982 01:35:47-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Wed Dec 29 22:32:11 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 29-Dec-82 2225-MST
- Date: 28 Dec 1982 1628-PST
- From: GRISS at HP-HULK
- Subject: Misc
- To: psl at HP-HULK, GRISS@at, @, HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 28 Dec 82 19:57-PDT
- a) I am working on major cleanup of compiler. Copy on <griss>new-compiler.red
- _Please dont change COMPILER.RED on PC:
- b) Some new .MSS files for manual. I put on <psl-distribution.rsm>,
- new one are nn-name.mss, so can compare with old, and R'd versions.
- This is not latest set, but much closer ow to what we have at Utah.
- -------
- 30-Dec-82 01:42:08-PST,450;000000000001
- Date: 30 Dec 1982 01:35:55-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Wed Dec 29 22:32:18 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 29-Dec-82 2224-MST
- Date: 28 Dec 1982 1414-PST
- From: PERDUE at HP-HULK
- Subject: Fix to TRST
- To: PERDUE@PSL, @, HP-labs@HP-VENUS, PERDUE@Soreff, @, HP-labs@HP-VENUS
- Via: HP-Labs; 28 Dec 82 19:56-PDT
- I have fixed the bug with TRST where (cond (pop (setq y z))) was
- handled wrong.
- -------
- 30-Dec-82 01:42:10-PST,393;000000000001
- Date: 30 Dec 1982 01:36:03-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Wed Dec 29 22:57:12 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 29-Dec-82 2253-MST
- Date: 29 Dec 1982 1316-PST
- From: PERDUE at HP-HULK
- Subject: LPOSN
- To: PERDUE@PSL, @, HP-labs@HP-VENUS
- Via: HP-Labs; 29 Dec 82 19:12-PDT
- I have modified source files to implement LPOSN and CHANNELLPOSN.
- -------
- 30-Dec-82 01:42:12-PST,481;000000000001
- Date: 30 Dec 1982 01:36:15-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Wed Dec 29 22:57:20 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 29-Dec-82 2253-MST
- Date: 29 Dec 1982 1442-PST
- From: GRISS at HP-HULK
- Subject: Latest Printx
- To: psl at HP-HULK, GRISS@at, @, HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 29 Dec 82 19:12-PDT
- try trst of foo x;
- procedure foo x; 1;
- and call foo '[]; seems to put in the %L1: stuff unneccesarily.
- -------
- 30-Dec-82 01:42:14-PST,536;000000000001
- Date: 30 Dec 1982 01:36:25-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Wed Dec 29 22:57:29 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 29-Dec-82 2253-MST
- Date: 29 Dec 1982 15:06:10-PST
- From: douglas at HP-VENUS
- To: benson@HP-VENUS, benson@hulk, psl@hulk
- Subject: psl bug on vax.
- Via: HP-Labs; 29 Dec 82 19:12-PDT
- When you start psl on the vax now, you get the message:
- ***** `READ-INIT-FILE' is an undefined function
- ***** Continuation requires a value for `(READ-INIT-FILE "psl")'
- Break loop
- Douglas
- 30-Dec-82 06:56:29-PST,579;000000000001
- Mail-From: GRISS created at 30-Dec-82 06:56:02
- Date: 30 Dec 1982 0656-PST
- From: GRISS at HP-HULK
- Subject: HELP
- To: psl at HP-HULK
- a) Need to change HELP file syntax to be LISP syntax in example, ala
- manual headers
- b) Need to fix the HELP(); and HELP HELP; problems.
- Perhaps HELP should NOT be an RLISP parsing function, or at least
- should only work to suppress argument parsing functions, so that
- HELP(a,b,c); is the model. Needs a new kind of RLISx parsing function.
- c) Need to update the HELP.TBL for more important GLOBALS and switches.
- -------
- 30-Dec-82 07:11:02-PST,458;000000000001
- Mail-From: GRISS created at 30-Dec-82 07:07:50
- Date: 30 Dec 1982 0707-PST
- From: GRISS at HP-HULK
- Subject: Mathlib
- To: psl at HP-HULK
- It references some constants, Smallest-Flonum, etc. These
- are MACHINE dependent (ie, FLOAT implementation dependent).
- They should be move to the MATHLIB.BUILD file, and IF_SYSTEMs
- added for each machine.
- These constants are really more globally interesting. Check common-LISP
- environment enquiries.
- -------
- 30-Dec-82 09:41:12-PST,794;000000000001
- Date: 30 Dec 1982 09:36:01-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 30 08:47:08 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 30-Dec-82 0839-MST
- Date: 30 Dec 1982 0656-PST
- From: GRISS at HP-HULK
- Subject: HELP
- To: psl at HP-HULK, GRISS@at, @, HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 30 Dec 82 7:12-PDT
- a) Need to change HELP file syntax to be LISP syntax in example, ala
- manual headers
- b) Need to fix the HELP(); and HELP HELP; problems.
- Perhaps HELP should NOT be an RLISP parsing function, or at least
- should only work to suppress argument parsing functions, so that
- HELP(a,b,c); is the model. Needs a new kind of RLISx parsing function.
- c) Need to update the HELP.TBL for more important GLOBALS and switches.
- -------
- 30-Dec-82 09:41:14-PST,673;000000000001
- Date: 30 Dec 1982 09:36:09-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Thu Dec 30 08:47:15 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 30-Dec-82 0839-MST
- Date: 30 Dec 1982 0707-PST
- From: GRISS at HP-HULK
- Subject: Mathlib
- To: psl at HP-HULK, GRISS@at, @, HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 30 Dec 82 7:12-PDT
- It references some constants, Smallest-Flonum, etc. These
- are MACHINE dependent (ie, FLOAT implementation dependent).
- They should be move to the MATHLIB.BUILD file, and IF_SYSTEMs
- added for each machine.
- These constants are really more globally interesting. Check common-LISP
- environment enquiries.
- -------
- 30-Dec-82 12:03:23-PST,328;000000000001
- Date: 30 Dec 1982 1159-PST
- From: AS at HP-HULK
- Subject: manual suggestion
- To: PSL
- cc: AS
- It is not clear that the arguments to compiletime, bothtimes, and loadtime
- should not be quoted, since they are described as Exprs. In any case, I would
- prefer that they be macros and take an arbitrary number of forms.
- -------
- 30-Dec-82 12:18:55-PST,277;000000000001
- Date: 30 Dec 1982 12:12:26-PST
- From: douglas at HP-VENUS
- To: as@hulk, griss@hulk, psl@hulk
- Subject: new manual mistake (br, unbr):
- The manual lists the functions br, and unbr on page 2-5.
- These functions do not exist in psl on the vax.
- (in psl or in debug).
- Douglas
- 30-Dec-82 16:13:50-PST,480;000000000001
- Date: 30 Dec 1982 16:07:17-PST
- From: douglas at HP-VENUS
- To: griss@hulk, psl@hulk, tracy@Hulk
- Subject: psl chipmunk compiler bug.
- In the function wconstevaluable: If it is given an argument (frame 1):
- If no function frame exists ( (getd 'frame) = nil),
- The correct code is produced.
- If the user has define a function frame (getd 'frame ) <> nil ,
- The system proceeds to call the function "frame".
- This does not take place on the vax and/or hulk.
- Douglas
- 30-Dec-82 16:14:00-PST,415;000000000001
- Date: 30 Dec 1982 16:09:11-PST
- From: douglas at HP-VENUS
- To: griss@hulk, psl@hulk
- Subject: clarification to last letter on psl chipmunk compiler.
- The bug happens when you compile a simple function that causes
- the compiler to call its internal function "wconstevaluatable"
- with an argument "(frame 1)".
- Normal arguments to wconstevaluable seem to include "frame x",
- "(reg x)", "(minus x)", etc.
- Douglas
- 31-Dec-82 00:56:36-PST,1109;000000000001
- Date: 31 Dec 1982 00:56:17-PST
- From: douglas at HP-VENUS
- To: psl@hulk
- Subject: psl compiler bug .
- % psl
- PSL 3.1, 29-Dec-82
- 1 lisp> (load compiler)
- NIL
- 2 lisp> (defun reg (x) t)
- REG
- 3 lisp> (de x (y z) (iplus2 y z))
- X
- 4 lisp> (compile '(x))
- ***** Unknown label `T' in LAP
- Break loop
- Note, I have found that defining the functions:
- "frame", & "reg" causes the compiler to produce just plain
- strange code in all versions of psl.
- These functions do not exist in psl anywhere.
- It appears that the function "wconstevaluable" in the psl compiler
- is too general about how it goes about evalualating its arguments.
- It appears that it tries to see if something is a constant at compile
- time, and if it is, it evaluates it and puts it in place of its contents.
- This function appears to be passed operands in lap code. ( (reg 1) (wconst 1),
- and (frame 1) , etc.)
- To my understanding,
- A correction to this function should tell which small
- subset of functions are correct to expand and which are not real functions
- but labels or tags in the lap code.
- Douglas
- 31-Dec-82 02:01:25-PST,585;000000000000
- Date: 31 Dec 1982 02:01:20-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 31 00:57:08 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 31-Dec-82 0053-MST
- Date: 30 Dec 1982 1159-PST
- From: AS at HP-HULK
- Subject: manual suggestion
- To: AS@PSL, @, HP-labs@HP-VENUS
- cc: AS@AS, @, HP-labs@HP-VENUS
- Via: HP-Labs; 30 Dec 82 23:46-PDT
- It is not clear that the arguments to compiletime, bothtimes, and loadtime
- should not be quoted, since they are described as Exprs. In any case, I would
- prefer that they be macros and take an arbitrary number of forms.
- -------
- 31-Dec-82 02:01:27-PST,486;000000000000
- Date: 31 Dec 1982 02:01:27-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 31 00:57:15 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 31-Dec-82 0053-MST
- Date: 30 Dec 1982 12:12:26-PST
- From: douglas at HP-VENUS
- To: as@hulk, griss@hulk, psl@hulk
- Subject: new manual mistake (br, unbr):
- Via: HP-Labs; 30 Dec 82 23:46-PDT
- The manual lists the functions br, and unbr on page 2-5.
- These functions do not exist in psl on the vax.
- (in psl or in debug).
- Douglas
- 31-Dec-82 02:01:29-PST,689;000000000000
- Date: 31 Dec 1982 02:01:33-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 31 01:32:08 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 31-Dec-82 0128-MST
- Date: 30 Dec 1982 16:07:17-PST
- From: douglas at HP-VENUS
- To: griss@hulk, psl@hulk, tracy@Hulk
- Subject: psl chipmunk compiler bug.
- Via: HP-Labs; 30 Dec 82 23:55-PDT
- In the function wconstevaluable: If it is given an argument (frame 1):
- If no function frame exists ( (getd 'frame) = nil),
- The correct code is produced.
- If the user has define a function frame (getd 'frame ) <> nil ,
- The system proceeds to call the function "frame".
- This does not take place on the vax and/or hulk.
- Douglas
- 31-Dec-82 02:01:31-PST,624;000000000000
- Date: 31 Dec 1982 02:01:39-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 31 01:32:16 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 31-Dec-82 0128-MST
- Date: 30 Dec 1982 16:09:11-PST
- From: douglas at HP-VENUS
- To: griss@hulk, psl@hulk
- Subject: clarification to last letter on psl chipmunk compiler.
- Via: HP-Labs; 30 Dec 82 23:55-PDT
- The bug happens when you compile a simple function that causes
- the compiler to call its internal function "wconstevaluatable"
- with an argument "(frame 1)".
- Normal arguments to wconstevaluable seem to include "frame x",
- "(reg x)", "(minus x)", etc.
- Douglas
- 31-Dec-82 06:05:34-PST,519;000000000000
- Mail-From: GRISS created at 31-Dec-82 06:00:42
- Date: 31 Dec 1982 0600-PST
- From: GRISS at HP-HULK
- Subject: Re: new manual mistake (br, unbr):
- To: douglas at HP-VENUS, as at HP-HULK, psl at HP-HULK
- In-Reply-To: Your message of 30-Dec-82 1218-PST
- Actually, BR and UNBR in the MINI-TRACE used to be in KERNELand then
- DEBUG loaded over it. Recent cleanups must have put FULL debug (autload stub)
- in kernel.
- Ideal is that MINI-TRACE be true subset of DEBUG, rest loaded in
- if needed for FULL debug.
- -------
- 31-Dec-82 06:05:43-PST,537;000000000000
- Mail-From: GRISS created at 31-Dec-82 06:01:14
- Date: 31 Dec 1982 0601-PST
- From: GRISS at HP-HULK
- Subject: [douglas at HP-VENUS: missing line in manual (page 2-5) Factorial Function.]
- To: psl at HP-HULK
- ---------------
- Date: 30 Dec 1982 12:19:26-PST
- From: douglas at HP-VENUS
- To: as@hulk, griss@hulk
- Subject: missing line in manual (page 2-5) Factorial Function.
- After the line
- 8 NMODE Lisp> (Cond ((Eq 1)
- Should be the missing line:
- 8 NMODE Lisp> 1)
- ---------------
- -------
- 31-Dec-82 06:20:32-PST,753;000000000000
- Mail-From: GRISS created at 31-Dec-82 06:19:46
- Date: 31 Dec 1982 0619-PST
- From: GRISS at HP-HULK
- Subject: Wconst Evaluable Fix
- To: psl at HP-HULK
- Fix is not to flag those functions that are compiled as is, but rather
- to INSIST that for a (FOOO x y z) to get WCONST processing, it always
- has a special property on FOOOO. Right nowe the model used is that
- if x y z are wconst expressions, and if FOOO is a defined function, do it.
- Need to change WconstEvaluable and WconstExpression in Pc:ANYREG-CMACRO.SL,
- and to determine the set of functions that WCONSTxxx expects. Actually,
- its more an issue of WHAT functions have been used in sources.
- PLUS, WPLUS2, TIMES, WTIMES2, LSH etc come to mind, but we have to scan
- all code.
- -------
- 31-Dec-82 06:25:31-PST,291;000000000000
- Mail-From: GRISS created at 31-Dec-82 06:20:50
- Date: 31 Dec 1982 0620-PST
- From: GRISS at HP-HULK
- Subject: WCONST..
- To: psl at HP-HULK
- actually, we should also detrimin what flags FRAME has to avoid this on 20
- and VAX, and fail on HP9836. Probably something like TERMINAL..
- -------
- 31-Dec-82 09:39:55-PST,1318;000000000000
- Date: 31 Dec 1982 09:35:53-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 31 07:47:12 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 31-Dec-82 0742-MST
- Date: 31 Dec 1982 00:56:17-PST
- From: douglas at HP-VENUS
- To: psl@hulk
- Subject: psl compiler bug .
- Via: HP-Labs; 31 Dec 82 6:37-PDT
- % psl
- PSL 3.1, 29-Dec-82
- 1 lisp> (load compiler)
- NIL
- 2 lisp> (defun reg (x) t)
- REG
- 3 lisp> (de x (y z) (iplus2 y z))
- X
- 4 lisp> (compile '(x))
- ***** Unknown label `T' in LAP
- Break loop
- Note, I have found that defining the functions:
- "frame", & "reg" causes the compiler to produce just plain
- strange code in all versions of psl.
- These functions do not exist in psl anywhere .
- It appears that the function "wconstevaluable" in the psl compiler
- is too general about how it goes about evalualating its arguments.
- It appears that it tries to see if something is a constant at compile
- time, and if it is, it evaluates it and puts it in place of its contents.
- This function appears to be passed operands in lap code. ( (reg 1) (wconst 1),
- and (frame 1) , etc.)
- To my understanding,
- A correction to this function should tell which small
- subset of functions are correct to expand and which are not real functions
- but labels or tags in the lap code.
- Douglas
- 31-Dec-82 09:39:57-PST,869;000000000000
- Date: 31 Dec 1982 09:35:59-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 31 07:47:18 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 31-Dec-82 0742-MST
- Date: 31 Dec 1982 0600-PST
- From: GRISS at HP-HULK
- Subject: Re: new manual mistake (br, unbr):
- To: douglas at HP-VENUS, GRISS@at, @, HP-labs@HP-VENUS, GRISS@RAND-RELAY, @, HP-labs@HP-VENUS,
- as at HP-HULK, GRISS@at, @, HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY,
- psl at HP-HULK, GRISS@at, @, HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- In-Reply-To: Your message of 30-Dec-82 1218-PST
- Via: HP-Labs; 31 Dec 82 6:37-PDT
- Actually, BR and UNBR in the MINI-TRACE used to be in KERNELand then
- DEBUG loaded over it. Recent cleanups must have put FULL debug (autload stub)
- in kernel.
- Ideal is that MINI-TRACE be true subset of DEBUG, rest loaded in
- if needed for FULL debug.
- -------
- 31-Dec-82 09:39:59-PST,752;000000000000
- Date: 31 Dec 1982 09:36:04-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 31 07:47:25 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 31-Dec-82 0743-MST
- Date: 31 Dec 1982 0601-PST
- From: GRISS at HP-HULK
- Subject: [douglas at HP-VENUS: missing line in manual (page 2-5) Factorial Function.]
- To: psl at HP-HULK, GRISS@at, @, HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 31 Dec 82 6:37-PDT
- ---------------
- Date: 30 Dec 1982 12:19:26-PST
- From: douglas at HP-VENUS
- To: as@hulk, griss@hulk
- Subject: missing line in manual (page 2-5) Factorial Function.
- After the line
- 8 NMODE Lisp> (Cond ((Eq 1)
- Should be the missing line:
- 8 NMODE Lisp> 1)
- ---------------
- -------
- 31-Dec-82 09:40:01-PST,968;000000000000
- Date: 31 Dec 1982 09:36:09-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 31 07:47:32 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 31-Dec-82 0743-MST
- Date: 31 Dec 1982 0619-PST
- From: GRISS at HP-HULK
- Subject: Wconst Evaluable Fix
- To: psl at HP-HULK, GRISS@at, @, HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 31 Dec 82 6:37-PDT
- Fix is not to flag those functions that are compiled as is, but rather
- to INSIST that for a (FOOO x y z) to get WCONST processing, it always
- has a special property on FOOOO. Right nowe the model used is that
- if x y z are wconst expressions, and if FOOO is a defined function, do it.
- Need to change WconstEvaluable and WconstExpression in Pc:ANYREG-CMACRO.SL,
- and to determine the set of functions that WCONSTxxx expects. Actually,
- its more an issue of WHAT functions have been used in sources.
- PLUS, WPLUS2, TIMES, WTIMES2, LSH etc come to mind, but we have to scan
- all code.
- -------
- 31-Dec-82 09:40:03-PST,506;000000000000
- Date: 31 Dec 1982 09:36:14-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 31 07:47:39 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 31-Dec-82 0743-MST
- Date: 31 Dec 1982 0620-PST
- From: GRISS at HP-HULK
- Subject: WCONST..
- To: psl at HP-HULK, GRISS@at, @, HP-labs@HP-VENUS, HP-VENUS at RAND-RELAY
- Via: HP-Labs; 31 Dec 82 6:37-PDT
- actually, we should also detrimin what flags FRAME has to avoid this on 20
- and VAX, and fail on HP9836. Probably something like TERMINAL..
- -------
- 31-Dec-82 15:35:28-PST,299;000000000000
- Date: 31 Dec 1982 15:33:06-PST
- From: douglas at HP-VENUS
- To: GRISS@HP-HULK, as@HP-HULK, douglas@HP-VENUS, psl@HP-HULK
- Subject: Re: new manual mistake (br, unbr):
- Martin,
- Are you saying that "br" and "unbr" exist still? I am unable
- to find them in psl / bare-psl / or debug.
- Douglas
- 31-Dec-82 18:44:49-PST,551;000000000000
- Date: 31 Dec 1982 18:44:48-PST
- From: douglas at HP-VENUS
- To: psl@hulk
- Subject: question about manual notation.
- When you describe functions:
- as in : (example from page 16-3).
- (Br [Fname:id]) : Undefined macro
- In general, it seems to me that it may be hard to know
- whether or not the macro needs to have its arguments
- quoted. This probably should be stated somehow.
- Also, Martin seems to imply that Br still exists. I can not find it.
- If it does, please tell me where, as I would like to use it. Thanks.
- Douglas
- 31-Dec-82 18:49:47-PST,268;000000000000
- Date: 31 Dec 1982 18:46:28-PST
- From: douglas at HP-VENUS
- To: psl@hulk
- Subject: picture rlisp question
- Does rlisp need to be loaded into psl for picture rlisp to work?
- (And thus its name?) Does it only work in rlisp? Will it work fine
- in psl without rlisp?
- 31-Dec-82 21:34:19-PST,261;000000000000
- Date: 31 Dec 1982 21:18:58-PST
- From: douglas at HP-VENUS
- To: griss@hulk, psl@hulk
- Subject: chipmunk non recursive garbage collector
- Cc: benson@hulk, tracy@hulk
- I have found that it is working fine for me, and handles the frl
- structures well.
- Douglas
- 1-Jan-83 01:34:55-PST,507;000000000000
- Date: 1 Jan 1983 01:34:51-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 31 21:19:21 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 31-Dec-82 2115-MST
- Date: 31 Dec 1982 15:33:06-PST
- From: douglas at HP-VENUS
- To: GRISS@HP-HULK, as@HP-HULK, douglas@HP-VENUS, psl@HP-HULK
- Subject: Re: new manual mistake (br, unbr):
- Via: HP-Labs; 31 Dec 82 19:43-PDT
- Martin,
- Are you saying that "br" and "unbr" exist still? I am unable
- to find them in psl / bare-psl / or debug.
- Douglas
- 1-Jan-83 01:34:56-PST,759;000000000000
- Date: 1 Jan 1983 01:34:56-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 31 21:19:38 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 31-Dec-82 2116-MST
- Date: 31 Dec 1982 18:44:48-PST
- From: douglas at HP-VENUS
- To: psl@hulk
- Subject: question about manual notation.
- Via: HP-Labs; 31 Dec 82 19:43-PDT
- When you describe functions:
- as in : (example from page 16-3).
- (Br [Fname:id]) : Undefined macro
- In general, it seems to me that it may be hard to know
- whether or not the macro needs to have its arguments
- quoted. This probably should be stated somehow.
- Also, Martin seems to imply that Br still exists. I can not find it.
- If it does, please tell me where, as I would like to use it. Thanks.
- Douglas
- 1-Jan-83 01:34:58-PST,476;000000000000
- Date: 1 Jan 1983 01:35:01-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Dec 31 21:19:53 1982
- Mail-from: ARPANET site RAND-RELAY rcvd at 31-Dec-82 2116-MST
- Date: 31 Dec 1982 18:46:28-PST
- From: douglas at HP-VENUS
- To: psl@hulk
- Subject: picture rlisp question
- Via: HP-Labs; 31 Dec 82 19:43-PDT
- Does rlisp need to be loaded into psl for picture rlisp to work?
- (And thus its name?) Does it only work in rlisp? Will it work fine
- in psl without rlisp?
- 1-Jan-83 10:38:14-PST,420;000000000000
- Mail-From: GRISS created at 1-Jan-83 10:36:33
- Date: 1 Jan 1983 1036-PST
- From: GRISS at HP-HULK
- Subject: RLISP hooks
- To: psl at HP-HULK
- Need to change DEFINEROP to be a macro, so that it creates PUT's
- in files for RLISP parser calls. Then files will load into PSL
- without RLISP, and work when RLISP loaded.
- Need to examine Pu:RLISP-PARSER.RED.
- Alternativ is to haved DEFINEROP etc in "kernel".
- -------
- 1-Jan-83 11:23:02-PST,389;000000000000
- Mail-From: LANAM created at 1-Jan-83 11:21:26
- Date: 1 Jan 1983 1121-PST
- From: douglas <LANAM at HP-HULK>
- Subject: Thanks for help in getting pfrl to run on chipmunk.
- To: griss at HP-HULK, benson at HP-HULK, tracy at HP-HULK, osnos at HP-HULK
- cc: psl at HP-HULK
- Thank you all for you help in my getting pfrl to run on the chipmunk.
- I appreciate it very much.
- Douglas
- -------
- 3-Jan-83 07:20:00-PST,206;000000000000
- Mail-From: GRISS created at 3-Jan-83 07:16:14
- Date: 3 Jan 1983 0716-PST
- From: GRISS at HP-HULK
- Subject: ExitLISP on 20
- To: psl at HP-HULK
- Need to add Exitlisp (as alias for Quit?) on 20.
- -------
- 3-Jan-83 10:50:40-PST,535;000000000000
- Date: 3 Jan 1983 10:46:01-PST
- From: douglas at HP-VENUS
- To: psl@hulk
- Subject: compiler bug
- (de x (a b)
- (cons a (igetv b a)))
- Compiles fine.
- (de x (a b)
- (cond ((igetv b a) (cons a (igetv b a)))))
- Compiles fine.
- But:
- The following does not:
- (de x (a b)
- (and (igetv b a) (cons a (igetv b a))))
- It gives the following error message:
- *****
- Unknown LAP operand `(wplus2 (wshift (wplus2 ($local a) (wconst 1)) (
- immediate 2)) (field ($local b) (wconst 5) (wconst 27)))'
- Break loop
- 6 lisp break>>
- 3-Jan-83 14:36:52-PST,431;000000000000
- Date: 3 Jan 1983 14:35:17-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: bug in psl on chipmunk (in fasl and RESTORE).
- If I have the filer preloaded into my Chipmunk pascal environment,
- and I try (load strings) or (load compiler), I get
- some kind of illegal memory / bus error.
- Everything works fine if I don't preload the filer.
- I made sure there was enough bps and heap space to load these modules in.
- Douglas
- 4-Jan-83 07:26:02-PST,969;000000000000
- Mail-From: GRISS created at 4-Jan-83 07:23:11
- Date: 4 Jan 1983 0723-PST
- From: GRISS at HP-HULK
- Subject: Picture RLISP
- To: PSL-Users: ;
- cc: psl at HP-HULK
- In response to a number of requests, I have made some changes to
- PictureRLISP so that It can now be run under PSL (without INFIX
- syntax) as well as RLISP. I have also fixed some bugs that somehow
- crept in over the past few months.
- See the files on pnew, shortly to be moved to PU:, PL: and PH:
- PRLISP.HLP and PRLISP2D.HLP describe briefly how to run the
- 3D and 2D versions on the HP2648a.
- PR-DEMO.RED, PR-DEMO.SL PR2D-DEMO.RED and PR2D-DEMO.SL are
- appropriate demo files.
- The files PRLISP.LAP and PRLISP2D.LAP load the appropriate
- .B files.
- I had make some significant changes to the RLISP parser to permit
- both .RED and .SL versions to coexist... the RLISP itself has
- not yet been moved to pnew:, but these files should work.
- BUGS/COMPLAINTS/QURIES to <griss>@hulk.
- -------
- 4-Jan-83 12:37:05-PST,484;000000000000
- Date: 4 Jan 1983 12:34:27-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Tue Jan 4 13:19:18 1983
- Received: from UTAH-20 by UTAH-20; Tuesday, 4 Jan 83 12:15:19-MST
- Date: 4 Jan 1983 1215-MST
- From: Robert R. Kessler <KESSLER at UTAH-20>
- Subject: This is a test message
- To: Psl-Bugs at UTAH-20
- This is a test to make sure that we do not have any cycles in our psl bug
- reporting. This should go to all local buggee's and send off to hp's
- local bugees.
- Bob.
- -------
- 5-Jan-83 11:55:45-PST,826;000000000000
- Date: 5 Jan 1983 11:51:03-PST
- From: douglas at HP-VENUS
- To: localpsl@hulk
- >From Mailer@HP-HULK Wed Jan 5 11:44:40 1983
- Date: 5 Jan 1983 1145-PST
- From: The Mailer Daemon <Mailer at HP-HULK>
- To: douglas at HP-VENUS
- Subject: Message of 5-Jan-83 11:37:56
- Status: R
- Message failed for the following:
- ! Equivalent to localpsl here! -localpsl ! Local distribution list at HP-HULK: No such mailbox
- no network forwarding! at HP-HULK: No such mailbox
- ------------
- Date: 5 Jan 1983 11:36:42-PST
- From: douglas at HP-VENUS
- To: psl@hulk
- Subject: strange uniqueness to chipmunk psl (in prompt).
- Why does the prompt gain a ">" with each dumplisp performed?
- (when the dump'd object is restored, the prompt has one more">" than
- it did in the running psl in which it was dumped.)
- Douglas
- -------
- 5-Jan-83 11:55:47-PST,1043;000000000000
- Date: 5 Jan 1983 11:51:15-PST
- From: douglas at HP-VENUS
- To: localpsl@hulk
- >From Mailer@HP-HULK Wed Jan 5 11:44:43 1983
- Date: 5 Jan 1983 1145-PST
- From: The Mailer Daemon <Mailer at HP-HULK>
- To: douglas at HP-VENUS
- Subject: Message of 5-Jan-83 11:40:20
- Status: R
- Message failed for the following:
- ! Equivalent to localpsl here! -localpsl ! Local distribution list at HP-HULK: No such mailbox
- no network forwarding! at HP-HULK: No such mailbox
- ------------
- Date: 5 Jan 1983 11:39:06-PST
- From: douglas at HP-VENUS
- To: psl@hulk
- Subject: prompt in psl
- Is there any easy way to change the prompt in psl? As in the c-shell, where
- you can say (setq prompt "My new prompt") or (setq prompt "My new prompt !$")
- where !$ gets replaced with the current history number? (My memory of csh
- is not too good in this case, I know there is a character sequence which
- means substitute the current history number, but I do not remember what it
- is so I used !$ above.)
- Thanks,
- Douglas
- -------
- 5-Jan-83 16:52:02-PST,192;000000000000
- Date: 5 Jan 1983 1649-PST
- From: PERDUE at HP-HULK
- Subject: ExitLISP on the DEC-20
- To: PSL
- I have added ExitLISP to the file P20:system-extras.red. It is a
- synonym for QUIT.
- -------
- 5-Jan-83 17:12:04-PST,310;000000000000
- Date: 5 Jan 1983 1710-PST
- From: PERDUE at HP-HULK
- Subject: BR and UNBR documentation
- To: PSL
- cc: Lanam
- Doug Lanam has pointed out that BR and UNBR do not exist on the VAX.
- These do not exist on the DEC-20 either, and in fact our PSL NEWS file
- says they have been entirely removed from PSL.
- -------
- 6-Jan-83 06:26:03-PST,461;000000000000
- Mail-From: GRISS created at 6-Jan-83 06:22:32
- Date: 6 Jan 1983 0622-PST
- From: GRISS at HP-HULK
- Subject: Gsort.red
- To: kendZIERSKI at HP-HULK, perduE at HP-HULK
- cc: psl at HP-HULK
- I have a faster GSORT from Galway, but it uses COMMON, USEFUL, etc,
- ]and causes problems with some of RCREF, since FOR gets redefined, and
- so the FOR analysis function needs to be corrected. I think we need to
- make ALL the FOR's compatible syntax, semantics.
- -------
- 6-Jan-83 08:45:40-PST,306;000000000000
- Date: 6 Jan 1983 0842-PST
- From: AS at HP-HULK
- Subject: bug
- To: PSL
- cc: AS
- If PSL is interrupted (e.g. ^C'ed) while a garbage collection is in progress,
- then if it is restarted (as opposed to CONTINUED), the garbage collection should
- be resumed and completed before resetting the world.
- -------
- 6-Jan-83 12:37:24-PST,441;000000000000
- Date: 6 Jan 1983 12:34:28-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: 6 Jan 1983 1135-MST
- From: Robert R. Kessler <KESSLER at UTAH-20>
- Subject: Rlisp Parser Bug
- To: psl-bugs at UTAH-20
- The following code will not parse (in file <kessler.psl>quit.red):
- % Neither of the following will work. When loading them, you must say yes to
- % continue.
- procedure foo;
- <<quit()>>;
- procedure foo;
- <<quit>>;
- end;
- -------
- 6-Jan-83 14:42:25-PST,360;000000000000
- Date: 6 Jan 1983 14:31:06-PST
- From: douglas at HP-MARS
- To: griss@Hulk, psl@hulk
- Subject: psl on the vax
- Can the psl on the vax be remade with the bps increased by 50000 words. I
- do not mind if this is taken out of heap space.
- As heap space is very, very large at present.
- This is needed to provide a psl which can fit all of frl and gpsg.
- Douglas
- 6-Jan-83 16:57:27-PST,716;000000000000
- Date: 6 Jan 1983 16:55:34-PST
- From: OTHMER@UTAH-20 at HP-VENUS
- Via: utah-cs
- Date: 6 Jan 1983 1449-MST
- From: Bobbie Othmer <OTHMER at UTAH-20>
- Subject: bug in putd
- To: psl-bugs at UTAH-20
- There is a small bug in PutD. The property indicator TYPE is no
- longer used to record whether an id is global or fluid. The following
- test is always false. This won't cause any problems but should
- probably be fixed next time somebody builds the kernel.
- else begin scalar VarType, PrintRedefinedMessage, OldIN, PromptString!*,
- QueryResponse;
- if (VarType := get(FnName, 'TYPE))
- and (VarType = 'FLUID or VarType = 'GLOBAL) then
- ErrorPrintF("*** %r is a non-local variable", FnName)
- -------
- 7-Jan-83 17:23:30-PST,204;000000000000
- Mail-From: PERDUE created at 7-Jan-83 17:22:04
- Date: 7 Jan 1983 1722-PST
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Test
- To: PSL at HP-HULK
- Test of the bug reporter function (bug).
- -------
- 7-Jan-83 17:33:28-PST,145;000000000000
- Date: 7 Jan 1983 1728-PST
- From: Cris Perdue <Perdue at HP-HULK>
- Subject: Another test
- To: PSL at HP-HULK
- Another test of "bug".
- -------
- 8-Jan-83 17:56:40-PST,630;000000000000
- Date: 8 Jan 1983 17:54:51-PST
- From: douglas at HP-VENUS
- To: psl@hulk
- Subject: recursive garbage collection
- I have just gotten a garbage collection that kept saying:
- *** Garbage collection starting
- *** Garbage collection starting
- *** Garbage collection starting
- *** Garbage collection starting
- *** Garbage collection starting
- *** Garbage collection starting
- *** Garbage collection starting
- *** Garbage collection starting
- *** Garbage collection starting
- Over and over and over.
- I think I can reproduce it, but not without running the ic demo.
- This occurs on the vax (not known if it occurs anywhere else).
- 9-Jan-83 01:41:36-PST,486;000000000000
- Date: 9 Jan 1983 01:36:14-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Sat Jan 8 22:38:41 1983
- Received: from UDEL-RELAY by UTAH-20; Saturday, 8 Jan 83 22:36:14-MST
- Return-Path: <mmdf@udel-relay>
- Date: 3 Jan 1983 0716-PST
- From: GRISS@HP-HULK
- Subject: ExitLISP on 20
- To: psl@HP-HULK, GRISS@@, @, HP-labs@HP-VENUS, HP-VENUS@RAND-RELAY
- Via: HP-Labs; 3 Jan 83 19:26-PDT
- Via: rand-relay; 4 Jan 83 21:50-EST
- Need to add Exitlisp (as alias for Quit?) on 20.
- -------
- 9-Jan-83 01:41:38-PST,815;000000000000
- Date: 9 Jan 1983 01:36:19-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Sat Jan 8 22:39:18 1983
- Received: from UDEL-RELAY by UTAH-20; Saturday, 8 Jan 83 22:36:55-MST
- Return-Path: <mmdf@udel-relay>
- Date: 3 Jan 1983 10:46:01-PST
- From: douglas@HP-VENUS
- Subject: compiler bug
- To: psl@hulk
- Via: HP-Labs; 3 Jan 83 19:26-PDT
- Via: rand-relay; 4 Jan 83 21:50-EST
- (de x (a b)
- (cons a (igetv b a)))
- Compiles fine.
- (de x (a b)
- (cond ((igetv b a) (cons a (igetv b a)))))
- Compiles fine.
- But:
- The following does not:
- (de x (a b)
- (and (igetv b a) (cons a (igetv b a))))
- It gives the following error message:
- *****
- Unknown LAP operand `(wplus2 (wshift (wplus2 ($local a) (wconst 1)) (
- immediate 2)) (field ($local b) (wconst 5) (wconst 27)))'
- Break loop
- 6 lisp break>>
- 9-Jan-83 01:41:40-PST,711;000000000000
- Date: 9 Jan 1983 01:36:24-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Sat Jan 8 22:39:56 1983
- Received: from UDEL-RELAY by UTAH-20; Saturday, 8 Jan 83 22:38:53-MST
- Return-Path: <mmdf@udel-relay>
- Date: 3 Jan 1983 14:35:17-PST
- From: douglas@HP-MARS
- Subject: bug in psl on chipmunk (in fasl and RESTORE).
- To: psl@hulk
- Via: HP-Labs; 3 Jan 83 19:27-PDT
- Via: rand-relay; 4 Jan 83 21:51-EST
- If I have the filer preloaded into my Chipmunk pascal environment,
- and I try (load strings) or (load compiler), I get
- some kind of illegal memory / bus error.
- Everything works fine if I don't preload the filer.
- I made sure there was enough bps and heap space to load these modules in.
- Douglas
- 9-Jan-83 01:41:42-PST,540;000000000000
- Date: 9 Jan 1983 01:36:30-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Sat Jan 8 22:56:14 1983
- Received: from UDEL-RELAY by UTAH-20; Saturday, 8 Jan 83 22:54:16-MST
- Return-Path: <mmdf@udel-relay>
- Date: 31 Dec 1982 21:18:58-PST
- From: douglas@HP-VENUS
- Subject: chipmunk non recursive garbage collector
- To: griss@hulk, psl@hulk
- Cc: benson@hulk, tracy@hulk
- Via: HP-Labs; 1 Jan 83 6:41-PDT
- Via: rand-relay; 2 Jan 83 18:29-EST
- I have found that it is working fine for me, and handles the frl
- structures well.
- Douglas
- 9-Jan-83 01:41:44-PST,700;000000000000
- Date: 9 Jan 1983 01:36:34-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Sat Jan 8 22:58:39 1983
- Received: from UDEL-RELAY by UTAH-20; Saturday, 8 Jan 83 22:57:30-MST
- Return-Path: <mmdf@udel-relay>
- Date: 1 Jan 1983 1036-PST
- From: GRISS@HP-HULK
- Subject: RLISP hooks
- To: psl@HP-HULK, GRISS@@, @, HP-labs@HP-VENUS, HP-VENUS@RAND-RELAY
- Via: HP-Labs; 1 Jan 83 19:14-PDT
- Via: rand-relay; 2 Jan 83 18:33-EST
- Need to change DEFINEROP to be a macro, so that it creates PUT's
- in files for RLISP parser calls. Then files will load into PSL
- without RLISP, and work when RLISP loaded.
- Need to examine Pu:RLISP-PARSER.RED.
- Alternativ is to haved DEFINEROP etc in "kernel".
- -------
- 9-Jan-83 01:41:46-PST,855;000000000000
- Date: 9 Jan 1983 01:36:39-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Sat Jan 8 22:59:16 1983
- Received: from UDEL-RELAY by UTAH-20; Saturday, 8 Jan 83 22:57:47-MST
- Return-Path: <mmdf@udel-relay>
- Date: 1 Jan 1983 1121-PST
- From: douglas <LANAM@HP-HULK>
- Subject: Thanks for help in getting pfrl to run on chipmunk.
- ,
- To: griss@HP-HULK, LANAM@@@HP-labs, HP-VENUS@RAND-RELAY, benson@HP-HULKc3
- ,
- LANAM@@@HP-labs, HP-VENUS@RAND-RELAY, tracy@HP-HULK, LANAM@@@HP-labs|
- ,
- HP-VENUS@RAND-RELAY, osnos@HP-HULK, LANAM@@@HP-labs, LANAM@@@HP-labs|
- HP-VENUS@RAND-RELAY
- Cc: psl@HP-HULK, LANAM@@@HP-labs, HP-VENUS@RAND-RELAY
- Via: HP-Labs; 1 Jan 83 19:14-PDT
- Via: rand-relay; 2 Jan 83 18:33-EST
- Thank you all for you help in my getting pfrl to run on the chipmunk.
- I appreciate it very much.
- Douglas
- -------
- 9-Jan-83 01:41:48-PST,1284;000000000000
- Date: 9 Jan 1983 01:36:44-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Sat Jan 8 23:29:32 1983
- Received: from UDEL-RELAY by UTAH-20; Saturday, 8 Jan 83 23:28:13-MST
- Return-Path: <mmdf@udel-relay>
- Date: 4 Jan 1983 0723-PST
- From: GRISS@HP-HULK
- Subject: Picture RLISP
- To: PSL-Users.@HP-labs, GRISS@;, @, HP-labs@HP-VENUS
- Cc: psl@HP-HULK, GRISS@@, @, HP-labs@HP-VENUS, HP-VENUS@RAND-RELAY
- Via: HP-Labs; 4 Jan 83 23:21-PDT
- Via: rand-relay; 5 Jan 83 12:31-EST
- In response to a number of requests, I have made some changes to
- PictureRLISP so that It can now be run under PSL (without INFIX
- syntax) as well as RLISP. I have also fixed some bugs that somehow
- crept in over the past few months.
- See the files on pnew, shortly to be moved to PU:, PL: and PH:
- PRLISP.HLP and PRLISP2D.HLP describe briefly how to run the
- 3D and 2D versions on the HP2648a.
- PR-DEMO.RED, PR-DEMO.SL PR2D-DEMO.RED and PR2D-DEMO.SL are
- appropriate demo files.
- The files PRLISP.LAP and PRLISP2D.LAP load the appropriate
- B files.
- I had make some significant changes to the RLISP parser to permit
- both .RED and .SL versions to coexist... the RLISP itself has
- not yet been moved to pnew:, but these files should work.
- BUGS/COMPLAINTS/QURIES to <griss>@hulk.
- -------
- 9-Jan-83 01:41:50-PST,437;000000000000
- Date: 9 Jan 1983 01:36:49-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Sun Jan 9 01:19:31 1983
- Received: from UDEL-RELAY by UTAH-20; Sunday, 9 Jan 83 01:18:30-MST
- Return-Path: <mmdf@udel-relay>
- Date: 9 Jan 83 1:46:33-EST (Sun)
- From: G. B. Reilly <reilly@udel-relay>
- Subject: Information
- To: psl-bugs@utah-20
- Could you please send me some information about the current state of PSL?
- Thanks,
- Brendan Reilly
- 10-Jan-83 12:38:59-PST,631;000000000000
- Date: 10 Jan 1983 12:34:39-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: 10 Jan 1983 0801-MST
- From: Robert R. Kessler <KESSLER at UTAH-20>
- Subject: Floats
- To: psl-bugs at UTAH-20
- Floats with a large number of digits after the decimal point are really weird:
- [PHOTO: Recording initiated Mon 10-Jan-83 7:59AM]
- @rlisp
- PSL Rlisp
- Exiting rlisp
- PSL 3.1 Rlisp, 27-Oct-82
- [1] 1.1234567890;
- 1.1234568
- [2] 12.1234567890;
- 12.123457
- [3] 123.1234567890;
- 20.044242
- [4] 123.123456789;
- 20.044242
- [5] 123.12345678;
- 123.12346
- [6] quit;
- @po
- [PHOTO: Recording terminated Mon 10-Jan-83 8:00AM]
- Bob.
- -------
- 10-Jan-83 12:39:02-PST,356;000000000000
- Date: 10 Jan 1983 12:34:46-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: 10 Jan 1983 0907-MST
- From: Robert R. Kessler <KESSLER at UTAH-20>
- Subject: Possible Compiler Bug
- To: psl-bugs at UTAH-20
- It seems that the compiler gets a Label NIL not found error when compiling
- something of the form: (EQ (FOO X)) within a cond..
- Bob.
- -------
- 10-Jan-83 15:46:42-PST,568;000000000000
- Date: 10 Jan 1983 15:40:58-PST
- From: douglas at HP-VENUS
- To: psl@hulk
- Subject: psl bug in readch and readchar on vax.
- Cc: '@HP-VENUS
- If you do
- (Setq x (readchar))^D<cr> where ^D is a cntrl-d and <cr> is a return,
- you should get x set to 4. Instead you get x set to 10. It seems
- the eof is ignored by readchar.
- Readch works similar.
- If you type:
- (setq x (readchar))^D^D, then x will get set to 4.
- This only seems to appear on the vax. On the hulk, it seems to work fine
- to type:
- (setq x (readchar))^Z<cr>.
- (X will get set to 26).
- Douglas
- 11-Jan-83 14:18:03-PST,236;000000000000
- Date: 11 Jan 1983 1414-PST
- From: PERDUE at HP-HULK
- Subject: Re: Floats
- To: PSL
- In-Reply-To: Your message of 10-Jan-83
- Bob Kessler's bug concerning input of floating point numbers has
- already been fixed by Eric Benson.
- -------
- 11-Jan-83 15:38:05-PST,482;000000000000
- Date: 11 Jan 1983 1536-PST
- From: PERDUE at HP-HULK
- Subject: Re: psl bug in readch and readchar on vax.
- To:
- cc: PSL
- In-Reply-To: Your message of 10-Jan-83
- I have the following information from Ken Greer:
- When reading from the terminal (and not in "raw mode"), no Unix
- program "sees" ^D's in the input buffer. A ^D causes the "read"
- system call to return, but does not itself appear in the input buffer.
- The phenomenon you noticed is not a PSL bug.
- -------
- -------
- 11-Jan-83 15:43:14-PST,321;000000000000
- Date: 11 Jan 1983 1542-PST
- From: AS at HP-HULK
- Subject: problem with On
- To: PSL
- cc: AS
- A top-level form (ON FOO) is ineffective at load time unless enclosed in
- BothTimes or LoadTime. The manual gives no hint that this is the case.
- I'm not sure that the present behavior is the "right thing", however.
- -------
- 11-Jan-83 23:50:12-PST,303;000000000000
- Date: 11 Jan 1983 23:53:36-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: compiler check
- If psl has a function already existing in memory and compiles a call
- to it, could the compiler check that the correct number of arguments are
- given (This would only be in the case of exprs).
- Douglas
- 12-Jan-83 13:54:38-PST,296;000000000000
- Date: 12 Jan 1983 1353-PST
- From: PERDUE at HP-HULK
- Subject: Re: compiler check
- To: douglas at HP-MARS
- cc: PSL
- In-Reply-To: Your message of 11-Jan-83
- Argument number checking in the compiler would be a darned good idea.
- Extensive work on the compiler will soon be done at Utah.
- -------
- 12-Jan-83 21:20:07-PST,771;000000000000
- Mail-From: GRISS created at 12-Jan-83 21:17:04
- Date: 12 Jan 1983 2117-PST
- From: GRISS at HP-HULK
- Subject: VAX
- To: psl at HP-HULK
- I have rebuilt VAX system, incorporating essentially all of the
- changes made recetnly to the 20, such as continuable errors from]
- compiled code, better format Errors, LPOSN, etc. ALso included are
- the new comands from Utah, for CD("..."), GETENV("...") and PWD().
- The system includes a command to get the command line as a vector,
- which can be used to make PSLCOMP work like the 20. Unfortunately,
- this still seems to get only 1 argument, the program name itself.
- Perhaps a UTah fix will be forthcoming soon.
- Next step to rebuild all of $PU, test and then attempt to move latest
- system to MARS (mercury?)
- M
- -------
- 13-Jan-83 18:54:51-PST,395;000000000000
- Date: 13 Jan 1983 1851-PST
- From: PERDUE at HP-HULK
- Subject: Re: Possible Compiler Bug
- To:
- cc: PSL
- In-Reply-To: Your message of 10-Jan-83
- There certainly is a bug in the compiler with (EQ (FOO X)). Martin
- has some code well underway to provide rather general checking of
- number of arguments, so I'll just say the problem will cease sometime
- not too long from now.
- -------
- -------
- 13-Jan-83 20:09:36-PST,315;000000000000
- Date: 13 Jan 1983 20:13:10-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: psl bug with files.
- If you say
- (setq out* xx)
- Where xx is not a legal port,
- The system just does
- ***** Segmentation violation
- ***** Segmentation violation
- At the least, a warning about this should be put in the manual.
- 13-Jan-83 21:14:24-PST,193;000000000000
- Date: 13 Jan 1983 21:16:48-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: eof flag
- Can a flag be added that prevents eof (sent from a terminal only) from
- exiting lisp on the vax?
- 14-Jan-83 09:08:08-PST,171;000000000000
- Date: 14 Jan 1983 0903-PST
- From: PERDUE at HP-HULK
- Subject: Bug in PUTD
- To: PSL
- I have updated the source for PUTD in response to Bobbie Othmer's
- report.
- -------
- 16-Jan-83 10:06:12-PST,463;000000000000
- Mail-From: GRISS created at 16-Jan-83 10:04:10
- Date: 16 Jan 1983 1004-PST
- From: GRISS at HP-HULK
- Subject: laod vs Imports
- To: psl at HP-HULK
- I suggest that IMPORTS be flushed. I belive that now LOAD in a file works
- just fine, ie LOADs immediately if file is .SL, .RED, but defers on a pending
- stack if this is .B file, to avould FASLIN inside FASLIN. This is what
- IMPORTS currently does, except that IMPORTS doenst work in interpreted code.
- -------
- 17-Jan-83 17:11:51-PST,625;000000000000
- Mail-From: ROSENBERG created at 17-Jan-83 17:08:32
- Date: 17 Jan 1983 1708-PST
- From: Steven <ROSENBERG at HP-HULK>
- Subject: trace, step
- To: psl at HP-HULK
- 1. There should be a command that untraces everything without having to
- specify a list of functions.
- 2. I tried (untr <function>) on various functions. It only seems to work
- half the time.
- 3. I tried step. Afterwards it seemd to screw up the orfinary top-level
- read-eval loop.
- 4. There should be a step mode where you turn it on for a function, and when
- in t he course of normal events that function gets called, you are then stepping
- it.
- -------
- 18-Jan-83 18:48:09-PST,289;000000000000
- Date: 18 Jan 1983 18:50:41-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: flag to kill eof exiting
- I need to be able to shut off the feature that eof (^D) at top
- level exits psl. This is annoying when a ^D is accidently sent and
- I loose 30 minutes or more of work.
- Douglas
- 19-Jan-83 11:53:36-PST,100;000000000000
- Date: 19 Jan 1983 11:57:45-PST
- From: perdue at HP-MARS
- To: psl@HP-MARS
- Subject: foo
- Testing.
- 19-Jan-83 15:03:49-PST,929;000000000000
- Date: 19 Jan 1983 15:08:42-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: inconsistensy with explode.
- Explode acts differently whether or not the flag *lower is set.
- It should do the same thing in either case. I thought *lower is only
- used for lowercasing output.
- Note: if *lower is t, explode makes its list with the letters
- actually being the lower case letters. (Thus I can not say
- that any letter
- is equal to any
- letter I can type in).
- Explode should not lower casify the letters in the id name
- (unless they already are in lower case (in the id table)).
- Douglas
- 1 lisp> (Setq a 'abcd)
- ABCD
- 2 lisp> (explode a)
- (A B C D)
- 3 lisp> (setq *lower t)
- t
- 4 lisp> (explode a)
- (a b c d)
- 5 lisp> (equal (ans 2) (ans 4))
- nil
- 6 lisp> (equal (car (ans 2)) 'a)
- t
- 7 lisp> (equal (car (ans 4)) 'a)
- nil
- 8 lisp> (equal (car (ans 4)) 'A)
- nil
- 9 lisp> Exiting lisp
- 19-Jan-83 15:23:35-PST,243;000000000000
- Date: 19 Jan 1983 15:25:36-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: correct definition of explode
- If you do
- (let ((*lower nil))
- (explode ..)))
- where .. is your argument, you get a correct definition of explode.
- Douglas
- 21-Jan-83 14:37:41-PST,525;000000000000
- Date: 21 Jan 1983 14:40:43-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: why two gc's when dumplisp is called?
- *** Garbage collection starting
- *** GC 9: time 1343 ms, 8303 recovered, 386655 free
- *** Garbage collection starting
- *** GC 10: time 1462 ms, 0 recovered, 386656 free
- Always when I call dumplisp, 2 gc's are performed. The second always seems to have done
- nothing useful. Why does this happen? Is it possible to
- eliminate the second gc?
- (This behaviour is noticed on the vax).
- Douglas
- 21-Jan-83 16:17:37-PST,1172;000000000000
- Date: 21 Jan 1983 16:22:24-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: the following does not work correctly compiled:
- Cc: gawron@HP-MARS
- Function:
- (macro proog (l)
- (list 'prog (list 'var)
- (list 'setq 'var 2)
- (setq Loope (gensym))
- (list 'cond (list (list 'eq 'var 0)
- (list 'return 'var))
- (list t nil))
- (list 'prin1 ''HI)
- (list 'setq 'var (list 'sub1 'var))
- (list 'go loope)))
- Expansion of (proog) with proog running interpretively:
- (PROG (VAR)
- (SETQ VAR 2)
- G0004
- (COND ((EQ VAR 0) (RETURN VAR)) (T NIL))
- (PRIN1 'HI)
- (SETQ VAR (SUB1 VAR))
- (GO G0004))
- This above works fine over and over if proog is not compiled:
- Next we compile proog:
- Expansion of (proog) with proog running compiled:
- (PROG (VAR)
- (SETQ VAR 2)
- G0020
- (COND ((EQ VAR 0) (RETURN VAR)) (T NIL))
- (PRIN1 'HI)
- (SETQ VAR (SUB1 VAR))
- (GO G0004))
- Note, the difference. I think it has something to do with declaring
- loope to be special. It makes the change for the go part, but does
- not produce the special/fluid reference for the assignment part.
- Douglas
- 24-Jan-83 12:38:44-PST,2733;000000000000
- Date: 24 Jan 1983 12:35:28-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: 24 Jan 1983 0941-MST
- From: Robert R. Kessler <KESSLER@UTAH-20>
- Subject: Compiler Bug
- To: psl-bugs@UTAH-20
- When an argument to a function is named W, and eqcar is called, the fails to
- generate the correct code. Somehow it doesn't save the value of the W
- argument:
- Notice that in the second example, reg 1 is saved in reg 4:
- [PHOTO: Recording initiated Mon 24-Jan-83 9:37AM]
- @psl
- PSL 3.1, 18-Jan-83
- 1 lisp> (on comp plap pgwd)
- NIL
- 2 lisp> (de foo (u v w) (eqcar u 'foo))
- (*ENTRY FOO EXPR 3)
- (*ALLOC 0)
- (*JUMPTYPE (LABEL G0004) (REG 1) PAIR)
- (*MOVE (QUOTE NIL) (REG 1))
- (*JUMP (LABEL G0005))
- (*LBL (LABEL G0004))
- (*MOVE (QUOTE T) (REG 1))
- (*LBL (LABEL G0005))
- (*JUMPEQ (LABEL G0001) (REG 1) (QUOTE NIL))
- (*MOVE (CAR (REG 3)) (REG 1))
- (*JUMPEQ (LABEL G0006) (REG 1) (QUOTE FOO))
- (*MOVE (QUOTE NIL) (REG 1))
- (*EXIT 0)
- (*LBL (LABEL G0006))
- (*MOVE (QUOTE T) (REG 1))
- (*LBL (LABEL G0001))
- (*EXIT 0)
- (FULLWORD 3)
- (*ENTRY FOO EXPR 3)
- (LDB (REG T6) "L0001")
- (CAIN (REG T6) 9)
- (JRST G0004)
- (MOVE (REG 1) (REG NIL))
- (JRST G0005)
- G0004 (MOVE (REG 1) (FLUID T))
- G0005 (CAMN (REG 1) (REG NIL))
- (JRST G0001)
- (MOVE (REG 1) (INDEXED (REG 3) 0))
- (CAMN (REG 1) "L0002")
- (JRST G0006)
- (MOVE (REG 1) (REG NIL))
- (POPJ (REG ST) 0)
- G0006 (MOVE (REG 1) (FLUID T))
- G0001 (POPJ (REG ST) 0)
- L0001 (FULLWORD (FIELDPOINTER (REG 1) 0 5))
- L0002 (FULLWORD (MKITEM 30 (IDLOC FOO)))
- *** (FOO): base 261717, length 18 words
- FOO
- 3 lisp> (de fee (u v ww) (eqcar u 'foo))
- (*ENTRY FEE EXPR 3)
- (*ALLOC 0)
- (*MOVE (REG 1) (REG 4))
- (*JUMPTYPE (LABEL G0004) (REG 1) PAIR)
- (*MOVE (QUOTE NIL) (REG 1))
- (*JUMP (LABEL G0005))
- (*LBL (LABEL G0004))
- (*MOVE (QUOTE T) (REG 1))
- (*LBL (LABEL G0005))
- (*JUMPEQ (LABEL G0001) (REG 1) (QUOTE NIL))
- (*MOVE (CAR (REG 4)) (REG 1))
- (*JUMPEQ (LABEL G0006) (REG 1) (QUOTE FOO))
- (*MOVE (QUOTE NIL) (REG 1))
- (*EXIT 0)
- (*LBL (LABEL G0006))
- (*MOVE (QUOTE T) (REG 1))
- (*LBL (LABEL G0001))
- (*EXIT 0)
- (FULLWORD 3)
- (*ENTRY FEE EXPR 3)
- (MOVE (REG 4) (REG 1))
- (LDB (REG T6) "L0003")
- (CAIN (REG T6) 9)
- (JRST G0004)
- (MOVE (REG 1) (REG NIL))
- (JRST G0005)
- G0004 (MOVE (REG 1) (FLUID T))
- G0005 (CAMN (REG 1) (REG NIL))
- (JRST G0001)
- (MOVE (REG 1) (INDEXED (REG 4) 0))
- (CAMN (REG 1) "L0004")
- (JRST G0006)
- (MOVE (REG 1) (REG NIL))
- (POPJ (REG ST) 0)
- G0006 (MOVE (REG 1) (FLUID T))
- G0001 (POPJ (REG ST) 0)
- L0003 (FULLWORD (FIELDPOINTER (REG 1) 0 5))
- L0004 (FULLWORD (MKITEM 30 (IDLOC FOO)))
- *** (FEE): base 261745, length 19 words
- FEE
- 4 lisp> (quit)
- @po
- [PHOTO: Recording terminated Mon 24-Jan-83 9:40AM]
- -------
- 24-Jan-83 12:58:59-PST,1419;000000000000
- Date: 24 Jan 1983 1256-PST
- From: PERDUE at HP-HULK
- Subject: Compiler problem
- To: PSL-Users
- cc: PSL
- The PSL compiler has a misfeature that may cause obscure bugs in
- your programs. Except for forms like COND and PROGN, evaluation
- of subexpressions is not guaranteed to occur in left-to-right
- order. In fact whether it was intended or not, in complex
- expressions the subexpressions may be evaluated in any order
- whatsoever. A warning of sorts exists in the reference manual,
- but should be made much more strongly. (There is a flag that is
- supposed to turn off the misfeature, but Martin Griss believes
- that it does not work, and the manual echoes this belief.)
- Here are two examples of actual compiler (mis)behavior:
- (de frag () (list (setq x (bletch)) x))
- In this example bletch is called first, then the second
- element of the list is determined, then x is altered and the
- first element of the list determined. If initially x=1, while
- bletch sets x to 2 and returns 3, the value of frag is the list
- (3 2).
- (de scrog () (list (rplaca x (bletch)) (car x)))
- In this example (bletch) gets evaluated first, then (car x), then
- the rplaca is done and its value used. If initially x = (1 2)
- and bletch sets x to (3) while returning 4, the value of scrog
- will be ((4) 3), with x = (4).
- This note is in response to a problem found by Mark Gawron and
- reported by Doug Lanam.
- -------
- 24-Jan-83 15:40:09-PST,734;000000000000
- Date: 24 Jan 1983 1535-PST
- From: PERDUE at HP-HULK
- Subject: Re: Compiler Bug
- To: PSL
- In-Reply-To: Your message of 24-Jan-83
- Concerning the compiler bug with eqcar, that's a mean little bug.
- We have patched our CMACRO definition for eqcar in the compiler.
- (Martin just changed the name "W" to something obscure.)
- The problem you noticed is evidently one with handling of open
- lambdas by the compiler, but I don't have time to try to fix it
- given that Martin believes it to be nontrivial. Your example
- also shows that the compiler is not doing a good job with AND and
- OR used for value. All but the last subform of AND should be
- compiled for test, not value. Again I must pass on fixing this
- one for now.
- -------
- 24-Jan-83 15:50:16-PST,197;000000000000
- Date: 24 Jan 1983 1546-PST
- From: PERDUE at HP-HULK
- Subject: *PWRDS switch
- To: PSL
- This compiler switch (flag) is documented as being initially NIL
- where in fact it is initially T.
- -------
- 25-Jan-83 01:35:55-PST,626;000000000000
- Date: 25 Jan 1983 01:34:21-PST
- From: daemon at HP-VENUS
- Via: utah-cs!utah-gr
- Date: Mon Jan 24 14:07:39 1983
- Received: from UTAH-CS by UTAH-20; Mon 24 Jan 83 14:05:45-MST
- Date: 24 Jan 1983 13:19-MST
- From: Russ Fish <utah-gr!fish@UTAH-CS>
- Subject: Exhausting heap space.
- To: utah-gr!psl-bugs@UTAH-CS
- "gtHeap" should be able to do better than a FatalError if there is still not
- sufficient space after garbage collecting. Like a non-continuable error
- breakloop or at least a reset to keep the whole session from going down the
- tubes! I got bit by (an erroneous) huge mkVect which was hard to find.
- -Russ
- 25-Jan-83 16:30:35-PST,397;000000000000
- Date: 25 Jan 1983 1628-PST
- From: PERDUE at HP-HULK
- Subject: Make!-String function
- To: PSL
- The definition of the function Make-String has been deleted from
- the kernel module "sequence". A conflicting definition exists in
- the STRINGS module, and people here depend on that other
- definition being in force. Martin agrees: hope this causes
- miminal pain to people at other sites.
- -------
- 26-Jan-83 17:18:09-PST,125;000000000000
- Date: 26 Jan 1983 1715-PST
- From: PERDUE at HP-HULK
- Subject: Testing
- To: PSL
- Testing the UUCP mail path . . .
- -------
- 26-Jan-83 18:23:04-PST,412;000000000000
- Date: 26 Jan 1983 1822-PST
- From: PERDUE at HP-HULK
- Subject: Load vs Imports
- To: PSL
- Martin sent a note suggesting that IMPORTS may be obsolete, that
- it doesn't work in interpreted code, and that LOAD delays if
- doing the LOAD would result in a recursive FASLIN. All of these
- seem to be false based on a mixture of tests including reading of
- code and testing of examples. Keep using IMPORTS.
- -------
- 27-Jan-83 14:13:22-PST,771;000000000000
- Date: 27 Jan 1983 1409-PST
- From: PERDUE at HP-HULK
- Subject: Re: trace, step
- To: ROSENBERG at HP-HULK, PSL
- In-Reply-To: Your message of 17-Jan-83
- At last a response to your mail about trace and step!
- 1. Contrary to what the documentation says, the function RESTR
- takes no arguments and untraces everything, plus removes overhead
- and forgets some information. This is essentially what you asked
- for.
- 2. Untr works OK for me.
- 3. Step also has worked OK for me, and I have actually used step
- some for real. If you can show me how it fails, I'll certainly
- look closer.
- 4. I agree with you on the idea of having stepping turned on for
- a particular function. Unfortunately we are not really doing
- anything in the line of enhancements now.
- -------
- 27-Jan-83 14:43:20-PST,265;000000000000
- Date: 27 Jan 1983 1440-PST
- From: PERDUE at HP-HULK
- Subject: LineLength of 0
- To: PSL
- cc: Lanam
- I've put in Bob Kessler's change to I/O so that in the future if
- LineLength of 0 has been done on a channel, printing routines
- won't stick in any EOLs.
- -------
- 27-Jan-83 16:18:17-PST,400;000000000000
- Date: 27 Jan 1983 1616-PST
- From: PERDUE at HP-HULK
- Subject: WVectors
- To: PSL
- The semantics of WVectors are out of control. In compiled code
- with igetv or syslisp code, it's clear enough, but in interpreted
- code it's random. Word-sized quantities can be stored and
- retrieved with no checking or conversion. WVectors also are
- initialized to NIL rather than 0. All pretty weird.
- -------
- 27-Jan-83 17:23:19-PST,401;000000000000
- Date: 27 Jan 1983 1721-PST
- From: PERDUE at HP-HULK
- Subject: Re: psl bug with files.
- To: PSL
- cc: Lanam
- In-Reply-To: Your message of 13-Jan-83
- I have made changes to the sources to fix Doug Lanam's problem
- that I/O functions didn't check that I/O channel arguments were
- legitimate. ChannelReadChar, ChannelWriteChar, and Close are
- affected. If I/O is slowed down too much, . . .
- -------
- 28-Jan-83 11:23:48-PST,725;000000000000
- Date: 28 Jan 1983 1122-PST
- From: PERDUE at HP-HULK
- Subject: Intp, etc.
- To: PSL
- It turns out that the functions intp, posintp, and negintp are
- not defined as such. Only the compiler knows about them.
- Posintp and negintp are currently the type tag testing functions,
- with intp and posintp synonymous. Historically, intp was for
- testing the old integer tag.
- It makes some sense not to document these for general users
- because the relationship between the user's notion of
- "integer-ness" and low-level typing is somewhat fluid in LISP.
- Interpretive definitions will belong in a package of interpretive
- definitions of Syslisp functions, and these should certainly be
- documented as part of Syslisp.
- -------
- 28-Jan-83 12:38:02-PST,833;000000000000
- Date: 28 Jan 1983 12:35:02-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Jan 28 04:31:55 1983
- Received: from RAND-RELAY by UTAH-20; Fri 28 Jan 83 04:29:10-MST
- Date: Thursday, 27 Jan 1983 09:28-PST
- To: PSL-BUGS at UTAH-20
- Cc: lseward at RAND-RELAY, hearn at RAND-RELAY, marti at RAND-RELAY
- Subject: Difference between new and old RLISP.
- From: marti at RAND-RELAY
- The new RLISP parser requires a semicolon after the last statement in a
- BEGIN...END block and does not require such in a <<...>> block. The old
- RLISP parser did not require the semicolon in the BEGIN...END block. The
- symptoms of this problem are that RLISP gobbles up the entire program after
- the missing semicolon and doesn't warn you about it. The manual I have
- (March 1981) does not specifically state that a semicolon is needed.
- Jed Marti.
- 28-Jan-83 12:38:04-PST,702;000000000000
- Date: 28 Jan 1983 12:35:07-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Jan 28 04:32:26 1983
- Received: from RAND-RELAY by UTAH-20; Fri 28 Jan 83 04:29:50-MST
- Date: Thursday, 27 Jan 1983 13:00-PST
- To: PSL-BUGS at UTAH-20
- Cc: lseward at RAND-RELAY, hearn at RAND-RELAY, marti at RAND-RELAY
- Subject: New "bug" is more subtle than that.
- From: marti at RAND-RELAY
- The previously reported semicolon bug is the result of an odd interaction
- with RLISTAT functions that the old parser did not have. The basic rule
- to remember is encapsulated in Marti's thirthfourth law:
- "A statement label in a BEGIN...END block shall not be the name of a
- previously declared RLISTAT function"
- 28-Jan-83 12:38:06-PST,725;000000000000
- Date: 28 Jan 1983 12:35:12-PST
- From: daemon at HP-VENUS
- Via: utah-cs
- Date: Fri Jan 28 10:31:34 1983
- Received: from RAND-RELAY by UTAH-20; Fri 28 Jan 83 10:29:44-MST
- Date: Friday, 28 Jan 1983 09:17-PST
- To: marti at RAND-RELAY
- Cc: PSL-BUGS at UTAH-20, lseward at RAND-RELAY, hearn at RAND-RELAY,
- griss.hplabs at UDEL-RELAY, griss at UTAH-20
- Subject: Re: Difference between new and old RLISP.
- In-reply-to: Your message of Thursday, 27 Jan 1983 09:28-PST.
- From: hearn at RAND-RELAY
- Jed, the RLISP definition does NOT require that final (pre-END) semicolon.
- If the "new" RLISP parser (I assume you mean the one on the PSL tape)
- requires it, then it can't parse most of REDUCE!
- Martin, what do you think?
- 28-Jan-83 15:55:25-PST,701;000000000000
- Date: 28 Jan 1983 1553-PST
- From: PERDUE at HP-HULK
- Subject: LoadExtensions*
- To: PSL-Project, PSL
- Achtung! The new value for LoadExtensions* combines with the
- current procedures for building the compiler
- and cross compiler to cause incorrect generation of those
- systems. The problem is that one is expected to connect to the
- directory containing the source, while one wants to LOAD the file
- on pl:. Nancy K. will fix the DEC20 .CTL files; when building on
- other machines, also be sure not to connect to "pc" or "p20c",
- "pvc", etc. when generating compilers. LOAD will probably be
- enhanced yet again so its behavior in searching for a file to
- load can be better fine-tuned.
- -------
- 28-Jan-83 20:39:42-PST,205;000000000000
- Date: 28 Jan 1983 2034-PST
- From: PERDUE at HP-HULK
- Subject: Dipthong -> Diphthong
- To: PSL
- I have changed source code to make dipthong become diphthong in
- response to Will Galway's report.
- -------
- 31-Jan-83 08:04:48-PST,366;000000000000
- Mail-From: GRISS created at 31-Jan-83 08:01:04
- Date: 31 Jan 1983 0801-PST
- From: GRISS at HP-HULK
- Subject: Mini BUG
- To: psl at HP-HULK
- A small bug seems to have crept into mini. Seems to relate to an
- OLD version of mini. Please rebuild MINI on VAX and 20, and problem will
- disappear.
- (problem was related to &variables being incorrectly bound).
- -------
- 31-Jan-83 16:17:38-PST,224;000000000000
- Date: 31 Jan 1983 1616-PST
- From: PERDUE at HP-HULK
- Subject: Automatic EOLs in PRINT, etc.
- To: PSL
- Note that all integers are assumed to take up 10 print positions,
- regardless of their actual length (crock).
- -------
- 2-Feb-83 08:39:43-PST,318;000000000000
- Date: 2 Feb 1983 0835-PST
- From: AS at HP-HULK
- Subject: testing for open channels
- To: PSL
- cc: AS
- I have looked through the I/O chapter of the PSL manual and have not
- been able to find any function that I could use to test to see if
- a channel is open or not. Is there one? If not, there should be.
- -------
- 2-Feb-83 20:00:43-PST,199;000000000000
- Mail-From: GRISS created at 2-Feb-83 19:59:31
- Date: 2 Feb 1983 1959-PST
- From: GRISS at HP-HULK
- Subject: 16#0 missprints
- To: psl at HP-HULK
- try 0 in outputbase!* 16, prints as 16#
- -------
- 3-Feb-83 10:09:19-PST,461;000000000000
- Date: 3 Feb 1983 1008-PST
- From: AS at HP-HULK
- Subject: bad error message
- To: PSL
- cc: AS
- When the catch stack overflows, the error message says that
- the binding stack overflowed. This is because the catchpush
- macro in catch-throw.red calls the function bstackoverflow
- to report overflow. This situation needs to be fixed promptly.
- People are occasionally getting binding stack overflow errors
- and we need to know which stack overflowed.
- -------
- 3-Feb-83 10:54:22-PST,587;000000000000
- Date: 3 Feb 1983 10:59:25-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: xcons
- According to the manual, "XCONS" is open compiled:
- According to the running psl on the vax, it is not.
- 9 lisp> (defun a2 (x y) (xcons x y))
- (fullword 2)
- (*entry a2 expr 2)
- (jmp (entry xcons))
- a2
- Cpu time: 51 ms
- 10 lisp> ^Z
- Same remarks apply to ncons:
- 10 lisp> (defun a3 (x) (ncons x))
- (fullword 1)
- (*entry a3 expr 1)
- (jmp (entry ncons))
- a3
- Cpu time: 17 ms
- 11 lisp> ^Z
- Douglas
- 3-Feb-83 10:59:21-PST,434;000000000000
- Date: 3 Feb 1983 11:02:41-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: missing set functions: Setminus and Setminus2
- If a, b and c are sets.
- The following function is missing from the set of psl set functions:
- (Setminus a b c) { Delete all elements of b and c from a }
- which is equivalent to
- (setminus2 (setminus2 a b) c)
- Now one must write a loop which deletes each element of b and c from a.
- Douglas
- 5-Feb-83 07:49:13-PST,485;000000000000
- Date: 5 Feb 1983 07:45:20-PST
- From: Galway@UTAH-20 at HP-VENUS
- Via: utah-cs
- Date: 5 Feb 1983 0400-MST
- From: William Galway <Galway@UTAH-20>
- Subject: non-decimal output base
- To: PSL-BUGS@UTAH-20
- When printing a number with OUTPUTBASE!* equal to some number other
- than ten, leading zeros are omitted to the extent that zero itself
- is not printed properly. For example, when trying to print
- '(0 1 2 3)
- in octal, what's actually printed is
- (8# 8#1 8#2 8#3)
- -------
- 7-Feb-83 10:39:50-PST,258;000000000000
- Mail-From: LANAM created at 7-Feb-83 10:37:55
- Date: 7 Feb 1983 1037-PST
- From: douglas <LANAM at HP-HULK>
- Subject: spelling correction to page 10-6 of manual
- To: psl at HP-HULK
- on the third line uner Flambdalinkp, "cals" should be "calls".
- -------
- 7-Feb-83 11:04:52-PST,318;000000000000
- Mail-From: LANAM created at 7-Feb-83 11:02:04
- Date: 7 Feb 1983 1102-PST
- From: douglas <LANAM at HP-HULK>
- Subject: set and setq in manual
- To: psl at HP-HULK
- The comment about the compiler declaring variables in setq fluid, should
- be in the section about the compiler, not in the section about setq.
- -------
- 7-Feb-83 18:31:54-PST,712;000000000000
- Date: 7 Feb 1983 18:33:02-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: how does one change a prompt before doing a dumplisp
- which is picked up in the dumplisped version.
- I have tried redefine the variable toploopname*.
- I have tried redefining the function standardlisp.
- I have tried setting init code which sets the variable toploopname*.
- None of these work to change the prompt in the dumped file:
- (setq toploopname* "dumped frl")
- (dumplisp "a.out")
- (quit)
- % a.out
- PSL
- 1 lisp>
- But I wanted it to say:
- % a.out
- PSL
- 1 dumped frl>
- I can not seem to get this at all. How do I do this. I looked at
- the code for main and it seems to keep redefining everything.
- Douglas
- 8-Feb-83 10:20:31-PST,507;000000000000
- Date: 8 Feb 1983 10:24:08-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: init forms evaluated at start up time.
- It would be nice if the evaluation of init-forms when a dumplisp'd file is
- started up was after all the internal variables (such as toploopname*, and
- the variable which determines what is the main top loop function or something
- like that) are set. Currently it is done before any of this, and thus you
- can not customise the dump lisp system easily by using init forms.
- Douglas
- 8-Feb-83 14:47:52-PST,598;000000000000
- Date: 8 Feb 1983 14:41:58-PST
- From: neil at HP-VENUS
- Via: utah-cs
- Date: Tue Feb 8 11:54:23 1983
- Received: from RAND-UNIX by UTAH-20; Tue 8 Feb 83 11:48:50-MST
- Date: Tuesday, 8 Feb 1983 10:35-PST
- To: psl-bugs at UTAH-20
- Cc: lseward at RAND-RELAY
- Subject: CopyScanTable function.
- From: marti at RAND-UNIX
- I am unable to get the CopyScanTable function to work. When you give it
- NIL as an argument it dies with an "CopyScanTable expects a valid read
- table as an argument". The same is true when entering CURRENTSCANTABLE!*
- or LISPSCANTABLE!* (both quoted and unquoted).
- 8-Feb-83 14:47:54-PST,464;000000000000
- Date: 8 Feb 1983 14:50:38-PST
- From: douglas at HP-MARS
- To: psl@hulk
- Subject: missing read characater token type.
- PSL is missing a read character token type.
- It appears that if you wish to make a character be a single, delimiting token,
- say make "," always be the atom ', as in `(a,b) = '(a , b) ,
- not only do you need to make the char type 11 in the current scan table,
- you need to remove all read macro definitions off the property list.
- Douglas
- 16-Feb-83 09:50:35-PST,1278;000000000000
- Date: 16 Feb 1983 0950-PST
- From: AS at HP-HULK
- Subject: load
- To: PSL
- cc: AS
- You might be interested to know that the recent change to Load to make it work
- like Imports caused the Objects package to break. It turns out that Objects
- and Common both define a Declare macro. Common is loaded by Objects, so that
- if you loaded Objects, its definition of Declare would take precedence. Now
- that any requested loads are done last, Common's definition takes precedence.
- Since Declare is functionally a comment, this problem was not noticed
- immediately. I discovered this problem only by running a timing test on
- NMODE, which showed a significant and unexpected increase in refresh time. I
- have fixed the problem by renaming my declare macro to declare-flavor, which
- should have been done anyway.
- Although the name conflict in this case was not intentional, it seems to me
- that it is a valid programming technique to write a module FOO that loads
- another module BAR and then redefines some of its functions. The way Load
- currently works, this can be done only by using distinct function names and
- invoking some setup function after loadtime to do the redefinitions. I would
- therefore recommend that Load be restored to its previous definition.
- -------
- 16-Feb-83 11:00:33-PST,298;000000000000
- Date: 16 Feb 1983 1057-PST
- From: AS at HP-HULK
- Subject: load
- To: PSL
- cc: AS
- My previous message was in error. OBJECTS was actually using IMPORTS,
- rather than LOAD. As Martin has informed me, the change to LOAD was not
- made, for the reason I pointed out in my previous message.
- -------
- 16-Feb-83 13:55:33-PST,263;000000000000
- From: rosenber at HP-MARS
- Via: HP-MARS; 16 Feb 1983 13:57:52-PST
- To: psl@hulk
- Subject: binding stack overflow.
- Can psl please break on binding stack overflow and allow some checking of
- the stack, and variables. Currently it just does an automatic reset.
- 16-Feb-83 13:57:11-PST,181;000000000000
- From: rosenber at HP-MARS
- Via: HP-MARS; 16 Feb 1983 13:58:48-PST
- To: psl@hulk
- Subject: last letter
- That letter was from douglas@mars. Please respond there. Thanks, douglas
- 17-Feb-83 06:53:56-PST,870;000000000000
- From: KESSLER@UTAH-20 at HP-VENUS
- Via: HP-VENUS; 17 Feb 1983 06:50:06-PST
- Via: utah-cs
- Date: 17 Feb 1983 0716-MST
- From: Robert R. Kessler <KESSLER@UTAH-20>
- Subject: Close()
- To: psl-bugs@UTAH-20
- cc: Keller@UTAH-20
- Calling Close with no arguments causes an:
- ***** undefined function NOCHANGE called from compiled code.
- After some investigation, it turns out that the problem is that calling a
- function with zero arguments (as opposed to with nil as the argument,
- therefore foo(); is not equivalent to foo nil; although () and nil are
- usually equivalent), access to the argument from within the body gets
- the code pointer of the function (only happens with compiled code,
- interpreted code checks argument match).
- Is there any fix to this? (other than argument number checking?) Should
- we make foo() equivalent to foo nil???
- Bob.
- -------
- 17-Feb-83 09:29:45-PST,329;000000000000
- Date: 17 Feb 1983 0925-PST
- From: AS at HP-HULK
- Subject: fluid
- To: PSL
- cc: AS
- The manual describes the FLUID function as being a pure declaration.
- However, in reality, it sometimes SETs the variable to NIL.
- I recommend that FLUID be changed not to SET the variable.
- (Global, of course, has the same property.)
- -------
- 17-Feb-83 09:29:55-PST,626;000000000000
- Date: 17 Feb 1983 0927-PST
- From: PERDUE at HP-HULK
- Subject: Re: Close()
- To: PSL
- In-Reply-To: Your message of 17-Feb-83
- In my opinion argument number checking is one of the most
- attractive alternatives for dealing with the problem of garbage
- values for unsupplied arguments. Individual functions checking
- their arguments for validity is also attractive and solves a
- somewhat different set of problems.
- "Close" for example can check that its argument is an integer in
- the appropriate range. Trying to make arguments default to NIL
- looks less desirable to me than providing argument number
- checking.
- -------
- 17-Feb-83 11:19:45-PST,177;000000000000
- Date: 17 Feb 1983 1116-PST
- From: AS at HP-HULK
- Subject: backtrace
- To: PSL
- cc: AS
- The function STACKCHECK (used on the 9836) should be omitted from
- backtraces.
- -------
- 18-Feb-83 08:30:15-PST,648;000000000000
- Mail-From: GRISS created at 18-Feb-83 08:25:52
- Date: 18 Feb 1983 0825-PST
- From: GRISS at HP-HULK
- Subject: Lap-68000 bug
- To: psl at HP-HULK
- Apparently, LAP on teh 68000's doesnt check the validity of
- Operator/operand cobinations as well as it should:
- (MOVEA!.L (fluid NIL) (REG d0)) is actually
- illegal, but went through fine..
- I belive LAP can check, just is sloppy. If LAP is to be used much
- as a tool for efficient code until the compiler/code-gens improve,
- some effort should go into improving this.
- The symptom was that we got random Bind stack overflows after calling
- Wquotient, since NIL was not being reset..
- -------
- 20-Feb-83 01:36:42-PST,624;000000000000
- From: daemon at HP-VENUS
- Via: HP-VENUS; 20 Feb 1983 01:34:23-PST
- Via: utah-cs
- Date: 19 Feb 1983 2152-MST
- From: Keller@UTAH-20 (Robert M. Keller)
- Subject: pattern matching in mini
- To: psl-bugs@UTAH-20
- The pattern matching feature of mini seems really nice, but it is described
- rather tersely in the psl manual. On looking at the rule for patterns in
- mini.min, I get the feeling there are more goodies there, but can't quite
- make out what they are on casual reading.
- 1. Is this feature documented elsewhere?
- 2. How about &identifier as well as &number for match variables.
- Thanks.
- Bob
- -------
- 21-Feb-83 10:48:30-PST,691;000000000000
- From: douglas at HP-MARS
- Via: HP-MARS; 21 Feb 1983 10:54:14-PST
- To: psl@hulk
- Subject: *echo
- If i do
- (setq *echo t) and then dskin a file.
- I have found that a line is echod after it has been evaluated.
- First you get all output generated by the command, then you see
- the command echoed, then you see the return value, followed by an
- extra carriage return (I don't know where this came from either).
- Thus if we have a.sl:
- (print "hello")
- And did
- (setq *echo t)
- (dskin "a.sl")
- We will see
- "hello"
- (print "hello")
- "hello"
- 2 lisp>
- I think it would make more sense to see the input first than the
- printed side effects and then the resulting value.
- Douglas
- 21-Feb-83 10:53:30-PST,595;000000000000
- From: douglas at HP-MARS
- Via: HP-MARS; 21 Feb 1983 10:57:59-PST
- To: psl@Hulk
- Subject: correction to last letter
- I must say I made a mistake. I tried it out with print and
- the system did things in the right order. The error comes
- when I have (faslin ..") in a file. The redefining messages
- come first, then the input line, and lastly the resulting value.
- The real problem must be that output to stdout* is not flushed
- before output is flushed from errout* (where the redefining
- messages are sent). Thus the appearance that things are echoed
- after they are executed.
- Douglas
- 21-Feb-83 11:03:37-PST,401;000000000000
- Mail-From: GRISS created at 21-Feb-83 11:02:38
- Date: 21 Feb 1983 1102-PST
- From: GRISS at HP-HULK
- Subject: Re: correction to last letter
- To: douglas at HP-MARS
- cc: GRISS at HP-HULK, psl at HP-HULK
- In-Reply-To: Your message of 21-Feb-83 1053-PST
- Yes, I think problem is that we are useing 2 different channels, STDOUT and ERROUT
- ala unix... I think ERROUT!!* should be set to STDOUT
- -------
- 23-Feb-83 20:21:56-PST,734;000000000000
- Date: 23 Feb 1983 20:23:30-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: flush or drain
- Cc: rosenber@HP-MARS
- I need a function that will flush, drain, or clear an input buffer (stdin*).
- What I want is to able to say (flush x) where
- if x is an input (terminal port), then all input waiting is flushed and ignored.
- If there is no waiting input, nothing is done.
- if x is an output port, than all output is sent (the information is known to
- be written to the file or port, but the port is not closed). At present, I
- only know how to do this by closing the port.
- Do such commands exist in psl?
- If not, Can you please add them? I need them as soon as possible for the
- frl i/o system.
- Thanks,
- Douglas
- 23-Feb-83 20:31:57-PST,631;000000000000
- Date: 23 Feb 1983 20:33:16-PST
- From: douglas@HP-MARS
- To: psl@Hulk
- Subject: tyipeek
- Cc: rosenber@HP-MARS
- I also need a function that does a (tyipeek)
- It will check if there is any character waiting in the input buffer (in*)
- If yes, it will return it, (but not advance the input buffer).
- If not, it will return nil. It will not wait for input.
- At present, I can not find any function that does anything like this.
- Does such a function exist in psl?
- If not, can it be added as soon as possible?
- This function is needed as soon as possible to make the frl i/o system
- work correctly.
- Thanks,
- Douglas
- 23-Feb-83 21:11:49-PST,460;000000000000
- Date: 23 Feb 1983 21:13:19-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: miscount in (posn)
- If I output to stdout* some string, then either output a carriage-return
- with no line feed (cntl-M) or output some backspaces (cntrl-H), the printing
- is done correctly (backspacing on the screen and rewritting over), but
- (posn) reports the position as if the backspace and carriage return were
- the same as any other character (example: "a").
- Douglas
- 23-Feb-83 21:16:50-PST,283;000000000000
- Date: 23 Feb 1983 21:21:14-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: correction for (posn)
- The correction that will make (posn) correct after backspaces and
- carriage returns needs to be made in the file "char-io.red" in the
- kernel, somewhere near line 50.
- Douglas
- 23-Feb-83 21:21:48-PST,347;000000000000
- Date: 23 Feb 1983 21:26:15-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: syslisp
- What happened to the section in the manual on syslisp? It used to be right
- after the compiler.
- I need to know how do I access a variable which is declared in the kernel
- with syslisp on, and was declared
- external warray lineposition;
- Douglas
- 23-Feb-83 22:01:41-PST,416;000000000000
- Date: 23 Feb 1983 22:03:38-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: chipmunk psl bug
- If you type an id name into psl on the chipmunk that is around
- 4 line of screen or more long (maybe the limit is less), you will get
- thrown out to the operating system (command: compiler ..) with
- error -8: value range error.
- Also how can I do relative cursor addressing on the chipmunk in psl?
- Douglas
- 24-Feb-83 12:41:03-PST,534;000000000000
- Date: 24 Feb 1983 1042-MST
- From: Keller@UTAH-20 (Robert M. Keller)
- Received: by HPLABS via UUCP; 24 Feb 1983 12:36:15-PST (Thu)
- Subject: trace package
- To: psl-bugs@UTAH-20
- Via: uucp host utah-cs; 24 Feb 1983 10:46:58-??? (Thu)
- I still want to change the output format from trace. In particular, I would
- like to change the linelength from its current 50-60 chars, and possibly
- pretty-print. Can you tell me where I can access the trace definitions.
- I could not find it by searching the directory.
- Thanks.
- -------
- 24-Feb-83 12:41:07-PST,1076;000000000000
- Date: 24 Feb 1983 1112-MST
- From: Keller@UTAH-20 (Robert M. Keller)
- Received: by HPLABS via UUCP; 24 Feb 1983 12:36:28-PST (Thu)
- Subject: some suggestions for tracing
- To: Othmer@UTAH-20
- cc: psl-bugs@UTAH-20
- Via: uucp host utah-cs; 24 Feb 1983 11:17:10-??? (Thu)
- Please change the 50-60 char output lines used by the function trace facility,
- or provide info to the user as to how he/she can change it.
- I would suggest that a pretty-print of some kind be used for the trace output.
- An even more useful (but complicated) trace would be to avoid printing
- the same sub-structure time after time, as if printx were used over the entire
- tracing session. Having to visually scan huge s-expressions is difficult.
- I realize there are degrees to which individual users would like to have
- this happen, but when expressions get really large, the current mode is almost
- worthless. Pretty-printing would alleviate the visualization problem a little.
- I will be happy to elaborate (e.g. by means of a demo) if you don't see what
- I mean.
- Thanks.
- Bob
- -------
- 25-Feb-83 10:33:09-PST,300;000000000000
- Mail-From: GRISS created at 25-Feb-83 10:29:03
- Date: 25 Feb 1983 1029-PST
- From: GRISS at HP-HULK
- Subject: Writefloat bUG on VAX
- To: psl at HP-HULK
- .00001 prints incorrectly on the VAX, and can not be read in.
- Either need to change the call to C, or replace by a PSL written routine
- -------
- 25-Feb-83 14:03:08-PST,207;000000000000
- Date: 25 Feb 1983 14:05:08-PST
- From: douglas@HP-MARS
- To: nancyk@hulk, psl@HP-MARS
- Subject: when will psl return on mars?
- The object disappeared. I need it as soon as possible.
- Thanks,
- Douglas
- 25-Feb-83 22:28:54-PST,487;000000000000
- Date: 25 Feb 1983 1716-MST
- From: William Galway <Galway@UTAH-20>
- Received: by HPLABS via UUCP; 25 Feb 1983 22:22:48-PST (Fri)
- Subject: Possible "bug"
- To: PSL-BUGS@UTAH-20
- Via: uucp host utah-cs; 25 Feb 1983 17:21:33-??? (Fri)
- (LOAD foo) gives a warning message "foo already loaded" in the Vax
- version of PSL, doesn't complain on the 20. (If, of course, foo is already
- loaded.)
- Looks like the Vax version is the older version of LOAD and should be
- updated?
- -------
- 2-Mar-83 11:54:23-PST,356;000000000000
- Date: 2 Mar 1983 1153-PST
- From: PERDUE at HP-HULK
- Subject: LShift
- To: PSL
- This is documented in the manual as an arithmetic shift and
- implemented on the DEC-20 as a fullword logical shift. In
- SYSLISP it maps to WSHIFT which is implemented via the LSH
- instruction.
- Is the implementation "fully correct" and the documentation
- wrong?
- -------
- 3-Mar-83 06:28:19-PST,716;000000000000
- Date: 2 Mar 1983 1746-MST
- From: William Galway <Galway@UTAH-20>
- Received: by HPLABS via UUCP; 3 Mar 1983 06:22:16-PST (Thu)
- Subject: Can someone tell me ...
- To: PSL-BUGS@UTAH-20
- Via: uucp host utah-cs; 2 Mar 1983 17:51:23-??? (Wed)
- ... about the SelectQ macro in our Common Lisp compatibility package?
- It seems to correspond to the CASE macro described in the latest Common
- Lisp manual. Is the name "SelectQ" inherited from an earlier version of
- the Common Lisp manual, or was the name chosen to avoid conflict with some
- other CASE function in PSL? I'm sure Eric Benson knows, but would anyone
- else care to guess? Should we make some effort to convert "SelectQ" to
- "case"?
- Thanks.
- -------
- 4-Mar-83 01:01:20-PST,568;000000000000
- Date: 4 Mar 1983 01:05:07-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: long name problem in psl.
- If I am in the directory ~psl/dist/util, and run psl and say
- (load fast-int). This will fail because numeric-opeators.b is
- not in fasl format. This is because the system tries to
- load numeric-operators.b and finds a file numeric-operators in .
- (. = current directory) , but this file is actually numeric-operators.sl.
- It appears unix can only have 14 letters in a file name, and thus the
- binary and source have the same name in this case.
- Douglas
- 4-Mar-83 01:51:11-PST,303;000000000000
- Date: 4 Mar 1983 01:55:10-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: *pgwd flag
- In what psl source files is this flag declared and used?
- I have grepped all files in the kernel, non-kernel, comp, and util and
- can find no reference to this flag (upper or lower case).
- Thanks,
- Douglas
- 4-Mar-83 09:31:17-PST,233;000000000000
- Date: 4 Mar 1983 0927-PST
- From: PERDUE at HP-HULK
- Subject: SELECTQ documentation
- To: PSL
- There is now reference manual documentation for SELECTQ, but it
- doesn't mention that SELECTQ is in the COMMON library module.
- -------
- 4-Mar-83 10:11:22-PST,778;000000000000
- Date: 4 Mar 1983 1010-PST
- From: PERDUE at HP-HULK
- Subject: Compiler bug
- To: PSL
- I have fixed a compiler bug known to cause incorrect code
- generation on the DEC-20 and the HP9836. The SUBPAT pattern (for
- WDIFFERENCE code generation) was missing a case. The contents of
- a .sl format patch file I created follows. The missing case was
- the one with the "USESDEST".
- (PUT 'SUBPAT 'PATTERN
- '(NIL
- ('*SET DEST (FN A1 A2))
- ((DEST ANY) (MAC A1 A2))
- ((ANY DEST) ('*WMINUS DEST DEST) ('*WPLUS2 A2 A1))
- ((ANY USESDEST) ('*LOAD T1 A2) ('*LOAD DEST A1) (MAC DEST T1))
- (ANY ('*LOAD DEST A1) (MAC DEST A2))))
- The following example fails with the current SUBPAT patterns:
- (de test (x) (wdifference 2048 (igetv x 4)))
- -------
- 4-Mar-83 10:46:20-PST,791;000000000000
- Date: 4 Mar 1983 0149-MST
- From: William Galway <Galway@UTAH-20>
- Received: by HPLABS via UUCP; 4 Mar 1983 10:41:43-PST (Fri)
- Subject: request for compiler
- To: PSL-BUGS@UTAH-20
- Via: uucp host utah-cs; 4 Mar 1983 01:49:48-??? (Fri)
- The compiler needs to be more careful when expanding CMACROs. I've
- just spent several hours discovering that I was calling SUBSTRING with
- two arguments instead three. When the compiler tries to expand the
- CMACRO, it calls the PAIR function with some bad arguments, thus
- producing the informative message "Different length lists in PAIR".
- Anyone care to attack the problem? It should be fairly easy, since
- all the necessary information (the number of arguments needed, and the
- number passed) are both available at compile time.
- -------
- 5-Mar-83 07:51:13-PST,441;000000000000
- Mail-From: GRISS created at 5-Mar-83 07:48:23
- Date: 5 Mar 1983 0746-PST
- From: GRISS at HP-HULK
- Subject: Re: *pgwd flag
- To: douglas at HP-MARS
- cc: GRISS
- In-Reply-To: Your message of 4-Mar-83 0151-PST
- Remailed-date: 5 Mar 1983 0748-PST
- Remailed-from: GRISS at HP-HULK
- Remailed-to: psl at HP-HULK
- In principle, should be in LAP; my guess is now obselete; use PCMAC, or PLAP,
- instead.
- Also, call it SWITCH, not FLAG
- -------
- 7-Mar-83 09:46:38-PST,344;000000000000
- Date: 7 Mar 1983 09:52:04-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: left-expand undefined function
- % psl
- PSL 3.1, 25-Feb-83
- 1 lisp> (- 3 4 5)
- -6
- 2 lisp> (load fast-int)
- NIL
- 3 lisp> (- 3 4 5)
- ***** Undefined function `LEFT-EXPAND' called from compiled code
- ***** Continuable error.
- Break loop
- 4 lisp break>> ^Z
- Stopped
- 7-Mar-83 11:23:52-PST,467;000000000000
- Date: 7 Mar 1983 11:28:34-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: locking chipmunk keyboard during garbage collection.
- How can I prevent having to reboot if the system goes into endless
- gc because of lack of space or gets an error during gc. Currently
- shift-reset, shift-stop gets me out but does not unlock the keyboard(I seem
- to only be able to get the next program started - like the filer, but can
- not type input to this program).
- Douglas
- 7-Mar-83 13:53:52-PST,397;000000000000
- Date: 7 Mar 1983 13:57:02-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: flag
- If you say (flag 'x 'y), nothing happens.
- I mean you get no error message. The function acts like it worked.
- But the function did nothing. Either it should produce an error
- message that 'x is not a list, or it should accept the 'x and act like
- it was give '(x). Personally, i prefer the second action.
- 7-Mar-83 14:44:05-PST,544;000000000000
- Date: 7 Mar 1983 14:48:38-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: locked keyboard problem in chipmunk
- I get a lot of locked keyboards with psl where I have to reboot.
- This is very, very, very inconvienient.
- The troubles come from when a stream file is executing psl and
- does something wrong and I want to interrupt it and start over.
- I interrupt and stop it and then find I can't get much to work for me.
- (I can get the compiler, editor or filer started sometimes, but I can't
- get any input typed into them).
- Douglas
- 7-Mar-83 14:53:56-PST,430;000000000000
- Date: 7 Mar 1983 14:59:20-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: chipmunk load bug
- If you reset out* , stdout* and errout* to say (open "printer" 'output).
- then if you do (faslin "xx.b") but xx.b does not exist.
- Instead of getting a message on the "printer:" that xx.b can not be found
- along with a break point, you get:
- Error -10: (No I/o error reported)
- Pc = #######
- And thrown out of psl.
- Douglas
- 8-Mar-83 11:15:28-PST,227;000000000000
- Date: 8 Mar 1983 1111-PST
- From: SLUTZ at HP-THOR
- Received: by HP-MARS via CHAOSNET; 8 Mar 1983 11:22:06-PST
- Subject: Re: Tape drive
- To: psl@HP-MARS
- In-Reply-To: Your message of 8-Mar-83 1105-PST
- finished
- -------
- 8-Mar-83 14:57:45-PST,352;000000000000
- Date: 8 Mar 1983 15:00:17-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: why do I need so many psl defined volumes?
- Why can't I just work with say one for libraries and one for where the
- objects are stored? (say SYS: and PU: on 9836)?
- I don't use the others to my knowledge. There seems to be an overflowing
- abundance of psl directories.
- 8-Mar-83 17:37:12-PST,274;000000000000
- Mail-From: GRISS created at 8-Mar-83 17:32:46
- Date: 8 Mar 1983 1732-PST
- From: GRISS at HP-HULK
- Subject: negative Floats
- To: psl at HP-HULK
- -1.00 etc doesnt parse correctly in PSL, but OK in RLISP
- Also, -5#3 and 5#-3 behave differently in PSL and RLISP
- -------
- 9-Mar-83 01:42:19-PST,561;000000000000
- Date: 6 Mar 1983 1550-MST
- From: JW-Peterson@UTAH-20 (John W. Peterson)
- Received: by HPLABS via UUCP; 9 Mar 1983 01:38:47-PST (Wed)
- Subject: vax psl bug.
- To: griss@HP-VENUS, kesSLER@HP-VENUS
- cc: galWAY@HP-VENUS
- Remailed-date: 7 Mar 1983 0719-MST
- Remailed-from: Martin.Griss <Griss@UTAH-20>
- Remailed-to: psl-bugs@UTAH-20
- Via: uucp host utah-cs; 7 Mar 1983 07:23:38-??? (Mon)
- works o.k. on the 20...
- 1 cs> rlisp
- PSL 3.1 Rlisp, 3-Mar-83
- [1] outputbase!*:=2;
- 2#10
- [2#10] 27;
- 2#11011
- [2#11] -27;
- Illegal instruction
- 2 cs>
- -------
- 9-Mar-83 01:42:20-PST,745;000000000000
- Date: 6 Mar 1983 1721-MST
- From: JW-Peterson@UTAH-20 (John W. Peterson)
- Received: by HPLABS via UUCP; 9 Mar 1983 01:38:52-PST (Wed)
- Subject: inconsistancy in base 2 output.
- To: griss@HP-VENUS, kesSLER@HP-VENUS
- cc: galWAY@HP-VENUS
- Remailed-date: 7 Mar 1983 0720-MST
- Remailed-from: Martin.Griss <Griss@UTAH-20>
- Remailed-to: psl-bugs@UTAH-20
- Via: uucp host utah-cs; 7 Mar 1983 07:24:25-??? (Mon)
- hmm. this seems to be inconsistant across versions.
- -27 ==>
- Dec20:
- 2#111111111111111111111111111111100101
- Vax:
- (dies w/illegal inst)
- Apollo:
- 2#-11011
- (which, when parsed again by the reader, results in:
- 2#-10101100000011)
- not a drasticly important problem, but perhaps worth adding to the list.
- -------
- 9-Mar-83 03:37:09-PST,292;000000000000
- Date: 8 Mar 1983 2009-MST
- From: Martin.Griss <Griss@UTAH-20>
- Received: by HPLABS via UUCP; 9 Mar 1983 03:31:20-PST (Wed)
- Subject: TEST OF MAILING LIST FROM GRISS AT UTAH
- To: PSL-BUGS@UTAH-20
- cc: griss@UTAH-20
- Via: uucp host utah-cs; 8 Mar 1983 20:14:32-??? (Tue)
- RSVP
- -------
- 9-Mar-83 03:37:11-PST,292;000000000000
- Date: 8 Mar 1983 2009-MST
- From: Martin.Griss <Griss@UTAH-20>
- Received: by HPLABS via UUCP; 9 Mar 1983 03:31:23-PST (Wed)
- Subject: TEST OF MAILING LIST FROM GRISS AT UTAH
- To: PSL-BUGS@UTAH-20
- cc: griss@UTAH-20
- Via: uucp host utah-cs; 8 Mar 1983 20:14:32-??? (Tue)
- RSVP
- -------
- 9-Mar-83 05:36:41-PST,200;000000000000
- Mail-From: GRISS created at 9-Mar-83 05:36:19
- Date: 9 Mar 1983 0536-PST
- From: GRISS at HP-HULK
- Subject: Test of mailing| list
- To: psl at HP-HULK
- Sent from HP;RSVP, Utah especially.
- -------
- 9-Mar-83 10:06:07-PST,131;000000000000
- Date: 9 Mar 1983 1001-PST
- From: PERDUE at HP-HULK
- Subject: Test
- To: PSL
- Testing. Bob Kessler please acknowledge.
- -------
- 9-Mar-83 10:31:02-PST,218;000000000000
- Date: 9 Mar 1983 1029-PST
- From: PERDUE at HP-HULK
- Subject: Input of floating point numbers
- To: PSL
- Negative floating point numbers are read as positive numbers on
- PSL on HULK. E.g. -3.5 becomes 3.5.
- -------
- 9-Mar-83 10:46:01-PST,753;000000000000
- Date: 9 Mar 1983 10:47:22-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: bugs in chipmunk psl dumplisp.
- If the file that you are trying to dump into already exists,
- you get an operating system error:
- Error: -3 .
- Also, how do I unset the keyboard if I get stuck in psl where shift-reset is
- the only way out. I have found times when shift-stop is ignored and I
- need to reset (especially if the gc breaks for some reason), or when I
- get thrown out by operating system errors that are not continuable.
- Then I have to turn my machine off (I don't trust "sb" anymore after
- one day of strange things happening - files not being unlocked on the SRM,
- and my losing memory that didn't come back until I turned my machine off).
- Douglas
- 9-Mar-83 13:12:50-PST,991;000000000000
- Date: 7 Mar 1983 1616-MST
- From: William Galway <Galway@UTAH-20>
- Received: by HPLABS via UUCP; 9 Mar 1983 13:05:48-PST (Wed)
- Subject: Re: inconsistancy in base 2 output.
- To: JW-Peterson@HP-VENUS, griss@HP-VENUS, kesSLER@HP-VENUS
- In-Reply-To: Your message of 6-Mar-83 1721-MST
- Remailed-date: 9 Mar 1983 0707-MST
- Remailed-from: Martin.Griss <Griss@UTAH-20>
- Remailed-to: psl-bugs@UTAH-20
- Via: uucp host utah-cs; 9 Mar 1983 07:10:14-??? (Wed)
- To my mind, this word-sized dependent printing is WRONG. Negative numbers
- should print as negative numbers. (I'd say that the correct model is the
- BIGNUM stuff--except that's wrong too, at the moment. E.g. even with BIG
- loaded, -10 prints as 8#777777777766 in radix 8, should print as -8#10.)
- In fact, PSL really needs better utilities for radix conversion (both
- printing and reading) and dealing with various sized words/bytes. Probably
- a lot could be done by just making the current code a bit more accessible.
- -------
- 10-Mar-83 03:17:11-PST,1230;000000000000
- Date: 9 Mar 1983 1512-MST
- From: Harold Carr <CARR@UTAH-20>
- Received: by HPLABS via UUCP; 10 Mar 1983 03:13:15-PST (Thu)
- Subject: vax psl version 3.1 installation
- To: psl-bugs@UTAH-20
- cc: psi.krohnfeldt@UTAH-20
- Via: uucp host utah-cs; 9 Mar 1983 15:16:02-??? (Wed)
- We only ran into one bug in the installation procedure (other than some
- others we caused ourselves by trying to be clever). In config there is the
- line:
- if !(-e $psys) mkdir $psys
- further down the config file these are run:
- $pvsup/make-bare-psl
- $pvsup/make-psl
- $pvsup/make-pslcomp
- $pvsup/make-rlisp
- In each of the above files there is a line similar to:
- mv $psys/bare-psl $psys/old-bare-psl
- but bare-psl, psl, etc all still live from the tape as ./psl, etc.
- So, when you find that $psys does not exist, besides making the directory
- you also need to move bare-psl, psl, rlisp, etc to the newly made $psys.
- *****
- Another small problem: you go to the trouble to make the psl-names file
- which is used by config, but many of the other scripts and makefiles still
- use relative path names. The should all source psl-names and use the
- $ variables.
- Harold and Jed
- -------
- 10-Mar-83 15:23:44-PST,282;000000000000
- Date: 10 Mar 1983 15:27:39-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: missing cmacro's. There seem to be cmacros missing for functions
- like cadadr. Thus these functions are not open coded. (It seems
- that functions with 3-4 letters are not all completely cmacrod).
- 10-Mar-83 22:42:49-PST,289;000000000000
- Date: 10 Mar 1983 22:47:12-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: correction about cmacros and c..r functions
- It seems that all functions c[ad][ad][ad][ad]r (4 a's or d's between
- the c and r), do not have any information about for to be open
- compiled in psl.
- Douglas
- 14-Mar-83 14:40:34-PST,509;000000000000
- Date: 12 Mar 1983 10:49:44-??? (Sat)
- From: utah-cs!hearn@RAND-RELAY
- Received: by HP-VENUS via UUCP; 14 Mar 1983 14:40:40-PST (Mon)
- Received: from RAND-RELAY by UTAH-20; Sat 12 Mar 83 10:48:38-MST
- Date: Saturday, 12 Mar 1983 09:36-PST
- To: Martin.Griss@HP-VENUS, <Griss@UTAH-20>
- Cc: PSL-BUGS@UTAH-20
- Subject: Re: TEST OF MAILING LIST FROM GRISS AT UTAH
- In-reply-to: Your message of 8 Mar 1983 2009-MST.
- From: hearn at RAND-RELAY
- Via: uucp host utah-cs; 12 Mar 1983 10:49:44-??? (Sat)
- Got it!
- 14-Mar-83 14:45:43-PST,806;000000000000
- Date: 14 Mar 1983 1428-MST
- From: Gary Barbour <Barbour@UTAH-20>
- Subject: Nmode and illegal item in Heap
- To: PSL-Bugs@UTAH-20
- Received: by HP-VENUS via UUCP; 14 Mar 1983 14:44:06-PST (Mon)
- Via: uucp host utah-cs; 14 Mar 1983 14:30:11-??? (Mon)
- While in Nmode, editing a Lisp file, the first Garbage Collecting
- started, these errors appeared...... (whatever help it is)
- ***** Fatal Error during garbage collecting, Illegal item in heap at 751255
- ***** Flavor Teleray has no Method Raw-Mode.
- ***** Flavor Teleray has no Method Ring-Bell.
- And then the prompt below appeared and went across the screen, when
- returns where entered, until no response at the end of the line.
- 8 Rlisp>> 8 Rlisp>> 8 Rlisp>> 8 Rlisp>> 8 Rlisp>> 8 Rlisp>> 8 Rlisp >>
- Gary...
- -------
- 15-Mar-83 08:29:38-PST,987;000000000000
- Date: 14 Mar 1983 1502-MST
- From: Jed Krohnfeldt <PSI.KROHNFELDT@UTAH-20>
- Subject: reader problem(s)
- To: psl-bugs@UTAH-20
- cc: carr@UTAH-20
- Received: by HP-VENUS via UUCP; 15 Mar 1983 08:28:28-PST (Tue)
- Via: uucp host utah-cs; 14 Mar 1983 17:06:22-??? (Mon)
- I changed the syntax of dot as follows:
- (setindx currentscantable!* (char dot) 10)
- This should have changed the interpretation of dot to "letter".
- Indeed it did in most cases, as in (setq a.b 3). However, there
- seem to be a few portions of the reader which insist on keeping
- the old interpretation of dot. For example, I can still type
- 34.5
- and have it interpreted as a floating point number. Also,
- (car '(a . b))
- returns a. This does not seem right. Given my syntax change,
- the two above cases should have been errors. There should not be
- context-sensitive portions of the reader, such that a syntax
- change takes effect in unpredictable ways. Is this correct?
- -------
- 15-Mar-83 10:00:58-PST,155;000000000000
- Date: 15 Mar 1983 1000-PST
- From: PERDUE at HP-HULK
- Subject: Test
- To: PSL
- Again, Bob Kessler please forward this back if received. Thanks.
- -------
- 15-Mar-83 10:06:00-PST,243;000000000000
- Date: 15 Mar 1983 1003-PST
- From: PERDUE at HP-HULK
- Subject: Testing, . . .
- To: PSL
- Testing the effect of lowercase "utah-cs" in the doublequoted
- form of the mailing address. Bob Kessler please forward this
- back if received.
- -------
- 16-Mar-83 03:37:00-PST,1451;000000000000
- Date: 15 Mar 1983 1607-MST
- From: Jed Krohnfeldt <PSI.KROHNFELDT@UTAH-20>
- Subject: problem with loop macro
- To: psl-bugs@UTAH-20
- cc: carr@UTAH-20
- Received: by HP-VENUS via UUCP; 16 Mar 1983 03:33:18-PST (Wed)
- Via: uucp host utah-cs; 15 Mar 1983 16:10:12-??? (Tue)
- In the loop macro package, there is a problem in the routine
- loop-get-form. The code for this routine appears below - it is
- identical to the code used in franz:
- (defun loop-get-form ()
- (do ((forms (list (pop loop-source-code)) (cons (pop loop-source-code) forms))
- (nextform (car loop-source-code) (car loop-source-code)))
- ((atom nextform)
- (if (null (cdr forms)) (car forms)
- (cons 'progn (nreverse forms))))))
- It's purpose is to grab sexpressions from a global list
- loop-source-code until an atom is encountered, and then to return
- the constructed list of sexpressions grabbed, leaving the atom on
- loop-source-code. This is part of the basic keyword recognition
- code for loop.
- There is a problem with the above code, however. It is written
- such that it depends on the pop in the update of "forms" occuring
- before the update of "nextform". This is not a safe assumption
- when using do, since do is a parallel construct, both in franz
- and in psl. It just happens to work correctly in franz by luck,
- and not in psl. The do in the code above should be replaced with
- do* which will make it work correctly in psl.
- -------
- 16-Mar-83 06:16:43-PST,832;000000000000
- Date: 15 Mar 1983 2254-MST
- From: Jed Krohnfeldt <PSI.KROHNFELDT@UTAH-20>
- Subject: common lisp compatibility
- To: psl-bugs@UTAH-20
- Received: by HP-VENUS via UUCP; 16 Mar 1983 06:14:15-PST (Wed)
- Via: uucp host utah-cs; 15 Mar 1983 22:57:35-??? (Tue)
- In the file pu:clcomp1.sl there is a bug. A number of syntax changes
- are done in this file. One of them makes ! (bang) a letter. Later
- in the file, ! is used to escape the # character. This causes problems
- with the load of clcomp1. The code that changes the syntax of ! should
- be moved to the end of the file.
- Also, since there is no clcomp.sl or clcomp.build I assume clcomp1.* has
- replaced it. There are still several files on pu: that depend on
- clcomp. They should be changed to depend on clcomp1 or clcomp1 should
- be renamed back to clcomp.
- -------
- 16-Mar-83 17:37:17-PST,1415;000000000000
- Date: 16 Mar 1983 1512-MST
- From: Harold Carr <CARR@UTAH-20>
- Subject: .pslrc
- To: psl-bugs@UTAH-20
- cc: psi.kroHNFELDT@UTAH-20
- Received: by HP-VENUS via UUCP; 16 Mar 1983 17:35:45-PST (Wed)
- Via: uucp host utah-cs; 16 Mar 1983 15:15:44-??? (Wed)
- If there are errors in the .pslrc file this is what happens:
- *****Couldn't open binary file for input
- *****Segmentation violation
- *****Illegal Instruction
- *****Fatal error: Error not within ErrorSet
- Stopped
- This particular error is that I was trying to load a file it couldn't find.
- You should probably catch this error and continue on to the top loop. At least
- don't stop the job, kill it, if you don't go to the top loop.
- Also, I have the form: (setq toploopname!* "") in my .pslrc but it does not
- take effect. Once the system has started up if I enter the above it does.
- Clearly, toploopname!* is being set after loading the init file. Too bad.
- Also, I am still not too happy about the interaction between promptstring!*
- and READ. If I want a prompt, I would rather PRINT it.
- Also, when I did (help switches) I got:
- ***Couldn't find help file '"$ph/switches.hlp"'
- and when I looked on $ph, it indeed was not there. Should it be?
- One question: is there some sort of global like: *no-exit-on-eof* that
- when non-nil does not allow ^D to exit the system: getting out instead
- with a function like (exit)?
- Harold
- -------
- 16-Mar-83 17:37:25-PST,711;000000000000
- Date: 16 Mar 1983 1631-MST
- From: Harold Carr <CARR@UTAH-20>
- Subject: .pslrc
- To: psl-bugs@UTAH-20
- cc: psi.krohNFELDT@UTAH-20
- Received: by HP-VENUS via UUCP; 16 Mar 1983 17:36:37-PST (Wed)
- Via: uucp host utah-cs; 16 Mar 1983 16:34:15-??? (Wed)
- Could someone explain when and in what environment the init file gets loaded?
- If I do a (setindx currentscantable* 59 12) in my .pslrc it crashes with a
- bus error. However, removing the above form from the rc file and then entering
- it to the top loop works just fine. The .pslrc file should be loaded in
- an environment similar to what the top loop is executing in (of course, the
- .pslrc file should be able to change the top loop). Harold
- -------
- 16-Mar-83 17:37:34-PST,596;000000000000
- Date: 16 Mar 1983 1524-MST
- From: William Galway <Galway@UTAH-20>
- Subject: HELP function
- To: PSL-BUGS@UTAH-20
- Received: by HP-VENUS via UUCP; 16 Mar 1983 17:35:54-PST (Wed)
- Via: uucp host utah-cs; 16 Mar 1983 15:25:33-??? (Wed)
- Harold's message prompted me to try out the HELP function on the 20. It's
- definitely broken. In response to
- (help)
- I get the response
- ***** `DEFINEFLAG' is an undefined function
- I wonder if part of the problem is a failure to complete the changeover
- to our new terminology--where we use "switches" instead of calling them
- "flags".
- -------
- 16-Mar-83 17:52:17-PST,383;000000000000
- Date: 16 Mar 1983 1749-PST
- From: PERDUE at HP-HULK
- Subject: Re: HELP function
- To: PSL
- In-Reply-To: Your message of 16-Mar-83
- The HELP function WORKS on the DEC-20 at HP. I am completely
- unable to locate any use or definition of a function
- `DEFINEFLAG'. It is not defined in PSL. It does not seem to
- appear in any of our source files? Can anyone help on this?
- -------
- 21-Mar-83 10:49:55-PST,915;000000000000
- Date: 21 Mar 1983 0739-MST
- From: Robert R. Kessler <utah-cs!KESSLER@UTAH-20>
- Subject: [John JW-Peterson <jwp@Utah-CS>: Fatel GC error]
- Message-Id: <8303211445.AA13214@UTAH-CS.ARPA>
- Received: by HP-VENUS via UUCP; 21 Mar 1983 10:45:11-PST (Mon)
- Received: from UTAH-20 by UTAH-CS.ARPA (3.320/3.7)
- id AA13214; 21 Mar 83 07:45:07 MST (Mon)
- To: psl-bugs@UTAH-20
- Via: uucp host utah-cs; 21 Mar 1983 07:45:07-??? (Mon)
- I have seen this before. Anyone have any ideas?
- ---------------
- Return-path: <jwp@Utah-CS>
- Received: from UTAH-CS by UTAH-20; Mon 21 Mar 83 02:49:32-MST
- Date: 21 Mar 1983 02:46:17-MST
- From: John JW-Peterson <jwp@Utah-CS>
- To: kessler@Utah-CS
- Subject: Fatel GC error
- i just got a **** Fatal error: Unexpected tag found during garbage collection
- on the vax. is there any known 'likely cause' for this (or any simple way
- to track it down)?
- thanks.
- -------
- 21-Mar-83 11:54:56-PST,445;000000000000
- Date: 21 Mar 1983 1154-PST
- From: PERDUE at HP-HULK
- Subject: Re: [John JW-Peterson <jwp@Utah-CS>: Fatel GC error]
- To: PSL, utah-cs!jwp at hp-venus
- In-Reply-To: Your message of 21-Mar-83
- A likely cause of your problem with "unexpected tag found" is use
- of fast arithmetic, SYSLISP, etc. to create things, perhaps just
- on the stack, that are out of "INUM" range, so they look like
- pointers. Could be other things too.
- -------
- -------
- 21-Mar-83 12:09:51-PST,600;000000000000
- Date: 21 Mar 1983 1206-PST
- From: PERDUE at HP-HULK
- Subject: [Forwarded:] Re: [John JW-Peterson <jwp@Utah-CS>: Fatel GC error]
- To: PSL
- Date: 21 Mar 1983 1153-PST
- From: PERDUE at HP-HULK
- Subject: Re: [John JW-Peterson <jwp@Utah-CS>: Fatel GC error]
- To: utah-cs!KESSLER at UTAH-20 at RAND-RELAY at HP-VENUS
- In-Reply-To: Your message of 21-Mar-83
- A likely cause of your problem with "unexpected tag found" is use
- of fast arithmetic, SYSLISP, etc. to create things, perhaps just
- on the stack, that are out of "INUM" range, so they look like
- pointers. Could be other things too.
- -------
- 22-Mar-83 09:16:01-PST,318;000000000000
- Date: 22 Mar 1983 0913-PST
- From: PERDUE at HP-HULK
- Subject: Floating point constants
- To: PSL
- There is an apparent bug in SysLISP where one must explicitly
- quote floating point constants to cause correct LAP to be
- generated.
- I have apparently fixed the negative floating point number
- reading bug.
- -------
- 23-Mar-83 07:45:09-PST,1449;000000000000
- Date: Monday, 21 Mar 1983 10:08-PST
- From: utah-cs!marti@rand-unix
- Subject: GO TO problem in RLISP.
- Return-Path: <marti@rand-unix>
- Message-Id: <8303231442.AA12561@UTAH-CS.ARPA>
- Received: by HP-VENUS via UUCP; 23 Mar 1983 07:44:54-PST (Wed)
- Received: from RAND-UNIX by UTAH-20; Mon 21 Mar 83 11:28:38-MST
- Received: from UTAH-20 by UTAH-CS.ARPA (3.320/3.7.2)
- id AA12561; 23 Mar 83 07:42:07 MST (Wed)
- To: griss@UTAH-20
- Cc: lseward@RAND-RELAY, hearn@RAND-RELAY
- Remailed-Date: 21 Mar 1983 1135-MST
- Remailed-From: Martin.Griss <utah-cs!Griss@UTAH-20>
- Remailed-To: kessLER
- Remailed-Date: 23 Mar 1983 0738-MST
- Remailed-From: Robert R. Kessler <utah-cs!KESSLER@UTAH-20>
- Remailed-To: psl-bugs@UTAH-20
- Via: uucp host utah-cs; 23 Mar 1983 07:42:07-??? (Wed)
- The PSL RLISP parser has trouble with statement labels that are the
- names of functions. This causes some very confusing symptoms:
- GO TO OUT;
- translates into (GO (OUT)). However:
- GO TO OUT >> ...
- translates into (GO (OUT !*RSQB!*)) and gobbles up the >> which causes
- a missing >> error to occur much later.
- This problem occurred during parsing or the Hearn-Norman prettyprinter.
- I have fixed this code so it parses correctly under the new parser. There
- is also an incompatibility in:
-
- FOR I=...
- which is evidently allowed under the old parser, but not the new. This I
- also fixed and the file is rand-relay /r/marti/pretty.nrlisp.
- Jed.
- 23-Mar-83 17:33:38-PST,1047;000000000000
- Date: 23 Mar 1983 17:34:32-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: Unintern
- Cc: rosenber@HP-MARS, ruspini@HP-MARS
- Message-Id: <417317671.2685.hplabsc@HP-MARS>
- How do I unintern an id?
- Enrique has this problem that when frl runs and runs and runs for hours
- (ekg program), we produce (event-1, event-2, event-3, event-4, etc.)
- These are destroyed as they grow old. The id's are no longer used,
- but they are still around. Eventually he runs out of id space.
- FRL could try to reuse any id that is not a frame, say redo "event-1"
- after it has been erased, but this will create a very strange order of
- frame names created(An order that will be impossible to follow by the
- user). The idea is event-n came after event-m when m < n. What could
- solve this problem nicer is to be able to say (remove-id 'event-1) or
- (unintern 'event-1) {Meaning take out of the id table}. Enrique
- could call this function when he cleans up his frames knowing that
- the id will no longer be used.
- Is there such a function in frl?
- Douglas
- 24-Mar-83 12:08:59-PST,1147;000000000000
- Date: 23 Mar 1983 1613-MST
- From: Gary Barbour <utah-cs!Barbour@UTAH-20>
- Subject: Illegal HEAP ITEM again.... In Nmode
- Message-Id: <8303240002.AA00597@UTAH-CS.ARPA>
- Received: by HP-VENUS via UUCP; 24 Mar 1983 12:05:28-PST (Thu)
- Received: from UTAH-20 by UTAH-CS.ARPA (3.320/3.7.2)
- id AA00597; 23 Mar 83 17:02:19 MST (Wed)
- To: psl-bugs@UTAH-20
- Cc: kessler@UTAH-20, barbour@UTAH-20
- Via: uucp host utah-cs; 23 Mar 1983 17:02:19-??? (Wed)
- To whoever: ( this was not sent to the other address, I forgot it.)
- I was in nmode changing to the other window When GARBAGE
- COLLECTING started and then
- BOOMMMMMMM again ( see last message a week ago, similar error
- message)
- THEN something about teleray flavor and then below
- ***** Fatal error during garbage collection
- Illegal item in heap at 756323
- ***** Fatal error during garbage collection
- Illegal item in heap at 756323
- ***** Fatal error during garbage collection
- etc.... INFINITE LOOP ....
- I missed the first part since it scrolled off the screen. I ctl C out of
- nmode.
- -------
- 24-Mar-83 12:09:02-PST,1982;000000000000
- Date: 23 Mar 1983 1718-MST
- From: Gary Barbour <utah-cs!Barbour@UTAH-20>
- Subject: Illegal ITEM in HEAP ... 4 more times
- Message-Id: <8303240019.AA00756@UTAH-CS.ARPA>
- Received: by HP-VENUS via UUCP; 24 Mar 1983 12:05:35-PST (Thu)
- Received: from UTAH-20 by UTAH-CS.ARPA (3.320/3.7.2)
- id AA00756; 23 Mar 83 17:19:18 MST (Wed)
- To: psl-bugs@UTAH-20
- Cc: kessler@UTAH-20, barbour@UTAH-20
- Via: uucp host utah-cs; 23 Mar 1983 17:19:18-??? (Wed)
- I though it was just chance, but noooooooo !
-
- I was using nmode 4 more times and these are the conditions, i hope it
- helps. I can not use debug features ie-- reclaim, since i lose terminal
- input ( No method Raw-Mode)
- These below statistics including the previous message of today.
- - The garbage collection (GC) error does NOT happen on the same Nth GC
- 2 times ...1st garbage collection
- 2 times ...4rd garbage collection
- 1 times ...7th or 8th garbage collection
- - Two classes of Garbage collector errors
- -----------------------------------------
- TYPE 1 .... Infinite loop Illegal item in HEAP, as in previous
- ------ message & of course the address is different.
- 1 time ... 1st garbage collection
- 1 time ... 3rd garbage collection
- First loses Teleray flavor & then infinite loop on illegal
- item in heap.
- TYPE 2 .... No infinite loop & lose method Raw-Mode ( 3 times)
- -------
- ie.. **** Fatal Error during Garbage collection
- **** Illegal item in heap at 624651 (& 743550 & 734631)
- **** Flavor Teleray has no Raw-Mode
- **** Flavor Teleray has no Ring-Bell
- Then only Prompt across screen and to next lines,
- when only returns key is hit.
- ------------------------------------
- Is their anything i can do to locate or search for this.
- gary...
- -------
- 25-Mar-83 01:34:18-PST,604;000000000000
- Date: 24 Mar 1983 2324-MST
- From: utah-cs!Keller@UTAH-20 (Robert M. Keller)
- Subject: Savesystem
- Message-Id: <8303250630.AA11700@UTAH-CS.ARPA>
- Received: by HP-VENUS via UUCP; 25 Mar 1983 01:34:13-PST (Fri)
- Received: from UTAH-20 by UTAH-CS.ARPA (3.320.3/3.7.4)
- id AA11700; 24 Mar 83 23:30:58 MST (Thu)
- To: psl-bugs@UTAH-20
- Via: uucp host utah-cs; 24 Mar 1983 23:30:58-??? (Thu)
- Has it been changed? I get a message about DumpLisp requiring and
- argument, yet funny things happen to the saved system when such is
- provided. Please point me to the recent documentation.
- Thanks
- -------
- 29-Mar-83 11:32:42-PST,453;000000000000
- Date: 29 Mar 1983 11:36:04-PST
- From: paulson@HP-MARS
- To: psl@HP-MARS
- Subject: bug report
- Message-Id: <417814562.2585.hplabsc@HP-MARS>
- Channelreadtokenwithhooks can't handle extremely long lines. The file
- /users/gpsg/longline.sl (on SRM2) contains a long line that
- channelreadtokenwithhooks chokes on. If you execute the code in
- /users/gpsg/longread.sl (or dsk it in, I suppose), the bug shows up.
- Anne
- 29-Mar-83 11:33:07-PST,635;000000000000
- Date: 29 Mar 1983 11:39:22-PST
- From: paulson@HP-MARS
- To: psl@HP-MARS
- Subject: bug report
- Message-Id: <417814761.2607.hplabsc@HP-MARS>
- I've encountered a few things that the PSL compiler either can't compile
- at all, or won't compile correctly. The file /users/gpsg/nocompile.sl
- contains some. The function FOL-FORM in that file can't be compiled at
- all; the compiler blows up. The two hash methods compile, but when
- you try to run them, PSL finds an 32 bit multiply overflow. (The
- rest of the stuff on hash objects, which does compile, is in
- /users/gpsg/hash.sl & hash.b).
- Anne
- 29-Mar-83 13:18:34-PST,635;000000000000
- Date: 29 Mar 1983 13:22:06-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: psl suggestions.
- Message-Id: <417820924.3068.hplabsc@HP-MARS>
- It would be very nice if *time could have the time reported in
- minutes and seconds when the time is over 60 sec. (60000 ms.) This
- large number is very common in mine and anne's system on the chipmunk.
- PSL manual suggestion:
- If would be helpful if the three different index sections in the back
- were either in different colors or were seperated by some kind of
- divider (I can add this in for mine, this is just a suggestion when
- manuals are given out to other places).
- Douglas
- 29-Mar-83 16:48:39-PST,209;000000000000
- Date: 29 Mar 1983 1647-PST
- From: AS at HP-HULK
- Subject: manual bug
- To: psl
- cc: AS
- In the FOR macro, UNION does not do what the manual says it does,
- and ADJOIN and ADJOINQ are not documented.
- -------
- 31-Mar-83 08:46:00-PST,376;000000000000
- Date: 31 Mar 1983 0843-PST
- From: AS at HP-HULK
- Subject: manual bug
- To: psl
- cc: AS
- Section 8.4: The description of repeat is STILL totally wrong.
- It should be:
- (repeat [S:form] E:form): NIL
- The S's are evaluated from left to right, and then E is evaluated.
- This process is repeated until E evaluates to non-NIL, at which point
- the Repeat returns NIL.
- -------
- 3-Apr-83 00:30:28-PST,942;000000000000
- Date: 2 Apr 83 20:15:38 MST (Sat)
- From: utah-cs!jwp@UTAH-CS (John JW-Peterson)
- Received: by HP-VENUS via UUCP; 3 Apr 1983 00:30:13-PST (Sun)
- Received: from UTAH-CS by UTAH-20; Sat 2 Apr 83 20:19:05-MST
- Received: by UTAH-CS.ARPA (3.320.4/3.7.5)
- id AA18174; 2 Apr 83 20:15:38 MST (Sat)
- Received: from UTAH-20 by UTAH-CS.ARPA (3.320.4/3.7.5)
- id AA18211; 2 Apr 83 20:23:50 MST (Sat)
- To: galway@utah-20, psl-bugs@utah-20
- Via: uucp host utah-cs; 2 Apr 1983 20:23:50-??? (Sat)
- Subject: comp bug?
- Message-Id: <8304030315.AA18174@UTAH-CS.ARPA>
- the following code:
- procedure kloo(x);
- case x of
- 2: print("hi");
- 2: print("low");
- end;
- causes the error "Ambiguous case" to be generated when it's compiled.
- unfortunatly it also causes LAP to croak with Unknown label '(IMMEDIATE NIL)'
- on the vax and an access violation on the apollo (undoubtly because the
- apollo can't take car/cdr of NIL like all the others can...)
- 4-Apr-83 20:49:38-PST,1441;000000000000
- Date: 4 Apr 1983 1418-MST
- From: Gary Barbour <utah-cs!Barbour@UTAH-20>
- Received: by HP-VENUS via UUCP; 4 Apr 1983 20:47:47-PST (Mon)
- Received: from UTAH-20 by UTAH-CS.ARPA (3.320.5/3.7.6)
- id AA29372; 4 Apr 83 14:23:49 MST (Mon)
- To: psl-bugs@UTAH-20
- Via: uucp host utah-cs; 4 Apr 1983 14:23:49-??? (Mon)
- Subject: NMODE Using OUT,SHUT or OPEN, WRS
- Message-Id: <8304042123.AA29372@UTAH-CS.ARPA>
- Cc: barbour@UTAH-20
- Please forward to whom-ever:
- TOPIC
- [ Using OUT,SHUT or OPEN, WRS, CLOSE in Nmode ]
- --------------------------------------------------------
-
- The OUT function does not work in nmode (lisp or rlisp mode). The
- OUT file is opened although nothing is sent to this external file, except
- NIL when it is SHUT.
- Example below uses Rlisp with Bar.Rl being a rlisp file expanding
- it to lisp, which should be sent to file Foo.RL .
- (rlisp)
- on defn;
- out "foo.rl";
- in "bar.rl" ( ; or $ )
- shut "foo.rl";
- Although the output data does appear in the output window, this
- should be in addition to the data being sent to requested file.
- (maybe only to the out file).
- Also if you use OPEN, WRS and CLOSE to send the data to a external file
- the same condition arises.
- Is the above a bug or was the OUT function design to behave differently
- from just executing PSL:Rlisp ( which is then useless in nmode )
- Gary...
- -------
- 5-Apr-83 17:21:04-PST,241;000000000000
- Date: 5 Apr 1983 1719-PST
- From: PERDUE at HP-HULK
- Subject: comfile
- To: PSL
- If the function "comfile" wasn't obsolete before, it should be
- obsolete now with the upgraded compile-file function defined in
- pu:pslcomp-main.sl.
- -------
- 6-Apr-83 02:06:14-PST,602;000000000000
- Date: 6 Apr 1983 02:05:22-PST
- From: douglas@HP-MARS
- To: letsinger@hulk, psl@hulk, rosenber@HP-MARS
- Subject: psl feature needed
- Message-Id: <418471518.1252.hplabsc@HP-MARS>
- I found I need errset to return whatever error message was generated
- (preferably in a string). At present, all I get back is a number.
- Is there anyway I can convert this number into its error message string?
- This would be useful in my rewrite of dskin so that it can clean up --
- I found there is no need for dskin to break if it can print a
- reasonable error message itself (and the objectionable form).
- Douglas
- 6-Apr-83 11:21:11-PST,537;000000000000
- Date: 6 Apr 1983 1116-PST
- From: PERDUE at HP-HULK
- Subject: NMODE-Unix interrupt key interaction
- To: PSL, Galway at Utah-20 at RAND-RELAY at HP-VENUS, AS
- NMODE uses C-^ as the prefix version of "control" for commands
- such as C-> and C-<digit>. While NMODE is active on the VAX, C-^
- is currently generating an interrupt. Using C-C for the
- interrupt would be much better. Many of us at HP have C-C set up
- as the kill signal already on VAXen. If C-C is unacceptable to
- people at Utah, C-_ would be better than C-^.
- -------
- 6-Apr-83 11:21:29-PST,206;000000000000
- Date: 6 Apr 1983 1117-PST
- From: PERDUE at HP-HULK
- Subject: RESET function
- To: PSL
- RESET does not work properly under the RLISP top level because
- there is no CATCH for the RESET throw tag.
- -------
- 6-Apr-83 15:46:11-PST,266;000000000000
- Date: 6 Apr 1983 15:43:42-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: liter
- Message-Id: <418520619.5434.hplabsc@HP-MARS>
- is liter really defined as it says in the manual?
- (if (memq u '(a b c d e f g h i j k .......)) t nil) ?
- Isn't this inefficient?
- 6-Apr-83 18:16:30-PST,497;000000000000
- Date: 6 Apr 1983 18:17:05-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: error message is wrong.
- Message-Id: <418529822.6973.hplabsc@HP-MARS>
- I used the flag 'lose to prevent a function from being redefined:
- But it said the following when I tried to redefine the function:
- 7 lisp> (defun a (b) b)
- *** `a' has not been defined, because it is flagged LOSE
- nil
- Cpu time: 34 ms
- 8 lisp> (pp a)
- (de a (b)
- 3)
- t
- This should say "redefined" if the function is already defined.
- 8-Apr-83 07:20:25-PST,554;000000000000
- Mail-From: GRISS created at 8-Apr-83 07:20:09
- Date: 8 Apr 1983 0720-PST
- From: GRISS@HP-HULK
- Subject: EMSG!*
- To: psl@HP-HULK
- The variable EMSG!* i supposed to hold the error-message generated by the
- last call to ERROR. When Break is OFF, seems to work fine; however,
- with BREAK on, the EMSG!* is correct inside the BREAK loop, but gets
- set to "exit to Errorset" if a Q is done. This seems wrong, since
- user, by typing Q, is "giving up", so EMSG!* should either be as it was,
- or have the "exit from Errorset" appended.
- Opinions?
- -------
- 8-Apr-83 13:36:44-PST,269;000000000000
- Date: 8 Apr 1983 1336-PST
- From: PERDUE at HP-HULK
- Subject: Re: EMSG!*
- To: PSL
- In-Reply-To: Your message of 8-Apr-83
- I think that Quitting out of the break loop should cause the
- original error to be resignalled, including the same value for
- EMSG!*.
- -------
- 8-Apr-83 19:32:32-PST,847;000000000000
- Date: 8 Apr 1983 1930-PST
- From: PERDUE at HP-HULK
- Subject: Token-scanner bug
- To: psl
- Apparently the VAX-Unix assembler assumes that the BASE operand
- specifier of an EXTZV or related instruction fits into 8 bits if
- it is a constant. Thus it screws up on operand specifiers of the
- form $<large constant>+<label>. This means that in the kernel
- one cannot take the info part of ordinary LISP constants, at
- least not in the kernel. Does anyone know how faslout deals with
- the issue of how big to make this particular kind of operand
- specifier?
- Also, in a sense we do not want to take the info part of a tagged
- item that is a constant: that is really wasted effort, since the
- info part of such a constant is just a related constant. Are
- there any interesting idioms already existing that address this issue?
- Thanks.
- -------
- 10-Apr-83 18:31:54-PST,391;000000000000
- Date: 10 Apr 1983 18:28:17-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: question about bps use.
- Message-Id: <418876096.26991.hplabsc@HP-MARS>
- What is bps used for besides binary program space?
- I have noticed that when the ic rules are loaded in, that 4K of bps space
- is used up. There is compiled code in the ic rules, and the compiler is
- turned off.
- Thanks,
- Douglas
- 10-Apr-83 21:26:22-PST,399;000000000000
- Date: 10 Apr 1983 21:24:19-PST
- From: douglas@HP-MARS
- To: psl@Hulk
- Subject: question about vax psl and dumped files
- Message-Id: <418886658.27547.hplabsc@HP-MARS>
- I noticed that when the heap size was increased, the size of dumped
- files increased by approx. 50%. Since the increased heap is unused
- space, I was wondering why it should affect the size of the dump lisp
- file.
- Douglas
- 11-Apr-83 12:20:21-PST,646;000000000000
- Date: 11 Apr 1983 12:17:40-PST
- From: douglas@HP-MARS
- To: psl@hulk
- Subject: manual page 15-3 section 15.5
- Message-Id: <418940258.695.hplabsc@HP-MARS>
- The functions described on this page have a syntax different from the previous
- page.
- (Reset undefined):
- should be
- (Reset): undefined
- (Time integer):
- should be
- (Time): integer
- And the same with "Date", "Reclaim", and "%Reclaim".
- Also is there a difference between "Undefined" and "Not defined". The
- first is used with "Reset" and the second with "%Reclaim".
- Does the second mean "any"? If so, why should %Reclaim return
- something, why not return nil?
- Douglas
- 11-Apr-83 15:20:35-PST,970;000000000000
- Date: 11 Apr 1983 1515-PST
- From: Samuel <FELDMAN@HP-HULK>
- Subject: PSL problems/requests
- To: psl@HP-HULK
- cc: feldman@HP-HULK,
- beech@HP-HULK
- In order to officialize:
- 1. It seems that (open "" 'special) gets an index out of bounds on the
- Vax, but not on the 20.
- 2. It would be nice if a small effort were made to try to document
- the function Compiletime, since it's so tricky. I don't ask for
- perfection here; just a couple of extra sentences would be great.
- 3. Applications often need the time as well as the date. Can such
- a function please be added?
- 4. How about a way to get at system calls (at least to use the same
- function name for such a capability on the different systems)?
- 5. Make sure that the Load function is set up with the proper
- directory search path (so I don't have to do it by hand).
- 6. Get utilities like String-Search and If over to the Vax.
- Muchas gracias -- tu amigo, Samuel
- -------
- 12-Apr-83 13:52:06-PST,825;000000000000
- Date: 12 Apr 1983 1351-PST
- From: PERDUE at HP-HULK
- Subject: Re: PSL problems/requests
- To: FELDMAN at HP-HULK
- cc: PSL
- In-Reply-To: Your message of 11-Apr-83
- 1. (open "" 'special) is fixed in the soruce code.
- 2. . . .
- 3. On the DEC20 see the function clocktimedate in the module p20u:exec.red.
- The sources for the documentation are updated but not the actual
- documentation. This will not be compatible with other implementations
- of PSL.
- 4. I do not see having a facility for doing system calls on different
- machines as you suggest. We provide general functions on some
- machines now, but with OS-specific names.
- 5. You'll have to set up your own value of loaddirectories* if
- you don't like what you're getting.
- 6. Sttring-search and If should now be available on Vax.
- -------
|