Why is the language named Burlesque?
Tough question. Like "Brainfuck" I wanted to name the language a little bit offensive but not
as offensive as using the word "fuck" in it so I decided it to name Burlesque.
Also it seems that lots of people don't know the word Burlesque. That's not good, that's just not good.
Why did you create Burlesque?
Well, I like golfing, I like esolangs, J looks awesome -> Burlesque.
What makes Burlesque 'Burlesque'?
Burlesque's main advantage is it's rich builtins. Analyse the problem, choose which builtins you can use,
chain those builtins together and you're done. Burlesque's lazyness is also a very nice feature.
10 11 12 50 33 22 31 32 33
Need to add columns together? SPtp{++}]mwD is all it takes!
Who uses Burlesque?
Hard to tell. I don't know. There are a few people golfing in Burlesque on anarchy golf.
Some people, like me, use it for short little programs. See "Real World Burlesque" on the main page if you want to know more.
Why is Burlesque lazy?
That's actually a side-effect. Burlesque is implemented in Haskell which means it automatically inherits
this feature from Haskell. I however intentionally kept this side-effect.
Undefined behaviour?
Undefined behaviour is behaviour that was never defined. I give you an example:
Converting the String "123a" to an Integer is NOT defined. Therefore an Interpreter
is allowed to do what he wants. He could return 0, he could crash or he could shoot
your dog. I prefer the crashing ;).
The interpreter crashed!
First check that it is not a case of undefined behaviour. Else file a bug report on github.
I found a bug!
File a bug report on github.
Could you implement feature X?
File a bug report on github. Although
I only implement features not breaking existing code. (Except code that relies on undefined behaviour. Such
code can break and I don't care.)
I can't compile the interpreter!
Check that you have a recent ghc and the haskell platform. Also you need to install some hackage packages.
You need the following extra packages: haskeline, web-encodings.
License?
Burlesque is available under the BSD3 license.
Is this language cheat?
What? Why would you think that? Of course not! It's real.
How can I help you?
Check open issues on github and send me patches. Or add features and
send me patches. Although there is no guarantee that I will use your patches.
I don't get how this language works :(
Yes, it's not Java.
I wrote a very cool program in Burlesque
Maybe you care to share?
I'm a teacher at some school and want to teach my students something about programming. Is Burlesque a good choice for that?
Seriously? Sure, why the hell not.
Is Burlesque turing complete? Can you prove that?
It is turing complete. There is an indirect proof by showing that Underload programs can be translated to Burlesque using the following translation table:
: → ^^ ( → { ) → } ^ → e! ! → vv * → .+ a → {}\/[+ ~ → \/ S → ? - Burlesque has no I/O.
How can I do I/O?
You can't. Burlesque is designed to be a language without I/O capabilities.
The interpreter pushes stdin as a string to the stack at program start and prints out
every element on the stack at program termination in the order they can be taken away from the stack. The language itself
however does not know the concept of I/O.
How can I define my own functions/commands?
You can't. Burlesque doesn't work the way you think!
Why is the Interpreter written in Haskell? Wtf is Haskell anyway. Never heard of it.
Haskell is a great choice. Also I think of it as a little Haskell experiment ;)
Does it support OOP?
No. Seriously, no! No way! Never! I'm pretty sure some people will come up with ideas on how to
simulate OOP but that's just wrong. Simulating OOP in a language not suited for OOP is like
riding a bike with turtles instead of wheels.
But my professor said OOP is like god (also Java is the only usable language)...?
Aaargh :(!
Do you even know what you're talking about?
Maybe. Do you?
I just got beaten by Burlesque in a golfing competition...
Good, good... very good...