{"id":20824862,"url":"https://github.com/hornc/ixqus","last_synced_at":"2026-04-29T05:32:00.605Z","repository":{"id":148349346,"uuid":"151671641","full_name":"hornc/ixqus","owner":"hornc","description":"ΙΧΘΥΣ is an esoteric programming language, based on Deadfish.","archived":false,"fork":false,"pushed_at":"2019-02-22T11:06:00.000Z","size":20,"stargazers_count":3,"open_issues_count":10,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-18T17:25:26.547Z","etag":null,"topics":["deadfish","esolang","esoteric-language","ixqus"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hornc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-05T04:46:12.000Z","updated_at":"2024-08-30T22:36:01.000Z","dependencies_parsed_at":"2023-05-19T20:30:28.374Z","dependency_job_id":null,"html_url":"https://github.com/hornc/ixqus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hornc%2Fixqus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hornc%2Fixqus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hornc%2Fixqus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hornc%2Fixqus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hornc","download_url":"https://codeload.github.com/hornc/ixqus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243172144,"owners_count":20247887,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deadfish","esolang","esoteric-language","ixqus"],"created_at":"2024-11-17T22:24:04.504Z","updated_at":"2025-12-26T05:18:51.612Z","avatar_url":"https://github.com/hornc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# ΙΧΘΥΣ / ἰχθῦς / ixqus\n\n* νεκροΐχθυς (deadfish)\n* ἀρχαῖος ἰχθῦς (ancient fish)\n* παλαιός ἰχθῦς (old fish)\n* γάρος (aged, fermented fish)\n* ἰχθῦς σηπτός (rotten fish)\n\n[ΙΧΘΥΣ](https://esolangs.org/wiki/%CE%99%CE%A7%CE%98%CE%A5%CE%A3) means 'fish' in Classical Greek. It is a derivative of firefly431's [Deadfish x](https://esolangs.org/wiki/Deadfish_x), and therefore a superset of Jonathan Todd Skinner's original [Deadfish](https://esolangs.org/wiki/Deadfish).\n\n### Motivation\nI wanted to experiment with creating a reduced instruction set esoteric (+joke) programming language that made use of archaic languages and alphabets (yay Unicode!). Deadfish seemed an appealing base, and Deadfish x seemed like a powerful extension by adding 'functions', even though I don't believe they are functions in a strict sense.\n\n### ΙΧΘΥΣ Commands\n\n| letter | term | action | CAPITAL | CAPITAL action |\n| --     | --   | --     | --      | --             |\n| ι | ἵστημι (raise / set up) | x+1 | Ι | Begin statement def |\n| χ | χάζω (draw back)        | x-1 | Χ | Set x to 0 |\n| θ | Θʹ (9) a square number   | x*x | Θ | End statement def (Θέτε! / Make!) |\n| υ | ὑπάγω (bring forth)     | display x | Υ | display x as Unicode character |\n| ς | σύμβολον (symbol/token) | N/A | Σ | N/A |\n\n\n### Details, and modifications from Deadfish x:\n\n* Reinstates the original Deadfish 'overflow' arithmetic behaviour (reset to 0 iff accumulator equals -1 OR 256). It is a feature, not a bug. Essential to allow values over 256 and enable the Unicode output required by ΙΧΘΥΣ.\n* Output is Unicode, not ASCII.\n* Does not refer to the definable 'functions' (The `X` command in Deadfish X, `Ι` in ΙΧΘΥΣ) as 'functions' since they take no arguments, return no results, and can only produce side-effects. In ΙΧΘΥΣ they are called 'statements', and have a number of important features, listed below.\n* Adds a dedicated symbol (sigma) for labelling new statements.\n* Statements are a collection of one or more statement symbols associated with a symbol, 'ς'.\n* There is no execute command (Deadfish x `C`) required to trigger a defined statement, ΙΧΘΥΣ simply interprets the symbol if it can find a definition.\n* Statement definitions can be nested.\n* Statements definitions can be recursive.\n* Statement symbols can be read before they are defined (or after they have been removed). There is no error on unrecognised symbols, simply a NOOP.\n* Appying subsequent satement definitions (`Ι`) to an existing symbol *appends* to the statement definition, not overwrites.\n* A statement definition is *removed* from storage if the Deadfish 'overflow' condition is triggered while reading from its definition. Only the symbol definition is removed, no action is taken with copies currently being read.\n* Built-in command definitions are *not* appendable or removable, but they can be overwritten with new statement definitions that use the original command symbol.\n\n### Architecture\n* A counting board (abacus) and pebbles to track the tally. (accumulator: *x*)\n* A large pithos (storage jar) to store inscribed ostraka (clay fragments)\n* A stack of papyrus sheets to track current symbols (primary storage)\n* A line in the sand creating two rows, (2 register stacks)\n  * one above for a list of ostraka currently being read\n  * the other below for a list of ostraka currently being written\n* A magic fish that can manifest Unicode specification characters\n\n**Other equipment:** A sharp point for inscribing ostraka, a reed pen and ink for transcribing to papyrus, a wooden stick for drawing σύμβολα in the sand, many blank potsherds, a pile of extra abacuses and stones (for `θ`), wine.\n\n**Procedure:** The slave/scribe (δοῦλος) begins with a sheet of papyrus, already containing some symbols. \n ... _TODO: expand this section_ ...\nNew statements are inscribed on ostraka, assigned a symbol (sigma) and placed in the pithos.\n\n### Examples\n\n\"Hello, World!\" (direct port from the Deadfish x version)\n```ΙΧΘΥΣ\nιιθιιιιθιιιιιιιιΥΧιιθιιιιιιθιΥιιιιιιιΥΥιιιΥΧιιιιιιιθχχχχχΥΧιιιιιιθχχχχΥΧιιιθιιθχχΥχχχχχχχχΥιιιΥχχχχχχΥχχχχχχχχΥΧιιιιιιθχχχΥ\n```\n**OUTPUT:** `Hello, world!`\n\nAlphabet (Latin), again ported, but compressed, from Deadfish x example:\n```ΙΧΘΥΣ\nΙΣιΥΘιιθιιιιθΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣ\n```\n**OUTPUT:** `ABCDEFGHIJKLMNOPQRSTUVWXYZ`\n\nWith its Unicode support, ΙΧΘΥΣ can just as easily display the Greek alphabet\n```ΙΧΘΥΣ\nXΙΣιΥΘιιιιιθιιιιιθιιιιιιιιιιιιΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣιΣΣΣΣΣΣΣ\n```\n**OUTPUT:** `ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ`\n\nAnd is not just limited to Greek, but can output from any Unicode block, for example, in Phoenician:\n```ΙΧΘΥΣ\nΧΙΣιΥΘΙσχχχχχχχχχχχχχχχχχχχχχχχχχχχχΘιιιθιιιιιιιιθσθχχσσσσσσσσσσΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣ\n```\n**OUTPUT:** `𐤀𐤁𐤂𐤃𐤄𐤅𐤆𐤇𐤈𐤉𐤊𐤋𐤌𐤍𐤎𐤏𐤐𐤑𐤒𐤓𐤔𐤕`\n\n#### Non-Latin charset \"Hello World\"s\nA more representative example for ΙΧΘΥΣ is to print 'Hello World' in Classical Greek:\n```ΙΧΘΥΣ\nΙΣΧιιιιιθιιιιιιθΘΙϛχχχχχχχΘΙσϛϛιΘΙϲιιιιιιιιΘΣσσΥϲιιΥϲΥϲΥισΥΧιιθιιθϲΥΣσσσΥϲϲϲϲϲχχχΥιιιιΥϛΥϛΥΧιιιιιθϲΥ\n```\n**OUTPUT:** `Χαιρε,Κοσμε!`\n\n#### Deadfish interpreter in ΙΧΘΥΣ\nSince ΙΧΘΥΣ is a superset of Deadfish, it is relatively trivial to create a compliant Deadfish interpreter, e.g. for standard \"idso\" version:\n```ΙΧΘΥΣ\nΙiιΘΙdχΘΙsθΘΙoυΘΧ\n```\n\n### File Extension\nThe official file extension for ΙΧΘΥΣ code is `.ἰχ`, U+1F30 U+03C7, not to be confused with the letters `ix`.\n\n### The SYNTAX ERROR\nThere is only one form of syntax error in ΙΧΘΥΣ.\nAny line terminated with a sigma / σύμβολον character that is not a final-form sigma will result in a **SYNTAX ERROR**.\nOn encountering  such a **SYNTAX ERROR**, it may be challenged by an argument referencing at least one *published* academic article from the\nfields of classical studies, epigraphy, philology, or even less plausibly, computer science etc.\n\nThis does not mean lines _have_ to end in a sigma, simply that if they do, they must be of an appropriate final form.\n\n**valid**\n```ΙΧΘΥΣ\n\u003e\u003e ΙΣιιιυΘΣ\n3\n```\n\n```ΙΧΘΥΣ\n\u003e\u003e ΙςιιιυΘς\n3\n```\n\n**invalid**\n```ΙΧΘΥΣ\n\u003e\u003e ΙσιιιυΘσ\n?SYNTAX ERROR\n```\n\n### The Non-Aristotelian Syllogism\n\n* All Unicode code points can be represented by ΙΧΘΥΣ, except Ā, Latin Capital Letter A With Macron (U+0100).\n* Ā, 'Null-A', refers to non-Aristotelian logic. [¹](https://en.wikipedia.org/wiki/The_World_of_Null-A#Non-Aristotelian%20logic)\n* Therefore, ΙΧΘΥΣ cannot represent non-Aristotelian logic.\n\n### Localisation\n\n### Computational Class\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhornc%2Fixqus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhornc%2Fixqus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhornc%2Fixqus/lists"}