Difference between revisions of "Clean"

From Clean
Jump to navigationJump to search
 
(50 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Welcome to the '''Clean Wiki'''!
+
__NOTOC__
 +
{| style="width:100%; border:none"
 +
|style="width:70%; vertical-align: top; padding-right: 20px;"|
 +
Welcome to the '''Clean Wiki'''! the online home of Clean.
  
The programming language Clean is a general purpose, state-of-the-art, pure and lazy functional programming language designed for making real-world applications.
+
Clean is a general purpose, state-of-the-art, pure and lazy functional programming language designed for making real-world applications. Some of its most notable [[Language features|language features]] are uniqueness typing, dynamic typing, and generic functions. Have a look at a [[Quick impression|quick impression]] of Clean.
  
Clean is the only functional language in the world which offers uniqueness typing. This type system makes it possible in a pure functional language to incorporate destructive updates of arbitrary data structures (including arrays) and to make direct interfaces to the outside imperative world. The type system makes it possible to develop efficient applications as well.  
+
The [[Clean System]] is available for the Windows, Linux, and Mac operating systems.
 +
 
 +
== Downloading Clean ==
 +
 
 +
[[Image:download-clean.png|link=Download Clean]]
 +
 
 +
== The iTask System ==
 +
[[File:itasks-logo.png|left]]
 +
Much of the current Clean related research is focused around the [[ITasks|iTask system]].
 +
This is a toolkit for building web-based workflow management systems using a powerful workflow
 +
language embedded in Clean.
 +
 
 +
[[ITasks|Read more about the iTask system...]]
 +
 
 +
== Cloogle ==
 +
[[File:Cloogle-logo.png|left]]
 +
[https://cloogle.org Cloogle] is the official Clean search engine that indexes all standard libraries, external libraries, compiler errors, ABC instructions, builtins and syntax elements.
 +
 
 +
[https://gitlab.com/cloogle Read more about Cloogle...]
 +
 
 +
== The mTask System ==
 +
<!--[[File:mtasks-logo.png|left]]-->
 +
The mTask system (mTasks) is a framework for programming complete Internet of Things (IoT) systems from a single source.
 +
The framework is powered by a multi-backend tagless embedded DSL embedded in the pure functional programming language Clean.
 +
With the bytecode generation backend and the [[ITasks]] integration, mTask tasks can be embedded in iTasks programs and shared data sources can be synchronized.
 +
The client runtime system, written in portable C, runs on embedded devices such as Arduino/ESP8266/ESP32 boards but also on full fledged Linux, Windows and MacOS machines.
 +
 
 +
[https://gitlab.com/mTask Read more about the mTask system...]
 +
 
 +
|style="width:30%; vertical-align: top; padding-right: 20px;"|
 +
{{:Events}}
 +
|}
  
Clean is available for the [[Clean on Windows|Windows]], [[Clean on Linux|Linux]], and [[Clean on MacOS|MacOS]] operating systems.
 
__NOTOC__
 
 
{| style="width:100%; border:none"
 
{| style="width:100%; border:none"
 
|-  
 
|-  
 
|style="width:25%; vertical-align: top; padding-right: 20px;"|
 
|style="width:25%; vertical-align: top; padding-right: 20px;"|
== About ==
 
Read more about Clean on the official [http://clean.cs.ru.nl/ Clean homepage], find out where you can [http://clean.cs.ru.nl/Download/main/main.htm download Clean], or read more about the [[latest developments]] and upcoming and past [[events]].
 
  
|style="width:25%; vertical-align: top; padding-right: 20px;"|
+
== Language ==
 +
Learn more about the Clean language by [[Download Clean|downloading]] a distribution, the [[libraries]], or reading the [[documentation]], related [[publications]], or [[FAQ]].
  
== Learning ==
 
Learn how to use Clean by reading the [[tutorials]], [[articles]], [[publications]] and [[FAQ]], or by asking a question on the [[IRC channel]].
 
  
 
|style="width:25%; vertical-align: top; padding-right: 20px;"|
 
|style="width:25%; vertical-align: top; padding-right: 20px;"|
 +
== Community ==
 +
All development is happening in on gitlab nowadays.
 +
See the [https://gitlab.com/clean-and-itasks clean-and-itasks] group for everything iTasks and the [https://gitlab.science.ru.nl/clean-compiler-and-rts compiler-and-rts] group for everything core.
  
== Libraries ==
+
Find out what is going on in the Clean community by checking out the [[projects]] that use Clean, checkout the IRC channel (#cleanlang@libera.chat), or joining our [[mailing lists]].  
Check out the [[official libraries]] released together with Clean and some of the [[community libraries]] developed for Clean.
 
  
 
|style="width:25%; vertical-align: top; padding-right: 20px;"|
 
|style="width:25%; vertical-align: top; padding-right: 20px;"|
  
== Community ==
+
== About ==
Find out what is going on in the Clean community by joining our [[mailing lists]], checking out the [[projects]] that use Clean, or reading the [[wishlist]] of Clean features.  
+
Read more about the [[latest developments]], upcoming and past [[events]], or how to [[contact]] us.
 
|}
 
|}

Latest revision as of 07:51, 22 September 2022

Welcome to the Clean Wiki! the online home of Clean.

Clean is a general purpose, state-of-the-art, pure and lazy functional programming language designed for making real-world applications. Some of its most notable language features are uniqueness typing, dynamic typing, and generic functions. Have a look at a quick impression of Clean.

The Clean System is available for the Windows, Linux, and Mac operating systems.

Downloading Clean

Download-clean.png

The iTask System

Itasks-logo.png

Much of the current Clean related research is focused around the iTask system. This is a toolkit for building web-based workflow management systems using a powerful workflow language embedded in Clean.

Read more about the iTask system...

Cloogle

Cloogle-logo.png

Cloogle is the official Clean search engine that indexes all standard libraries, external libraries, compiler errors, ABC instructions, builtins and syntax elements.

Read more about Cloogle...

The mTask System

The mTask system (mTasks) is a framework for programming complete Internet of Things (IoT) systems from a single source. The framework is powered by a multi-backend tagless embedded DSL embedded in the pure functional programming language Clean. With the bytecode generation backend and the ITasks integration, mTask tasks can be embedded in iTasks programs and shared data sources can be synchronized. The client runtime system, written in portable C, runs on embedded devices such as Arduino/ESP8266/ESP32 boards but also on full fledged Linux, Windows and MacOS machines.

Read more about the mTask system...

Upcoming events

Language

Learn more about the Clean language by downloading a distribution, the libraries, or reading the documentation, related publications, or FAQ.


Community

All development is happening in on gitlab nowadays. See the clean-and-itasks group for everything iTasks and the compiler-and-rts group for everything core.

Find out what is going on in the Clean community by checking out the projects that use Clean, checkout the IRC channel (#cleanlang@libera.chat), or joining our mailing lists.

About

Read more about the latest developments, upcoming and past events, or how to contact us.