Ela Platform 2013.2

21 views
Skip to first unread message

vorov2

unread,
Apr 16, 2013, 3:26:15 AM4/16/13
to ela...@googlegroups.com
Ela Platform 2013.2 includes a new version of Ela with a refactored and improved 'do' notation (which now supports 'let' bindings in Haskell style). Also
this version of Platform comes a with a new release of standard library which contains several new additions including an IO monad.

An overview of this release is available here:

Download here:

Tikhonov Alexey

unread,
Aug 22, 2013, 11:52:43 PM8/22/13
to ela...@googlegroups.com
 Hi, Vasily!
It seems that the page http://elalang.net/docs/Article.aspx?p=embedding.htm should be slightly updated:
 
"CompilerOptions.Default" -> "CompilerOptions.Default()"
 
Also there is a reverse order of arguments in the last example:
 
"ElaIncrementalLinker(CompilerOptions.Default, new LinkerOptions())"->"ElaIncrementalLinker(new LinkerOptions(), CompilerOptions.Default());"
 
Additionally I think it would be useful to add the list of namespaces used:

using Ela;

using Ela.Compilation;

using Ela.Linking;

using Ela.Runtime;

using Ela.Runtime.ObjectModel;

 

Thanks!

Alexey

 
16.04.2013, 14:26, "vorov2" <ba...@voronkov.name>:
--
 
---
You received this message because you are subscribed to the Google Groups "elalang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elalang+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

vorov2

unread,
Aug 23, 2013, 7:34:32 AM8/23/13
to ela...@googlegroups.com, a.le...@ya.ru
Thanks Alexey! The document is corrected.

Tikhonov Alexey

unread,
Nov 14, 2013, 12:37:49 AM11/14/13
to ela...@googlegroups.com
О©╫Hi!
О©╫
I tried to rearrange the "quick sort" algorithm in such a way:
О©╫
qsort []О©╫О©╫О©╫О©╫О©╫ = []
// Using let-in form:
qsort (x::xs) = let lessThan = section (<)
О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ notLessThan = section (>=)
О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ section pred = qsort [y \\ y<-xs | y `pred` x]
О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ in lessThan ++ [x] ++ notLessThan
//Using where form:
/*qsort (x::xs) = lessThan ++ [x] ++ notLessThan where
О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ lessThanО©╫О©╫О©╫ = section (<)
О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ notLessThan = section (>=)
О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ section pred = qsort [y \\ y<-xs | y `pred` x]*/
qsort [2,1,6,1,6,8]
О©╫
О©╫
I see the message: "A conflicting definition of 'qsort'" If I toggle comments turning on the second variant, it works. Why does it happen?
О©╫
Alexey
О©╫
О©╫

ba...@voronkov.name

unread,
Nov 14, 2013, 7:33:14 AM11/14/13
to ela...@googlegroups.com

Alexey,

Actually the problem is deeper than I thought. This is clearly a bug. For now I can recommend you to use ‘where’ binding like so:

 

qsort []      = []

qsort (x::xs) = lessThan ++ [x] ++ notLessThan

                where lessThan = section (<)

                      notLessThan = section (>=)

                      section pred = qsort [y \\ y<-xs | y `pred` x]

 

It works as expected.

 

От: ela...@googlegroups.com [mailto:ela...@googlegroups.com] От имени Tikhonov Alexey
Отправлено: 14 ноября 2013 г. 9:38
Кому: ela...@googlegroups.com
Тема: Re: Embedded Ela documentation - update is needed

 

 Hi!

 

I tried to rearrange the "quick sort" algorithm in such a way:

 

qsort []      = []

// Using let-in form:
qsort (x::xs) = let lessThan = section (<)

                    notLessThan = section (>=)

                    section pred = qsort [y \\ y<-xs | y `pred` x]

                 in lessThan ++ [x] ++ notLessThan

//Using where form:

/*qsort (x::xs) = lessThan ++ [x] ++ notLessThan where

                    lessThan    = section (<)

                    notLessThan = section (>=)

                    section pred = qsort [y \\ y<-xs | y `pred` x]*/

qsort [2,1,6,1,6,8]

 

 

I see the message: "A conflicting definition of 'qsort'" If I toggle comments turning on the second variant, it works. Why does it happen?

 

Alexey

Reply all
Reply to author
Forward
0 new messages