Yumi (2/19/04)
Usage
./yumi
or
./yumi <your name here>
ASCII character set required. Byte order independent, probably.
If your name is too long, Yumi might overflow the stack. When
running with the armsd simulator, the limit seems to be about 240
characters. In other cases, usually the shell would complain (too
long an argument) before Yumi would.
IOCLC
I propose the International Obfuscated C Layout Contest, where I
code the blob, and you guess what the original design was...
Really, it usually isn't my intent to obfuscate the layout too, but
the code looks so much like she came from a toner-deprived printer,
I can't resist ^_^; Given the program output though, it's not too
difficult to guess which anime series she came from. Then from the
entry title (if the judges didn't drop that), the character name is
obvious.
IOCCC
Nevermind the layout bits, on the obfuscated codes -- the best of
tarpit and functional programming styles! RISC and high level
programming languages are the thing of fashion these days, right?
No need for all these fancy library functions -- all you ever need
is putchar, and you only need it once.
No need to declare more variables. Why, we already have *two* of
them for main, with good variety of type sizes and pointer
indirections, even!
No need to declare constants. We don't want things that are the
same all the time, we like variable things! Plus a true programmer
knows the values of every variable down every control path, any
constant value can be produced easily.
No need for control flow keywords. Just use recursion all the
time! Ain't functional programming cool? ^_^;
And there is hardly any need to ever use "+", except for the
purpose of "++" which would be quite inconvenient otherwise (as in,
possibly making my entry exceed the size limit). As such, this
program uses one ++ and no more.
These restrictions aren't quite stringent enough to qualify as
tarpit yet, but at least Yumi weights in very slenderly at only
2.01 bits of entropy, much lower than the usual 4-5 bits in most
programs ^_^v
Output bits
Yumi outputs "gokigenyou." when run without arguments. This is
like "hello", but of course in the series "Maria-sama ga miteru",
everyone says "gokigenyou" instead.
When run with arguments, Yumi greets the person with the specified
name, e.g. "gokigenyou, sachiko-sama." (for "./yumi sachiko"). If
you fancy "hello, world" then it's "./yumi world", I guess, though
that doesn't make much sense. Recommend use is "./yumi Onee"