name=S nameURL=http%3A%2F%2Fnetlib.bell-labs.com%2Fcm%2Fms%2Fdepartments%2Fsia%2Fproject%2FS%2Findex.html see= logo=112x127%3Dhttp%3A%2F%2Fnetlib.bell-labs.com%2Fcm%2Fms%2Fdepartments%2Fsia%2Finfo%2Fslogo2.gif type=M+-+Mathematical+or+Simulation desc=S+is+an+interpreted%2C+high-level+procedural%0D%0Alanguage+designed+and+used+for+statistics%2C%0D%0Anumerical+modeling%2C+data+analysis%2C+and%0D%0Asimulation.++%0D%0A%3Cbr%3E%0D%0AThe+structure+of+an+S+program+is+quite+simple%3A%0D%0Ait+consists+of+statements.++Some+of+the%0D%0Astatements+might+define+functions%2C+which%0D%0Aallows+the+S+programmer+to+build+up+%0D%0Acomplicated+modular+programs.++The+expression%0D%0Asyntax+of+S+is+very+sophisticated+and%0D%0Arich.++Array+and+sequence+handling+are%0D%0Asupported+with+a+set+of+compact+primitives%0D%0Athat+allow+complicated+data+manipulation%0D%0Ato+be+built+fairly+easily.%0D%0A%3Cbr%3E%0D%0ALike+many+interpreters%2C+S+permits+evaluation%0D%0Aof+code+constructed+on+the+fly.++It+also%0D%0Ahas+some+limited+facilities+for+reflection%0D%0Aand+expression+manipulation.%0D%0A%3Cbr%3E%0D%0ABy+default%2C+all+global+variables+in+S+are+%0D%0Apersistent.%0D%0AThey+get+saved+at+each+assignment+to+%0D%0Aone+of+several+data+areas.++%0D%0AFunction+definitions+are+also+persistent%2C%0D%0Asaved+in+the+same+fashion.%0D%0A%3Cbr%3E%0D%0AThe+newest+version+of+S%2C+Version+4%2C+%0D%0Asupports+object-oriented+programming%0D%0Aand+event-driven+programming.%0D%0A%3Cbr%3E%0D%0AS+is+sold+commmercially+as+%27S-Plus%27+by+%0D%0AMathSoft%2C+Inc.++It+is+available+for+all%0D%0AUnix+and+PC+platforms.++Some+documentation%0D%0Acan+be+found+on-line%2C+but+available+textbooks%0D%0Aand+reference+documents+distributed+with%0D%0Athe+commercial+implementation+are+better. origin=R.A.+Becker+%3Ci%3Eet+al%3C%2FI%3E%2C+1977-84.+ seealso=Mathematica%2C+APL%2C+Fortran%2C+C%2C+NIAL remark=The+initial+goal+of+S%2C+according+to+its%0D%0Aprimary+inventor%2C+was+to+provide+powerful%0D%0Ainteractive+statistics+and+data+analysis.%0D%0AThe+desire+to+create+an+interactive+system%0D%0Aarose+from+the+desire+of+the+statistics%0D%0Aresearchers+at+Bell+Laboratories+to+be%0D%0Aable+to+explore+data+and+analyze+it+in%0D%0Avarious+and+sundry+ways+without+the+overhead%0D%0Aand+difficulty+of+writing+FORTRAN+programs.%0D%0A%3Cbr%3E%0D%0AThe+initial+implementation+of+S+was+in+Fortran%2C%0D%0Alater+implementations+and+current+ones+are+%0D%0Ain+C.%0D%0A%3Cbr%3E%0D%0AS+and+S-Plus+both+offer+a+huge+library+of%0D%0Astatistics%2C+graphics%2C+data-handling%2C%0D%0Aand+other+functions.++Textbooks+and+%0D%0Aon-line+technical+reports+and+archives%0D%0Aprovide+additional+resources+and+%0D%0Aspecialized+functionality. links1=S-Plus+pages+at+MathSoft%3Dhttp%3A%2F%2Fwww.mathsoft.com%2Fsplus%2F links2=Statistics+Center+Technical+documents+%28some+about+S%29%3Dhttp%3A%2F%2Fnetlib.bell-labs.com%2Fcm%2Fms%2Fdepartments%2Fsia%2Fdoc%2Findex.html links3=S+resources+at+CMU+StatLib%3Dhttp%3A%2F%2Flib.stat.cmu.edu%2FS%2F links4= links5= date=Last+updated+1%2F6%2F98 sample=%3Cpre%3E%0D%0A%23+Some+S+code+to+plot+concentric+convex+hulls%0D%0A%23+around+some+data%2C+from+the+documentation+for%0D%0A%23+the+chull+function.%0D%0A%0D%0Adrawhull+%3C-+function%28xvec%2C+yvec%2C+ltype%29%0D%0A%7B%0D%0A+++polygon%28xvec%2C+yvec%2C+density%3D0%2C+lty%3Dltype%29%0D%0A%7D%0D%0A%0D%0Ap+%3C-+chull%28corn.rain%2C+corn.yield%2C+peel%3DT%29%0D%0Awhich+%3C-+rep%28seq%28p%24count%29%2C+p%24count%29%0D%0As+%3C-+split%28p%24hull%2C+which%29%0D%0Aplot%28corn.rain%2C+corn.yield%2C+pch%3D%22X%22%29%0D%0Afor%28i+in+seq%28s%29%29+%7B%0D%0A+++++j+%3C-+s%5B%5Bi%5D%5D%0D%0A+++++if+%28length%28j%29+%3E+2%29+%0D%0A+++++++++++++drawhull%28corn.rain%5Bj%5D%2C+corn.yield%5Bj%5D%2C+i%29%0D%0A%7D%0D%0A%3C%2Fpre%3E%0D%0A _store=1 _add=S _usertab=1 _usersearch=0 _format=full = name=Sather nameURL=http%3A%2F%2Fwww.icsi.berkeley.edu%2F%7Esather%2F see= logo=77x270%3Dhttp%3A%2F%2Fwww.icsi.berkeley.edu%2F%7Esather%2Fpic%2Fcampanile.gif type=O+-+Object-oriented desc=Sather+is+an+object-oriented+language%2C%0D%0Astrongly+typed%2C+that+supports+many+modern%0D%0AOO+software+engineering+features.++%0D%0A%3Cbr%3E%0D%0AThe+syntax+of+Sather+is+somewhat+similar+to%0D%0AEiffel+or+Ada.++However%2C+in+Sather+all%0D%0Atypes+belong+to+object+classes.++%0D%0APrimitive+types+include+integers%2C+floats%2C%0D%0Astrings%2C+booleans%2C+and+the+distinguished+value%0D%0Avoid.++Arrays+are+supported%2C+too%2C+but+as%0D%0Aa+parameterized+class+rather+than+a+%0D%0Abuilt-in+data+type.%0D%0AThe+only+ways+to+define+new+types+are%0D%0Aclass+definition+and+class+parameterization.%0D%0A%3Cbr%3E%0D%0AAll+memory+management+is+automatic+for%0D%0ASather+programmers%2C+all+Sather+implementations%0D%0Ainclude+garbage+collection.%0D%0A%3Cbr%3E%0D%0ASome+advanced+features+of+Sather+are+listed%0D%0Abelow.%0D%0A%3Cul%3E%0D%0A%3Cli%3EException+handling%0D%0A%3Cli%3EClosures+and+iterators%0D%0A%3Cli%3EMultiple+inheritance+%28subtyping%29%0D%0A%3Cli%3ESupertyping%0D%0A%3Cli%3EOperator+overloading%0D%0A%3Cli%3EImmutable+classes%0D%0A%3Cli%3EAbstract+and+partial+classes%0D%0A%3Cli%3EAssertions%2C+preconditions+and+postconditions%0D%0A%3C%2Ful%3E%0D%0A%3Cbr%3E%0D%0AThe+Sather+standard+library+provides+an%0D%0Aassortment+of+container+types%2C+I%2FO%0D%0Afacilities%2C+system+interfaces%2C+and+more.%0D%0A%3Cbr%3E%0D%0AImplementations+of+Sather+and+the%0D%0Asource+code+for+them+are+available+free.%0D%0ADocumentation+is+available+on-line+and+is%0D%0Aalso+included+with+most+distributions. origin=S.M.+Omohundro%2C+C-C+Lim%2C+%3Ci%3Eet+al%3C%2Fi%3E%2C+UC+Berkeley%2C+1990. seealso=Eiffel%2C+C++%2C+Objective-C%2C+Oberon%2C+Cecil%2C+Smalltalk%2C+Self remark=Sather+was+originally+built+as+a+version%0D%0Aof+Eiffel%2C+and+it+was+named+after%0D%0Athe+Sather+tower+at+UC+Berkeley.++The%0D%0Alanguage+evolved+a+great+deal+in+the+early%0D%0A1990s%2C+and+can+no+longer+be+considered+a+close%0D%0Arelative+of+Eiffel+%28except+that+they+are+both%0D%0Amodern%2C+robust+OO+languages.%29%0D%0A%3Cbr%3E%0D%0ASather+is+implemented+as+a+translator+on+top+%0D%0Aof+C%2C+and+has+therefore+been+ported+to+a%0D%0Awide+variety+of+Unix+and+other+platforms.%0D%0A%3Cbr%3E%0D%0AThe+current+Sather+manuals+are+fairly+good%0D%0Awith+respect+to+documenting+the+language%0D%0Aitself%2C+but+there+is+not+enough%0D%0Adocumentation+on+the+standard%0D%0Alibrary. links1=The+Sather+Documentation+Page%3Dhttp%3A%2F%2Fwww.icsi.berkeley.edu%2F%7Esather%2FDocumentation%2Findex.html links2=Sather-K+Home+Page+at+U.+of+Karlsruhe%3Dhttp%3A%2F%2Fi44s11.info.uni-karlsruhe.de%3A80%2Fsather%2F links3=Sather+FTP+download+area%3Dftp%3A%2F%2Fftp.icsi.berkeley.edu%2Fpub%2Fsather%2F links4=The+pSather+home+page%3Dhttp%3A%2F%2Fwww.icsi.berkeley.edu%2F%7Esather%2Fpsather.html links5= date=Last+updated+12%2F31%2F97 sample=%3Cpre%3E%0D%0A--+Still+working+on+a+good+code+example+here...%0D%0A%0D%0A--+A+simple+class+from+the+Sather+Essential+manual%0D%0Aclass+POINT+is%0D%0A++++++++attr+x%2Cy%3AINT%3B%0D%0A+++++++++%0D%0A++++++++create%28x%2Cy%3AINT%29%3APOINT+is%0D%0A++++++++res%3APOINT+%3A%3D+new%3B+res.x+%3A%3D+x%3B++res.y+%3A%3D+y%3B++return+res%3B%0D%0A+++++++end%3B%0D%0A+++++++%0D%0A++++++++add%28xval%2Cyval%3AINT%29%3APOINT+is%0D%0A+++++++++++xsum%3AINT+%3A%3D+x+++xval%3B++%0D%0A+++++++++++ysum%3AINT+%3A%3D+y+yval%3B%0D%0A+++++++++++res%3APOINT+%3A%3D+%23POINT%28xsum%2C+ysum%29%3B+%0D%0A+++++++++++return+res%3B+%0D%0A+++++++end%3B+%0D%0A+++++++%0D%0A+++++++offset_by%28val%3AINT%29%3APOINT+is++%0D%0A++++++++return+add%28val%2Cval%29%3B++++%0D%0A+++++++end%3B%0D%0A+++++end%3B%0D%0A%3C%2Fpre%3E _store=1 _add=Sather _usertab=1 _usersearch=0 _format=full = name=Scheme nameURL=http%3A%2F%2Fwww-swiss.ai.mit.edu%2Fscheme-home.html see= logo=32x32%3Dhttp%3A%2F%2Fwww-swiss.ai.mit.edu%2Fscheme_shield_tiny.gif type=F+-+Functional+or+lambda-based desc=Scheme+is+a+dialect+of+Lisp+with+functional%0D%0Aand+procedural+language+aspects.++Unlike%0D%0Aoriginal+Lisp%2C+Scheme+is+lexically+scoped%2C%0D%0Abut+like+Lisp+it+is+dynamically+typed.%0D%0A%3Cbr%3E%0D%0AScheme+provides+a+wide+set+of+%0D%0Adata+types%3A+symbols%2C+various+numeric+types%2C%0D%0Acharacters+and+strings%2C+lists%2C%0D%0Avectors%2C+bit+strings%2C+records%2C+association%0D%0Alists+and+hash+tables%2C%0D%0Aand+various+functional%2Flambda+types%0D%0A%28curried+procedures%2C+closures%2C+promises%2C+etc%29.%0D%0AScheme+has+comprehensive+I%2FO+facilities%0D%0Abased+on+an+abstraction+called+%22Ports.%22%0D%0A%3Cbr%3E%0D%0AAs+a+Lisp+dialect%2C+Scheme+naturally+%0D%0Asupports+lambda+expressions.++It+also%0D%0Ahas+a+full+set+of+sequential+control-flow%0D%0Aconstructs%3A+a+variety+of%0D%0Aselection%2C+iteration%2C+and%0D%0Ablock+special+forms.%0D%0AScheme+also+has+a+comprehensive+error%0D%0Ahandling+mechanism.%0D%0A%3Cbr%3E%0D%0AScheme+has+gone+through+four+major+revisions%0D%0Asince+the+first+%22Report+on+the+%0D%0AAlgorithmic+Language+Scheme%22+was+issued+in%0D%0A1978.++The+current+version+of+M.I.T.%0D%0AScheme%2C+as+of+last+1997%2C+is+7.4.%0D%0AVarious+other+academic+implementations%0D%0Aalso+exist.%0D%0A%3Cbr%3E%0D%0AScheme+is+used+to+teach+computer+science%0D%0Aprinciples%2C+as+well+as+for+writing+various%0D%0Acompilers%2C+AI+systems%2C+and+many+other+kinds%0D%0Aof+programs.%0D%0A%3Cbr%3E%0D%0AInformation+about+Scheme+is+widely+available%0D%0Aon+academic+sites+on+the+Internet.++%0D%0ASeveral+free+implementations+are+available%0D%0Afor+all+major+platforms%3A+MIT+Scheme%2CDrScheme%2C%0D%0AGambit-C%2C+MzScheme%2C+Pc-Scheme%2C+SCM%2C+VSCM%2C%0D%0Aand+others.++There+have+also+been+many%0D%0Aextended+scheme+dialects+created. origin=Gerald+Sussman+%26amp%3B+Guy+Steele%2C+1975. seealso=Lisp remark=Scheme+was+developed+at+the+Massachusetts%0D%0AInstitute+of+Technology%2C+and+has+been+used%0D%0Ato+test+many+innovations+in+language%0D%0Aimplementation.+%0D%0A%3Cbr%3E%0D%0ASome+Scheme+systems+are+interpreters%2C%0D%0Asome+are+native+compilers%2C+and+some+are%0D%0AScheme-%3EC+translators.++There+is+even+a%0D%0AScheme+compiler+that+produces+Java+bytecodes%0D%0A%28Kawa%29.%0D%0A%3Cbr%3E%0D%0AThe+GNU+project+has+selected+Scheme+as%0D%0Aa+universal+extension%2Fmacro+language+for%0D%0AGNU+products.++Their+idea+is+to+implement%0D%0Aa+powerful+Scheme+dialect%2C+and+then+support%0D%0Aother+languages+by+translating+them+into%0D%0AScheme. links1=Indiana+University+Scheme+Repository%3Dhttp%3A%2F%2Fwww.cs.indiana.edu%2Fscheme-repository%2FSRhome.html links2=Scheme+FAQ+List%3Dhttp%3A%2F%2Fwww.cis.ohio-state.edu%2Fhypertext%2Ffaq%2Fbngusenet%2Fcomp%2Flang%2Fscheme%2Ftop.html links3=Princeton+University+VCSM+Portable+Scheme%3Dhttp%3A%2F%2Fwww.cs.princeton.edu%2F%7Eblume%2Fvscm%2Fvscm.html links4= links5= date=Last+updated+12%2F16%2F97 sample=%3Cpre%3E%0D%0A%3B%3B%3B+takes+two+sorted+lists+merges+them%0D%0A%28define+%28merge%21+a+b+less%3F%29%0D%0A++++%28define+%28loop+r+a+b%29%0D%0A++++++++%28if+%28less%3F+%28car+b%29+%28car+a%29%29%0D%0A++++++++++++%28begin%0D%0A++++++++++++++++%28set-cdr%21+r+b%29%0D%0A++++++++++++++++%28if+%28null%3F+%28cdr+b%29%29%0D%0A++++++++++++++++++++%28set-cdr%21+b+a%29%0D%0A++++++++++++++++++++%28loop+b+a+%28cdr+b%29%29+%29%29%0D%0A++++++++++++%3B%3B+%28car+a%29+%3C%3D+%28car+b%29%0D%0A++++++++++++%28begin%0D%0A++++++++++++++++%28set-cdr%21+r+a%29%0D%0A++++++++++++++++%28if+%28null%3F+%28cdr+a%29%29%0D%0A++++++++++++++++++++%28set-cdr%21+a+b%29%0D%0A++++++++++++++++++++%28loop+a+%28cdr+a%29+b%29%29+%29%29+%29%0D%0A++++%28cond%0D%0A++++++++%28%28null%3F+a%29+b%29%0D%0A++++++++%28%28null%3F+b%29+a%29%0D%0A++++++++%28%28less%3F+%28car+b%29+%28car+a%29%29%0D%0A++++++++++++%28if+%28null%3F+%28cdr+b%29%29%0D%0A++++++++++++++++%28set-cdr%21+b+a%29%0D%0A++++++++++++++++%28loop+b+a+%28cdr+b%29%29%29%0D%0A++++++++++++b%29%0D%0A++++++++%28else+%3B+%28car+a%29+%3C%3D+%28car+b%29%0D%0A++++++++++++%28if+%28null%3F+%28cdr+a%29%29%0D%0A++++++++++++++++%28set-cdr%21+a+b%29%0D%0A++++++++++++++++%28loop+a+%28cdr+a%29+b%29%29%0D%0A++++++++++++a%29%29%29%0D%0A%3C%2Fpre%3E _store=1 _add=Scheme _usertab=1 _usersearch=0 _format=full = name=Self nameURL=http%3A%2F%2Fself.sunlabs.com%2F see= logo=169x63%3Dhttp%3A%2F%2Fself.sunlabs.com%2Flogo.gif type=O+-+Object-oriented desc=Self+is+a+dynamic+object-oriented+%0D%0Alanguage+and+programming+environment%0D%0Abased+on+an+object+prototypes+a+%0D%0Ageneral+message-passing+model.++It%0D%0Awas+designed+to+be+small%2C+very+flexible%2C%0D%0Aand+easy+to+use.%0D%0A%3Cbr%3E%0D%0AAn+object%2C+in+Self%2C+consists+of+several%0D%0Anamed+slots.++Each+slot+can+be+a+data%0D%0Aslot+or+a+method+slot%2C+there+is+no%0D%0Afundamental+distinction+between+them.%0D%0ASlots+can+hold+integers%2C+reals%2C%0D%0Astrings%2C+methods%2C+code+blocks%2C%0D%0Aand+references+to+other+objects.%0D%0AAggregate+data+types+of+all+kinds%0D%0Aare+provided+by+prototype+objects+in%0D%0Athe+Self+standard+library.++The%0D%0Alibrary+also+provides+a+great+many%0D%0Aprototypes+for+graphics%2C+windowing%2C%0D%0AI%2FO%2C+networking%2C+and+other+services.%0D%0A%3Cbr%3E%0D%0ASelf+supports+the+usual+selection+and%0D%0Aiteration+control+flow+constructs+for%0D%0Ause+inside+methods+and+blocks.++Their%0D%0Asyntax+is+a+little+peculiar+because+%0D%0Athey+are+built+as+methods+of+the%0D%0Aobject+prototype+%27Block%27.%0D%0A%3Cbr%3E%0D%0ASelf+is+very+unusual%2C+among+OOP+languages%2C%0D%0Abecause+it+allows+an+object+to+change%0D%0Aits+slots+and+its+methods+dynamically%3B+this%0D%0Ais+equivalent+to+allowing+run-time+class%0D%0Adefinition.%0D%0AThere+is+no+strict+inheritance+in+Self%3B%0D%0Athe+parent+class+of+an+object+is+simply%0D%0Aa+reference+stored+in+a+%3Ci%3Eparent%3C%2FI%3E%0D%0Aslot%2C+messages+that+cannot+be+handled%0D%0Aby+an+object+get+delegated+to+its%0D%0Aparent+%28effectively%2C+its+superclass%29.%0D%0ASelf+also+fully+supports+reflection%2C%0D%0Aallowing+objects+to+inspect+each+others%0D%0Aconfiguration+during+execution.%0D%0A%3Cbr%3E%0D%0AThe+Sun+implementation+of+Self+is+written%0D%0Ain+C+++with+some+assembly+code.++It+is+%0D%0Abasically+an+on-the-fly+translator%0D%0Awith+compiled+code+caching.++Since%0D%0Are-compilation+is+transparent%2C+Self%0D%0Aappears+to+the+user+as+if+it+were%0D%0Ainterpreted.%0D%0A%3Cbr%3E%0D%0AThe+current+%28and+last%29+release+of+%0D%0ASun+Labs+Self+is+4.0.++It+is+available%0D%0Afor+SunOS+and+Solaris+UNIX+from+several%0D%0AFTP+sites.++The+Merlin+project+is+%0D%0Aimplementing+a+version+of+Self+for+Linux.%0D%0ADocumentation+about+Self%2C+including%0D%0Aconference+papers+and+a+reference+%0D%0Amanual%2C+are+available+on+the+web. origin=David+Ungar+%26amp%3B+Randall+Smith%2C+1986. seealso=Smalltalk%2C+Java%2C+Objective-C%2C+Cedar%2C+C++ remark=Computer+science+researchers+at+Sun+Microsystems%0D%0ALabs+and+Stanford+University%0D%0Aworked+on+the+Self+programming+environment%0D%0Afrom+about+1991+to+1995.++It+served+as+a%0D%0Avehicle+for+studying+user+interfaces%2C%0D%0AOOP+compiler+and+interpreter+technology%2C%0D%0Aand+general+OO+language+concepts.++%0D%0A%3Cbr%3E%0D%0ASelf+is+an+elegant+and+charming+OOP%0D%0Asystem%2C+but+the+very+limited+support%0D%0Aand+platform+%0D%0Aavailability+that+Sun+Labs+could+offer%0D%0Ahelped+to+deter+widespread+adoption.%0D%0A%3Cbr%3E%0D%0ASelf%27s+highly+dynamic+and+flexible%0D%0Aobject+model+could+be+used+to+emulate%0D%0Athe+object+models+of+other+language.%0D%0AFor+example%2C+the+Sun+team+wrote+a%0D%0ASmalltalk+environment+entirely+in+Self. links1=Self+FTP+download+area%3Dftp%3A%2F%2Fself.sunlabs.com%2Fpub%2F links2=Description+of+tinySelf+at+the+Merlin+Project%3Dhttp%3A%2F%2Fwww.lsi.usp.br%2F%7Ejecel%2Ftiny.html links3=TinySelf+for+Linux+home+page%3Dhttp%3A%2F%2Fwww.lsi.usp.br%2F%7Ejecel%2Ftiny.html links4= links5= date=Last+updated+9%2F3%2F98 sample=%3Cpre%3E%0D%0A%0D%0A%0D%0A%3C%2Fpre%3E _store=1 _add=Self _usertab=1 _usersearch=0 _format=full = name=SETL nameURL= see= logo= type=S+-+block-structured desc=SETL+is+a+high-level+procedural+language%0D%0Adesigned+to+bring+the+power+of+set+theory%0D%0Ato+programmers.++SETL+programs+are%0D%0Atypically+compiled.%0D%0A%3Cbr%3E%0D%0AThe+fundamental+data+types+in+SETL+are%3A%0D%0Aintegers+%28unlimited+precision%29%2C+reals%0D%0A%28machine+precision%29%2C+strings%2C+booleans%2C%0D%0Aand+the+explicit+non-value%2C+omega+%28%22om%22+for%0D%0Ashort%29.%0D%0AThe+main+data+structures+are+sets+and%0D%0Atuples%3A+sets+are+unordered+but+unique%2C%0D%0Awhile+tuples+are+ordered+but+can+contain%0D%0Aduplicates.++A+special+case+of+the+set%0D%0Atype+very+often+employed+in+programming%0D%0Ais+the+map%2C+a+set+of+2-tuples.%0D%0AThe+language+includes+a+rich+set+of%0D%0Aconstructs+and+functions+for+creating+and%0D%0Amanipulating+sets+and+tuples.%0D%0A%0D%0A%3Cbr%3E%0D%0ASETL+is+a+highly+dynamic+language%3B%0D%0Asets+and+tuples+can+be+heterogeneous%2C+and%0D%0Acan+be+nested+to+arbitrary+depth.++In%0D%0Ageneral%2C+variables+are+typed+by+the+value%0D%0Athey+hold%3B+some+type+checking+for+operators%0D%0Ais+enforced.%0D%0ASets+and+tuples+can+be+created+on+the+fly%2C%0D%0Agarbage+collection+is+automatic+%28presumably%0D%0Aby+reference+counting%2C+since+there+are+no%0D%0Apointers+in+the+language%29.%0D%0A%3Cbr%3E%0D%0ABecause+it+supports+generalized+notions%0D%0Aof+sets+and+tuples%2C+SETL+provides+loop%0D%0Aconstructs+based+on+them.++It+also+provides%0D%0Aconventional+while-do+loops%2C+if-then-else%0D%0Aselection%2C+and+a+case+statement.++%0D%0ASETL+supports+definition+of+functions+and%0D%0Adefinition+of%0D%0Anew+operators.++There+are+no+%0D%0Aprocedures+in+SETL%2C+but+any+function+can+return%0D%0Aomega.%0D%0A%3Cbr%3E%0D%0AMost+dialects+of+SETL+support+a+sub-language%0D%0Athat+allows+the+programmer+to+define+how%0D%0Adata+structures+are+to+be+stored+%0D%0Ainternally+by+the+compiler%3B+this+allows+the%0D%0Auser+to+give+guidance+to+the+compiler%2C+%0D%0Apossibly+improving+performance.%0D%0A%3Cbr%3E%0D%0ASETL+supports+module+and+library+features%0D%0Afor+large-scale+programming.++Newer+editions%0D%0Aof+the+language+also+support+named%0D%0Apackages+%28like+Ada%29%2C+and+there+are+also%0D%0Adialects+that+support+classes+and%0D%0Aobject-oriented+programming.%0D%0A%3Cbr%3E%0D%0ASeveral+implementations+of+SETL+are%0D%0Aavailable%2C+mostly+for+DOS+and+UNIX%0D%0Aplatforms%2C+but+there+is+also+a+Macintosh%0D%0Aversion.++Information+on+the+language%2C%0D%0Aincluding+tutorials+and+references%2C+is%0D%0Aavailable+but+mostly+in+downloadable%0D%0Aprint+formats%0D%0Arather+than+web+pages.%0D%0A origin=Jacob+T.+Schwartz%2C+1969%3B+Courant+Institute%2C+1970. seealso=Algol%2C+Perl%2C+APL%2C+Ada remark=SETL+is+reputed+to+be+very+good+for%0D%0Awriting+compilers%2C+translators%2C+and+other%0D%0Atransformational+programs%3B+its+set+and+map%0D%0Adata+types+allow+the+programmer+to+take%0D%0Aa+very+high-level+view+of+the+problem%0D%0Aand+its+solution.++The+first+Ada+%0D%0Alanguage+system+was+implemented+with+SETL.%0D%0A%3Cbr%3E%0D%0ASeveral+dialects+or+variations+on+SETL%0D%0Ahave+been+created+since+the+language+%0D%0Abecame+widely+available+in+the+1970s.%0D%0AISETL+is+a+dialect+with+more+formal%0D%0Amathmatics+operations%2C+intended+for%0D%0Amathematicians.++PSETL+is+a+dialect%0D%0Awith+data+structure+time-history.%0D%0ASETL-S+was+a+subset+of+the+language+for%0D%0Asmall+PCs+running+DOS.%0D%0AModern+implementations+of+SETL+%0D%0Acorrespond+to+a+language+definition%0D%0Afrom+the+1980s+called+%27SETL2%27.%0D%0A%3Cbr%3E%0D%0A links1=A+description+of+SETL%2C+with+grammar%3Dhttp%3A%2F%2Fgalt.mrl.nyu.edu%2F%7Ebacon%2Ftest.html links2=The+On-Line+SETL+server%3Dhttp%3A%2F%2Fbirch.eecs.lehigh.edu%2F%7Ebacon%2Fsetl-server.html links3=SLIM%2C+a+variation+of+SETL%3Dhttp%3A%2F%2Fwww.cs.upe.ac.za%2Fslim%2F links4=A+SETL+FTP+download+area%3Dftp%3A%2F%2Fftp.cs.nyu.edu%2Fpub%2Flanguages%2F links5= date=Last+updated+12%2F22%2F97 sample=%3Cpre%3E%0D%0A%24+A+SETL+program+to+do+the+sieve+of%0D%0A%24+Erastothenes+%28probably+badly%2C+but+its+my+first%0D%0A%24+SETL+program%29%0D%0Aprogram+sieve%3B%0D%0A%0D%0A++read%28mx%29%3B%0D%0A%0D%0A++primes+%3A%3D+%7B%7D%3B%0D%0A++%28for+x+in+%5B3..mx%5D+%7C+odd+x%29+%0D%0A+++++primes+with%3A%3D+x%3B%0D%0A++end%3B%0D%0A++%0D%0A++%28for+x+in+%5B3..ceil%28mx+%2F+2%29%5D+%7C+odd+x%29%0D%0A+++++primes+%3A%3D+sieve1%28x%2C+primes%29%3B%0D%0A++end%3B%0D%0A%0D%0A++print%28primes%29%3B%0D%0A%0D%0A++proc+sieve1%28rd+n%2C+rd+pset%29%3B%0D%0A++++++%28for+x+in+pset+%7C+n+%3C+x+and+x+mod+n+%3D+0%29+%0D%0A+++++++++pset+less%3A%3D+x%3B%0D%0A++++++end%3B%0D%0A++++++return+pset%3B%0D%0A++end+proc+sieve1%3B%0D%0A%0D%0Aend+program+sieve%3B%0D%0A%3C%2Fpre%3E%0D%0A _store=1 _add=SETL _usertab=1 _usersearch=0 _format=full = name=sh nameURL= see= logo= type=C+-+Command+or+Scripting desc=The+Bourne+shell+scripting+language+was%0D%0Aone+of+the+original+command+languages+for%0D%0Athe+Unix+operating+system.++It+is+a+%0D%0Asimple+interpreted+language%2C+%0D%0Abut+widely+used+for%0D%0Aautomating+complex+tasks+and+assembling%0D%0Amulti-step+functionality+from+individual%0D%0AUnix+tools.%0D%0A%3Cbr%3E%0D%0AThe+syntax+of+sh+is+line-oriented.%0D%0ASh+has+very+limited+data+typing+and+scoping%0D%0Afeatures.++Variables+are+usually+called%0D%0A%27parameters%27.++The+only+data+type+for%0D%0Aparameters+is+string.++Parameters%0D%0Aare+global+and+dynamically+scoped.+%0D%0AThe+shell+language+supports+a+modest+but%0D%0Acomplete+set+of+control-flow+constructs%3A%0D%0Abounded+and+free+loops%2C+if-then-else%2C+and%0D%0Aa+powerful+case+statement.++Sh+also%0D%0Asupports+a+rudimentary+error+handling%0D%0Afacility+for+catching+asynchronous%0D%0Ainterrupts.%0D%0AModern+versions+of+sh+support+named%0D%0Afunctions%2C+which+may+not+be+nested.%0D%0AFunction+parameters+are+the+only+non-global%0D%0Avariables.%0D%0AStrangely%2C+sh+has+no+support+for+computation%2C%0D%0Aall+computations+must+be+carried+out+by%0D%0Acalling+Unix+utilities+like+%3Ci%3Etest%3C%2FI%3E%0D%0Aand+%3Ci%3Eexpr%3C%2Fi%3E.%0D%0AThe+basic+boolean+construct+in+sh%0D%0Aprogramming+is+the+success+or+failure+of%0D%0Aprogram+execution.%0D%0A%3Cbr%3E%0D%0AThe+shell+language+offers+extensive+special%0D%0Asyntax+and+features+for+running+programs%0D%0Aand+handling+their+I%2FO.++One+of+the+most%0D%0Ainfluential+of+these+constructs+was+the%0D%0A%22pipe%22%2C+a+simple+syntax+for+connecting%0D%0Athe+output+of+one+program+to+the+input%0D%0Aof+another.%0D%0A%3Cbr%3E%0D%0AThe+Bourne+shell+is+included+on+all+Unix%0D%0Aand+Linux+systems%2C+and+%0D%0Amore-or-less+complete+versions+%0D%0Aare+available+for+many+other+systems.%0D%0ADocumentation+is+included%2C+and+good%0D%0Abooks+are+also+available. origin=Steve+Bourne%2C+1971 seealso=csh%2C+tcl%2C+perl remark=The+ability+to+write+complex+programs+in%0D%0Ash+language+used+to+be+considered+a+core%0D%0Askill+for+Unix+users%2C+and+it+still+is%0D%0Afor+Unix+system+administrators.%0D%0AFor+more+sophisticated+tasks%2C+sh+has%0D%0Abeen+superseded+by+Perl.%0D%0A%3Cbr%3E%0D%0ASince+the+early+days+of+Unix%2C+many+different%0D%0Ashells+have+been+created%3A+C+shell%2C+Tenex%0D%0AC+shell%2C%0D%0AKorn+shell%2C+Bourne-Again+Shell%2C%0D%0Aand+many+others.++%0D%0A%3Cbr%3E%0D%0AUnix+shell+languages+are+interpreted%2C%0D%0Aas+a+rule.++A+variety+of+%27shell+compilers%27%0D%0Ahave+been+written+over+the+years%2C+these%0D%0Atypically+translate+a+shell+script+into%0D%0Aa+C+program+with+extensive+reliance+on+a%0D%0Asupport+library.%0D%0A links1=AIX+Bourne+Shell+documentation%3Dhttp%3A%2F%2Fgarfield.ir.ucf.edu%2Fmanual%2Faix%2Fbourne.html links2=An+Introduction+to+Bourne+Shell%3Dhttp%3A%2F%2Fwww.rice.edu%2FComputer%2FDocuments%2FClasses%2FUnix%2Fbourne%2Fbourne.html links3=Introduction+to+Bourne+shell+programming%3Dhttp%3A%2F%2Fio.eng.usf.edu%2Funix%2FUNIX%2Fscrpt%2Fscrpt2.html links4= links5= date=Last+updated+2%2F6%2F98 sample=%3Cpre%3E%0D%0A%23%21%2Fbin%2Fsh%0D%0A%23+Simple+shell+script+to+count+files+of+size%0D%0A%23+greater+than+1k%0D%0A%0D%0Aif+%5B+-z+%22%241%22+%5D%0D%0Athen%0D%0A++++pat%3D%22%2A%22%0D%0Aelse%0D%0A++++pat%3D%22%241%22%0D%0Afi%0D%0A%0D%0Acnt%3D0%0D%0Afor+fname+in+%24pat%0D%0Ado%0D%0A++++if+%5B+-r+%24fname+-a+%21+-d+%24fname+%5D+%0D%0A++++then%0D%0A++++++++size%3D%60cat+%24fname+%7C+wc+-c%60%0D%0A++++++++if+%5B+%24size+-gt+1024+%5D%0D%0A++++++++then%0D%0A++++++++++++echo+%24fname+%27+++%27+%24size%0D%0A++++++++++++cnt%3D%60expr+%24cnt+++1%60%0D%0A++++++++fi%0D%0A++++fi%0D%0Adone%0D%0Aecho+%22%24%7Bpat%7D%3A+Files+bigger+than+1K%3A+%24cnt%22%0D%0Aexit%0D%0A%3C%2Fpre%3E _store=1 _add=sh _usertab=1 _usersearch=0 _format=full = name=Simscript nameURL=http%3A%2F%2Fwww.caciasl.com%2Fsimscript.html see= logo=175x125%3Dhttp%3A%2F%2Fwww.caciasl.com%2Fimages%2Fsimscript%2Fsimscript_logo_175w.gif type=M+-+Mathematical+or+Simulation desc=Simscript+is+a+simulation+language+with%0D%0Aboth+declarative+and+procedural+features%2C%0D%0Adesigned+for+discrete-event+and+%0D%0Ahybrid+discrete%2Fcontinuous+modelling.%0D%0AIt+has+been+in+continuous+use+and+%0D%0Adevelopment+since+its+invention+in+1962.%0D%0A%3Cbr%3E%0D%0AThe+syntax+and+semantics+of+Simscript+II+are%0D%0Adesigned+to+make+simulation+programs+easy%0D%0Ato+write+and+understand.++The%0D%0Alanguage+syntax+is+%22English-like%22+and%0D%0Afairly+high-level.++Like+many%0D%0Asimulation+systems%2C+items+in+the+system%0D%0Aunder+study+are+represented+in+the+language+%0D%0Aas+attributed%0D%0Aobjects.++The+user+defines+what%0D%0Aattributes+each+class+of+objects+possess.%0D%0ABasic+data+types+for+%0D%0Aattributes+and+procedural+code+variables+include%0D%0Aintegers%2C+reals%2C+strings%2C+and+pointers.%0D%0AComposite+data+types+include+arrays%2C+sets%2C%0D%0Aand+lists.%0D%0AAll+data+elements+in+a+Simscript+program%0D%0Aare+dynamic+-+memory+allocation+is+fully%0D%0Aautomatic.++Procedural+code+can+use+%0D%0Asimple+conditional+and+iteration+%0D%0Aconstructs%2C+subroutines%2C+and+%0D%0Afunctions.++Scoping+is+simple%3A+each+entity%0D%0Aand+variable+belongs+to+global+scope%2C+or+is%0D%0Alocal+to+some+routine.%0D%0A%3Cbr%3E%0D%0ALike+Simula%2C+Simscript+uses+a+concurrent%0D%0Aprocess+model+for+discrete-event+simulation.%0D%0ANodes+of+a+system+are+represented+by+%0D%0Ainstances+of+a+particular+process+class%2C%0D%0Aand+can+invoked+on+a+time+basis+or+in+%0D%0Aresponse+to+simulation+events.%0D%0AThe+language+also+includes+facilities+for%0D%0Adata+gathering%2C+statistics%2C+random-number%0D%0Ageneration%2C+various+kinds+of+I%2FO%2C+and%0D%0Aprocess+synchronization.%0D%0A%3Cbr%3E%0D%0AEarly+versions+of+Simscript+produced+%0D%0AFortran+code+output.++Simscript+II.5%0D%0Aproduces+C+code.++++In+both+cases%2C+the%0D%0Agenerated+code+would+be+compiled+and+linked%0D%0Awith+a+run-time+library.%0D%0A%3Cbr%3E%0D%0ASimscript+II.5+is+a+commercial%0D%0Aproduct+sold+by+CACI+Products+Company.%0D%0ADocumentation+is+available+from+the+company%0D%0Aweb+site%2C+and+trial+versions+of+the+software%0D%0Acan+be+downloaded+from+there%2C+too. origin=H.+Markowitz+%3Ci%3Eet+al%3C%2Fi%3E%2C+Rand+Corporation%2C+1962. seealso=GPSS%2C+SLAM%2C+Simula%2C+Matlab remark=There+have+been+many+front-end+and+extension%0D%0Aproducts+for+Simscript+over+the+years%3A%0D%0AQuikscript%2C+EPSS%2C+Simgraphics%2C+and+others.%0D%0ABasically%2C+Simscript%27s+popularity+created%0D%0Aa+market+for+specialized+extensions%2C%0D%0Aand+its+complexity+created+a+need+for+%0D%0Auser-friendly+interfaces%2C+especially+for%0D%0Ateaching+purposes.%0D%0A%3Cbr%3E%0D%0AThe+current+version+of+Simscript+II.5+%0D%0Ais+distributed+with+a+graphical+front-end%0D%0Acalled+SIMDRAW%2C+a+debugger%2C+a+statistics%0D%0Apackage%2C+and+other+utilities+and+libraries. links1=Simscript+II.5+Information+at+CACI%3Dhttp%3A%2F%2Fwww.caciasl.com%2Fsimscript_product.html links2=FTP+site+for+Simscript+and+related+products%3Dftp%3A%2F%2Fftp.caciasl.com%2Fpub%2F links3= links4= links5= date=Last+updated+1%2F3%2F98 sample=%3Cpre%3E%0D%0APreamble%0D%0A%27%27+++A+simple+telephone+system+model+-+CACI+Products+Company%0D%0A%27%27+++files%3A+TELPHN1.SRC%0D%0A+%0D%0A++++++Normally+mode+is+integer%0D%0A%0D%0A++++++Processes+include%0D%0A+++++++++GENERATOR%0D%0A%0D%0A+++++++++Every+INCOMING.CALL+has%0D%0A+++++++++++++a+CALL.ID%0D%0A+%0D%0A++++++Define+NUMBER.BUSY+and%0D%0A+++++++++++++LOST.CALLS%0D%0A++++++as+integer+variables%0D%0AEnd+%27%27Preamble%0D%0A%0D%0A%0D%0AMain%0D%0A++++++Activate+a+GENERATOR+now%0D%0A++++++Start+simulation%0D%0A++++++Print+1+line+with+LOST.CALLS+thus%0D%0A++++++++15+phone+calls+were+made+and+%2A%2A+were+lost+due+to+busy+lines%0D%0AEnd+%27%27Main%0D%0A%0D%0AProcess+GENERATOR%0D%0A+++++For+I+%3D+1+to+15+do%0D%0A++++++++Activate+a+INCOMING.CALL+now%0D%0A++++++++Let+CALL.ID%28INCOMING.CALL%29+%3D+I%0D%0A++++++++Wait+uniform.f+%282.0%2C+6.0%2C+1%29+minutes%0D%0A+++++Loop+%0D%0AEnd+%27%27GENERATOR%0D%0A%0D%0AProcess+INCOMING.CALL%0D%0A+++++If+NUMBER.BUSY+%26lt%3B+2%0D%0A++++++++Add+1+to+NUMBER.BUSY%0D%0A++++++++Wait+uniform.f%286.0%2C+10.0%2C+2%29+minutes%0D%0A++++++++Subtract+1+from+NUMBER.BUSY%0D%0A+++++Else%0D%0A++++++++Add+1+to+LOST.CALLS%0D%0A+++++Endif%0D%0AEnd+%27%27INCOMING.CALL%0D%0A%3C%2Fpre%3E%0D%0A _store=1 _add=Simscript _usertab=1 _usersearch=0 _format=full = name=SIMULA nameURL=http%3A%2F%2Fwww.cetus-links.org%2Foo_simula.html see= logo= type=O+-+Object-oriented desc=Simula67+is+a+block-structured+procedural%0D%0Alanguage+with+some+object-oriented+programming%0D%0Afeatures.++It+was+the+first+language+to%0D%0Asupply+abstract+data+type+and+class+support%2C%0D%0Aand+is+therefore+recognized+as+one+of+the%0D%0Afounding+elements+of+object-oriented+computing.%0D%0ASimula+syntax+is+similar+to+that+of+Algol%2C%0D%0Abut+with+special+features+and+keywords+for%0D%0Arecord+classes+and+type+support.++Other%0D%0Afeatures+of+Simula+include%3A+basic%0D%0Anumeric+data+types%2C+strings%2C+strong+type%0D%0Achecking%2C+basic+control+structures%2C%0D%0Adata+encapsulation%2C+simple+inheritance%2C+%0D%0Asimple+I%2FO+support%2C%0D%0Asome%0D%0Apolymorphism%2C+and+special+semantics+for%0D%0Adiscrete-event+simulation.++The%0D%0Aexecution+of+a+Simula+program+consists%0D%0Aof+one+or+more+processes%2C+each+of+which%0D%0Ais+an+instance+of+some+class.++Objects%0D%0Acan+interact+with+eachother+somewhat%0D%0Aindependently%3B+Simula+supported+a+%0D%0Aprimitive+form+of+concurrency+%28co-routines%29.%0D%0A%3Cbr%3E%0D%0ASimula+I+was+designed+in+1962+and%0D%0Afirst+implemented+in+1964%3B+it+was+an%0D%0Aextension+of+Algol+60+for+discrete-event%0D%0Asimulation.++In+1967%2C+the+more+general-purpose%0D%0ASimula67+was+introduced%2C+with+a%0D%0Awider+set+of+data+types+and+object+support.%0D%0ASimula+was+standardized+in+1977.%0D%0AToday%2C+the+language+is+controlled+by+a%0D%0Asmall+independent+standarization+body%2C%0D%0A%3Ca+href%3D%22http%3A%2F%2Fhome.sol.no%2F%7Esimula%2Fssg.htm%22%3Ethe+SSG%3C%2FA%3E%2C+%0D%0Adedicated+to+ensuring+compliance+by+all%0D%0ASimula+language+compilers+with+the%0D%0Aofficial+language+definition.%0D%0A%3Cbr%3E%0D%0ASimula+is+available+free+for+just+about+every%0D%0Ageneral-purpose+computing+platform.++Some%0D%0Aof+the+Simula+implementations+are+native+%0D%0Acompilers%2C+and+some+are+Simula-to-C+translators.%0D%0AMany+free+add-on+libraries+and+packages%0D%0Aexist%2C+and+are+available+free+for+Simula%0D%0Aprogrammers.%0D%0AInformation+about+Simula%2C+including%0D%0Aprogramming+tutorials+and+source+examples%2C%0D%0Ais+surprisingly+widely+available+on+the+WWW. origin=Ole+Dahl+and+Kristen+Nygaard%2C+NCC+Olso%2C+1964-67. seealso=Algol%2C+Smalltalk%2C+Ada%2C+C++%2C+Eiffel remark=Simula+was+invented+in+Norway%2C+and+has%0D%0Aalways+enjoyed+the+largest+following+in%0D%0AScandinavia.++It+was+never+really+widely%0D%0Aadopted+for+general-purpose+programming%2C%0D%0Abut+was+and+still+is+%0D%0Aused+in+educational+settings.%0D%0A%3Cbr%3E%0D%0AThe+Simula+language%0D%0Ahas+the+distinction+of+having+been%0D%0Astable+and+useful+with+almost+no%0D%0Achanges+for+30+years+%28as+compared%0D%0Ato+Fortran+or+Lisp%2C+for+example%21%29%0D%0A%3Cbr%3E%0D%0ASimula+may+not+have+been+widely+adopted%2C%0D%0Abut+its+influence+can+be+seen+in+almost%0D%0Aevery+object-oriented+language+invented%0D%0Asince%2C+especially+block-structured+ones%0D%0Alike+Eiffel%2C+C++%2C+and+even+Java. links1=U.+of+Montreal+SIMULA+home+page%3Dhttp%3A%2F%2Fepsom.jsp.umontreal.ca%2F%7Edift1010%2FSimula%2Findex.html links2=Association+of+SIMULA+Users%3Dhttp%3A%2F%2Fwww.isima.fr%2Fasu%2F links3=SIMULA+download+area%3Dhttp%3A%2F%2Fwww.JSP.UMontreal.CA%2F%7Esimula%2FFTP%2F links4=Simula+Unix+CIM+FTP+Site%3Dftp%3A%2F%2Fftp.ifi.uio.no%2Fpub%2Fcim%2F links5= date=Last+updated+12%2F10%2F97 sample=Simula+Line+class%2C+taken+from+Kathleen%0D%0AFisher%27s+%22Introduction+to+Simula%22%0D%0A%3Cpre%3E%0D%0A++++++++Class+Line%28a%2Cb%2Cc%29%3B+real+a%2Cb%2Cc%3B%0D%0A++++++++begin%0D%0A++++++++++boolean+procedure+parallelto%28l%29%3B+ref%28Line%29+l%3B%0D%0A++++++++++++if+l+%3D%2F%3D+none+then%0D%0A++++++++++++++++parallelto+%3A%3D+abs%28a%2Al.b+-+b%2A+l.a%29+%26lt%3B+0.00001%3B%0D%0A%0D%0A++++++++++ref%28Point%29+procedure+meets%28l%29%3B+ref%28Line%29+l%3B%0D%0A++++++++++++begin+real+t%3B%0D%0A++++++++++++++++if+l+%3D%2F%3D+none+and+%7Eparallelto%28l%29+then%0D%0A+++++++++++++++++++begin%0D%0A+++++++++++++++++++++t+%3A%3D+1%2F%28l.a+%2A+b+-+l.b+%2A+a%29%3B%0D%0A+++++++++++++++++++++%2A%2A%2A+complicated+expressions+omitted+below+%2A%2A%2A%0D%0A+++++++++++++++++++++meets+%3A-+new+Point%28...%2C+...%29%3B%0D%0A+++++++++++++++++++end%3B%0D%0A++++++++++++end%3B+%2A%2A%2Ameets%2A%2A%2A%0D%0A%0D%0A++++++++++real+d%3B%0D%0A%0D%0A++++++++++d+%3A%3D+sqrt%28a%2A%2A2+++b%2A%2A2%29%3B%0D%0A%0D%0A++++++++++if+d+%3D+0.0+then+error+else%0D%0A+++++++++++++begin%0D%0A++++++++++++++++d+%3A%3D+1%2Fd%3B%0D%0A++++++++++++++++a+%3A%3D+a+%2A+d%3B+b+%3A%3D+b+%2A+d%3B+c+%3A%3D+c+%2A+d%3B%0D%0A++++++++++++++end%3B%0D%0A%0D%0A++++++++end+%2A%2A%2A+Line%2A%2A%2A%0D%0A%3C%2Fpre%3E%0D%0A%0D%0A _store=1 _add=Simula _usertab=1 _usersearch=0 _format=full = name=Sina nameURL=http%3A%2F%2Fwwwtrese.cs.utwente.nl%2Fsina%2F see= logo=163x86%3Dhttp%3A%2F%2Fwwwtrese.cs.utwente.nl%2Fsina%2Fimages%2Fsina.gif type=O+-+Object-oriented desc=Sina+is+an+academic+object-oriented+language%0D%0Adesigned+around+the+%3Ci%3EComposition+Filters%0D%0AObject+Model%3C%2Fi%3E.++%0D%0A%3Cbr%3E%0D%0AAs+an+OO+language%2C+Sina+supplies+the+usual%0D%0Afeatures+like+inheritance%2C+encapsulation%2C%0D%0Aand+abstract+data+types.++The+structure+of%0D%0Aa+Sina+program+is+simply+a+collection+of%0D%0Aclasses.++Each+class+may+be+separated+into%0D%0Aan+interface+and+an+implementation.++Each%0D%0Ainterface+and+implementation+can+contain%0D%0Aexternal+and+internal+state%2C+%0D%0Ainvariant+conditions%2C+methods%2C%0D%0Aand+filters.+++%0D%0AIndividual+methods+%28and+filters%29+contain+%0D%0Asequential+code%3B+the+control+structures%0D%0Asupported+by+Sina+are%3A+if-then-else%2C+while%0D%0Aloops%2C+and+a+numerically-oriented+for%0D%0Aloop.%0D%0APrimitive+data+types+supported+by+Sina%0D%0Ainclude%3A+strings%2C+numbers%2C+booleans%2C%0D%0Aand+object+references.++Arrays+are+not%0D%0Aprimitives%2C+but+are+provided+by+a+%0D%0Abuilt-in+class.%0D%0A%3Cbr%3E%0D%0AThe+only+implementation+of+Sina%2C+%0D%0Acalled+Sina%2Fst%2C+is+an%0D%0Ainterpreter+written+in+Smalltalk.++The%0D%0Aimplementation+is+available+free%2C+but%0D%0Arequires+a+copy+of+a+commercial+Smalltalk%0D%0Asystem.++The+current+version+as+of+late%0D%0A1996+was+Sina%2Fst+3.1.%0D%0A origin=A.+Tripathi+%3Ci%3Eet+al%3C%2Fi%3E%2C+1989. seealso=Smalltalk%2C+Eiffel%2C+Leda%2C+Self%2C+Objective-C remark=Sina+was+implemented+specifically+for%0D%0AVisualWorks%28tm%29+Smalltalk%2C+and+currently%0D%0Aruns+only+in+that+environment.++It+does%0D%0Agive+the+Sina+programmer+access+to+the%0D%0Aextensive+facilities+of+the+Smalltalk%0D%0Asystem.%0D%0A%3Cbr%3E%0D%0AThe+Compositional+Filters+Object+Model%0D%0Ais+a+layering+abstraction+for+defining%0D%0Aobjects+and+their+interactions.++It+can%0D%0Abe+employed+to+define+mechanisms+for%0D%0Ainheritance%2C+delegation%2C+reflection%2C+%0D%0Apersistence%2C+and+other+advanced+OOP%0D%0Aconcepts+in+a+uniform+and+general+way.%0D%0A%3Cbr%3E%0D%0AEarly+papers+about+Sina+seem+to+%0D%0Aimply+concurrency+support%2C+but+the%0D%0Acurrent+documentation+does+not+mention%0D%0Ait.%0D%0A%3Cbr%3E%0D%0AIt+seems+that+development+of+Sina+stopped%0D%0Aafter+version+3.1. links1=Introduction+to+the+Sina+Language%3Dhttp%3A%2F%2Fwwwtrese.cs.utwente.nl%2Fsina%2Flanguage%2Findex.html links2=Sina+download+page%3Dhttp%3A%2F%2Fwwwtrese.cs.utwente.nl%2Fsina%2Frelease%2Findex.html links3= links4= links5= date=Last+updated+6%2F19%2F98 sample=%3Cpre%3E%0D%0A%2F%2F+an+example+from+the+Sina%2Fst+3.1+distribution%0D%0A%0D%0Amain%0D%0A%09comment+%27%0D%0A%09%09Bring+a+salute+to+our+globe%27%3B%0D%0A%09temps%0D%0A%09%09hello%3A+HelloWorld%3B%0D%0Abegin%0D%0A%09hello.show%0D%0Aend+%2F%2F+main%0D%0A%0D%0A%23Category+%27Sina-Hello+world%27%3B%0D%0Aclass+HelloWorld+interface%0D%0Amethods%0D%0A%09show+returns+nil%3B%0D%0Ainputfilters%0D%0A%09disp%3A+Dispatch+%3D+%7Binner.%2A%7D%3B%0D%0Aend%3B+%2F%2F+interface+HelloWorld%0D%0A%0D%0Aclass+HelloWorld+implementation%0D%0Amethods%0D%0A%09show%0D%0A%09begin%0D%0A%09%09self.printLine%28%27Hello%2C+world%21%27%29%3B%0D%0A%09%09return%0D%0A%09end%3B+%2F%2F+show%0D%0Aend%3B+%2F%2F+implementation+HelloWorld%0D%0A%3C%2Fpre%3E _store=1 _add=SeeDo _usertab=1 _usersearch=0 _format=full = name=SISAL nameURL=http%3A%2F%2Fwww.llnl.gov%2Fsisal see= logo= type=F+-+Functional+or+lambda-based desc=SISAL+is+a+functional+programming+language%0D%0Adesigned+for+parallel+processing.++%0D%0AThe+name+SISAL+stands+for+Streams+and%0D%0AIteration+in+a+Single+Assignment+Language.%0D%0AIt+is+intended+for+use+programming%0D%0Ascientific+application+on+multi-processor%0D%0Asupercomputers%2C+and+for+educational+use%0D%0Ain+teaching+parallel+programming.%0D%0A%3Cbr%3E%0D%0AThe+lexical+structure+of+SISAL+is+similar%0D%0Ato+that+of+Pascal.++The+syntax+is+simple%0D%0Aand+uniform%2C+with+special+keywords+for%0D%0Acontrolling+arrays+and+iteration.%0D%0AData+types+in+SISAL+include+integers%2C%0D%0Areals%2C+strings%2C+multi-dimensional+arrays%2C%0D%0Aand+records.%0D%0AControl+structures+in+SISAL+look%0D%0Adeceptively+familiar%2C+but+have+functional%0D%0Arather+than+procedural+semantics.%0D%0AThe+semantics+of+the+%27for%27+loop+are%0D%0Aparticularly+rich%2C+although+somewhat%0D%0Acomplicated.%0D%0ASISAL+is+strongly+typed%2C+and+no+implicit%0D%0Aconversions+are+supported%3B+all+data+type%0D%0Acasting+must+be+explicitly+specified+by+the%0D%0Aprogrammer.++Other+programming%0D%0Afeatures+of+SISAL+include+multi-arity%0D%0Afunctions%2C+user-defined+data+types%2C+%0D%0Asophisticated+array+handling%2C+a+large%0D%0Alibrary+of+built-in+math+functions%2C%0D%0Aand+streams-oriented+I%2FO.%0D%0A%3Cbr%3E%0D%0AThe+mathematical+foundations+of+SISAL%0D%0Aare+similar+to+that+of+other+functional%0D%0Alanguages%3A+all+computations+produce%0D%0Aresults%2C+and+computations+do+not+produce%0D%0Aside-effects.++Further%2C+SISAL+programs%0D%0Aare+guaranteed+to+be+deadlock-free+and%0D%0Adeterminate%2C+even+in+parallel+environments.%0D%0A%3Cbr%3E%0D%0AThe+main+SISAL+implementation+is+an%0D%0Aoptimizing+compiler+with+back-ends%0D%0Atargetted+for+different+parallel+architectures.%0D%0AThere+are+also+subset+SISAL+interpreters%0D%0Afor+beginner+use.++All+SISAL+language%0D%0Aimplementations+are+free.++It+runs+one%0D%0Aa+fair+variety+of+platforms%2C+including%0D%0Amany+UNIX+systems%2C+PC%2C+Macintosh%2C+and%0D%0ACray+and+Intel+supercomputers.%0D%0ADocumentation+for+the+language+and+its%0D%0Acompilers+is+easily+available+on+the+WWW. origin=John+Feo+%3Ci%3Eet+al%3C%2Fi%3E%2C+Lawrence+Livermore+National+Laboratory%2C+1990. seealso=Lucid%2C+Clean%2C+ML%2C+Pascal remark=SISAL+was+designed+to+allow+the+compiler%0D%0Ato+make+fine-grained+decisions+about%0D%0Aparallelism.++The+LLNL+optimizing+SISAL%0D%0Acompiler+uses+dataflow+graphs+to+identify%0D%0Adependencies+and+order+computations.%0D%0AIn+performance+tests%2C+parallelized%0D%0ASISAL+programs+were%0D%0Afaster+than+comparable+parallelized+FORTRAN%0D%0Aprograms+on+several+supercomputer+platforms.%0D%0A%3Cbr%3E%0D%0AAs+in+many+other+functional+languages%2C+I%2FO%0D%0Ain+SISAL+is+somewhat+rigid+and+still+%0D%0Aproblematic.++SISAL+does+support%2C+partially%2C%0D%0Aan+I%2FO+data+format+called+Fibre%3B+this+%0D%0Afacility+is+still+under+development+as+of%0D%0Alate+1997.%0D%0A%3Cbr%3E%0D%0ASISAL+is+suitable+for+use+on+a+large+class%0D%0Aof+mathematical+problems%2C+but+it%27s+%0D%0Aadoption+outside+of+LLNL+seems+to+be%0D%0Aspotty. links1=A+Tutorial+Introduction+to+SISAL%3Dhttp%3A%2F%2Fredhook.llnl.gov%2Fiscr%2Fprojects%2Fcrg%2Fsisal.tutorial%2F links2=SISAL+Main+FTP+download+area%3Dftp%3A%2F%2Fsisal.llnl.gov%2Fpub%2Fsisal%2F links3=Sisal90+User%27s+Manual%3Dhttp%3A%2F%2Fredhook.llnl.gov%2Fiscr%2Fprojects%2Fcrg%2Fsisal90%2Fmanual%2FSisal90.html links4= links5= date=Last+updated+11%2F7%2F99 sample=%3Cpre%3E%0D%0A%25+A+simple+example+of+using+SISAL+arrays%2C%0D%0A%25+adapted+from+various+sample+exercises+in+the%0D%0A%25+SISAL+tutorial+by+John+Feo.%0D%0A%0D%0Adefine+main%0D%0A%0D%0Atype+Matrix+%3D+array+%5B+array+%5B+real+%5D+%5D%0D%0A%0D%0A%25+generate+a+square+matrix+where+element+%5Bn%2Cm%5D%0D%0A%25+is+set+to+n+++m%0D%0Afunction+gensquare%28siz+%3A+integer%0D%0A+++++++++++++++++++++++++++++++++returns+Matrix+%29%0D%0A+++for+i+in+1%2Csiz+cross+j+in+1%2Csiz%0D%0A++++++++returns+array+of+real%28i%29+++real%28j%29%0D%0A+++end+for%0D%0Aend+function%0D%0A%0D%0A%25+perform+one+step+of+a+relaxation%2C+average+each%0D%0A%25+element+with+its+eight+nearest+neighbors%0D%0Afunction+relax+%28+a+%3A+Matrix+returns+Matrix+%29%0D%0A%0D%0Afor+row+in+a+at+i+cross+elt+in+row+at+j%0D%0A+++avg+%3A%3D+%28elt+++a%5Bi%2C+j-1%5D+++a%5Bi%2C+j+1%5D++%0D%0A+++++++++++a%5Bi+1%2C+j-1%5D+++a%5Bi+1%2C+j%5D+++a%5Bi+1%2C+j+1%5D++%0D%0A+++++++++++a%5Bi-1%2C+j-1%5D+++a%5Bi-1%2C+j%5D+++a%5Bi-1%2C+j+1%5D%29+%2F+9.0%0D%0Areturns+array+of+avg%0D%0Aend+for%0D%0A%0D%0Aend+function%0D%0A%0D%0A%25+test+the+generator+and+relax+function%0D%0A%0D%0Afunction+main%28returns+Matrix%29%0D%0A%0D%0Alet+a1+%3A%3D+gensquare%285%29++in+a1%0D%0Aend+let%0D%0A%0D%0Aend+function%0D%0A%3C%2Fpre%3E%0D%0A _store=1 _add=SISAL _usertab=1 _usersearch=0 _format=full = name=SLAM nameURL= see= logo= type=M+-+Mathematical+or+Simulation desc=SLAM+was+a+discrete+system+modelling+%0D%0Alanguage%2C+mainly+oriented+toward+discrete%0D%0Aevent+simulation+of+service+scheduling%2C%0D%0Amanufacturing%2C+military+logistics%2C%0D%0Acomputer+architectures%2C+and+other%0D%0Ainterconnected+concurrent+systems.++SLAM+is+a+%0D%0Aproprietary+language+owned+by+Pritsker+%26amp%3B%0D%0AAssociates+%28now+Pritsker+Corporation%29.%0D%0A%3Cbr%3E%0D%0ASLAM+went+through+many+versions%2C+the+%0D%0Alast+being+4.2.++The+language+had+a%0D%0AFortran-like+syntax%2C+with+special%0D%0Aoperators+for+defining+discrete%0D%0Aevent+networks.++The+language+offered%0D%0Aa+wide+variety+of+network+components%2C%0D%0Aprobability+distributions%2C+and+reporting%0D%0Aoptions.%0D%0A%3Cbr%3E%0D%0ASLAM+is+implemented+as+a+Fortran%0D%0Apreprocessor.++Editions+are+available%0D%0Afor+most+Unix+systems%2C+mainframes%2C+and%0D%0AWindows+PCs.++Some+versions+had%0D%0Aslightly+different+names%2C+like+%22Slamsystem.%22%0D%0A%3Cbr%3E%0D%0ASLAM+has+been+superseded+by+newer+%0D%0Aproducts%2C+but+is+still+used+in+academic%0D%0Asettings+to+teach+queuing+system+simulation%0D%0Aand+related+topics.++Information+on%0D%0ASLAM+is+not+easily+available+on+the+web. origin=A.A.B.+Pritsker+%3Ci%3Eet+al%3C%2Fi%3E%2C+1976-77 seealso=GPSS%2C+Simula%2C+Simscript%2C+Fortran remark=SLAM+offered+a+very+useful+paradigm+for%0D%0Anetwork+simulation%2C+because+the+constructs%0D%0Aof+the+language+mapped+directly+to+%0D%0Athe+elements+of+the+network+model+at%0D%0Aan+appropriate+semantic+level+%28not+too%0D%0Ahigh%2C+not+too+low%29.++Also%2C+an+ambitious%0D%0Aprogrammer+could+create+new+network+elements%0D%0Aby+coding+them+in+Fortran.%0D%0A%3Cbr%3E%0D%0ASLAM+was+a+successor+to+an+older+Fortran-based%0D%0Adiscrete+simulation+language+named+GASP. links1=Pritsker+Corporation+page%3Dhttp%3A%2F%2Fwww.pritsker.com%2F links2= links3= links4= links5= date=Last+updated+1%2F2%2F98 sample=An+example+in+rather+old-fashioned+SLAM%0D%0Afrom+the+Pritsker+%26amp%3B+Pegden+textbook%2C+1978.%0D%0A%3Cpre%3E%0D%0AGEN%2C+PEGDEN%2C+SERIAL+WORK+AREAS+QUEUE+MODEL%2C+7%2F14%2F77%2C+1%3B%0D%0ALIMITS%2C2%2C1%2C50%3B%0D%0ANETWORK%3B%0D%0A++++++CREATE%2C+EXPON%28.4%29%2C+%2C+1%3B%0D%0A++++++QUEUE%281%29%2C+0%2C+4%2C+BALK%28SUB%29%3B%0D%0A++++++ACT%2F1%2CEXPON%280.25%29%3B%0D%0A++++++QUEUE%282%29%2C+0%2C+2%2C+BLOCK%3B%0D%0A++++++ACT%2F2%2CEXPON%280.50%29%3B%0D%0A++++++COLCT%2C+INT%281%29%2C+TIME+IN+SYSTEM%2C+20%2F0%2F.25%0D%0A++++++TERM%3B%0D%0A%0D%0ASUB+++COLCT%2CBET%2CTIME+BETWEEN+BALKS%3B%0D%0A++++++TERM%3B%0D%0A%0D%0AINIT%2C0%2C300%3B%0D%0AFIN%3B%0D%0A%3C%2Fpre%3E _store=1 _add=SLAM _usertab=1 _usersearch=0 _format=full = name=Smalltalk nameURL=http%3A%2F%2Fwww.stic.org%2F see= logo= type=O+-+Object-oriented desc=Smalltalk+is+a+dynamic+object-oriented%0D%0Alanguage+originally+designed+in+the+1970s.%0D%0AIt+was+originally+designed+as+an+experiment%2C%0D%0Abut+evolved+into+a+powerful%0D%0Aapplication+development+language.%0D%0A%3Cbr%3E%0D%0ASmalltalk+is+a+pure+object-oriented+language%3A%0D%0Aall+data+are+encapsulated+as+objects%2C+and+all%0D%0Aoperations+and+functions+are+performed+by%0D%0Asending+messages+to+objects.+%0D%0AAll+objects+inherit+from+an+%0D%0ASmalltalk%27s+programming+model+is+very+rich%0D%0Aand+mature%2C+supporting+inheritance%2C%0D%0Aabstract+data+types%2C+polymorphism%2C+automatic%0D%0Amemory+management+with+garbage+collected%2C%0D%0Adelegation%2C+reflection%2C+and+persistence.%0D%0A%3Cbr%3E%0D%0AUnlike+some+newer+OOP+languages%2C+Smalltalk%0D%0Ais+not+strongly+typed.++The+language%0D%0Atypically+does+not+enforce+type+constraints%2C%0D%0Aand+method+declarations+usually+do+not%0D%0Ainclude+type+declarations.%0D%0AFundamental+data+types+supported+by+the+%0D%0Alanguage+include%0D%0Aintegers%2C+reals%2C+strings%2C+booleans%2C+and%0D%0Aarrays.%0D%0AThe+standard+class+library+distributed+with%0D%0Aevery+Smalltalk+system+includes+a+wide%0D%0Avariety+of+%0D%0Acollection+classes+%28such+as+vectors%2C%0D%0Atrees%2C+hash+tables%2C+etc.%29%2C+stream-oriented%0D%0AI%2FO+facilities%2C+object+persistence+support%2C+and+%0D%0Agraphical+user+interface+classes.+%0D%0A%3Cbr%3E%0D%0AEarly+Smalltalk+implementation+were%0D%0Ainterpreted%2C+but+most+modern+implementations%0D%0Aemploy+translation+to+abstract+machine%0D%0Aintermediate+codes+and%2For+dynamic+native%0D%0Acompilation+%28so-called+%22Just-in-time%22+%0D%0Acode+generation%29.%0D%0A%3Cbr%3E%0D%0AAs+of+late+1997%2C+an+ANSI+standard+for%0D%0ASmalltalk+was+in+draft+form+under+the+J20%0D%0Acommittee.++The+final+standard+is+expected%0D%0Ain+late+1998.%0D%0A%3Cbr%3E%0D%0ASeveral+commercial+and+free+Smalltalk%0D%0Aimplementations+exist%2C+for+all+sorts%0D%0Aof+platforms.++On+of+the+more+popular%0D%0Afree+implementations%2C+for+Unix+systems%2C%0D%0Ais+GNU+Smalltalk.++IBM+and+ObjectShare+are%0D%0Athe+primary+commercial+Smalltalk+vendors.%0D%0AGood+information+and+documentation%0D%0Aabout+the+language%2C+as+well+as+free%0D%0Aclass+libraries+of+all+sorts%2C+can+be%0D%0Afound+on+the+web. origin=Alan+Kay+and+Xerox+Software+Concepts+Group%2C+1972. seealso=Simula%2C+Eiffel%2C+Lisp%2C+Objective-C%2C+Java%2C+C++ remark=Smalltalk+is+used+for+application+development%2C%0D%0Abut+it+has+also+been+used+to+teach+OOP%0D%0Aprinciples.++Unlike+C+++or+Java%2C+Smalltalk%0D%0Arepresents+everything+as+an+object%2C+making%0D%0Athe+language+much+more+consistent+in+its%0D%0Atreatment+of+data+aggregations.%0D%0A%3Cbr%3E%0D%0AWhile+the+Smalltalk+language+and+its+object%0D%0Amodel+were+very+influential%2C+its+run-time%0D%0Aenvironment+was+even+more+so.++Smalltalk%0D%0Awas+the+first+language+to+support+a+%0D%0Amulti-window+graphical+user+interface.%0D%0ALater+windowing+systems%2C+like+the%0D%0AXerox+Star%2C+the+Apple+Lisa+and+Macintosh%2C%0D%0Athe+X+Window+System%2C+and+Microsoft+Windows%0D%0Aall+took+ideas+%28and+sometimes+even%0D%0Apersonnel%29+from+the+Smalltalk+development%0D%0Aefforts.%0D%0A%3Cbr%3E%0D%0AThe+Smalltalk+GUI+uses+a+very+powerful+%0D%0Aconceptual+framework%3A+the+Model-View-Controller%0D%0A%28MVC%29+paradigm.+In+this+framework%2C+every%0D%0AGUI+element+has+a+model+that+holds+its%0D%0Adata%2C+a+view+that+draws+its+display%2C+and%0D%0Aa+controller+that+responds+to+activities%0D%0Aand+causes+the+object+to+react.++By+keeping%0D%0Athese+three+aspects+of+GUI+elements+separate%2C%0D%0ASmalltalk+allows+the+programmer+great%0D%0Aflexibility.++%28The+MVC+framework+was+also%0D%0Aemployed+in+the+NeXTStep+GUI%2C+which+was%0D%0Awritten+in+Objective-C.%29%0D%0A%3Cbr%3E%0D%0AThere+have+been+many+dialects+of+Smalltalk%2C%0D%0Asome+of+them+influential+enough+to+be+called%0D%0Ade-facto+standards%3A+Smalltalk-80%2C+Smalltalk%2FV%2C%0D%0Aand+others.++The+upcoming+ANSI+standard%0D%0Ashould+help+alleviate+the+problems+caused%0D%0Aby+differing+implementations.%0D%0A%3Cbr%3E%0D%0AA+free+academic+edition+of+Smalltalk%2C+ObjectShare%0D%0ASmalltalk+Express%2C+can+be+obtained%0D%0A%3Ca+href%3D%22http%3A%2F%2Fwww.objectshare.com%2Fse%2Fseinfo.htm%22%3Ehere.%3C%2Fa%3E links1=The+Smalltalk+Developer%27s+Site%3Dhttp%3A%2F%2Fwww.smalltalk.net%2Fsmalltalk%2Fsmalltalk.html links2=The+UIUC+Smalltalk+Archive%3Dhttp%3A%2F%2Fst-www.cs.uiuc.edu%2F links3=An+On-line+textbook+about+Smalltalk%3Dhttp%3A%2F%2Fwww.sra.co.jp%2Fpeople%2Faoki%2FSmalltalkTextbook%2F links4=More+Smalltalk+resource+links%3Dhttp%3A%2F%2Fwww.chisolutions.com%2Foo%2Fsmalltalk%2Fsmalltalk.html links5=SQUEAK+Smalltalk+web+site%3Dhttp%3A%2F%2Fwww.create.ucsb.edu%2Fsqueak%2F date=Last+updated+6%2F19%2F98 sample=%3Cpre%3E%0D%0A%27+Smalltalk+class+to+constraint+a+2D+point+to+a+fixed+grid%0D%0A%27+%28from+Horan+%26amp%3B+Hopkins%2C+Smalltalk%3A+An+Introduction...%29%0D%0A%0D%0APoint+subclass%3A+%23GriddedPoint%0D%0A++++++++instanceVariableNames%3A+%27%27%0D%0A++++++++classVariableNames%3A+%27%27%0D%0A++++++++poolDictionaries%3A+%27%27%0D%0A++++++++category%3A+%27Exercise11.5%27%21%0D%0A%0D%0A%0D%0A%21GriddedPoint+methodsFor%3A+%27accessing%27%21%0D%0A%0D%0Ax%3A+xInteger+%0D%0A++++++++%22Set+the+x+coordinate+gridded+to+10+%28using+rounding%2C+alternatively+I+could+%0D%0A++++++++use+truncating%29.%22%0D%0A%0D%0A++++++++super+x%3A+%28xInteger+roundTo%3A+10%29%21%0D%0A%0D%0Ay%3A+yInteger+%0D%0A++++++++%22Set+the+y+coordinate+gridded+to+10+%28using+rounding%2C+alternatively+I+could+%0D%0A++++++++use+truncating%29.%22%0D%0A%0D%0A++++++++super+y%3A+%28yInteger+roundTo%3A+10%29%21+%21%0D%0A%0D%0A%21GriddedPoint+methodsFor%3A+%27private%27%21%0D%0A%0D%0AsetX%3A+xPoint+setY%3A+yPoint+%0D%0A++++++++%22Initialize+the+instance+variables+rounding+to+10.%22%0D%0A++++++++%0D%0A++++++++super+setX%3A+%28xPoint+roundTo%3A+10%29+setY%3A+%28yPoint+roundTo%3A+10%29%21+%21%0D%0A%3C%2Fpre%3E _store=1 _add=Smalltalk _usertab=1 _usersearch=0 _format=full = name=SML nameURL= see=ML logo= type=F+-+Functional+or+lambda-based desc=SML+is+the+standardized+definition+for%0D%0Athe+powerful+functional+language+ML.%0D%0ASee+the+ML+entry+for+more+information. origin= seealso= remark= links1= links2= links3= links4= links5= date=Last+updated+12%2F13%2F97 sample= _store=1 _add=SML _usertab=1 _usersearch=0 _format=full = name=SNOBOL nameURL=http%3A%2F%2Fwww.computek.net%2Fpublic%2Fgep2%2Fsnobol4.html see= logo= type=D+-+Database+or+Text-processing desc=SNOBOL+is+a+very+powerful+but+eccentric%0D%0Aprogramming+language+primarily+oriented%0D%0Atowards+string+data+handling.++Developed%0D%0Aas+a+research+project+at+Bell+Labs+1960-1962%2C%0D%0Ait+gained+a+small+but+loyal+following+and+%0D%0Ahas+enjoyed+modest+popularity+ever+since.%0D%0AThere+were+various+versions+of+SNOBOL%2C+but%0D%0Athe+main+one+was+and+is+SNOBOL4.%0D%0A%3Cbr%3E%0D%0AWhile+SNOBOL+offers+the+usualy+arithmetic%0D%0Aand+variable+assignments+of+conventional%0D%0Alanguages%2C+its%0D%0Aessence+is+string+pattern%0D%0Amatching.++The+language+syntax+supports%0D%0Aextremely+powerful+string+recognition%0D%0Aand+manipulation+constructs+that+allow%0D%0Amany+types+of+data+manipulation+to+be%0D%0Aexpressed+in+SNOBOL+very+concisely.+%0D%0A%3Cbr%3E%0D%0AControl+flow+in+SNOBOL+is+mostly+done+on%0D%0Athe+basis+of+string+matches+or+lack+%0D%0Athereof%2C+but+modularity+in+the+form+of%0D%0Asubroutines+is+also+part+of+the+language.%0D%0AData+types+offered+in+the+language+include%0D%0Astrings%2C+reals%2C+integers%2C+and+homogeneous%0D%0Aarrays.+%0D%0A%3CBR%3E%0D%0ASNOBOL4+is+wonderfully+documented+in+the+%0D%0A1971+book+%3Ci%3EThe+SNOBOL4+Programming+Language%2C+2nd+Edition%3C%2Fi%3E.%0D%0A origin=Griswold+and+Faber%2C+Bell+Labs%2C+1962. seealso=awk%2C+Icon%2C+Perl remark=Despite+its+rather+punch-card+oriented%0D%0Asyntax%2C%0D%0ASNOBOL4+was+one+of+the+coolest%0D%0Alanguages+of+all+time.++Here%27s+why%3A%0D%0A%3Cul%3E%0D%0A%3Cli%3ESuper-powerful+pattern-matching%0D%0A%3Cli%3ERich+pattern+composition+semantics%0D%0A%3Cli%3EInterpretive+environment+%28in+1961%21%29%0D%0A%3C%2Ful%3E%0D%0A%3Cbr%3E%0D%0AThe+expressiveness+of+SNOBOL%2C+and+its%0D%0Aability+to+compose+simple+functions+in%0D%0Apowerful+utilities%2C+had+a+profound+effect%0D%0Aon+the+evolution+of+the+UNIX+programming%0D%0Aenvironment+in+the+early+1970s%2C+as+well%0D%0Aas+on+tools+that+originated+in+that+%0D%0Aenvironment%2C+like+sed%2C+awk%2C+and+Perl.%0D%0A%3Cbr%3E%0D%0ASeveral+free+UNIX+implementations+of+%0D%0ASNOBOL+dialects+%28e.g.+SPITBOL%29+exist%2C+as+well+as%0D%0Aa+free+version+of+SNOBOL4+for+DOS+named%0D%0AVanilla.++The+leading+commercial+%0D%0Aimplementation+is+by+Catspaw%2C+Inc.%0D%0A%3Cbr%3E%3Csmall%3E%0D%0AOf+course%2C+the+power+of+the+language+and%0D%0Aits+rather+idiomatic+control+flow+features%0D%0Amake+SNOBOL4+code+almost+impossible+to%0D%0Aread+and+understand+after+writing+it.%0D%0A%3C%2Fsmall%3E links1=http%3A%2F%2Fwww.dsu.edu%2F%7Ejohnsone%2Fsnobook.html links2=http%3A%2F%2Fwww.idiom.com%2Ffree-compilers%2FLANG%2FSnobol4-1.html links3=ftp%3A%2F%2Fftp.cs.arizona.edu%2Fsnobol%2F links4=http%3A%2F%2Fwww.snobol4.com%2F sample=%3Cpre%3E%0D%0A%2A+Find+biggest+words+and+numbers+in+a+test+string%0D%0A%2A+%28from+Griswold%2CPoage%2C%26amp%3B+Polonsky%2C+1971%29%0D%0A+++++++++BIGP+%3D+%28%2AP+%24+TRY++%2AGT%28SIZE%28TRY%2CSIZE%28BIG%29%29%29+%24+BIG++FAIL%0D%0A++++++++++STR+%3D+%27IN+1964+NFL+ATTENDANCE+JUMPED+TO+4%2C807884%3B+%27%0D%0A++++++++++++++++%27AN+INCREASE+OF+401%2C810.%27%0D%0A+++++++++P+%3D+SPAN%28%270123456789%2C%27%29%0D%0A+++++++++BIG+%3D%0D%0A+++++++++STR++BIGP%0D%0A+++++++++OUTPUT+%3D+%27LONGEST+NUMBER+IS+%27+BIG%0D%0A+++++++++P+%3D+SPAN%28%27ABCDEFGHIJKLMNOPQRSTUVWXYZ%27%29%0D%0A+++++++++BIG+%3D%0D%0A+++++++++STR++BIGP%0D%0A+++++++++OUTPUT+%3D+%27LONGEST+WORD+IS+%27+BIG%0D%0AEND%0D%0A%3C%2Fpre%3E _store=1 _add=SNOBOL _usertab=1 _usersearch=0 _format=full = name=SPARCL nameURL=http%3A%2F%2Fwww.designlab.ukans.edu%2F%7Espratt%2Fprojects%2FSPARCL%2Fsparcl_home.html see= logo=162x145%3Dhttp%3A%2F%2Fwww.designlab.ukans.edu%2F%7Espratt%2Fprojects%2FSPARCL%2Fsparcl_home_files%2Fa_visual_logic_programmi.jpeg type=V+-+Visual+or+graphical desc=Created+as+an+attempt+to+combine+visual%2C+logic%2C%0D%0Aand+set-based+programming+disciplines%2C+SPARCL%0D%0Ais+an+academic+programming+system+developed%0D%0Ato+aid+%3Ci%3Eexploratory+programming%3C%2Fi%3E.%0D%0A%3Cbr%3E%0D%0AAs+a+logic+programming+language%2C+SPARCL+supports%0D%0Adefinition+of+facts+and+relationships+between%0D%0Athem.++The+system+has+three+kinds+of+%0D%0Aclauses%3A+facts%2C+rules%2C+and+questions%2C+although%0D%0Aany+rule+can+be+queried+as+a+question+if+the%0D%0Auser+wishes.++Data+types+supported+by+the%0D%0Alanguage+seem+to+be+numbers+and+atoms.%0D%0A%3Cbr%3E%0D%0AExecution+in+SPARCL%2C+as+in+Prolog%2C+%0D%0Aoccurs+in+response+to+a+question.++The%0D%0Alanguage+system+performs+a+unification+of%0D%0Athe+facts+and+rules+presented+by+the%0D%0Avisual+diagrams.++Backtracking+is+the%0D%0Aunification+strategy+employed+by+the+current%0D%0Aimplementation.%0D%0A%3Cbr%3E%0D%0AThere+is+only+one+implementation+of+%0D%0ASPARCL%2C+for+the+Mac%2C+available+free%0D%0Afrom+the+language%27s+web+site. origin=L.+Spratt%2C+U.+of+Kansas%2C+1993. seealso=SETL%2C+Forms%2F3%2C+Prolog%2C+CUBE remark=SPARCL+runs+in+the+highly+visual+%0D%0Aenvironment+provided+by+MacOS+on%0D%0AMacintosh+hardware.++It+can+also%0D%0Agenerate+3-D+models+of+its+%27programs%27%0D%0Afor+rendering+with+the+POV-Ray+raytracer.%0D%0AHowever%2C+it+is+not+clear+from+the+documentation%0D%0Awhether+the+3-D+aspects+of+some+SPARCL%0D%0Aprograms+are+algorithmically+necessary%2C%0D%0Aor+merely+cosmetic.++Use+of+the+3-D%0D%0Arendering+as+a+tool+for+improving+view%0D%0Acomprehension+of+diagrams+of+algorithms%0D%0Awas+examined+in+a+1994+paper+about+SPARCL.%0D%0A links1=SPARCL+Tutorial%3Dhttp%3A%2F%2Fwww.designlab.ukans.edu%2F%7Espratt%2Fprojects%2FSPARCL%2FTutorial%2Fsparcl_tutorial.html links2= links3= links4= links5= date=Last+updated+8%2F8%2F98 sample=Here+is+a+SPARCL+program+that+computes+the+sum+of+%0D%0Athe+values+of+a+term.%0D%0A%3Cp%3E%3Ccenter%3E%0D%0A%3Cimg+src%3D%22http%3A%2F%2Fwww.designlab.ukans.edu%2F%7Espratt%2Fprojects%2FSPARCL%2FTutorial%2Ftutorial_part_3_files%2Fpicture_269.gif%22+hspace%3D5+width%3D354+height%3D210+border%3D0%3E%0D%0A%3C%2Fcenter%3E%0D%0A _store=1 _add=SMSL _usertab=1 _usersearch=0 _format=full = name=SPITBOL nameURL=http%3A%2F%2Fwww.snobol4.com%2F see=SNOBOL logo= type=D+-+Database+or+Text-processing desc=SPITBOL+was+a+compiled+variant+of+%0D%0ASNOBOL%2C+available+for+DEC+computers+and%0D%0Asome+other+systems.++Later+marketed%0D%0Afor+UNIX+workstations+by+Catspaw%2C+Inc. origin=Dewar+%3Ci%3Eet+al%3C%2Fi%3E%2C+1971. seealso= remark=SPITBOL+stands+for+%27SPeedy+ImplemenTation%0D%0Aof+snoBOL%27. links1= links2= links3= links4= sample= _store=1 _add=SPITBOL _usertab=1 _usersearch=0 _format=full =