librelist archives

« back to archive

what's left to efene 1.0?

what's left to efene 1.0?

From:
Mariano Guerra
Date:
2012-04-23 @ 16:19
hi,

 lately I've been busy with other stuff so efene didn't got the
attention it deserved, but as you may know, everytime someone asks
something for efene it gets done in some days.

that's why I'm asking you what you would like to see in efene, I will start:

* updated documentation
* tutorial
* better error messages (for this it would be nice if you post bad
error messages and what it would make sense to say)

as you can see there is not much about the language since I think
feature wise it's quite complete for a 1.0 release.

for the 1.0 release I plan to mark some stuff as experimental to avoid
being restricted later on stuff I'm not 100% sure, this features would
be:

* all the meta stuff ($(...), $[...], [|...|])
* macro compatibility with erlang (since some corner case may appear
and may need a backward incompatible change)
* polyglot import (since it may need some tweaks)

let me know what you think.

Re: [efene] what's left to efene 1.0?

From:
Volker Mische
Date:
2012-04-23 @ 16:33
On 04/23/2012 06:19 PM, Mariano Guerra wrote:
> hi,
> 
>  lately I've been busy with other stuff so efene didn't got the
> attention it deserved, but as you may know, everytime someone asks
> something for efene it gets done in some days.
> 
> that's why I'm asking you what you would like to see in efene, I will start:
> 
> * updated documentation
> * tutorial
> * better error messages (for this it would be nice if you post bad
> error messages and what it would make sense to say)
> 
> as you can see there is not much about the language since I think
> feature wise it's quite complete for a 1.0 release.
> 
> for the 1.0 release I plan to mark some stuff as experimental to avoid
> being restricted later on stuff I'm not 100% sure, this features would
> be:
> 
> * all the meta stuff ($(...), $[...], [|...|])
> * macro compatibility with erlang (since some corner case may appear
> and may need a backward incompatible change)
> * polyglot import (since it may need some tweaks)
> 
> let me know what you think.

For me the syntax for nested functions still feels not very nice, here's
a real world example (which might be a bit extreme :)

    Funs = lists.foldl(fn((function, Line, Name, Arity, _), Acc)
        [{name: Name, arity: Arity, line: Line}:Acc]
    fn(_Else, [])
        []
    fn(Form, [H:T])
        Line = element(2, Form)
        Info = struct.extend(H, endline, Line-1)
        [Info:T]
    , [], Forms)

It's hard to follow. I would at least appreciate a change, so that you
can put the fun on the next line and indent it:

    Funs = lists.foldl(
        fn((function, Line, Name, Arity, _), Acc)
            [{name: Name, arity: Arity, line: Line}:Acc]
        fn(_Else, [])
            []
        fn(Form, [H:T])
            Line = element(2, Form)
            Info = struct.extend(H, endline, Line-1)
            [Info:T]
    , [], Forms)

Though there's hopefully a even nicer way I haven't thought of.
Especially this ", [], Forms)" is a bit weird.

Cheers,
  Volker