<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://dokuwiki.grogra.de/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://dokuwiki.grogra.de/feed.php">
        <title>GroIMP wiki - 01_user_documentation:07_rgg_xl:02_xl:09_java_addition</title>
        <description></description>
        <link>https://dokuwiki.grogra.de/</link>
        <image rdf:resource="https://dokuwiki.grogra.de/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-05-16T07:27:53+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:01_for&amp;rev=1755678751&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:implicit_conversion&amp;rev=1755678751&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:modifier&amp;rev=1755678742&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:operator&amp;rev=1755678742&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:overload_operator&amp;rev=1774630014&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:xl_expression_list&amp;rev=1757078473&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:xl_lambda&amp;rev=1765542476&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://dokuwiki.grogra.de/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>GroIMP wiki</title>
        <link>https://dokuwiki.grogra.de/</link>
        <url>https://dokuwiki.grogra.de/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:01_for&amp;rev=1755678751&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T08:32:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>For statement</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:01_for&amp;rev=1755678751&amp;do=diff</link>
        <description>For statement

The for statement is enhanced in XL. It can take two additional type of arguments: generators and DisposableIterators.

Generators

When the argument of the for statement is a generator expression, the iteration is over every yielded value of the expression. Using this type of iteration, we may write:</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:implicit_conversion&amp;rev=1755678751&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T08:32:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Implicit conversions</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:implicit_conversion&amp;rev=1755678751&amp;do=diff</link>
        <description>Implicit conversions

It is possible to convert object and primitive into other objects implicitly. By default, the only implicit conversions enabled are the boxing and unboxing of primitive (e.g. from Integer to int) and RGG files also automatically include the Float to Double implicit conversion.</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:modifier&amp;rev=1755678742&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T08:32:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modifiers</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:modifier&amp;rev=1755678742&amp;do=diff</link>
        <description>Modifiers

The XL language include additional modifiers which can be used when declaring variables. 



Const

In the Java programming language, constants can be defined by field declarations with both modifiers static and final. As a simplification, the new modifier</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:operator&amp;rev=1755678742&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T08:32:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Operators</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:operator&amp;rev=1755678742&amp;do=diff</link>
        <description>Operators

The XL programming language defines several new operators, including arrow operators whose main purpose is to be used within production statements and which have no built-in meaning, i. e., they always refer to operator methods. The new operators</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:overload_operator&amp;rev=1774630014&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-27T16:46:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Overload operator</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:overload_operator&amp;rev=1774630014&amp;do=diff</link>
        <description>Overload operator

Operators can be overloaded in XL by declaring the method operator$NAME_OF_OPERATOR(var , var ){}.
The list of operators in groimp is available at: xl specification.




module A(float len) extends Sphere(0.1)
{
	public static boolean operator$com (A a) {
		return true;
	}

//	public static A operator$add (A a, int b) {
	public static A operator+ (A a, int b) {

		a.len += b;
		return a;
	}

       public void operator++(){
          ++this.len;
       }
}

public void run ()
…</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:xl_expression_list&amp;rev=1757078473&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-05T13:21:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Expression list</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:xl_expression_list&amp;rev=1757078473&amp;do=diff</link>
        <description>Expression list

In RGG, for Java as well as XL blocks it is possible to combine several expressions in one expression, using brackets and separating them by comma. The expressions will then be executed in order from left to right, and the last one on the right defines the return value of the surrounding expression list.</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:xl_lambda&amp;rev=1765542476&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-12T12:27:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>XL Lambda function</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition:xl_lambda&amp;rev=1765542476&amp;do=diff</link>
        <description>XL Lambda function

Since the java version used in GroIMP does not yet support the java lambda functions, GroIMP comes with a set of own lambda functions.
A Lambda function or anonymous function is a function that is not connected to an identifier and can be handled like a variable.</description>
    </item>
</rdf:RDF>
