Clean programming language

Clean is a purely functional programming language that, in some respects, is similar to Haskell programming language.

Clean has several advantages as a programming language. It features a uniqueness type system, which allows a purely functional way of dealing with resources such as I/O that cannot be duplicated. Clean also has a list comprehension system which can create queries at least as complex as SQL can handle. Clean also uses a more compact format for conditionals. Clean has a very simple and easy-to-use IDE that writes only the project files, not the actual programs. Clean programs are extremely portable; in almost all cases, porting to a different platform simply means a recompile.

The hello world program for Clean is shown below:

module hello

Start :: String Start = "Hello, world!"

The first line, module hello, tells the compiler that that this module, or part of a project, is called "hello". It has to be stored in a file called hello.icl unless you want to change that line of code. The next line, Start :: String, says that the variable Start, which is the first thing the compiler evaluates, is of the String type. The last line sets the variable Start to "Hello, world!". Since no other output method, such as a GUI, is declared, the words "Hello, world!" just appear in a console box.

Clean is based on the mathematical principle of graph rewriting. Arrays and other constants are graphs, and functions are graph rewriting formulas. Clean programs are evaluated using the well-understood technique of reduction, which essentially reduces everything to a very simple form. Reduction makes programs implemented in Clean relatively fast, even with the high abstraction of the language.

Clean has a very unique compiling system. First, source files (.icl) and project files (.dcl) are converted into Clean's own bytecode (.abc files). This is implemented in C and Clean . The bytecode is completely platform-independent, but it cannot be run. Next, this bytecode is converted to object code (.obj) using C. After that, the object code is linked with other files in the module and the runtime system and converted into a normal executable (done in Clean). Although it seems like there would be bootstrapping issues with this, they are resolved because earlier versions of the Clean system were written completely in C.

Clean was produced and is mantained by the University of Nijmegen. The IDE was written by the Dutch-based company Hilt. It is available for the platforms Windows, Macintosh, Solaris, and Linux, but input-output capabilities are limited on Linux. It is licensed under the GNU LGPL, but it can be used without the LGPL if it is bought for €495. Clean is not developed with an open source development model, though.

Although Clean isn't used much commercially, it is used extensively in research.

External Link



In the News

Traveling Exhibitions: Augustus F. Sherman: Ellis Island Portraits 190
This site provides information about an exhibit of photographs by "a registry clerk at Ellis Island in the years 1905-1920. This untrained, yet highly gifted photographer created hundreds of images documenting the new arrivals to America."The site includes an exhibit schedule with dates from 2005-2009, information about the accompanying book, and selected photos, showing sitters wearing "elaborate national costumes or folk dress."From the Aperture Foundation.

Glaciers Not On Simple, Upward Trend Of Melting
Two of Greenland's largest glaciers shrank dramatically and dumped twice as much ice into the sea during a period of less than a year between 2004 and 2005. And then, less than two years later, they returned to near their previous rates of discharge. Future warming may lead to rapid pulses of retreat and increased discharge rather than a long, steady drawdown, researchers say.

Jewish in Seattle: The Official Website of the Jewish Federation of Gr
Find news, a calendar of events, listing of volunteer opportunities, list of holidays and candle lighting times, and many links, including sites for seniors and teens.

Infants, As Early As Six Months, Do See Errors In Arithmetic
Using advanced brain sensor technology developed at the University of Oregon, researchers have confirmed often-debated findings that showed infants as young as six months know when an arithmetic solution is wrong.

Reporters Committee for Freedom of the Press
This is "a nonprofit organization dedicated to providing free legal assistance to journalists since 1970."The Web site has news on legal actions involving freedom of the press and white papers on such topics as how government policies affect the public's right to know. Also find guides for accessing legal and public records, medical privacy, photographers and privacy rights, gag orders, and much more.

Study Suggests How Steroid Can Reverse Post-traumatic Stress
Researchers at UT Southwestern Medical Center, working with mice, have shown how the body's own natural stress hormone can help lastingly decrease the fearful response associated with reliving a traumatic memory.

Hollywood Plots End of Film Reels
New movies will come to your local theater over the internet if proposed industry specs gain acceptance. But questions remain about who will pay for the switch. By Xeni Jardin.

International Comparisons of Charitable Giving
This November 2006 report "contributes to the understanding of charitable giving in an international context by comparing levels of individual giving within a number of different countries."Report covers topics such as giving compared with national wealth level, and giving as a percentage of gross domestic product (GDP) for countries such as the U.S., U.K., Canada, Turkey, Germany, and France. From the British Charities Aid Foundation.

The Faces of Science: African Americans in the Sciences
Biographical information on "African American men and women who have contributed to the advancement of science and engineering."Each biography provides a detailed bibliography. Includes women scientists as well as individuals who were the first African-Americans to receive Ph.D.s in their fields. From Mitchell C. Brown, a mathematics and physics librarian at Princeton University.

What Makes Quantum Dots Blink?
In order to learn more about the origins of quantum dot blinking, researchers have developed a method to characterize it on faster time scales than have previously been accessed. Nanocrystals of semiconductor material, also known as quantum dots, are being intensively investigated for applications such as light-emitting diodes, solid-state lighting, lasers, and solar cells.


MP3 Music Downloads

Preview songs, Download Free Music,Burn CDs at ITunes.com
iTunes_RGB_9mm

 


Google




InformationQuickFind.com - Find Information Fast

Links