Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

Eiffel

< >

Eiffel is a programming language created in 1986 by Bertrand Meyer.

#177on PLDB 38Years Old 913Repos
Download source code:
git clone https://github.com/EiffelSoftware/EiffelStudio
Homepage · Download · Source Code · Blog · Wikipedia · Twitter · Release Notes · Docs

Eiffel is an object-oriented programming language designed by Bertrand Meyer (an object-orientation proponent and author of Object-Oriented Software Construction) and Eiffel Software. Meyer conceived the language in 1985 with the goal of increasing the reliability of commercial software development; the first version becoming available in 1986. In 2005, Eiffel became an ISO-standardized language. Read more on Wikipedia...


Example from hello-world:
indexing "Hello World in Eiffel , from http://roesler-ac.de/wolfram/hello.htm#Eiffel" class HELLO creation run feature run is local io : BASIC_IO; do !!io; io.put_string("Hello World"); io.put_newline end; -- run end; -- class HELLO
note "Hello World in Eiffel" class HELLO create run feature run do print ("Hello World!%N") end end
Example from Linguist:
note description: "Git checkout command." author: "Olivier Ligot" class GIT_CHECKOUT_COMMAND inherit GIT_COMMAND create make, make_master feature {NONE} -- Initialization make (a_branch: STRING) -- Checkout the branch `a_branch'. do initialize arguments.force_last (a_branch) branch := a_branch ensure branch_set: branch = a_branch end make_master -- Checkout the master branch. do make ("master") end feature -- Access branch: STRING -- Branch to checkout name: STRING = "checkout" -- Git subcommand name end
Example from Wikipedia:
class HELLO_WORLD create make feature make do print ("Hello, world!") end end

Language features

Feature Supported Example Token
Binary Literals -- 0[bB][01]+
Integers -- [0-9]+
Floats -- ([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)
Hexadecimals -- 0[xX][a-fA-F0-9]+
Octals -- 0[cC][0-7]+
Strings "Hello world" "
Assignment :=
Case Insensitive Identifiers
Line Comments -- A comment --
Operator Overloading
Multiple Inheritance
Comments
Pointers
Semantic Indentation X
MultiLine Comments X

- Build the next great programming language · Add · Issues · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements

Built with Scroll v164.7.0