EiffelStudio 14.05 Developement release

145 views
Skip to first unread message

Emmanuel Stapf

unread,
Dec 7, 2013, 12:49:14 AM12/7/13
to eiffelst...@googlegroups.com
Hi,

We are already starting the development of the next release. 

I've been working on some runtime changes that will require a new runtime, so do not recompile your runtime code after updating the code otherwise your workbench code might not work properly. A first iteration of 14.05 should be released shortly.

Thanks,
Manu

Emmanuel Stapf

unread,
Jan 29, 2014, 2:24:13 PM1/29/14
to eiffelst...@googlegroups.com
We just updated our 14.05 development release to revision 14.05.9.4113.

For details and link to download:

Happy Eiffeling,
Manu

Emmanuel Stapf

unread,
Feb 5, 2014, 2:19:09 AM2/5/14
to eiffelst...@googlegroups.com
We just updated our 14.05 development release to revision 14.05.9.4181.

Emmanuel Stapf

unread,
Feb 27, 2014, 6:46:07 PM2/27/14
to eiffelst...@googlegroups.com
We just updated our 14.05 development release to revision 14.05.9.4490.

For details and link to download:

In addition, we are putting a Unix PorterPackage nightly which can be used to get the latest version of EiffelStudio.

Happy Eiffeling,
Manu

Emmanuel Stapf

unread,
Mar 4, 2014, 1:18:14 AM3/4/14
to eiffelst...@googlegroups.com
We just updated our 14.05 development release to revision 14.05.9.4570.

Emmanuel Stapf

unread,
Mar 31, 2014, 1:21:59 AM3/31/14
to eiffelst...@googlegroups.com
We just updated our 14.05 development release to revision 14.05.9.4743. It includes a new tool, code name "Inspector Eiffel" and can be used to check your code against predefined rules.

For details and link to download:
http://dev.eiffel.com/EiffelStudio_14.05_Releases

Happy Eiffeling,
Manu

Emmanuel Stapf

unread,
May 1, 2014, 7:18:48 PM5/1/14
to eiffelst...@googlegroups.com
We just updated our 14.05 development release to revision 14.05.9.4974. It includes a new fix facility that with just 2 clicks you can easily get rid of unused locals.

David Jenkins

unread,
May 1, 2014, 9:53:14 PM5/1/14
to eiffelst...@googlegroups.com
Cool! I'll download it right away.


--
For more messaging options, visit this group at http://forum.eiffel.com.
Information on the Eiffelstudio project: http://dev.eiffel.com.

Manav Kedia

unread,
May 12, 2014, 1:39:14 PM5/12/14
to eiffelst...@googlegroups.com
Hi,

I spent a good 3-4 hrs on trying to install EiffelStudio 14.05 in Ubuntu 13.10. But I failed. I'm both new to Ubuntu and EiffelStudio. I have EiffelStudio 13.11, which I installed by following http://www.eiffelroom.org/article/installing_eiffelstudio_on_ubuntu  I know this sounds like a silly question here, could do you have a step-by-step process to install EiffelStudio 14.05 in Ubuntu. I need to use Websockets which has dependencies on the latest ssl libraries in 14.10. 

Thanks 
Manav

Emmanuel Stapf

unread,
May 12, 2014, 1:56:28 PM5/12/14
to eiffelst...@googlegroups.com

The default Ubuntu/Debian install is valid for released version of EiffelStudio and it is using a special layout (more common to the Unix world).

 

To install the development version, you should use the more traditional approach documented at:

 

https://docs.eiffel.com/book/eiffelstudio/eiffelstudio-linux

 

So download the 14.05 development version at:

 

ftp://beta:bet...@ftp.eiffel.com/14.05

 

and follow the instructions from the documentation site. Once done you should be up and running.

 

Manu

 

--

javier hector

unread,
May 12, 2014, 1:59:52 PM5/12/14
to eiffelst...@googlegroups.com
Hi you can do something like this.

Go to the directory where you want to install Eiffel for example /home/manavk/language


tar tvjg Eiffel_14.05_gpl_94974-linux-x86-64.tar.bz2


3. Edit you .bashrc

like this

export ISE_EIFFEL=/ home/manavk/language/Eiffel_14.05
export ISE_PLATFORM=linux-x86-64
export PATH=$PATH:$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin
export PATH=$PATH:$ISE_EIFFEL/library/gobo/spec/linux-x86-64/bin 


4 And then realod the bashrc

/Javier



--

Mark Perry

unread,
May 18, 2014, 11:50:03 PM5/18/14
to eiffelst...@googlegroups.com

I wanted to play with the functional programming mechanisms being added to 14.05.  Have these been added to the beta?  Is the final release still expected this month (May 14)?


Emmanuel Stapf

unread,
May 19, 2014, 12:20:33 AM5/19/14
to eiffelst...@googlegroups.com

Hi Mark,

 

We are in the process of finalizing the release for the end of the month. The functional programming mechanisms described in some other discussions have been partially added to the compiler itself but because most users in the Eiffel community feels that having a compiler figure out the type automatically is not so great, we have instead adapted them to make the compiler smarter.

 

