Chaincode

From Esolang
Jump to navigation Jump to search
Chaincode
Paradigm(s) procedural, imperative
Designed by User:RomanGraef
Appeared in 2017
Computational class Unknown
Reference implementation Interpreter by Roman Gräf
File extension(s) .chc

Chaincode is a esoteric language by User:RomanGraef.

Style

At startup the current value is read from STDIN. A second value is initialised to 0. Each line is a function:

,#<-call the line below
a#<-Adds the input to the current input.

and the first line is the main. At the end of each line the current value is automatically returned. The return of main is printed.

Commands

Command Exlanation
+ cur++;
- cur--;
a cur+=input();
s cur-=input();
d cur*=2;
h cur/=2;
i cur=input();
* cur*=input();
/ cur/=input();
\ cur=input() / cur;
^ cur*=10;
v cur/=10;
c cur=ceil(cur);
_ cur=floor(cur);
p cur=Math.pow(cur,2);
q cur=Math.sqrt(cur);
, cur=line_below(cur);
! cur=factorial(cur);
= cur=(cur==input())?(1.0):(0.0);
l cur=log_2(cur);
L cur=log_10(cur);
n cur=log_E(cur);
| temp=cur;
cur=switch;
switch=temp;
> switch=cur;
< cur=switch;
(...) Comment
# line comment

Interpreter

Java Interpreter by Roman Gräf

Examples

Add two numbers

a

Square root

q