www.eiffel.org
Open in
urlscan Pro
104.237.157.162
Public Scan
Submitted URL: http://www.eiffel.org/
Effective URL: https://www.eiffel.org/
Submission: On October 17 via api from US — Scanned from DE
Effective URL: https://www.eiffel.org/
Submission: On October 17 via api from US — Scanned from DE
Form analysis
1 forms found in the DOMGET https://www.eiffel.org/gcse20
<form class="search-form" method="GET" action="https://www.eiffel.org/gcse20">
<input type="image" alt="Search" class="btn" src="/theme/responsive-eiffel-org/images/ico-search.png">
<input type="text" name="q" size="25" maxlength="255" value="">
</form>
Text Content
* welcome * documentation * resources * contribute * blogs * download * Sign in * Try Eiffel online io.put_string_32 ("[ Hello! ¡Hola! Bonjour! こんにちは! Здравствуйте! Γειά σου! ]") Unicode output in console feature -- Access ... invariant all_items_valid: ∀ x: items ¦ x.is_valid at_least_one_marked: ∃ x: items ¦ x.is_marked end Assertions: class invariants with symbolic notation values := << 1, 2, 4, 8 >> -- Sum of (index * values [index]). across values as i from sum := 0 loop sum := sum + i.cursor_index * i.item end Sum using across loop rating := locale.plural_translation_in_context ("$1 star", "$1 stars", "example.context", n) ... rating: READABLE_STRING_32 -- Translated message. locale: I18N_LOCALE -- Currently selected locale with translations. do ... end Internationalization class DINING_PHILOSOPHER ... feature -- Basic operations eat (left, right: separate FORK) -- Race-free access to the forks `left` and `right`. do left.use right.use end end Concurrency with SCOOP feature -- Access balance: INTEGER -- Current balance in dollars. feature -- Element change withdraw (amount: INTEGER) -- Remove `amount` dollars. require positive: amount > 0 not_too_big: amount <= balance do balance := balance - amount ensure increased: balance = old balance - amount end Bank account example run -- Execute tasks from `pool`. do from until not attached retrieved_task (pool) as task loop separate task as t do t.call end end end Running a pool of tasks class REFEREE: race_start.publish (create {DATE_TIME}.make_now_utc) class RACE_CONTROL: race_start: EVENT_TYPE [DATE_TIME] class SPRINTER: race_start.subscribe (agent run_from_now) run_from_now (t: DATE_TIME) -- Record `t` as starting time and get running. do start_time := t run end Event-based programming with agents * 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 RECENT POSTS * NEWS (Eiffel Community : blog)+(Bertrand Meyer's technology+ blog) * Oct 16 Automated Object Data Compaction Revisited Revisiting reflection mechanisms to automate the compaction of object data to an expanded numeric type * Oct 09 Python and Eiffel: A Comparison in Conciseness How Eiffel compares favourably to Python in terms of conciseness * Aug 15 Freely accessible books Recently I prepared some of my books for free access on the Web (after gaining agreement from the publishers). Here are the corresponding links. They actually point to pages that present the respective books and have further links to the actual PDF versions. Although the texts are essentially those of the books as published, I […] The post Freely accessible books appeared first on Bertrand Meyer's technology+ blog. * Jul 14 The French School of Programming July 14 (still here for 15 minutes) is not a bad opportunity to announced the publication of a new book: The French School of Programming. The book is a collection of chapters, thirteen of them, by rock stars of programming and software engineering research (plus me), preceded by a Foreword by Jim Woodcock and a […] The post The French School of Programming appeared first on Bertrand Meyer's technology+ blog. * Jun 28 First ever Udemy Eiffel course has gone live First Udemy tutorial for native Console Eiffel applications is available for $39.99. https://www.udemy.com/course/eiffel-console-programming-for-c-oo-developers. * Jun 14 EiffelStudio 24.05 is available! We are pleased to announce the availability of EiffelStudio 24.05 * Mar 16 The SPOT Architecture Applied to Class ARRAYED_LIST Why it is important to have a dedicated routine for initializing attributes * See more ... * FORUM Eiffel Users - Google Groups * Personal License (3 Platforms) * Availability of GPL version for 19.12 * Transient Attributes * A safer way to get/set parts of a compact number using contracts * installing on Ubuntu * See more ... * FACEBOOK COMMUNITY GITTER Real-time chat EiffelSoftware/EiffelStudio FORUM Thread communication groups.eiffel.com SOURCE Github repository EiffelSoftware/EiffelStudio THIS SITE IS POWERED BY EIFFEL. Built with the Eiffel ROC-CMS based on EiffelWeb. * Welcome * Purpose * News * Updates * Forum * Community * Contact * Sign in * Documentation * Eiffel * EiffelStudio * Solutions * Glossary * FAQs * Contribute * Resources * Libraries * Tools * Wish list * Videos * Follow us * Download Now Try Eiffel Online Contribute Sign in * * Facebook * You Tube * Twitter Built with the Eiffel ROC CMS and the EiffelWeb framework.