<commit_before># Language basics

## If/then/else

    if <expr> then <expr> [else expr]

    if <expr> then
    [else if <expr> then]
    [else]
    end

## Functions

    function <name>(<parameter>, ...)
    end

    <name>(<expr>, ...)

## Classes

    class <name> [of type <name>]
    end

## Arrays

    [<expr>, ...]

## Dictionaries

    {key: <expr>, ...}

## Loops

    for <name> in <expr> do
    end

    for <key>, <value> in <expr> do
    end

    while <expr> do
    end

    do
    while <expr>

    continue

    break



# Specific functionality

## Maps

    load map with filename <filename>

## Layers

    add map layer with [id <id> and] <filename> to index <index> => id
    add empty map layer [with id <id>] to index <index> => id

    remove layer with id <id>

    show layer with id <id>
    hide layer with id <id>

    move layer with id <id> from index <index> to <index>

## Coroutines

    start coroutine <function_name> => id

    stop coroutine with id <id>
    stop all coroutines

## Comments

    # Comment

    ###
    Multiline comment
    ###<commit_msg>Language brainstorming<commit_after># Language basics

## If/then/else

    if <expr> then <expr> [else expr]

    if <expr> then
    [else if <expr> then]
    [else]
    end

## Functions

    function <name>(<parameter>, ...)
    end

    <name>(<expr>, ...)

## Classes

    class <name> [of type <name>]
    end

## Arrays

    [<expr>, ...]

## Dictionaries

    {key: <expr>, ...}

## Loops

    for <name> in <expr> do
    end

    for <key>, <value> in <expr> do
    end

    while <expr> do
    end

    do
    while <expr>

    continue

    break

## Coroutines

    start coroutine <function_name> => id

    stop coroutine with id <id>
    stop all coroutines

## Comments

    # Comment

    ###
    Multiline comment
    ###


# Specific functionality

## Maps

    load map with [<id> and] filename <filename> => id

    show map <id>
    hide map <id>

## Layers

    add map layer with [id <id> and] <filename> to index <index> => id
    add empty map layer [with id <id>] to index <index> => id

    remove layer <id>

    show layer <id>
    hide layer <id>

    move layer <id> from index <index> to <index>

## Sprites

    load sprite with [<id> and] filename <filename> => id

    add sprite <id> [to layer <id>]
    remove sprite <id>

    show sprite <id>
    hide sprite <id>

    move sprite <id> to front
    move sprite <id> to back
{'fraction_non_alphanumeric': 0.13170731707317074, 'fraction_numerical': 0.0, 'mean_word_length': 2.1836998706338937, 'pattern_counts': {'":': 0, '<': 81, '<?xml version=': 0, '>': 89, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6287955', 'n_tokens_mistral': 884, 'n_tokens_neox': 805, 'n_words': 302}