Fünke

From Esolang
Jump to: navigation, 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