Eiffel

blog Formal Generics in ROUTINE, PROCEDURE, FUNCTION and PREDICATE

There are 4 deferred classes defined in ELKS to represent agents

  ROUTINE  [BASE_TYPE, OPEN_ARGS->TUPLE]
  PROCEDURE[BASE_TYPE, OPEN_ARGS->TUPLE]   
  FUNCTION [BASE_TYPE, OPEN_ARGS->TUPLE, RESULT_TYPE]
  PREDICATE[BASE_TYPE, OPEN_ARGS->TUPLE]   


The OPEN_ARGS is tuple to represent the tuple of arguments which need to be provided at call time.

blog Ephemeral classes

manus_eiffel's picture

I've recently been toying with the idea of ephemeral classes. An ephemeral class is a class which does not have attributes. The immediate benefits of such classes is that their features can be used for objectless calls, the same way we can access constants or external features.

blog ...and people are still using java? (Answers)

manus_eiffel's picture

Here are the answers for the quiz of last week:

  1. b=2
  2. b=2
  3. b=2 and an exception
  4. b=4 and no exception
  5. returns 2
  6. returns 1 and b=2

The difficult ones where definitely the last 3.

blog ...and people are still using java?

manus_eiffel's picture

Last week I was at the LASER 2009 summer school on Software Testing. It was pretty interesting and one brief talk captured my attention. The speaker, Martin Nordio, asked the audience if they knew Eiffel and only a few hands were raised. So he asked if they knew Java instead. Everyone raised his hand.

blog Conversion between REAL_64 and REAL_32

manus_eiffel's picture

Recently one of our customer found a loss of precision in their floating point arithmetic computations involving REAL_32 and REAL_64. This loss can be seen in the code below:

make
	local
		x: REAL_32
		y: REAL_64
		z: REAL_64
	do:= 0
		y := 1.123456789012345:= x + y
	end
where at the end the value of z was not equal to the value of y.

blog Eiffel and iPhone/iPod Touch (2)

manus_eiffel's picture

Here it is: my first graphical iPhone/iPod Touch application entirely written in Eiffel using EiffelStudio:

Nothing really fancy but it shows that it is doable. At the moment, you can test your Eiffel applications using either the iPhone Simulator or the actual device.

blog Eiffel and iPhone/iPod Touch

manus_eiffel's picture

I was lucky to get my hands on an iPod Touch. The first thing I did was to install SSH, gcc, subversion, vim, gdb et voila! Checked out the source of the Eiffel Software runtime. Tonight, I'll compile the runtime and run our regression test suite on it to make sure everything works properly.

When this is done, I'll look at how to use Eiffel for iPhone/iPod Touch development.

blog New Eiffel library to build XMPP tool

Jocelyn Fiat's picture

New Eiffel library for XMPP (aka Jabber, Google Talk, ...)

This was initially built as an example for EiffelNet and made it available as it is for now.

I might try to complete it later, and add other examples/tools. Feel free to use/comment/contribute, the project is currently hosted on Origo.ethz.ch.

blog High Hopes for GTK+ on OSX

paulbates's picture

Mac fanatics out there might have heard that there is native implementation of GTK running on MacOSX. There's been a bit of backlash against the port because it doesn't provide a native MacOSX look and feel, but we are assured that they are working on it.

blog In case you did not know, C++ s....

manus_eiffel's picture

Last week, I was wrapping some C++ code for a customer and I was surprised that my code did not work properly. I'm not a C++ programmer and thus this error might have been a typical gotcha but still this was a very surprising behavior.

The code in question was:

void my_routine (CppClass my_obj, int buffer_count, char * buffer) {
	const char * l_cstr = my_obj->getName().c_str();

Syndicate content