Interdemento

From Esolang
Jump to navigation Jump to search

Interdemento is a language concepted by User:Jabutosama. It is a rather simple language, or it should be one.

Basics

Programs should be compiled but actually only compile on run time. Also it should support unicode and ansi, but supports 7-bit ascii only. Reason to this is unknown. One could technically use any file with .itd as extension type for the language files but only foo.idt is allowed. This is because typo and poor design of the compiler.

Interdemento should be functional language but its actually just imperative. Following statements and structures are built-in:

Command Meaning Note
let x y allocates value y on x for current context. strings are only value you can make.
if x y z returns y in case x is "true" and z if its false. even if its false, z is never returned but "0x33" instead.
same x y returns "true" in case x and y are same. otherwise "false". cannot stack same inside another one.
map x y maps a function x to all elements of y this one actually works.
[ ... ] list literal. forms a list. this randomly shows up an error for some reason.
{ ... } sub-field. when referring to it as a value, code inside is executed, and first return or yield is the result. name errors for some reason never show up from sub-fields.
return used to make current sub-field to identify a value. this works too?
yield same as yield, but block state is not changed, instead continued when recalled this wont work at all. play with return instead.