Hermes: A Tutorial and Reference Manual - Researcher - IBM
Hermes: A Tutorial and Reference Manual - Researcher - IBM
Hermes: A Tutorial and Reference Manual - Researcher - IBM
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
5ResearchDirectionsin<strong>Hermes</strong><br />
buildotherprograms,butunlikeLISP,<strong>Hermes</strong>willchecktheseprograms cesscontrol([NS88,Str86]).LikeLISP,<strong>Hermes</strong>allowsrunningprogramsto unlikeobject-orientedlanguages,thereissupportforconcurrency<strong>and</strong>ac-<br />
languages,<strong>Hermes</strong>supportsinformationhiding<strong>and</strong>programreuse|but opment.Itcombinesexpressivepower,simplicity,portability,<strong>and</strong>safety, in<strong>Hermes</strong>. mergingthebestfeaturesofmanylanguageparadigms:Likeobject-oriented Ifyouhavefollowedtheexamplessofar,youshouldbereasonablyuent<br />
fortypeerrorsbeforeexecution.LikeAda<strong>and</strong>Modula,<strong>Hermes</strong>supports modularity<strong>and</strong>interfacespecication,butunliketheselanguages,<strong>Hermes</strong> Webelievethat<strong>Hermes</strong>isanexcellenttechnologyforlargesystemdevel-<br />
machine-independentsetofprimitivestodoit.And<strong>Hermes</strong>providesthe providescompletesecurityusingtypestatechecking.LikeC/UNIX,<strong>Hermes</strong>supportssystemsprogramming,butusesasimpler<strong>and</strong>completelplorenewerapproachestosimplifyingthedevelopmentofcomplexsystems:<br />
Asof1990,the<strong>Hermes</strong>projectat<strong>IBM</strong>Researchisusing<strong>Hermes</strong>toex-<br />
Amorerenedsemilatticestructure,whichallowsprogrammersto familiarsequentialprogrammingparadigmoftheimperativelanguages.<br />
Optimistictransformations,whichperformconcurrencycontrol([Jef85]), Transparentrecovery,whichmakesitunnecessaryforprogrammers FBSY87,SYB87d]). totreatprocessstateasvolatile<strong>and</strong>dotheirowncheckpointing <strong>and</strong>restart([SY85,SY84,YSB87,SBY88,SBY87,SYB87c,SYB88, allowadditionalcoercions([SY89,SY90]). trackmoreinformationaboutthevalueofvariables,<strong>and</strong>whichwould<br />
implementationsonparallel<strong>and</strong>distributedarchitectures. clientscodedasasingleserialprocess,aretransformedintoecient perciallyinecientprograms,suchasaserverwiththous<strong>and</strong>sof tocodethesecomplexprotocolsbyh<strong>and</strong>.Straightforwardbutsutiontransparently([SY87]).Suchoptimizationsmakeitunnecessary<br />
processreplication([GJ87]),call-streaming([BS90]),<strong>and</strong>paralleliza-