Eiffel

The file sites/all/modules/cumulus/cumulus.js is missing. Please download it from http://pratul.in/files/cumulus.js, and add it to the Cumulus module folder!

blog Automorphism

dlebansais's picture

Introduction

Practitioners of Eiffel are used to polymorphism, the separation between the view some piece of code may have over an object, and the actual implementation of that object.

blog Another Eiffelwish: A cluster concept with restricted visibility (to avoid name clashes).

The Eiffel language in its current definition has no concept of namespaces. However in large programs using many libraries name clashes (i.e. two classes having the same name) become more and more probable.

Different Eiffel compilers have resolved the name clashes with different strategies. This is not satisfactory because it is not portable.

blog My three Eiffelwishes, part 1: enums

dlebansais's picture

For people that routinely switch between programming languages like me, it's temping to try to get the best of all and mix language features.

blog Iterating over an interval: the new across loop

dlebansais's picture

Introduction

Version 6.6 of EiffelStudio introduced a new construct to iterate through homogenous structures: the across loop.

blog Pitfalls with self-replicating objects

dlebansais's picture

When designing a class, it's a good thing to consider reusability. The subject of this entry is to examine objects of a class that are able to replicate, and the consequences this has on making the class reusable.

Object replication means creating a new object from within the code. It doesn't have to be a copy, it just means here that a new object of the same class is created.

blog catcall -- a solution

Eiffel in its current form is not completely type safe. Type errors (called catcalls in Eiffel speak) are possible. The compiler cannot detect these type errors. They usually trigger an exception at runtime.

These type errors are possible due to covariant redefinition of arguments and polymorphy. Both principles are very powerful in OO programming.

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.

Syndicate content