Euphoria (programming language)

Euphoria is an interpreted programming language that was developed by Robert Craig of Rapid Deployment software. The first version of Euphoria was released in 1993 for the Atari ST, the latest version 4.0.5 ( Release 25 January 2013) are available for Windows, Linux, FreeBSD, and MS -DOS. Since version 3.0.0 Euphoria is released under an open source license.

The objective in the development of Euphoria was to develop a very easy to learn, but powerful command language, which should keep up the speed of compiled languages. This goal has now been achieved. The manufacturer also offers a tool that can translate to C and then compile Euphoria code. Euphoria comes with a simple database.

The website also Contributed by many users collection of more than 1600 programs is the source code for a variety of application areas.

Example

Here is a code example from the manual:

Sequence list, sorted_list   function merge_sort (sequence x)       integer n, mid       merged sequence, a, b       n = length (x )       if n = 0 or n = 1 then           return x - trivial case       end if       mid = floor ( n / 2)       a = merge_sort ( x [ 1 mid. ] ) - sorts the first half of x       b = merge_sort (x [mid 1 .. n]) - sorts the second half of x       merged = {}       while length ( a) > 0 and length ( b ) > 0 do           if compare ( a, b) < 0 then               merged = append (merged, a)               a = a [ 2. length (a)]           else               merged = append (merged, b )               b = b [ 2. length (b)]           end if       end while       return merged & a & b   end function   procedure print_sorted_list ()       list = {9, 10, 3, 1, 4, 5, 8, 7, 6, 2}       sorted_list = merge_sort (list)      ? sorted_list   end procedure   print_sorted_list () The program then outputs

{1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } from.

Central data type of Euphoria are called sequences ( sequences). Here is an example:

{2, 3, 5, 7, 11, 13, 17, 19} {1, 2, { 3, 3, 3}, 4, { 5, 6} { }} { { "jon ", " smith "}, 52389, 97.25 } { } { x 6, 9, y * w 2, sin ( 0.5) } Sequences can be arbitrarily nested into each other. Thus, for example, trees can be very easy pose.

319502
de