name=Haskell nameURL=http%3A%2F%2Fwww.haskell.org%2F see= logo= type=F+-+Functional+or+lambda-based desc=Haskell+is+a+non-strict+purely+functional%0D%0Alanguage%2C+usually+interpreted%2C+designed%0D%0Aby+representatives+of+the+functional%0D%0Aprogramming+community.++The+motivation%0D%0Afor+Haskell+was+unification+of+functional%0D%0Aprogramming+through+the+introduction+of%0D%0Aa+standard%2C+widespread%2C+modern+language.%0D%0A%3Cbr%3E%0D%0AHaskell+is+a+strongly+typed+language+with%0D%0Aa+rich+type+system.++As+in+all+functional%0D%0Alanguage%2C+computations+are+performed+only%0D%0Aby+expressions%3B+every+expression+has+a+%0D%0Atype.++Primitive+data+types+supplied+by+the%0D%0Alanguage+include%3A+integers%2C+reals%2C+characters%2C+%0D%0Alists%2C+enumerations%2C+tuples%2C+and+various%0D%0Afunction%0D%0Amappings.%0D%0AHaskell+language+implementations+perform%0D%0Astatic+type+checking+prior+to+execution.%0D%0A%3Cbr%3E%0D%0AHaskell+functions+are+defined+as+mappings%0D%0Abetween+parts+of+the+type+space.++Of+course%2C%0D%0Acomposition%2C+curried+functions%2C+lambda+forms%2C%0D%0Aand+higher-order+functions+are+supported.%0D%0AHaskell+uses+lazy+evaluation.++%0D%0AIt%0D%0Aalso+permits+definition+of+operators+as%0D%0Afunctions+%28operator+overloading%29%2C+a+convenience%0D%0Afeature+that+is+unusual+in+functional+programming%0D%0Asystems.%0D%0A%3Cbr%3E%0D%0AModularity+is+explicitly+supported+by+Haskell.%0D%0APrograms+consist+of+named+modules.++The%0D%0Amodule+facility+provides+distinct+namespaces%0D%0Aand+a+means+for+defining+encapsulated%0D%0Aabstract+data+types.%0D%0AHaskell%27s+module+features+allow+some+degree%0D%0Aof+object+oriented+programming.%0D%0A%3Cbr%3E%0D%0AThe+Haskell+standard+library+is+written%0D%0Ausing+the+module+facility.++It+provides%0D%0Aadditional+numeric+data+types%2C+various%0D%0Astandard+aggregate+types+like+arrays%0D%0Aand+lists%2C+system%0D%0Ainterface+and+I%2FO+facilities%2C+time+and+date%0D%0Ahandling%2C+and+random+number+generation.%0D%0A%3Cbr%3E%0D%0ASeveral+free+academic+implementations+of+%0D%0AHaskell+are+available%2C+and+good+documentation%0D%0Ais+available+at+the+main+Haskell+web+site.%0D%0A origin=Haskell+Committee+%28Hughes%2C+Wadler%2C+Peterson+%3Ci%3Eet+al%3C%2Fi%3E%29%2C+1990. seealso=FP%2C+Miranda%2C+Clean%2C+ML%2C+Gofer remark=The+language+is+named+after+Haskell+B.+Curry%2C%0D%0Aa+logician+and+mathematician+who%0D%0Aworked+on+function+theory%3B+many+ideas+in%0D%0Afunctional+programming+originated+with+Curry%0D%0A%28including+the+notion+of+curried+functions%29.%0D%0A%3Cbr%3E%0D%0ATwo+main+Haskell+implementations%2C%0D%0AGlasgow+Haskell+Compiler+%28GHC%29+and+%0D%0AYale%2FNottingham+Hugs+are+based+on+C.++GHC%0D%0Ais+a+Haskell-%26gt%3BC+translator%2C+and+Hugs%0D%0Ais+an+interpreter+coded+in+C.%0D%0A%3Cbr%3E%0D%0AAs+of+the+end+of+1997%2C+the+current+version%0D%0Aof+the+Haskell+language+definition+was+1.4.%0D%0AA+revised+language+definition%2C+to+be+called%0D%0A%3Ci%3EStandard+Haskell%3C%2Fi%3E%2C+should+be+%0D%0Afinalized+in+1998. links1=The+Haskell+1.4+Language+Report%3Dhttp%3A%2F%2Fhaskell.systemsz.cs.yale.edu%2Fonlinereport%2F links2=main+Haskell+site+in+Europe%3Dhttp%3A%2F%2Fwww-i2.informatik.rwth-aachen.de%2FForschung%2FFP%2FHaskell%2F links3=Haskell+download+area+at+Chalmers%3Dftp%3A%2F%2Fftp.cs.chalmers.se%2Fpub%2Fhaskell%2F links4=Introduction+to+Functional+Programming+using+Haskell%3Dhttp%3A%2F%2Fwww.laurentian.ca%2Fwww%2Fmath%2Fbadams%2Fcosc1047%2Fhaskell%2Fhaskell.htm links5= date=Last+updated+12%2F21%2F97 sample=%3Cpre%3E%0D%0A--+Stable+quicksort+in+Haskell+by+Lennart+Augustsson%0D%0A--+%0D%0A%0D%0Amodule+QSort%28sortLe%2C+sort%29+where%0D%0A%0D%0AsortLe+%3A%3A+%28a+-%3E+a+-%3E+Bool%29+-%3E+%5Ba%5D+-%3E+%5Ba%5D%0D%0AsortLe+le+l+%3D+qsort+le+++l+%5B%5D%0D%0A%0D%0Asort+%3A%3A+%28Ord+a%29+%3D%3E+%5Ba%5D+-%3E+%5Ba%5D%0D%0Asort++++++l+%3D+qsort+%28%3C%3D%29+l+%5B%5D%0D%0A%0D%0A--+qsort+is+stable+and+does+not+concatenate.%0D%0Aqsort+le+%5B%5D+++++r+%3D+r%0D%0Aqsort+le+%5Bx%5D++++r+%3D+x%3Ar%0D%0Aqsort+le+%28x%3Axs%29+r+%3D+qpart+le+x+xs+%5B%5D+%5B%5D+r%0D%0A%0D%0A--+qpart+partitions+and+sorts+the+sublists%0D%0Aqpart+le+x+%5B%5D+rlt+rge+r+%3D%0D%0A++++--+rlt+and+rge+are+in+reverse+order+and+must+be+sorted+with+an%0D%0A++++--+anti-stable+sorting%0D%0A++++rqsort+le+rlt+%28x%3Arqsort+le+rge+r%29%0D%0Aqpart+le+x+%28y%3Ays%29+rlt+rge+r+%3D%0D%0A++++if+le+x+y+then%0D%0A++++++++qpart+le+x+ys+rlt+%28y%3Arge%29+r%0D%0A++++else%0D%0A++++++++qpart+le+x+ys+%28y%3Arlt%29+rge+r%0D%0A%3C%2Fpre%3E _store=1 _add=Haskell _usertab=1 _usersearch=0 _format=full = name=Hope nameURL=http%3A%2F%2Fwww.soi.city.ac.uk%2F%7Eross%2FHope%2F see= logo= type=F+-+Functional+or+lambda-based desc=Hope+is+a+small%2C+simple+functional+language%0D%0Abased+function+composition+and%0D%0Aon+the+idea+of+%27call-by-pattern.%27%0D%0AA+Hope+program+consists+of+a+set+of+%0D%0Amodules%2C+each+of+which+can+contain%0D%0Asets+of+recursion+equations.%0D%0ACurrent+implementations+of+Hope%0D%0Ause+full+lazy+evaluation.%0D%0AUnlike+some+of+the+original+functional%0D%0Alanguages%2C+Hope+is+strongly+typed.%0D%0A%3Cbr%3E%0D%0AThere+were+a+couple+of+dialects+of+Hope%2C%0D%0Acorresponding+to+different%0D%0Agroups%27+implementations.++The+one+that+seems+%0D%0Aavailable+today+was+originally+called+Hope+.%0D%0A%3Cbr%3E%0D%0AData+types+supported+by+Hope+include%0D%0Anumbers%2C+symbols%2C+strings%2C+lists%2C+and+tuples.%0D%0A%28Constituents+of+a+list+must+be%0D%0Aall+the+same+type%2C+while+tuples+can%0D%0Abe+heterogenous.%29++A+Hope+programmer%0D%0Acan+define+their+own+primitive+and%0D%0Aaggregate+types.++This+ability+to%0D%0Acreate+true+abstract+data+types+is%0D%0Aa+novel+feature+in+functional+languages.%0D%0AModern+implementations+of+Hope+use%0D%0Alazy+evaluation.%0D%0A%3Cbr%3E%0D%0AA+free+implementation+of+the+Hope%0D%0Ainterpreter+is+available+for%0D%0AMS-DOS%2C+Unix%2C+and+Macintosh. origin=Burstall+1978%2C+Perry%2C+Kewley+%3Ci%3Eet+al%3C%2Fi%3E+1985. seealso=FP%2C+ML%2C+Clean%2C+Haskell%2C+Mathematica remark=Hope+was+apparently+the+first+%0D%0Afunctional+language%0D%0Ato+employ+argument%2Freturn+pattern-matching%0D%0Aas+a+polymorphism+semantic.++This%0D%0Akind+of+approach+is+carried+on+today%0D%0Ain+some+symbolic+programming%0D%0Asystems%2C+notably+Mathematica%2C+as+well%0D%0Aas+many+newer+functional+languages.%0D%0A%3Cbr%3E%0D%0AThe+original+language+Hope+was+developed%0D%0Aat+Edinburgh+U.+by+Burstall+in+the+late%0D%0A1970s.++A+successor%2C+called+Hope+%2C+was%0D%0Adeveloped+at+ICL+by+J.+Kewley%2C+T.+Thomson%2C+%0D%0Aand%0D%0Aothers+in+the+mid-1980s%3B+%0D%0Athe+first+implementation+used%0D%0Aeager+evaluation%2C+but+later%0D%0Aones+switch+to+the+more+advanced%0D%0Alazy+evaluation+strategy.%0D%0A links1=Hope+code+examples%3Dhttp%3A%2F%2Fwww.soi.city.ac.uk%2F%7Eross%2FHope%2Fexamples%2Fexamples.html links2= links3= links4= links5= date=Last+updated+1%2F4%2F2000 sample=A+module+for+listing+the+contents+of+a%0D%0Atree+by+breadth-first+traversal+using%0D%0Alazy+evaluation%2C+from+Ross+Paterson%27s%0D%0AHope+web+page.%0D%0A%3Cp%3E%0D%0A%3Cpre%3E%0D%0Ause+lists%2C+functions%2C+products%3B%0D%0A%0D%0Atype+rose_tree+alpha+%3D%3D+alpha+%23+list%28rose_tree+alpha%29%3B%0D%0A%0D%0A++dec+bf_list+%3A+rose_tree+alpha+-%26gt%3B+list+alpha%3B%0D%0A+++++---+bf_list+t+%26lt%3B%3D+%5Bt%5D.%0D%0A+++++++++++++iterate+%28concat+o+map+snd%29.%0D%0A+++++++++++++front_with+%28%2F%3D+%5B%5D%29.%0D%0A+++++++++++++concat.%0D%0A+++++++++++++map+fst%3B%0D%0A%3C%2Fpre%3E _store=1 _add=Hope _usertab=1 _usersearch=0 _format=full = name=HyperTalk nameURL=http%3A%2F%2Fhypercard.apple.com%2F see= logo= type=C+-+Command+or+Scripting desc=HyperTalk+is+the+scripting+language+for%0D%0AApple%27s+information+presentation+%0D%0Asystem+HyperCard.++It+has+a+simple+and%0D%0AEnglish-like+syntax%2C+a+modest+set+of%0D%0Ageneral+and+application-specific%0D%0Adata+types%2C+and+the+usual+procedural%0D%0Acontrol+structures.++HyperTalk+was%0D%0Adesigned+to+allow+HyperCard+information%0D%0Acollections%2C+which+are+called+%22stacks%22%2C%0D%0Ato+be+more+dynamic+and+interactive.%0D%0ABecause+Apple+envisioned+the+users%0D%0Aof+HyperTalk+to+be+multimedia+developers%0D%0Aand+not+traditional+programmers%2C+they%0D%0AHyperTalk+interpreter+was+designed+to%0D%0Abe+very+forgiving%3A+it+allows+various%0D%0Asyntactic+sugar%2C+type+conversion+is%0D%0Aautomatic%2C+and+everything+is+case-insensitive.%0D%0A%3Cbr%3E%0D%0AMost+of+a+HyperTalk+program+will+often%0D%0Aconsist+of+handers%2C+subroutines+to+be%0D%0Acalled+when+the+end-user+performs+some%0D%0Aaction+or+when+a+certain+condition+obtains.%0D%0AHyperTalk+supports+the+notion+of%0D%0Aadd-on+%27external%27+functions+and%0D%0Acommands%3B+these+are+roughly+analogous%0D%0Ato+library+modules+in+a+language+like+C.%0D%0A%3Cbr%3E%0D%0AHyperCard+2+compiles+individual+HyperTalk%0D%0Afunctions+into+intermediate+codes+the%0D%0Afirst+time+the+function+is+called.++This%0D%0Ais+done+to+reduce+start-up+time+for%0D%0AHyperCard+applications.%0D%0A%3Cbr%3E%0D%0AThere+are+several+versions+of+HyperTalk.%0D%0AThe+two+main+versions+from+Apple+%0D%0Acorrespond+to+HyperCard+releases+1+and+2.%0D%0AAldus+SuperCard+supports+a+superset+of%0D%0AHyperTalk+called+SuperTalk.%0D%0ACommercial+implementations+of+both%0D%0Aare+available+for+the+Macintosh.++At+%0D%0Aone+time%2C+SuperCard+was+also+available%0D%0Afor+MS-Windows%2C+but+that+may+not+be+%0D%0Atrue+anymore. origin=Atkinson+and+Winkler%2C+Apple+Computer%2C+1986%3F seealso=Lingo%2C+AppleScript remark=HyperTalk+continues+to+evolve+along+with%0D%0Athe+HyperCard+product+%28version+3+due+soon%29%2C%0D%0Abut+it+is+unclear+whether+it+is+still%0D%0Agoing+to+be+a+viable+language.++Apple%0D%0Ais+touting+AppleScript+as+THE+scripting%0D%0Alanguage+for+all+Macintosh+applications%2C%0D%0Aso+HyperTalk+may+be+superseded.%0D%0A%3Cbr%3E%0D%0AHyperTalk+was+very+influential+on+the%0D%0Aniche+area+of+multimedia+scripting%0D%0Alanguages.++For+example%2C+the+scripting%0D%0Alanguage+used+by+the+current+%28c.+1997%29%0D%0Amarket+leader+in+multimedia+authorware%0D%0Aresembles+HyperTalk+in+many+respects. links1=Hypercard+FAQ+Page%3Dhttp%3A%2F%2Fwww.glasscat.com%2Fhypercard2%2Ffaq%2Ffaq.html links2=Hypercard+Heaven%3Dhttp%3A%2F%2Fmembers.aol.com%2Fhcheaven%2Findex.html links3= links4= links5= date=Last+updated+12%2F7%2F97 sample= _store=1 _add=Hypercard _usertab=1 _usersearch=0 _format=full =