Fünke

From Esolang
Jump to navigation Jump to search

Fünke, named after Tobias Fünke of Arrested Development, is an esoteric programming language made to be almost entirely function calls. There are very few basic functions:

Print:
$(a) (Prints a)
Basic math operators:
+(a,b)
-(a,b)
etc...
If statements:
=(a,b,c,d...) (if a and b are equal, do c, d, etc...)
>(a,b,c,d...) (same as above but with less than)
<(a,b,c,d...) (same as above but with greater than)
!(a,b,c,d...) (same as above but with not equal)
Random #'s
@(a,b) (Returns a random number between a and b)

Also, # is the input

Making programs in Fünke

Programs are mainly written as definitions of functions. For instance,

loop(a) = loop(a)

would keep looping. Similarly, you can make the loop do something. An example would be

loop(a) = loop(a),@(0,a)

which would generate random numbers less than a. You can also declare things inside of functions, such as

loop(a) = loop(a),a = @(0,a)

which keeps generating smaller numbers

Example Programs

Cat Program

$(#)

This just outputs the input

Fibonacci Generator

fib(a,b) = $(a),c = +(a,b),b = a,a = c
loop(a,b) = fib(a,b),loop(a,b)
loop(1,0)

Guess the Number

loop(a,b) = =(a,b,loop(a,b),run(a))
run(a) = >(#,a,$("Too big!")),<(#,a,$("Too small!")),=(#,a,$("You win!"),b = a,new())
new() = loop(@(0,100),-1),$("New Game!")
new()

See also