Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Language addition request #87

Open
milovincent opened this issue Nov 7, 2017 · 5 comments
Open

Language addition request #87

milovincent opened this issue Nov 7, 2017 · 5 comments

Comments

@milovincent
Copy link

Could you possibly add Malbolge to this thing? Or is it too daunting?

Before you ask, I ain't gonna do it.

@mame
Copy link
Owner

mame commented Nov 7, 2017

Good point! Ubuntu has a package of Malbolge, so it satisfies the Criteria for language inclusion. Actually I have considered if I can include it.

However, it is very difficult. One Malbolge program can contain only 22143.375 bytes for the entropy. (The maximal length of a Malbolge program is 3^10 = 59,049 bytes and every cell can only be initialized with one of 8 characters, so it can have log(8**(3**10), 256).) The next of Malbolge is Maxima whose size is 23,075 (> 22143.375) bytes. So we need to compress the Maxima program first...

PR is welcome! 😄

@esoteric-programmer
Copy link

What about Malbolge Unshackled? In contrast to Malbolge, it has no memory limit. I guess there is no ubuntu package, but a small interpreter in Haskell (public domain).
It may be really hard to add since printing a string is highly non-trivial in Malbolge Unshackled.

@mame
Copy link
Owner

mame commented Oct 29, 2018

Oh, I've never heard of that. Therefore, it does not the Criteria for language inclusion: "It is a famous esoteric language..." "Whether it is famous or not, is determined from my point of view." 😏 Thank you anyway for letting me know.

If Hisashi Iizawa's method is still applicable to Malbolge Unshackled, I guess it is (theoretically) possible to include it. Seeing the order of the languages, Lua could be used to do the encoding.

@esoteric-programmer
Copy link

Ok, no problem. Hopefully, Malbolge Unshackled will be added to ubuntu in the future.

Hisashi Iizawa's method is applicable. I have written a few programs in Malbolge Unshackled using his method. The main issue is that unknown rotation width must be handled and, for string encoding, the exact code point of the characters must be generated. In Malbolge, it is sufficient to generate a number such that its modulus is the actual code point.
I have implemented string encoding for Malbolge Unshackled in C some time ago, but the code is ugly. However, you can find it here: https://matthias-ernst.eu/malbolgeunshackled/stringout.c
It should be possible to do the same in Lua, but the amount of Lua code would be large.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants
@mame @milovincent @esoteric-programmer and others