name=NESL nameURL=http%3A%2F%2Fwww.cs.cmu.edu%2F%7Escandal%2Fnesl%2F see= logo= type=P%20-%20Parallel%20or%20Multi-programming desc=NESL%20is%20a%20data-parallel%20functional%20%0D%0Aprogramming%20language%20intended%20to%20be%20highly%0D%0Aportable%20across%20different%20parallel%20%0D%0Acomputer%20architectures%2C%20easy%20to%20use%2C%20and%0D%0Aefficient%20to%20compile.%0D%0A%3Cbr%3E%0D%0AThe%20basic%20data%20types%20supported%20by%20NESL%0D%0Aare%3A%20integers%2C%20reals%2C%20strings%2C%20and%20sequences%20%28vectors%29.%0D%0AThe%20sequences%20are%20heavily%20used%20for%20%0D%0Adefining%20parallelism%2C%20NESL%20has%20special%0D%0Aoperators%20and%20syntax%20for%20operating%20on%0D%0Aall%20elements%20of%20a%20sequence%20and%20on%20each%0D%0Aelement%20of%20a%20vector.%0D%0AIn%20addition%20to%20its%20parallel%20computation%0D%0Aconstructs%2C%20NESL%20also%20supports%20conventional%0D%0Aselection%20%28if-then-else%29%20and%20iteration%0D%0A%28for%2C%20while%29%20control-flow%20constructs.%0D%0A%3Cbr%3E%0D%0AThe%20NESL%20function%20library%20provides%20a%0D%0Arich%20set%20of%20sequence%20operations%2C%20plus%0D%0Astring%20manipulation%2C%20I%2FO%2C%20system%0D%0Ainterface%2C%20and%20windowing%20functions.%0D%0ACurrently%2C%20NESL%20runs%20only%20on%20UNIX%20and%0D%0Arelated%20systems%20%28or%20parallel%20computers%0D%0Aattached%20to%20such%20systems%29%3B%20its%20windowing%0D%0Asupport%20is%20currently%20implemented%20only%0D%0Afor%20X11.%0D%0A%3Cbr%3E%0D%0ANESL%20is%20usually%20compiled%3B%20the%20compilation%0D%0Aprocess%20automatically%20generates%20a%20mapping%0D%0Afrom%20the%20computation%20defined%20by%20the%20NESL%0D%0Acode%20onto%20the%20processors%20of%20the%20target%0D%0Acomputer.%20%20Variables%20and%20functions%20in%0D%0ANESL%20are%20not%20strongly%20typed%2C%20but%20the%20compiler%0D%0Aseems%20to%20perform%20extensive%0D%0Atype%20inference%20at%20compile-time.%0D%0AReleases%203.1%20and%20later%20of%20NESL%20also%0D%0Ainclude%20a%20lightweight%20interpreter%20for%0D%0Ause%20in%20training%20and%20debugging.%20%20%20The%20NESL%20%0D%0Acompiler%20is%20written%20in%20C%2C%20and%20the%0D%0Ainterpreter%20is%20implemented%20in%20Common%0D%0ALisp.%0D%0A%3Cbr%3E%0D%0AImplementations%20of%20NESL%20are%20%0D%0Aavailable%20from%20CMU.%20%20The%20documentation%0D%0Aand%20a%20tutorial%20are%20also%20available%20on%0D%0Athe%20web. origin=Guy%20Blelloch%2C%20Carnegie-Mellon%2C%201992-93 seealso=ML%2C%20Lucid%2C%20Clean remark=NESL%20is%20a%20project%20of%20SCandAL%20group%20at%0D%0ACMU.%20%20They%20are%20working%20on%20porting%20the%20%0D%0Alanguage%20to%20a%20variety%20of%20parallel%0D%0Aarchitectures.%20%20They%20also%20have%20a%20%0D%0Asystem%20for%20translating%20NESL%20programs%0D%0Ainto%20multi-threaded%20Java%20programs.%0D%0A%3Cbr%3E%0D%0ANESL%20has%20special%20features%20for%20animating%0D%0Athe%20execution%20of%20parallel%20algorithms%2C%0D%0Aa%20helpful%20feature%20for%20presenting%20papers%0D%0Aat%20conferences%20and%20for%0D%0Acomputer%20science%20education.%20%20Some%20live%0D%0Aanimations%20can%20be%20seen%20at%20the%20NESL%0D%0Apages%20at%20CMU.%0D%0A%3Cbr%3E%0D%0ANESL%20has%20been%20the%20experimental%20vehicle%0D%0Afor%20research%20in%20provable%20performance%0D%0Abounds%20in%20parallel%20algorithms%2C%20as%20well%0D%0Aas%20parallel-processing%20compiler%20research. links1=Interactive%20Interface%20to%20NESL%3Dhttp%3A%2F%2Fwww.cs.cmu.edu%2F%7Escandal%2Fnesl%2Fnesl_form.html links2=NESL%20distribution%20download%20site%3Dftp%3A%2F%2Fnesl.scandal.cs.cmu.edu%2F links3= links4= links5= date=Last%20updated%2012%2F23%2F97 sample=%3Cpre%3E%0D%0A%25%20Fits%20a%20line%20to%20a%20set%20of%20of%20points%20%20%25%0D%0A%25%20using%20a%20simple%20regression%20algorithm%2C%20%25%0D%0A%25%20return%20line%20and%20goodness%20of%20fit.%20%20%20%25%0D%0A%25%20%28from%20code%20examples%20with%20NESL%203.1%29%20%25%0D%0Afunction%20line_fit%28x%2C%20y%29%20%3D%0D%0Alet%20%0D%0A%20%20n%20%20%20%20%3D%20float%28%23x%29%3B%0D%0A%20%20xa%20%20%20%3D%20sum%28x%29%2Fn%3B%0D%0A%20%20ya%20%20%20%3D%20sum%28y%29%2Fn%3B%0D%0A%20%20Stt%20%20%3D%20sum%28%7B%28x%20-%20xa%29%5E2%3A%20x%7D%29%3B%0D%0A%20%20b%20%20%20%20%3D%20sum%28%7B%28x%20-%20xa%29%2Ay%3A%20x%3B%20y%7D%29%2FStt%3B%0D%0A%20%20a%20%20%20%20%3D%20ya%20-%20xa%2Ab%3B%0D%0A%20%20chi2%20%3D%20sum%28%7B%28y-a-b%2Ax%29%5E2%3A%20x%3B%20y%7D%29%3B%0D%0A%20%20siga%20%3D%20sqrt%28%281.0%2Fn%20%2B%20xa%5E2%2FStt%29%2Achi2%2Fn%29%3B%0D%0A%20%20sigb%20%3D%20sqrt%28%281.0%2FStt%29%2Achi2%2Fn%29%0D%0Ain%20%0D%0A%20%20%28a%2C%20b%2C%20siga%2C%20sigb%29%20%24%0D%0A%3C%2Fpre%3E%0D%0A _store=1 _add=NESL _usertab=1 _usersearch=0 _format=full = name=NIAL nameURL=http%3A%2F%2Fwww.nial.com%2F see= logo=106x60%3Dhttp%3A%2F%2Fwww.nial.com%2Fimages%2Fheader_boat.gif type=F%20-%20Functional%20or%20lambda-based desc=NIAL%2C%20the%20nested%20interactive%20array%20language%2C%20%0D%0Ais%20a%20quasi-functional%20language%20with%20some%0D%0Aprocedural%20features.%20%20It%20is%20intended%20for%0D%0Aapplication%20development.%0D%0A%3Cbr%3E%0D%0ANial%20offers%20high-level%20features%20intended%20to%0D%0Amake%20it%20easy%20for%20the%20programmer%20to%0D%0Abuild%20complex%20data%20structures%20and%20%0D%0Aanalysis%20functions.%20%20The%20primitive%20data%20types%0D%0Ain%20Nial%20includes%20integers%2C%20reals%2C%20strings%2C%0D%0Aand%20atoms.%20%20The%20primary%20aggregate%0D%0Adata%20types%20is%20the%20rectangular%20array.%0D%0AArrays%20can%20be%20heterogenous%2C%20dynamic%2C%20and%0D%0Abuilt%20up%20in%20a%20variety%20of%20ways.%0D%0A%3Cbr%3E%0D%0ANial%20supports%20conventional%20procedural%0D%0Acontrol-flow%20constructs%20like%20while%20loops%0D%0Aand%20conditional%20expressions.%0D%0AVarious%20functional%20programming%20constructs%0D%0Alike%20currying%2C%20transformers%2C%0D%0Aand%20composition%20are%20also%0D%0Asupported.%0D%0A%3Cbr%3E%0D%0ANial%20was%20originally%20designed%20and%0D%0Aimplemented%20at%20Queen%27s%0D%0AUniversity%20in%20Ontario%2C%20CA.%20%20It%20is%20now%0D%0Adeveloped%20and%20sold%20by%20NIAL%20Systems%20%0D%0ALimited.%20%20The%20company%20offers%20free%0D%0Aevaluation%20downloads.%0D%0A origin=M.%20A.%20Jenkins%20%3Ci%3Eet%20al%3C%2Fi%3E%2C%20Queen%27s%20University%20Ontario%2C%201981-86. seealso=Lisp%2C%20FP%2C%20S%2C%20Yorick%2C%20APL%2C%20Mathematica remark=One%20of%20the%20design%20goals%20of%20Nial%20was%20to%20%0D%0Ause%20simple%20laws%20and%20identities%20with%20%0D%0Aconsistent%20properties%20that%20always%0D%0Ahold%20true.%20%20This%20precision%2C%20together%20%0D%0Awith%20Nial%27s%20nested%20control%20structures%20and%0D%0Apowerful%20array%20operators%2C%20is%20supposed%20to%0D%0Amake%20Nial%20programs%20compact%20and%20easy%20to%0D%0Aexplain.%20%20Like%20any%20very%20powerful%2C%20compact%0D%0Alanguage%20%28e.g.%20APL%29%20the%20programs%20can%20%0D%0Asometimes%20get%0D%0Avery%20dense%20and%20opaque.%0D%0A%3Cbr%3E%0D%0AThe%20Q%27Nial%20system%20is%20a%20portable%20%0D%0Ainteractive%20interpreter%0D%0Afor%20Nial%3B%20it%20can%20be%20considered%20analogous%0D%0Ato%20a%20Mathematica%20%27notebook%27%20or%20an%20S%20session. links1=About%20NIAL%20%28introduction%29%3Dhttp%3A%2F%2Fwww.nial.com%2FAboutNial%2FAboutNial.html links2=NIAL%20Free%20Evaluation%20download%20area%3Dhttp%3A%2F%2Fwww.nial.com%2FFTP%2FFTP.html links3= links4= links5= date=Last%20updated%201%2F6%2F98 sample=%3Cpre%3E%0D%0A%23%20A%20routine%20to%20look%20for%20HTML%20tags%20in%20a%0D%0A%23%20file%20%28from%20the%20AboutNial%20page%20at%20NIAL%20Systems%29%0D%0A%20findtagtext%20IS%20OPERATION%20Text%20%7B%0D%0A%20%20%20Hdposns%20%3A%3D%20%60%3C%20findall%20Text%3B%20%0D%0A%20%20%20Tlposns%20%3A%3D%20%60%3E%20findall%20Text%3B%0D%0A%20%20%20Lengths%20%3A%3D%20Tlposns%20-%20Hdposns%20%2B%201%3B%0D%0A%20%20%20Tags%20%3A%3D%20Hdposns%20EACHBOTH%20%2B%20EACH%20tell%20Lengths%20EACHLEFT%20choose%20Text%3B%0D%0A%20%20%20Hdposns%20Tags%20%7D%0D%0A%0D%0A%20test%20is%20op%20fnm%20%7B%0D%0A%20%20%20%20findtagtext%20readfield%20fnm%200%20%28filelength%20fnm%29%20%7D%0D%0A%0D%0A%20Posns%20Tags%20%3A%3D%20test%20%22intro.htm%3B%0D%0A%3C%2Fpre%3E _store=1 _add=NIAL _usertab=1 _usersearch=0 _format=full =