ÿWPCO ^çÓ{ÌúŸéP„Åô¼ý£šfÛi„`ªñìW¶ŽÛ!$”^yø`™! ȨXÓ²×½˜5›,À]48K…›„¯¿ƒÒ pŸ-28k ChëM•9P£ZRíë‹­Ž‚5Ÿ_—·”¬N\îbbḄ(Ešº P¨¦l„òÕ!Àö ?-Z[Ä,TJ6gµ­¬YùQh–¯­ŸÑªq¼2/?e¦¸KÉÛiD¤r£Aá«,ÄÐ3Û1cžÎÙ;Ç'é¥|˜6€Òh½ôHµ!ÜÛw s2¶?B[òì>Çö«À ÊižAf›\’Ë¢¸R¹¯4­$+uâHï=\HÚdõe+G©d­n{ë0¬ÖWòœª8þ¿«=Ϭ‚È ‹6¿ž•POW (™kz2£=CNhruÃy¦ Iþ!)¡0¾QRuE9rúÍð¦À%34zkdR™9[*'Pv ršìèQ'Û‰¨Àç|TQ]v† r~¡£V:î:p¿Š†ÊõÌ^ˆ× ú¡±m|òQa¸ã[è^³;ᕲvô-ZkSІûŽ“ÀA–mü(ä}TpY×åöãž #¹Ê6]3aü1ô(%hµ¥ê ;æÚö5ULæ %2 0Ó8 0î LùEnMULP eœ  UV_ µ Š» 0ïE 44444„::UL¾¾¾UL ULVUV¢¢¢ øøw@þ4>RRRRRRRRRRRRRRRRULaUL­UVù2öàp`4New Century Schoolbookô(«¼¬$¡¡ÑXXÑÒ°°ÒÒ°°ÒÑXXÑÓ  ÓÔ€ô;WôôôÔÔ€ô;Wôôô;WÔÔ  ÔÑ  ÑÓ3óÓ(Æ2ì$§§Ý ƒ¼¬!ÝÑX°ÑÒ°°ÒÒ°°ÒÑX°ÑÓ  ÓÔ€ô;WôôôÔÔ€ô;Wôôô;WÔÔ  ÔÑ  ÑÓ3óÓÝ  Ýd:\office\wpwin\template\x3j3-jor.wpt«<þ6X9`(CourierXÛxþ6X@ÉüKX@<þ6X9`(CourierôŒdþ6X@ÉüKô@+˜à`4New Century SchoolbookôÓe˜à Pâ’'CôP+˜à`4New Century Schoolbook ¸Ý ƒì'ÝÒ°°ÒÒ°°ÒÓ  ÓÔ€ô>“ôôôÔÔ€ô>“ôôô>“ÔÔ  ÔÓ3óÓÝ  ÝÓ °°§,°œXÓÔ‡ô>“ôôô>“Ôà€>(#àÔ‡»\»ôô>“ÔÔ#†»\»»»\¼#ÔÔ‡ »Öû»»\ÔX3J3€/€96-074Ô#†»\»» »ÖÃ/#ÔÔ‡»\»»»\ÔÔ#†ô>“ô»»\í#ԈРX ÐX3J3€ANSI€Fortran€Standards€Committeeà€åå>(#àCraig€T.€DedoˆÐ Tü ÐJOR€Items€on€Various€Subjectsà€ÐÐ=(#àApril€26,€1995ˆÐ ¹ Ðà€eee(#àPage€Ú  Ú1Ú  Ú€of€219LÔXp>New Century Schoolbook BoldÈ €Ó °°§,°œXÓòòÔ.<ƒ ,D:\X3J3\JOR\96-00C.WPD<ÔD:\X3J3\JOR\96-00C.WPDÔ/  Ôóó(Ç3†$©©Ý ƒ¼¬!ÝÑX°ÑÒ°°ÒÒ°°ÒÑX°ÑÓ  ÓÔ€ô;WôôôÔÔ€ô;Wôôô;WÔÔ  ÔÑ  ÑÓ3óÓÝ  ÝHJOR Items on Various SubjectsReportÌ,' ' X3J3/96-074$Craig T. Dedo$Craig T. Dedo .   /4 Fortran 2000 Standard+None     "1 302Original 2öàp`4New Century Schoolbook2öàp`4New Century Schoolbook+˜à`4New Century Schoolbook9LÔXp>New Century Schoolbook BoldÈ Û/Ü/Ý/Þ/ß/à/á/â/ãÊäÊŒ¡” 3|xä2öàp`4New Century Schoolbook+˜à`4New Century Schoolbook9LÔXp>New Century Schoolbook BoldÝ ƒ¼¬!ÝÑX°ÑÒ°°ÒÒ°°ÒÑX°ÑÓ  ÓÔ€ô>“ôôôÔÔ€ô>“ôôô>“ÔÔ  ÔÑ  ÑÓ3óÓÝ  ݛր ÿÿÖÖ€ ÿÿÖÓ  ÓÓr^°°Ü4` Œ ¸ ä <h”ÀìDpœÈô Lx¤Ð ü!(#T$€%¬&°œXrӜԇô>“ôôô>“ÔñãñÔ% € ÔñãññäññãñÔ% € Ôñãññäñ›ñäñÔ% € Ôñäñà@ö ö ìàò òòòJOR€Items€on€Various€SubjectsóóˆÐ ] Ðó óÌà@SS"ìàby€Craig€T.€DedoˆÌà@ÀÀ#ìàApril€26,€1996ˆÌÌà Ü àFollowing€is€a€list€of€various€items€that€I€am€proposing€for€inclusion€in€the€Journal€ofÏRequirements€for€Fortran€2000.€€Admittedly,€this€paper€has€the€look„and„feel€of€the€"kitchen€sink"Ïapproach.€€However,€I€consider€each€of€these€items€to€have€at€least€some€technical€merit.€€The€orderÏof€listing€does€not€state€or€imply€any€ranking€of€importance.€€Much€of€the€content€proposes€aÏratification€of€existing€practice.ÌÌà Ü àConsidering€the€amount€of€work€that€we€have€to€do€for€Fortran€2000,€it€may€be€impractical€orÏimpossible€to€incorporate€even€a€small€fraction€of€these€items€into€Fortran€2000.€€However,€I€amÏproposing€these€items€because€I€believe€that€it€is€useful€to€place€all€good€ideas€on€the€table€forÏconsideration.€€Whether€any€of€these€ideas€possess€sufficient€technical€merit€in€order€to€qualify€forÏFortran€2000€should€be€determined€by€lucid€and€clarifying€debate.ÌÌÔ#†ô>“ôôô>“p#ÔÔ‡ô>“ôôô>“ÔÐ 9Ü  ÐÌÔ#†ô>“ôôô>“ #Ôà ����4 �àà ����` �àà ����Œ �àCPU_TIME€EnhancementsÐ�� � �³V� �Ð<KEYWORDS>Ì<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �-Ð� �Ð<TARGET>à ����` �àÐ�� � �ê� �Ð<SUBGROUP>Ì<VERSION>à ����` �àà ����Œ �à1Ð�� � �d� �ÐÌ<REQUIREMENT>Ìà ����Ü �àThe€CPU_TIME€intrinsic€subroutine€should€be€extended€to€include€additional€arguments€and€toÏmake€the€TIME€argument€optional.€€The€additional€arguments€would€allow€for€the€inquiry€andÏmeasurement€of€user€time,€system€time,€and€the€minimum€unit€of€time€in€the€processor's€measurementÏsystem.€€Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àIt€is€possible€that€a€precise€definition€of€CPU_TIME€will€evolve€as€an€ISO€standard€in€the€nearÏfuture.€€This€capability€would€allow€the€Fortran€standard€to€anticipate€and€keep€up€with€any€suchÏdevelopment.ÌÌà ����Ü �àIf€these€extensions€become€part€of€CPU_TIME,€the€TIME€argument€may€not€be€relevant€in€all€callsÏto€CPU_TIME.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àOne€method€would€be€to€use€the€following€interface:ÌSUBROUTINE€CPU_TIME€(TIME,€USER,€SYSTEM,€DELTA)ÌREAL,€OPTIONAL,€INTENT€(OUT)€::€TIME€€€€!€Processor€timeÌREAL,€OPTIONAL,€INTENT€(OUT)€::€USER€€€€!€User€timeÌREAL,€OPTIONAL,€INTENT€(OUT)€::€SYSTEM€!€System€timeÌREAL,€OPTIONAL,€INTENT€(OUT)€::€DELTA€€€!€Minimum€time€incrementÌ</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àThis€feature€would€have€no€impact€on€existing€implementations.€€The€cost€to€vendors€to€implementÏthis€feature€should€be€very€low.Ì</ESTIMATED€IMPACT>Ð�� � �Š.-(6� �Ðà ����Ü �àÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1996€(E)€13.14.25€(a.k.a.€X3J3/95ñ�ÂñœñÂññ�ÍññÂñœñÂññÍñ-007r1ñ�ÍññÂñ›ñÂññÍññ�Âñ›ñÂñ)Ìà ����Ü �àX3J3/95-259Ìà ����Ü �àX3J3/95-268Ì</REFERENCE>ÌÌ<SUBMITTED€BY>ÌCraig€Dedoà ����` �àà ����Œ �àà ����¸ �àà ����ä �àà ���� �àà ����< �àOn€behalf€of€ñ�ÂñœñÂññ�ÍññÂñœñÂññÍñJensñ�ÍññÂñ›ñÂññÍññ�Âñ›ñÂñ€ñ�ÂñœñÂññ�ÍññÂñœñÂññÍñBlochñ�ÍññÂñ›ñÂññÍññ�Âñ›ñÂñ€ñ�ÂñœñÂññ�ÍññÂñœñÂññÍñHelmersñ�ÍññÂñ›ñÂññÍññ�Âñ›ñÂñÐ�� � �E è� �ÐElmbrook€Computer€Servicesà ���� �àà ����< �àñ�ÂñœñÂññ�ÍññÂñœñÂññÍñDetñ�ÍññÂñ›ñÂññÍññ�Âñ›ñÂñ€ñ�ÂñœñÂññ�ÍññÂñœñÂññÍñNorskeñ�ÍññÂñ›ñÂññÍññ�Âñ›ñÂñ€ñ�ÂñœñÂññ�ÍññÂñœñÂññÍñVeritasñ�ÍññÂñ›ñÂññÍññ�Âñ›ñÂñ€Research€ASÐ�� � � ¥ � �Ð17130€W.€Burleigh€Placeà ����ä �àà ���� �àà ����< �àÐ�� � �¿ b � �ÐBrookfield,€WI€€€53005à ����ä �àà ���� �àà ����< �àN-1322€ñ�ÂñœñÂññ�ÍññÂñœñÂññÍñHoevikñ�ÍññÂñ›ñÂññÍññ�Âñ›ñÂñÐ�� � �| � �ÐUSAà ���� �àà ����4 �àà ����` �àà ����Œ �àà ����¸ �àà ����ä �àà ���� �àà ����< �àNORWAYÐ�� � �9Ü � �Ð+1€(414)€783-5869à ����Œ �àà ����¸ �àà ����ä �àà ���� �àà ����< �à+47€(67)€57€75€31Ð�� � �ö™ � �ÐE„mail:€Craig.Dedo@mixcom.comà ����< �àE„mail:€helm@ñ�ÂñœñÂññ�ÍññÂñœñÂññÍññÍñœñÍñvr.dnv.noñÍñ›ñÍññ�ÍññÂñ›ñÂññÍññ�Âñ›ñÂñÐ�� � �³V � �Ð</SUBMITTED€BY>ÌÌ</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �d� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �!Ä� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �à$€Character€in€Symbolic€NamesÐ�� � �Þ� �Ð<KEYWORDS>à ����Œ �àÐ�� � �›>� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �Xû� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �¸� �Ð<SUBGROUP>à ����Œ �àÐ�� � �Òu� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �2� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€include€the€use€of€$€as€a€permissible€character€for€Fortran€symbolic€namesÏfor€such€things€as€arrays,€variables,€COMMON€blocks,€modules,€etc.€€Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àThe€$€character€is€a€popular€extension.€€David€Levine's€survey€of€extensions€found€that€it€isÏincluded€in€the€Cray,€DEC,€EPC,€HP,€IBM,€and€Lahey€compilers.€€Names€contain€the€$€character€areÏoften€used€to€name€many€operating€system€functions€and€subroutines.€€Including€this€character€in€theÏstandard€will€make€it€easier€to€have€Fortran€programs€use€such€routines.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àChange€the€list€of€permissible€characters€in€symbolic€names€in€section€3.1.1€so€that€$€is€in€the€list.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àMinimal.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �;.Þ'6� �Ð</SUBMITTED€BY>Ð�� � �ø.›(7� �Ї<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€3.1.1Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Îñ96-00cñÎñ›œñÎñ96-074ñÎñ›Ð�� � � ±� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � � ¥ � �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �¿ b � �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àStandardized€Character€Sets€Including€ASCIIÐ�� � �| � �Ð<KEYWORDS>à ����Œ �àÐ�� � �9Ü � �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �ö™ � �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �³V � �Ð<SUBGROUP>à ����Œ �àÐ�� � �p � �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �-Ð � �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€require€a€compiler€to€provide€full€support€for€the€7„bit€ASCII€character€set.€Ï€This€would€be€the€ANSI€definition,€WITHOUT€the€National€character€Set€Options.€€This€would€meanÏthat€7„bit€ASCII€would€be€a€required€KIND€on€a€standard€conforming€compiler.€€It€would€not€beÏnecessary€for€a€processor€to€offer€7„bit€ASCII€as€the€default€character€set€or€as€the€KIND€type€forÏFortran€source€statements.€€However,€a€processor€would€be€required€to€include€in€the€FortranÏcharacter€set€all€of€the€characters€in€positions€32€„€126€in€the€ASCII€table.ÌÌà ����Ü �àIn€addition,€Fortran€2000€should€require€support€of€the€ASCII€character€set€interpreted€accordingÏto€the€latest€ISO€C€language€standard.€€This€C€language€character€set€would€have€its€own€uniqueÏKIND€number.ÌÌà ����Ü �àAs€an€extension€of€this€requirement,€the€standard€could€also€require€support€for€the€ISO€Latin„1Ïcharacter€set€and€possibly€other€ISO€character€sets.ÌÌà ����Ü �àDevelopment€of€this€requirement€should€follow€the€recommendations€of€the€ISO€TR€10176,ÏGuidelines€for€the€Preparation€of€Programming€Language€Standards.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àThis€requirement€would€greatly€increase€portability€of€code,€both€from€one€platform€to€another€andÏfrom€one€country€to€another.€€Although€workarounds€exist,€they€usually€are€difficult€and€costly€to€use.€ÏThe€time€and€effort€of€application€developers€should€be€spent€solving€their€problems€rather€thanÏfighting€the€limitations€of€the€programming€language.ÌÌà ����Ü �àThe€increasing€use€of€multiple€platforms€for€software€development€and€the€increasinglyÏinternational€character€of€general€business€and€trade€over€time€means€that€this€functionality€getsÏmore€desirable€each€year.€€Use€of€a€wider€variety€of€characters€in€ordinary€printed€materials€isÏbecoming€far€more€widespread€than€previously.€€This€means€that€the€kluges€of€the€past€are€becomingÏuntenable.€€It€also€means€that€portability€is€becoming€far€more€important€than€it€used€to€be.ÌÌà ����Ü �àIf€this€issue€is€ignored,€it€will€become€increasingly€difficult€and€costly€to€engage€in€workarounds.ÌÌà ����Ü �àI€do€not€believe€that€standards€bodies€can€ignore€any€longer€the€need€for€some€standardizedÏcharacter€sets€in€programming€languages.€€The€earlier€such€fundamental€issues€are€standardized,€theÏless€costly€and€difficult€implementation€will€be.Ì</JUSTIFICATION>ÌÐ�� � �ø.›(7� �Ð<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àThe€language€of€sections€3.1€and€4.3.2.1€can€be€modified€to€require€support€of€the€selected€ISOÏcharacter€sets.€€This€should€be€quite€simple€by€making€reference€to€the€necessary€ISO€standards.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àThis€would€require€vendors€to€support€several€additional€KINDs€for€CHARACTER€data€types.€€ItÏshould€not€be€very€difficult€or€costly€for€vendors€to€implement€this€requirement.€€Some€changes€mayÏbe€required€to€compilers€in€the€case€of€vendors€who€support€ASCII€according€to€the€C€languageÏconventions.ÌÌà ����Ü �àThis€requirement€may€involve€considerable€debate€in€the€standards€making€process€in€order€toÏmake€a€high€quality€selection€of€required€character€sets.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �Þ� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€3.1,€4.3.2.1Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Ïñ96-00cñÏñ›œñÏñ96-074ñÏñ›Ð�� � �Æi� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �º]!� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �w"� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àTAB€Character€in€Fortran€SourceÐ�� � �4 ×#� �Ð<KEYWORDS>à ����Œ �àÐ�� � �ñ ”$� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �®!Q%� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �k"&� �Ð<SUBGROUP>à ����Œ �àÐ�� � �(#Ë'� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �å#ˆ(� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€allow€the€use€of€TAB€characters€in€free€source€form.€€The€TAB€characterÏshould€be€interpreted€as€if€it€was€one€blank€character.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àThis€is€a€popular€extension€and€often€makes€the€source€code€easier€to€read.€€Several€vendors,Ïincluding€Cray,€DEC,€EPC,€HP,€IBM,€and€Lahey€support€this€feature.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àAdd€TAB€to€the€list€of€characters€in€the€Fortran€character€set.€€Write€a€rule€requiring€that€TABÏbe€treated€the€same€as€space.Ì</SUGGESTED€IMPLEMENTATION>Ð�� � �ø.›(7� �Ї<ESTIMATED€IMPACT>Ìà ����Ü �àMinimal.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �¿ b � �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€3.1Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Ðñ96-00cñÐñ›œñÐñ96-074ñÐñ›Ð�� � �§J � �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �›>� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �Xû� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àBYTE€Data€TypeÐ�� � �¸� �Ð<KEYWORDS>à ����Œ �àÐ�� � �Òu� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �2� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �Lï� �Ð<SUBGROUP>à ����Œ �àÐ�� � � ¬� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �Æi� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€include€support€for€the€BYTE€data€type,€defined€an€a€sequence€of€8€bits.€TheÏBYTE€data€type€could€be€used€for€very€small€signed€or€unsigned€integers,€for€bit€masks,€and€for€8€bitÏcharacters.€€It€could€be€the€TARGET€of€a€POINTER€assignment€and€used€in€building€derived€types.€ÏIt€could€be€storage€associated€with€any€other€data€type€using€the€EQUIVALENCE€statement.€€AnyÏkind€of€data€should€be€able€to€be€assigned€to€a€BYTE€data€type€or€a€BYTE€array.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àThe€BYTE€data€type€is€very€useful€for€building€data€structures€used€to€access€operating€systemÏdata€structures.€€It€also€could€be€used€for€building€various€derived€types€that€either€are€cumbersomeÏor€impossible€to€build€using€the€currently€available€data€types.€€BYTE€arrays€can€also€be€used€forÏvarious€types€of€low€level€data€manipulation€which€is€difficult€to€do€using€the€current€data€types.€€TheÏimplementation€of€the€BYTE€data€type€in€compilers€from€Cray,€DEC,€EPC,€HP,€IBM,€Lahey,€and€SunÏattests€to€the€popularity€and€usefulness€of€the€BYTE€data€type.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àThis€feature€should€be€implemented€in€the€same€manner€as€the€BYTE€data€type€is€implementedÏin€the€compilers€mentioned€above.€€The€syntax€should€follow€the€model€used€for€current€intrinsic€dataÏtypes.Ì</SUGGESTED€IMPLEMENTATION>ÌÌâ ���� �â<ESTIMATED€IMPACT>Ð�� � �;.Þ'6� �Ðà ����Ü �àThere€should€be€little€impact€to€current€processors.€€Vendors€who€do€not€support€BYTE€should€findÏâ ���� �âthis€easy€to€implement.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �¿ b � �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€4.3.2,€5.1,€5.1.1Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Ññ96-00cñÑñ›œñÑñ96-074ñÑñ›Ð�� � �§J � �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �›>� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �Xû� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àAutomatic€or€Dynamic€Data€ObjectsÐ�� � �¸� �Ð<KEYWORDS>à ����Œ �àÐ�� � �Òu� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �2� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �Lï� �Ð<SUBGROUP>à ����Œ �àÐ�� � � ¬� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �Æi� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€provide€a€means€of€declaring€that€data€objects€definitely€disappear€when€theyÏgo€out€of€scope.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àIn€the€Fortran€90€standard€and€the€Fortran€95€DIS,€it€is€processor€dependent€what€happens€toÏdata€objects€if€they€do€not€have€the€SAVE€attribute.€€Some€processors€make€all€data€objects€staticÏwhile€others€make€non„SAVE€data€objects€dynamic€(a.k.a.€automatic).€€There€should€be€a€way€for€anÏapplication€developer€to€declare€that€a€data€object€definitely€disappears€when€it€goes€out€of€scope.€€ThisÏwould€give€the€application€developer€more€control€on€exactly€how€data€objects€are€declared€and€used.€ÏMost€other€popular€languages€have€this€capability.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àThis€feature€could€be€implemented€by€defining€another€data€object€attribute€(5.1.2)€and€statementÏ(5.2).€€Probably€the€best€keywords€would€be€either€DYNAMIC€or€AUTOMATIC.€€The€EPC,€HP,€IBM,Ïand€Sun€Fortran€compilers€use€the€AUTOMATIC€keyword€as€an€extension€to€Fortran.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àThis€feature€should€not€cost€a€great€deal€to€implement.€€Since€its€equivalent€appears€in€most€otherÏlanguages€and€this€feature€is€already€an€extension€to€several€Fortran€compilers,€the€implementationÏmethods€are€already€well€known.Ì</ESTIMATED€IMPACT>Ð�� � �ø.›(7� �Ї<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �Ë n� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€5.1.2,€5.2Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Òñ96-00cñÒñ›œñÒñ96-074ñÒñ›Ð�� � �³V � �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �§J � �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �d� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àPiecewise€Construction€of€Named€Constant€ArraysÐ�� � �!Ä� �Ð<KEYWORDS>à ����Œ �àÐ�� � �Þ� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �›>� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �Xû� �Ð<SUBGROUP>à ����Œ �àÐ�� � �¸� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �Òu� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€allow€a€programmer€to€construct€arrays€which€are€named€constants€(i.e.,€haveÏthe€PARAMETER€attribute)€in€several€statements.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àThe€current€Fortran€90€standard€and€Fortran€95€DIS€require€that€arrays€which€are€namedÏconstants€be€completely€constructed€in€the€same€statement€in€which€they€are€declared.€€ThisÏrestriction€places€a€stringent€limit€on€the€length€of€such€an€array.€€It€also€increases€programÏcomplexity€and€decreases€program€understandability€since€such€declarations€sometimes€requireÏlengthy€declaration€statements€with€many€continuation€lines.ÌÌà ����Ü �àAccording€to€ñ�ÍññÂñœñÂññÍñJensñ�ÍññÂñ›ñÂññÍñ€ñ�ÍññÂñœñÂññÍñBlochñ�ÍññÂñ›ñÂññÍñ€ñ�ÍññÂñœñÂññÍñHelmersñ�ÍññÂñ›ñÂññÍñ€of€ñ�ÍññÂñœñÂññÍñDetñ�ÍññÂñ›ñÂññÍñ€ñ�ÍññÂñœñÂññÍñNorskeñ�ÍññÂñ›ñÂññÍñ€ñ�ÍññÂñœñÂññÍñVeritasñ�ÍññÂñ›ñÂññÍñ€Research,€large€sized€arrays€of€namedÏconstants€are€useful€in€certain€fields€of€research€and€engineering.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àOne€possible€method€would€be€to€remove€the€restriction€that€named€constants€need€to€beÏinitialized€in€the€same€statement€in€which€they€are€declared.€€Then€the€application€developer€couldÏuse€successive€PARAMETER€statements€to€initialize€successive€parts€of€the€array.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àIt€is€difficult€to€estimate€how€much€effort€it€would€take€for€vendors€to€implement€this€requirement.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÐ�� � �ø.›(7� �Ðà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �”7� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€5.1,€5.2.1.2,€5.2.9Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Óñ96-00cñÓñ›œñÓñ96-074ñÓñ›Ð�� � �| � �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �p � �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �-Ð � �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àPeriod€as€Derived€Type€DelimiterÐ�� � �ê � �Ð<KEYWORDS>à ����Œ �àÐ�� � �§J � �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �d� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �!Ä� �Ð<SUBGROUP>à ����Œ �àÐ�� � �Þ� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �›>� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€recognize€the€use€of€the€period€(.)€as€a€delimiter€in€derived€types€in€additionÏto€the€percent€sign€(%).€€Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àThe€main€reason€is€aesthetic.€€The€period€in€this€context€is€easier€to€read.€€This€is€shown€by€theÏchoice€of€the€period€as€the€derived€type€delimiter€in€most€other€languages€that€support€derived€types,Ïincluding€Pascal,€C,€and€C++.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àChange€the€rule€to€allow€either€a€period€or€percent€sign€as€the€delimiter.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àThis€feature€may€cause€a€conflict€with€user„defined€operators.€€This€conflict€could€be€resolved€byÏdefining€one€to€have€a€higher€precedence€than€the€other.€€Implementation€costs€should€be€moderateÏat€worst.€€There€may€need€to€be€some€extra€syntax€checking.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �,§%3� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€6.1.2Ð�� � �ø.›(7� �Ð</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Ôñ96-00cñÔñ›œñÔñ96-074ñÔñ›Ð�� � �”7� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �ˆ +� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �E è� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àFloating€Point€Operations€in€Initialization€ExpressionsÐ�� � � ¥ � �Ð<KEYWORDS>à ����Œ �àÐ�� � �¿ b � �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �| � �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �9Ü � �Ð<SUBGROUP>à ����Œ �àÐ�� � �ö™ � �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �³V � �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€allow€the€use€of€any€floating€point€data€objects,€functions,€and€operations€inÏan€initialization€expression.€€I.e.,€the€Fortran€2000€standard€should€remove€all€current€restrictions€onÏthe€use€of€floating€point€data€objects,€functions,€and€operations€in€initialization€expressions.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àThe€current€Fortran€90€standard€and€the€Fortran€95€DIS€restricts€the€use€of€floating€point€dataÏobjects€in€initialization€expressions.€€It€does€not€allow€the€use€of€floating€point€exponents€nor€the€useÏof€floating€point€functions.€€These€limits€unnecessarily€restrict€the€freedom€of€the€applicationÏdeveloper.€€If€these€restrictions€are€removed,€the€application€developer€can€initialize€data€objects€usingÏmore€intuitive€and€straightforward€methods.€€Thus,€this€feature€would€increase€programmerÏproductivity.ÌÌà ����Ü �àThe€current€restrictions€may€have€been€necessary€in€earlier€days€when€machine€time€wasÏextremely€expensive€and€computing€complex€floating€point€operations€would€have€greatly€increasedÏthe€time€required€for€compilation.€€Today,€the€cost€of€programmer€time€greatly€exceeds€the€cost€ofÏmachine€time.€€This€trend€is€expected€to€continue€during€the€expected€useful€life€of€the€Fortran€2000Ïstandard€(1996-2012).Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àRemove€the€current€restrictions€in€section€7.1.6.1.€€ÌÌà ����Ü �àCompilers€could€call€the€relevant€run„time€math€library€if€necessary€in€order€to€evaluate€complexÏfloating€point€operations€or€functions.€€Such€capabilities€are€already€available€since€at€run€time€it€isÏnecessary€to€perform€such€operations.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àMinimal.€€Some€Fortran€compilers€already€allow€this€feature€as€an€extension.€€It€would€be€usefulÏto€ask€implementors€what€unforseen€complexities€could€result€from€this€feature.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ð�� � �ø.›(7� �Ðà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �]���� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€7.1.6.1Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Õñ96-00cñÕñ›œñÕñ96-074ñÕñ›Ð�� � �E è� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �9Ü � �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �ö™ � �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àIndirection€and€Address€Operators€and/or€FunctionsÐ�� � �³V � �Ð<KEYWORDS>à ����Œ �àÐ�� � �p � �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �-Ð � �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �ê � �Ð<SUBGROUP>à ����Œ �àÐ�� � �§J � �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �d� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€provide€operators€and/or€functions€for€obtaining€the€address€of€a€data€itemÏand€the€value€of€an€item€given€its€address.€€Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àVery€often,€the€use€of€operating€systems€procedures€is€made€easier€if€this€functionality€is€available.€ÏThis€capability€could€also€be€used€for€applications€in€which€fine€control€of€memory€is€necessary.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àOne€possibility€is€to€use€the€number€sign€(#)€as€the€address€operator€and€the€commercial€at€signÏ(@)€as€the€indirection€(i.e.,€value„at„address)€operator.€€Another€option€is€to€standardize€the€ñ�ÍññÂñœñÂññÍñLOCñ�ÍññÂñ›ñÂññÍñ()€orÏ%ñ�ÍññÂñœñÂññÍñLOCñ�ÍññÂñ›ñÂññÍñ()€function.€€Unfortunately,€there€is€no€widely€used€function€name€for€the€inverse€(i.e.,€value„at„¼address)€function.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àImplementation€costs€should€be€quite€low.€€These€capabilities€are€implemented€in€many€otherÏlanguages.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �Š*-$1� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€7.2Ì</REFERENCE>ÌÐ�� � �ø.›(7� �Ð<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Öñ96-00cñÖñ›œñÖñ96-074ñÖñ›Ð�� � �½�� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � � ±� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �Ë n� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àBLOCKSIZE=€Specifier€on€OPENÐ�� � �ˆ +� �Ð<KEYWORDS>à ����Œ �àÐ�� � �E è� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � � ¥ � �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �¿ b � �Ð<SUBGROUP>à ����Œ �àÐ�� � �| � �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �9Ü � �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€support€the€BLOCKSIZE=€specifier€on€the€OPEN€statement,€as€implementedÏas€an€extension€in€several€Fortran€compilers.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àMany€file€systems€allow€the€user€to€specify€the€size€of€I/O€transfer€blocks,€i.e.,€the€physical€recordÏsize€of€data€transfers.€€This€could€be€used€by€knowledgeable€programmers€to€optimize€I/O€operations.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àThis€could€be€implemented€as€a€BLOCKSIZE=numeric„expression€keyword€in€the€OPENÏstatement.€€If€absent,€the€block€size€would€use€a€processor„dependent€default€value.€€If€the€operatingÏsystem€or€file€system€does€not€support€user„specified€block€sizes,€the€use€of€this€keyword€would€haveÏno€effect.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àMinimal.€€This€keyword€is€already€supported€on€several€popular€compilers.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �¢$E)� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€9.3.4Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�×ñ96-00cñ×ñ›œñ×ñ96-074ñ×ñ›Ð�� � �Š*-$1� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �~-!'5� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �;.Þ'6� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àBUFFERCOUNT=€Specifier€on€OPENÐ�� � �ø.›(7� �Ð<KEYWORDS>à ����Œ �àÐ�� � �]���� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �½�� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �×z� �Ð<SUBGROUP>à ����Œ �àÐ�� � �”7� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �Q ô� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€support€the€BUFFERCOUNT=€specifier€on€the€OPEN€statement,€asÏimplemented€as€an€extension€in€several€Fortran€compilers.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àMany€file€systems€allow€the€user€to€specify€the€number€of€I/O€buffers.€This€could€be€used€byÏknowledgeable€programmers€to€optimize€I/O€operations.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àThis€could€be€implemented€as€a€BUFFERCOUNT=numeric„expression€keyword€in€the€OPENÏstatement.€€If€absent,€the€buffer€count€would€use€a€processor„dependent€default€value.€€If€the€operatingÏsystem€or€file€system€does€not€support€user„specified€buffer€counts,€the€use€of€this€keyword€would€haveÏno€effect.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àMinimal.€€This€keyword€is€already€supported€on€several€popular€compilers.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �º]!� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€9.3.4Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Øñ96-00cñØñ›œñØñ96-074ñØñ›Ð�� � �¢$E)� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �–'9!-� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �S(ö!.� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àCARRIAGECONTROL=€Specifier€on€OPENÐ�� � �)³"/� �Ð<KEYWORDS>à ����Œ �àÐ�� � �Í)p#0� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �Š*-$1� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �G+ê$2� �Ð<SUBGROUP>à ����Œ �àÐ�� � �,§%3� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �Á,d&4� �ÐÌâ ���� �â<REQUIREMENT>Ð�� � �;.Þ'6� �Ðà ����Ü �àFortran€2000€should€support€the€CARRIAGECONTROL=€specifier€on€the€OPEN€statement,€asÏâ ���� �âimplemented€as€an€extension€in€several€Fortran€compilers.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àMany€Fortran€processors€allow€the€user€to€specify€the€kind€of€carriage€control€which€is€used€onÏthe€file€during€I/O€operations.€€This€specifier€would€allow€the€programmer€to€specify€the€carriageÏcontrol€rather€than€being€required€to€use€the€carriage€control€which€is€mandated€by€the€FortranÏcompiler€for€that€particular€kind€of€file.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àThis€could€be€implemented€as€a€CARRIAGECONTROL=character„expression€keyword€in€the€OPENÏstatement.€The€character„expression€would€take€one€of€the€following€values:Ìà ����Ü �àFORTRANà ����Œ �àSpecifies€traditional€Fortran€interpretation€of€the€first€character.Ð�� � �³V � �Ðà ����Ü �àLISTà ����4 �àà ����` �àà ����Œ �àProcess€with€single€spacing€between€records.Ð�� � �p � �Ðà ����Ü �àNONEà ����4 �àà ����` �àà ����Œ �àDo€not€use€any€carriage€control€processing.Ð�� � �-Ð � �Ð</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àMinimal.€€This€keyword€is€already€supported€on€several€popular€compilers.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �Æi� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€9.3.4Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Ùñ96-00cñÙñ›œñÙñ96-074ñÙñ›Ð�� � �®!Q%� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �¢$E)� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �_%*� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àINITIALSIZE=€and€EXTENDSIZE=€Specifiers€on€OPENÐ�� � �&¿+� �Ð<KEYWORDS>à ����Œ �àÐ�� � �Ù&| ,� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �–'9!-� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �S(ö!.� �Ð<SUBGROUP>à ����Œ �àÐ�� � �)³"/� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �Í)p#0� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€support€the€INITIALSIZE=€and€EXTENDSIZE=€specifiers€on€the€OPENÏstatement,€as€implemented€as€an€extension€in€several€Fortran€compilers.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ð�� � �ø.›(7� �Ðà ����Ü �àMany€file€systems€allow€the€user€to€specify€the€initial€size€and€extend€sizes€of€file.€€This€could€beÏused€by€knowledgeable€programmers€to€optimize€I/O€operations.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àThis€could€be€implemented€as€INITIALSIZE=numeric„expression€and€EXTENDSIZE=numeric„¼expression€keywords€in€the€OPEN€statement.€€If€absent,€the€initial€size€and€extend€size€would€useÏprocessor„dependent€default€values.€€If€the€operating€system€or€file€system€does€not€support€user„¼specified€initial€or€extend€sizes,€the€use€of€this€keyword€would€have€no€effect.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àMinimal.€€This€keyword€is€already€supported€on€several€popular€compilers.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �Þ� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€9.3.4Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Úñ96-00cñÚñ›œñÚñ96-074ñÚñ›Ð�� � �Æi� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �º]!� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �w"� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àORGANIZATION=€Specifier€on€OPENÐ�� � �4 ×#� �Ð<KEYWORDS>à ����Œ �àÐ�� � �ñ ”$� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �®!Q%� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �k"&� �Ð<SUBGROUP>à ����Œ �àÐ�� � �(#Ë'� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �å#ˆ(� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€support€the€ORGANIZATION=€specifier€on€the€OPEN€statement,€asÏimplemented€as€an€extension€in€several€Fortran€compilers.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àSome€file€systems€allow€the€user€to€specify€the€organization€of€the€file€as€either€sequential€(noÏfixed€size€and€records€are€organized€sequentially),€relative€(fixed€number€of€fixed„length€records),€orÏindexed€(some€fields€are€keyed€for€indexed€file€access).€€Knowledgeable€programmers€would€benefitÏby€being€able€to€specify€the€organization€which€is€appropriate€for€the€application,€if€such€organizationÏis€available.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ð�� � �ø.›(7� �Ðà ����Ü �àThis€feature€could€be€implemented€by€an€ORGANIZATION=character„expression€keyword€in€theÏOPEN€statement.€€The€character„expression€would€take€one€of€the€following€values:Ìà ����Ü �àSEQUENTIALà ����¸ �àThe€file€does€not€have€a€fixed€size€and€records€are€organized€sequentially.Ð�� � �×z� �Ðà ����Ü �àRELATIVEà ����Œ �àà ����¸ �àThe€file€has€a€fixed€number€of€fixed„length€records.Ð�� � �”7� �Ðà ����Ü �àINDEXEDà ����` �àà ����Œ �àà ����¸ �àThe€file€has€some€fields€in€each€record€keyed€for€indexed€file€access.Ð�� � �Q ô� �ÐIf€the€file€system€in€use€does€not€support€a€particular€organization,€the€use€of€the€ORGANIZATIONÏkeyword€would€have€no€effect.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>ÌÌ</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �d� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€9.3.4Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Ûñ96-00cñÛñ›œñÛñ96-074ñÛñ›Ð�� � �Lï� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �@ã� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �ý  � �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àRECORDTYPE=€Specifier€on€OPENÐ�� � �º]!� �Ð<KEYWORDS>à ����Œ �àÐ�� � �w"� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �4 ×#� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �ñ ”$� �Ð<SUBGROUP>à ����Œ �àÐ�� � �®!Q%� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �k"&� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€support€the€RECORDTYPE=€specifier€on€the€OPEN€statement,€asÏimplemented€as€an€extension€in€several€Fortran€compilers.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àSome€file€systems€allow€the€user€to€specify€the€record€type€of€the€file.€€KnowledgeableÏprogrammers€would€benefit€by€being€able€to€specify€the€record€type€which€is€appropriate€for€theÏapplication,€if€such€record€type€is€available.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àThis€feature€could€be€implemented€by€an€RECORDTYPE=character„expression€keyword€in€theÏOPEN€statement.€€The€character„expression€would€take€one€of€the€following€values:Ìà ����Ü �àFIXEDà ����` �àà ����Œ �àSpecifies€fixed€length€records.Ð�� � �;.Þ'6� �Ðà ����Ü �àVARIABLEà ����Œ �àSpecifies€variable€length€records.Ð�� � �ø.›(7� �Ðà ����Ü �àSTREAMà ����` �àà ����Œ �àSpecifies€stream€records,€i.e.,€records€which€have€no€organization.Ð�� � �]���� �ÐAs€an€extension,€a€processor€could€offer€additional€record€type€values.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àMinimal€to€moderate.€€Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �³V � �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€9.3.4Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Üñ96-00cñÜñ›œñÜñ96-074ñÜñ›Ð�� � �›>� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �2� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �Lï� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àUSEROPEN=€Specifier€on€OPENÐ�� � � ¬� �Ð<KEYWORDS>à ����Œ �àÐ�� � �Æi� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �ƒ&� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �@ã� �Ð<SUBGROUP>à ����Œ �àÐ�� � �ý  � �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �º]!� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€support€the€USEROPEN=€specifier€on€the€OPEN€statement,€as€implementedÏas€an€extension€in€several€Fortran€compilers.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àSome€file€systems€allow€the€user€to€specify€a€user„written€external€procedure€which€controls€theÏopening€of€the€file..€€Knowledgeable€programmers€would€benefit€by€being€able€to€specify€additional€I/OÏcapabilities€which€are€not€available€using€the€regular€OPEN€keywords.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àThis€feature€could€be€implemented€by€a€USEROPEN=procedure„name€keyword€in€the€OPENÏstatement.€€The€procedure€would€be€declared€EXTERNAL€and,€if€it€is€a€function,€be€of€a€processor„¼dependent€type.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àMinimal€to€moderate.€€Ì</ESTIMATED€IMPACT>ÌÐ�� � �ø.›(7� �Ð<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �Ë n� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€9.3.4Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Ýñ96-00cñÝñ›œñÝñ96-074ñÝñ›Ð�� � �³V � �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �§J � �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �d� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àUNLOCK€StatementÐ�� � �!Ä� �Ð<KEYWORDS>à ����Œ �àÐ�� � �Þ� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �›>� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �Xû� �Ð<SUBGROUP>à ����Œ �àÐ�� � �¸� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �Òu� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€allow€a€programmer€to€unlock€the€most€recently€read€or€written€recordÏwithout€depending€on€processor,€operating€system,€or€file€system€defaults.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àMany€operating€systems€and€file€systems€lock€records€when€they€are€read€or€written.€€In€manyÏcases,€the€record€is€unlocked€at€an€indeterminate€time.€€This€can€cause€problems€in€shared€fileÏapplications€and€certain€other€situations.€€It€would€be€helpful€to€give€to€the€application€programmerÏthe€ability€to€force€the€unlocking€of€records.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àThis€could€be€implemented€by€creating€a€statement€of€the€form:Ìà ����Ü �àUNLOCK€([UNIT=]œio›„unit€[,€ERR=label]€[,€IOSTAT=iostatus])Ìwhere:Ìà ����Ü �àœio›„unità ����4 �àà ����` �àis€an€I/O€unit€numberÐ�� � �&¿+� �Ðà ����Ü �àlabel€à ����4 �àà ����` �àis€a€label€of€a€branch€target€statement€that€receives€control€if€there€is€an€errorÐ�� � �Ù&| ,� �Ðà ����Ü �àiostatusà0 ����` �àis€a€scalar€integer€variable€that€is€defined€as€a€processor„dependent€positive€integerÐ�� � �–'9!-� �Ðif€there€is€an€error€and€as€zero€if€there€is€no€errorÐ�� � �` (#` (# �ÐÌà ����Ü �àIf€there€is€no€record€locked€at€the€time€the€UNLOCK€statement€is€executed,€the€statement€has€noÏeffect.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �à€€€Implementation€costs€should€be€quite€low€since€record€locking€is€a€function€which€is€inherentÏto€the€READ€and€WRITE€operations.Ì</ESTIMATED€IMPACT>Ð�� � �ø.›(7� �Ї<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �Ë n� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€9.3,€9.4Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�Þñ96-00cñÞñ›œñÞñ96-074ñÞñ›Ð�� � �³V � �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �§J � �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �d� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �à$€and€\€Edit€DescriptorsÐ�� � �!Ä� �Ð<KEYWORDS>à ����Œ �àÐ�� � �Þ� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �›>� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �Xû� �Ð<SUBGROUP>à ����Œ �àÐ�� � �¸� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �Òu� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€include€support€for€the€$€and€\€edit€descriptors,€as€implemented€as€extensionsÏin€several€Fortran€compilers.€Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àBoth€of€these€edit€descriptors€suppress€end„of„record€information€at€the€end€of€a€record.€€ThisÏmakes€it€possible€to€concatenate€two€or€more€records€in€one€output€line€or€to€create€prompting.€€TheÏ$€edit€descriptor€is€an€extension€in€the€Cray,€DEC,€EPC,€HP,€IBM,€Lahey,€and€Sun€compilers.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àThe€Fortran€2000€standard€should€implement€these€edit€descriptors€as€defined€in€the€aboveÏmentioned€compilers.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àThe€impact€of€implementing€these€edit€descriptors€should€not€be€great.€€The€algorithms€alreadyÏexist.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �;.Þ'6� �Ð</SUBMITTED€BY>Ð�� � �ø.›(7� �Ї<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€10.2.1Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�ßñ96-00cñßñ›œñßñ96-074ñßñ›Ð�� � � ±� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � � ¥ � �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �¿ b � �Ð<TITLE>à ����4 �àà ����` �àà0 ����Œ �àQ€Edit€Descriptor€(Input€Character€Count€Editing)Ð����| �Œ (#Œ (# �Ð<KEYWORDS>à ����Œ �àÐ�� � �9Ü � �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �ö™ � �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �³V � �Ð<SUBGROUP>à ����Œ �àÐ�� � �p � �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �-Ð � �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€support€the€Q€edit€descriptor,€as€implemented€as€an€extension€in€severalÏFortran€compilers.€€This€edit€descriptor€obtains€the€number€of€characters€remaining€in€the€currentÏinput€record.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àIt€is€often€very€useful€to€obtain€a€count€of€the€remaining€characters€in€an€input€record,€right€inÏthe€middle€of€the€input€record.€€The€support€for€the€Q€edit€descriptors€an€extension€in€the€DEC,€EPC,ÏIBM,€Lahey,€and€Sun€compilers€attests€to€the€popularity€and€usefulness€of€this€feature.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àOn€input,€if€a€Q€edit€descriptor€corresponds€to€a€scalar€integer€variable,€the€integer€variable€is€setÏto€the€number€of€characters€remaining€in€the€input€record.€€If€the€corresponding€input€variable€is€someÏother€data€type,€an€error€occurs.€€On€output,€the€corresponding€output€list€element€is€ignored.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àSince€this€is€a€popular€extension,€the€algorithms€are€well€know.€€Therefore,€it€should€be€fairlyÏinexpensive€to€implement€this€feature.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �)³"/� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€10.2.1Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�àñ96-00cñàñ›œñàñ96-074ñàñ›Ð�� � �ø.›(7� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ì<FORTREQ>à ����` �àà ����Œ �àÐ�� � �”7� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �Q ô� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àField€and€Record€JustificationÐ�� � � ±� �Ð<KEYWORDS>à ����Œ �àÐ�� � �Ë n� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �ˆ +� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � �E è� �Ð<SUBGROUP>à ����Œ �àÐ�� � � ¥ � �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �¿ b � �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€provide€edit€descriptors€which€allow€the€user€to€specify€whether€a€particularÏfield€is€right€justified,€center€justified,€or€left€justified.€€If€justification€is€not€specified,€it€would€defaultÏto€the€current€rules.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àThe€current€Fortran€90€standard€and€the€Fortran€95€DIS€only€allow€justification€as€defined€by€theÏstandard.€€If€the€programmer€could€specify€field€and€record€justification,€s/he€could€produce€muchÏbetter€aligned€output€with€much€less€effort.€€Right€now,€it€takes€quite€a€lot€of€effort€on€theÏprogrammer's€part€in€order€to€justify€output,€especially€if€it€is€to€be€centered€on€a€record.€€Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àOne€method€would€be€to€precede€each€field€with€JR€for€right€justification,€JL€for€left€justification,Ïand€œJC›€for€center€justification,€with€the€target€field€immediately€following€in€parentheses.€€SpecifyingÏJR,€œJC›,€or€JL€at€the€beginning€of€a€record€could€specify€justification€for€entire€records.€€InvestigationÏmay€reveal€more€effective€methods€for€implementing€each€of€these€features.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àUnknown.€€This€may€be€fairly€easy€to€implement€or€there€may€be€unforseen€complications.€ÏHowever,€the€existence€of€this€feature€in€almost€all€word€processing€and€spreadsheet€softwareÏindicates€that€the€algorithms€are€already€highly€developed€and€well€known.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �Ù&| ,� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€10.2.1Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�áñ96-00cñáñ›œñáñ96-074ñáñ›Ð�� � �Á,d&4� �Ð</HISTORY>Ì</FORTREQ>Ì**********************************************************************************************Ð�� � �ø.›(7� �Ð<FORTREQ>à ����` �àà ����Œ �àÐ�� � �]���� �Ð<NUMBER>à ����` �àà ����Œ �àÐ�� � �½�� �Ð<TITLE>à ����4 �àà ����` �àà ����Œ �àProhibit€Embedded€Blanks€in€Edit€DescriptorsÐ�� � �×z� �Ð<KEYWORDS>à ����Œ �àÐ�� � �”7� �Ð<STATUS>à ����` �àà ����Œ �àRegisteredÐ�� � �Q ô� �Ð<TARGET>à ����` �àà ����Œ �àÐ�� � � ±� �Ð<SUBGROUP>à ����Œ �àÐ�� � �Ë n� �Ð<VERSION>à ����` �àà ����Œ �à1Ð�� � �ˆ +� �ÐÌ<REQUIREMENT>Ìà ����Ü �àFortran€2000€should€require€that€format€edit€descriptors€not€contain€embedded€blanks,€except€forÏcharacter€strings€appearing€inside€quotes€or€parentheses.Ì</REQUIREMENT>ÌÌ<JUSTIFICATION>Ìà ����Ü �àA€Fortran€90€interpretation€allowed€embedded€blanks€to€appear€in€format€edit€descriptors.€€ThisÏis€counter„intuitive.€€It€is€contrary€to€the€practice€of€the€last€1000€years€(in€Western€languages)Ïwhereby€blanks€signify€the€separation€of€words€and€tokens.€€A€format€edit€descriptor€is€a€single€tokenÏor€"word"€in€the€eyes€of€application€developers.€€Therefore,€embedded€blanks€should€not€be€allowedÏinside€of€edit€descriptors.Ì</JUSTIFICATION>ÌÌ<SUGGESTED€IMPLEMENTATION>Ìà ����Ü �àThis€could€be€implemented€by€changing€the€rules€in€section€10.2.1€governing€the€format€of€editÏdescriptors.Ì</SUGGESTED€IMPLEMENTATION>ÌÌ<ESTIMATED€IMPACT>Ìà ����Ü �àMinimal.€€Some€implementors€will€have€to€modify€their€compilers€in€order€to€comply€with€the€newÏrule.€€Some€users€who€used€blanks€embedded€in€format€edit€descriptors€will€have€to€restructure€theirÏcode.Ì</ESTIMATED€IMPACT>ÌÌ<SUBMITTED€BY>Ìà ����Ü �àCraig€T.€DedoÌà ����Ü �àElmbrook€Computer€ServicesÌà ����Ü �à17130€W.€Burleigh€PlaceÌà ����Ü �àBrookfield,€WI€€€53005Ìà ����Ü �à(414)€783-5869Ìà ����Ü �àE„mail:à ����` �àCraig.Dedo@mixcom.comÐ�� � �(#Ë'� �Ð</SUBMITTED€BY>ÌÌ<REFERENCE>Ìà ����Ü �àISO/IEC€1539:1991€(E)€10.2.1Ì</REFERENCE>ÌÌ<HISTORY>Ì<EVENT>à ����4 �àà ����` �àMay€1996,€meeting€137:à ����” �àsubmitted€œñ�âñ96-00cñâñ›œñâñ96-074ñâñ›Ð�� � �)³"/� �Ð</HISTORY>Ì</FORTREQ>Ì