Burlesque

{{language|Burlesque |exec=interpreted |site=http://mroman.ch/burlesque |checking=dynamic }}

'The Burlesque Programming Language' as a stack-based, dynamic typed, concatenative, lazy and esoteric programming language developed by Roman M√ľntener since 2012. It was designed to write short and compact code for simple problems. The language specification does not specify I/O support but the official interpreter pushes stdin on program start and prints remaining elements on the stack on program termination. Other than that there are no I/O capabilities. Due to it being lazy it supports stuff like infinite lists (although the Burlesque term for list is block). It does not allow random stack access directly however methods have been found to achieve that. Since Version 1.7.0 there is a hidden state feature which allows to hide elements at the bottom of the stack and load it from there. Burlesque's main advantage is its rich set of builtins and implicit loops. (There is only a while loop, but functions like map/reduce/filter obviously loop over lists implicit. Therefore, while loops are rarely used). Burlesque is turing-complete. A brainfuck interpreter:


".""X"r~"-""\/^^{vvvv}c!!!-.256.%{vvvv}c!sa\/"r~"+""\/^^{vvvv}c!!!+.
256.%{vvvv}c!sa\/"r~"[""{"r~"]""}{\/^^{vvvv}c!!!}w!"r~">""+."r~"<""
-."r~"X""\/^^{vvvv}c!!!L[+]\/+]\/+]^^3\/.+1RAp^\/+]\/[-1RA^^-]\/[-\/
"r~"\'\'1 128r@{vv0}m[0"\/.+pse!vvvv<-sh

You might also want to read the article on [[eso:Burlesque|esowiki]].

{{language programming paradigm|concatenative}}

[[Category:Esoteric Languages]]

Tasks