User:Koen
Jump to navigation
Jump to search
Are you telling me you can build a time machine but you can't cook a cheese soufflé? You've got your priorities all wrong.
About me
Hello! I am a coffee addict and esoteric programming language enthusiast from France. I used to be an adventurer; among other things I tried being a fireman, and a first-aid worker. But then I took an arrow to the knee.
I am a former student in pure mathematics, and still have interests in maths, logic, and computer science. I very recently became a student in Hogwarts School of Programcraft and Computerry.
Contributions
esolangs
- Ftack, a stack-based transcription of the queue-based Fueue, where the most common operation was "pop element from queue and push it back"
- Knight Shuffling Tower, a queue-based language where popping the queue results in shuffling its top element with eight other variables
- Electric BitFunk, a cellular automaton
- Kkipple, a close Kipple derivative
- Ndeql, a non-deterministic derivative of Sceql in the same vein as Knight Shuffling Tower
- Lazy Prefix, a (hopefully) collaborative work in progress, more or less stack-based, using lazy evaluation and prefix notation as its name subtly suggests
- Call Queue, an unfinished imperative programming language where function calls are evaluated in FIFO order using a queue in place of the more conventional call stack
- a couple of brainfuck derivatives... please keep them a secret from User:Phantom_Hoover
- brainfunct replaces iterative loops with function calls (I hadn't heard of pbrain at the time)
- *brainfuck doesn't have instructions
>
and<
, but treats every cell as a pointer to another cell - circlefuck treats code as data and data as code, and operates on a finite but extendable cyclic tape
implementations
- a Fueue interpreter in C and one in Ocaml
- a brainfuck interpreter in Thue... and also in a few other languages, but those everyone has done as well
- an Emmental interpreter in Ocaml: Emmental/emmental.ml
- a Carriage interpreter in Ocaml: Carriage/carriage.ml
- a Kipple interpreter in Ocaml, though it kind of contradicted every line from the specifications... which led to Kkipple
- a Super Stack! interpreter in Ocaml, as a test for an Ocaml deque module I wrote: Super Stack!/superstack.ml
- a handful other esolang interpreters in Ocaml or C
- a single-use, disposable Deadfish interpreter in Internet Relay Programming which got wasted by someone (purposefully?) using the smiley
:o
- the Truth-machine program...
- in brainfunct, Maze, Karma, L00P, Telegram, This=That, Sceql, Spin, Super Stack!, Recurl, Kkipple, pbrain, BitChanger, ><>, Minks, boolfuck, Jug, x-D, SNUSP, Emmental, Isolated, Linguine, LOCK, Glypho, Definer, Stackstack
favourite languages or paradigms
Not by me.
- Emmental: a nomic-like esolang
- Thue
- Befunge
- Stacks, Queues and Deques (Kipple, Sceql, Super Stack!)
- Nondeterminism (Entropy, /ˈæmbiːɛf/, Thue, Knight Shuffling Tower, Ndeql...)
- Programming languages not restricted to what's actually computable (CLooP, Banana Scheme, TwoDucks...)
- Concurrent programming (SpaceChem, occam-π...)
- Functional programming (Ocaml...)
future contributions
(from the Wayforth Machine.)
- an esolang based on Mario Kart (see also: MarioLANG)
8 karts would throw shells at each other to accelerate/decelerate during a race, triggering instructions as they reach certain times and coordinates - an esolang to fill the page Talk talk:Turing tarpit... it would be a Turning tarpit inspired by nomics (like Emmental? or different), be related to knocking at doors (because "talk talk" sounds like the french for "knock knock"), or to talking and whispering, and maybe something about a carpet as well (because "tarpit" sounds like the french for carpet)
- prove that Kipple would still be Turing-complete if the only symbols available were
>
,<
, and four stack identifiers... in fact let's prove that right now: we already know that 3-cell+-><[]
brainfuck is Turing-complete even when>
and<
are properly matched inside of loops, because Oerjan wrote a proof there, and that subset of Kipple can easily be reduced from this version of brainfuck, by replacing+
with eitherz>a
,z>b
orz>c
depending on which cell is the current cell,-
with eitherz<a
or the relevant one of the other two, and[loop]
with(a loop)
or one of the other two depending on to which cell the test is done - an esolang that has input and output instructions, and which computational class is different depending on whether input and output are considered to be governed by those functions or to be the initial and final state of the program
- a random number generator such that the set of its seeds can be considered a programming language
given two functionsseed : ℕ → ()
andrandom : () → {0, 1}
such that "seed(x); random(); random(); random(); ...
" results in a deterministic sequence, the numberx
could be considered a "program" and the resulting "programming language" would have a reasonably high computational class — fsvo "reasonably high" - a nomic-inspired esolang that would not be similar to Emmental
- another self-redefining language, where every symbol can only be used once, forcing the programmer to redefine many new symbols to replace the previous
- an esolang based on a deque, or on two stacks, and with apparently sufficient control flow structures, but which for some hopefully non-boring reasons would not be Turing-complete