Difference between revisions of "Clean"

From Clean
Jump to: navigation, search
 
(35 intermediate revisions by 4 users not shown)
Line 2: Line 2:
 
{| style="width:100%; border:none"
 
{| style="width:100%; border:none"
 
|style="width:70%; vertical-align: top; padding-right: 20px;"|
 
|style="width:70%; vertical-align: top; padding-right: 20px;"|
Welcome to the '''Clean Wiki'''!
+
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.
  
The [[Clean System]] is available for the [[Clean on Windows|Windows]], [[Clean on Linux|Linux]], and [[Clean on MacOS|MacOS]] operating systems.
+
== PLNL2019 in Nijmegen! ==
 +
This year the [[PLNL19 |Second Workshop on Programming Languages in The Netherlands]] is hosted in Nijmegen.
 +
 
 +
== Downloading Clean ==
 +
We are migrating towards continuous integration and more frequent releases.
 +
Both nightly developments builds and the traditionally versioned Clean 3.0 are publicly available from our [[Download Clean|download page]].
 +
 
 +
[[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.science.ru.nl/cloogle/cloogle.org 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.science.ru.nl/mlubbers/mTask Read more about the mTask system...]
  
 
|style="width:30%; vertical-align: top; padding-right: 20px;"|
 
|style="width:30%; vertical-align: top; padding-right: 20px;"|
Line 18: Line 48:
 
|style="width:25%; vertical-align: top; padding-right: 20px;"|
 
|style="width:25%; vertical-align: top; padding-right: 20px;"|
 
== Language ==
 
== Language ==
Learn more about the Clean language by [[download|downloading]] a distribution, or reading the [[documentation]], related [[publications]], or [[FAQ]].
+
Learn more about the Clean language by [[Download Clean|downloading]] a distribution, the [[libraries]], or reading the [[documentation]], related [[publications]], or [[FAQ]].
  
|style="width:25%; vertical-align: top; padding-right: 20px;"|
 
== Libraries ==
 
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 ==
 
== Community ==
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.  
+
All development is happening in on gitlab nowadays.
 +
See the [https://gitlab.science.ru.nl/clean-and-itasks clean-and-itasks] group for everything iTasks and the [https://gitlab.science.ru.nl/clean-compiler-and-rts compile-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@freenode), or joining our [[mailing lists]].  
  
 
|style="width:25%; vertical-align: top; padding-right: 20px;"|
 
|style="width:25%; vertical-align: top; padding-right: 20px;"|
 +
 
== About ==
 
== About ==
 
Read more about the [[latest developments]], upcoming and past [[events]], or how to [[contact]] us.
 
Read more about the [[latest developments]], upcoming and past [[events]], or how to [[contact]] us.
 
|}
 
|}

Latest revision as of 15:30, 8 June 2020

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.

PLNL2019 in Nijmegen!

This year the Second Workshop on Programming Languages in The Netherlands is hosted in Nijmegen.

Downloading Clean

We are migrating towards continuous integration and more frequent releases. Both nightly developments builds and the traditionally versioned Clean 3.0 are publicly available from our download page.

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 compile-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@freenode), or joining our mailing lists.

About

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