A quine for the MBLF programming language
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
2.1 KiB

3 years ago
So instead of making yet another quine, which many already did before me, with greater conciseness then could be achieved in these few days,, it would be cool to spark new life into an already existing quine.
Take this one for example:
https://www.linusakesson.net/programming/brainfuck/index.php
```bf
+[-<+]-ÿ<<<<<<<[.>]
```
By the syntax, which is Brainfuck-syntax, it is obscure but clear it is encoding something.
What if it could be encoded more like the programming language [Shakespeare](https://esolangs.org/wiki/Shakespeare) or [Chef](https://esolangs.org/wiki/chef).
This would allow other humans *cough* interpreters to see it as something not out of the ordinary.
So:
- create a file that secretly compiles (almost completely) into the Brainfuck quine.
- in a language younger than two weeks to **ensure** nobody made this earlier.
- and propose features that improve both the language and help you with this ridiculous idea
- like variable-names of any size and composed of any* characters which is kinda cool for any programming langugage to have
- then realise no editor has syntax highlighting for this language
- make that first yourself for a IDE you have not touched for years, yay first atom package published to apm!!!
- realise the rabbit hole has been entered...
3 years ago
So that is what this project is: a sourcefile containing what seems some oddly but still acceptable formatted text that compiles to the quine.
# How to run
Run `build.sh` with the mblf compiler installed.
The mblf compiler needs to be installed from [source](https://github.com/MBLF-Project/mblf/releases/tag/v0.1.0), as it needs the **AllArged patch**.
## Installing mblf from source with AllArged patch
```sh
git clone https://github.com/MBLF-Project/quine-stuff.git
git clone https://github.com/MBLF-Project/mblf.git
cp quine-stuff/patches/AllArged.diff mblf/
cd mblf
git checkout tags/v0.1.0
git apply AllArged.diff
rm AllArged.diff
cargo install --path .
```
## Generate quine
```sh
cd ../quine-stuff
./build.sh
```
If all steps went correctly, you should have the file quine.bf, which was generated from the wordFactList.mblf