So in 14.05, we are adding a “Fix” facility which lets the compiler fix errors/warnings automatically upon the user requesting it. In 14.05, it will be limited to only two kinds:

- fix unused local variable

- fix missing type declarations for locals

 

In post 14.05, we will also propose fixing VEEN errors (unknown identifier) and many other errors such as fixing deferred routines without implementations, invalid feature redeclaration and many other things.

 

The current beta only has the `fix unused local variable’.

 

Regards,

Manu

 

From: eiffelst...@googlegroups.com [mailto:eiffelst...@googlegroups.com]
Sent: Sunday, May 18, 2014 20:50
To: eiffelst...@googlegroups.com
Subject: [EiffelStudio Dev] Re: EiffelStudio 14.05 Developement release

 

 

I wanted to play with the functional programming mechanisms being added to 14.05.  Have these been added to the beta?  Is the final release still expected this month (May 14)?

 

 

--

Mark Perry

unread,
May 19, 2014, 12:39:16 AM5/19/14
to eiffelst...@googlegroups.com


>We are in the process of finalizing the release for the end of the month. The functional programming mechanisms described in some other discussions have been partially added to the compiler itself but because most users in the Eiffel community feels that having a compiler figure out the type automatically is not so great, we have instead adapted them to make the compiler smarter.

I am most interested in generic features to enabled higher order functions, but am not an Eiffel user.  For example (excuse my Eiffel, it has been 10 years),

class
MAYBE[A]
feature
map: (FUNCTION1[A, B]): MAYBE[B]
do
...
end
end


I can only guess this might be addressed in this release, the info I found is on the pages:

https://docs.eiffel.com/book/papers/eiffel-expression-language
- https://dev.eiffel.com/Environment_Roadmap#EiffelStudio_14.05_.28May_2014.29

I would also look at how Eiffel represents closures, an example would be function composition as expressed in the PDF on the web page above.

There was no explicit link that this was addressed in this release, hence the assumption.

Regards,
Mark

Emmanuel Stapf

unread,
Jun 9, 2014, 5:01:55 PM6/9/14
to eiffelst...@googlegroups.com
> I am most interested in generic features to enabled higher order
> functions, but am not an Eiffel user.  For example (excuse my Eiffel, it
> has been 10 years),
>
> class
> MAYBE[A]
> feature
> map: (FUNCTION1[A, B]): MAYBE[B]
> do
> ...
> end
> end

Does it really matter that you use MAYBE? In Eiffel thanks to Void-safety in many
cases you do not need optional types. However I understand that you simply want to
create a map routine that takes an agent (aka closure) to convert instances of A
into instances of B, but without having to specify the type of A and B.

To make this possible you would have to still declare the class completely:

class
MAP [G, H]
feature
map (a_item: G; a_mapping: FUNCTION [ANY, TUPLE [G], H]): H
do
Result := a_mapping.item (a_item)
end
end


And somewhere in your code you will have:

a: A
b: B
c: MAP
b := c.map (a, agent convert_a_to_b)

The type inference mechanism described would only infer the type of `c' to be MAP
[A, B].

> I can only guess this might be addressed in this release, the info I
> found is on the pages:
>
> - https://docs.eiffel.com/book/papers/eiffel-expression-language
> https://dev.eiffel.com/Environment_Roadmap#EiffelStudio_14.05_.28May_2014
> .29
>
> I would also look at how Eiffel represents closures, an example would be
> function composition as expressed in the PDF on the web page above.

There is not much to add to the PDF example. The example is simply omitting the
actual generic parameter and rely on what I wrote above to perform the
composition.

Regards,
Manu

Mark Perry

unread,
Jun 10, 2014, 1:05:00 AM6/10/14
to eiffelst...@googlegroups.com, ma...@eiffel.com


Does it really matter that you use MAYBE? In Eiffel thanks to Void-safety in many
cases you do not need optional types. However I understand that you simply want to
create a map routine that takes an agent (aka closure) to convert instances of A
into instances of B, but without having to specify the type of A and B.

To make this possible you would have to still declare the class completely:

class
        MAP [G, H]
feature
        map (a_item: G; a_mapping: FUNCTION [ANY, TUPLE [G], H]): H
                do
                        Result := a_mapping.item (a_item)
                end
end


And somewhere in your code you will have:

a: A
b: B
c: MAP
b := c.map (a, agent convert_a_to_b) 

Manu,

Unfortunately, I won't get to try it out until at least the weekend.  The point is not knowing it is non-void, this was just a simple example.  It is knowing whether a reference is optionally void/empty and having higher order functions to deal with the object.  Functions like map, flatMap/bind, filter, sequence, traverse and the lift family (liftM2, liftM3, etc.).  See the doc for Haskell monads at http://hackage.haskell.org/package/base-4.7.0.0/docs/Control-Monad.html for examples.

Hopefully it will not need a class per function.

Regards,
Mark


 
Reply all
Reply to author
Forward
0 new messages