Difference between revisions of "Latest developments"

From Clean
Jump to navigationJump to search
(Added link to romanian translation)
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The [[Clean Team]] does its best to deliver reliable software. It therefore might take some time before a new release is published. On this site we will keep you informed about the latest developments. Please be patient, software development always takes more time than expected.
+
The Clean team does its best to deliver reliable software. It therefore might take some time before a new release is published. On this site we will keep you informed about the latest developments. Please be patient, software development always takes more time than expected.
  
 
== The Clean Compiler ==
 
== The Clean Compiler ==
 
+
We are adding a new front-end to the Clean compiler that will accept Haskell '98 source code. Which is good news for many people, we hope. Not only there will be another Haskell '98 compiler, but it should be one that compiles fast and produces efficient code. Another important property is that Haskell and Clean code can be mixed! So, Clean users can make use of Haskell libraries, while Haskell users can make use of Clean libraries (such as the iTask library, [[Sparkle]], and Gast) and Clean features (such as uniqueness typing, dynamic typing, and generic programming).
We are adding a new front-end to the Clean compiler that will accept '''Haskell '98''' source code. Which is good news for many people, we hope. Not only there will be another Haskell '98 compiler, but it should be one that compiles fast and produces efficient code. Another important property is that Haskell and Clean code can be mixed! So, Clean users can make use of Haskell libraries, while Haskell users can make use of Clean libraries (such as the iTask library) and Clean features (such as uniqueness typing, [[Dynamics]], generic programming, [[Sparkle]], Gast).
 
  
 
Although many things already work, we do not dare to say anything about the release date.
 
Although many things already work, we do not dare to say anything about the release date.
Line 9: Line 8:
 
== The [[iTasks]] combinator library for the web ==
 
== The [[iTasks]] combinator library for the web ==
  
At the ICFP 2007 conference we presented [[iTasks]] [http://www.st.cs.ru.nl/papers/2007/plar2007-ICFP07-iTasks.pdf]: a multi-user workflow system for the web. With this library, one can assign tasks to users and control the order in which these tasks have to be performed. A user uses a browser to perform the tasks assigned to him or her. The iTask system is therefore also very suited for web programming and web form handling. The tasks are defined on a very high level declarative monadic style. Have a look at the iTask pages [http://www.cs.ru.nl/~rinus/iTaskIntro.html].
+
At the ICFP 2007 conference we presented [[iTasks]] [http://www.st.cs.ru.nl/papers/2007/plar2007-ICFP07-iTasks.pdf]: a multi-user workflow system for the web. With this library, one can assign tasks to users and control the order in which these tasks have to be performed. A user uses a browser to perform the tasks assigned to him or her. The iTask system is therefore also very suited for web programming and web form handling. The tasks are defined on a very high level declarative monadic style.  
  
 
The new release of the iTask library we are working on will support:
 
The new release of the iTask library we are working on will support:
Line 17: Line 16:
 
With a simple annotation an iTask is evaluated on the client instead of on the server. To make this possible we run full blown Clean applications in the browser as Java applet, making use of the fast Sapl interpreter [http://www.st.cs.ru.nl/papers/2007/janj2007-TFP06-EfficientInterpretationOfSAPL.pdf]. The system automatically switches between client side and server side evaluation when needed.
 
With a simple annotation an iTask is evaluated on the client instead of on the server. To make this possible we run full blown Clean applications in the browser as Java applet, making use of the fast Sapl interpreter [http://www.st.cs.ru.nl/papers/2007/janj2007-TFP06-EfficientInterpretationOfSAPL.pdf]. The system automatically switches between client side and server side evaluation when needed.
  
We used and released this new system at the [[AFP2008|AFP-summerschool]]
+
We used and released this new system at the [http://www.st.cs.ru.nl/AFP_TFP_2008/ The 6th International Summer School on Advanced Functional Programming]
 +
 
 +
The latest release of the iTasks system for the [http://www.cs.uu.nl/wiki/IFL2010/WebHome The 22nd Symposium on Implementation and Application of Functional Languages] is 10.8 (Aug. 2010), which can be obtained from [[iTasks|here]].
 +
 
 +
 
 +
''A [http://webhostinggeeks.com/science/developments-cleancs-ro Romanian translation] of this page is available at [http://webhostinggeeks.com/ Web Geek Science]''

Revision as of 13:06, 4 February 2012

The Clean team does its best to deliver reliable software. It therefore might take some time before a new release is published. On this site we will keep you informed about the latest developments. Please be patient, software development always takes more time than expected.

The Clean Compiler

We are adding a new front-end to the Clean compiler that will accept Haskell '98 source code. Which is good news for many people, we hope. Not only there will be another Haskell '98 compiler, but it should be one that compiles fast and produces efficient code. Another important property is that Haskell and Clean code can be mixed! So, Clean users can make use of Haskell libraries, while Haskell users can make use of Clean libraries (such as the iTask library, Sparkle, and Gast) and Clean features (such as uniqueness typing, dynamic typing, and generic programming).

Although many things already work, we do not dare to say anything about the release date.

The iTasks combinator library for the web

At the ICFP 2007 conference we presented iTasks [1]: a multi-user workflow system for the web. With this library, one can assign tasks to users and control the order in which these tasks have to be performed. A user uses a browser to perform the tasks assigned to him or her. The iTask system is therefore also very suited for web programming and web form handling. The tasks are defined on a very high level declarative monadic style.

The new release of the iTask library we are working on will support:

  • Ajax handling of iTasks
  • Client side evaluation of iTasks

With a simple annotation an iTask is evaluated on the client instead of on the server. To make this possible we run full blown Clean applications in the browser as Java applet, making use of the fast Sapl interpreter [2]. The system automatically switches between client side and server side evaluation when needed.

We used and released this new system at the The 6th International Summer School on Advanced Functional Programming

The latest release of the iTasks system for the The 22nd Symposium on Implementation and Application of Functional Languages is 10.8 (Aug. 2010), which can be obtained from here.


A Romanian translation of this page is available at Web Geek Science