CTFE and DI: The Crossroads of D

Nick Sabalausky SeeWebsiteToContactMe at semitwist.com
Thu May 10 14:43:51 PDT 2012


From: "deadalnix" <deadalnix at gmail.com>
> Le 10/05/2012 22:52, H. S. Teoh a écrit :
>> On Thu, May 10, 2012 at 03:39:47PM -0400, Nick Sabalausky wrote:
>> [...]
>>>> The only thing that can come close to being uncrackable is something
>>>> that's so hard to use that most people wouldn't bother with it.
>>>> Which gave me a funny thought: one way of writing code that nobody
>>>> can steal is to write it in MALBOLGE
>>>> (http://www.lscheffer.com/malbolge.shtml).
>>>
>>> Geez that's insane! And I thought brainfuck was nuts.
>> [...]
>>
>> Welcome to the weird and wonderful world of esolangs. :-) BF was just
>> the beginning of the madness.

I love some of the brainfuck variants, in particular fuckfuck (
http://esolangs.org/wiki/Fuckfuck  sample code:
https://bitbucket.org/Abscissa/duckfuck/src/ba63ca55332a/hello.ff ) and
whitespace ( http://compsoc.dur.ac.uk/whitespace/ Ok, maybe not exactly a bf
equivalent, but similar)


>> INTERCAL is an amusing esolang in which
>> you have to insert adequate amounts of the PLEASE command, otherwise you
>> risk instant program termination. Then there's Java2K, which is a
>> probabilistic language, in the sense that all operations only have a 90%
>> chance of actually returning the correct result [...]
>>
>> There's also Befunge and its spawn, in which the program counter is a
>> vector rather than a counter, and program code is written on an
>> n-dimensional grid. The neat thing about Befunge is that there's no
>> special syntax for comments: you just write comments in-place and route
>> your PC around the comment text. :-) [...]
>>

Heh, cool :)

>> In fact, I myself wrote a Befunge-like esolang once (when I was really,
>> really, REALLY bored). My esolang is even weirder than Befunge in that
>> it doesn't even have a program counter. Instead, the code consists of
>> symbols written in a 4-dimensional array, and every iteration, every
>> element of the array is "executed". Some symbols are passive (they don't
>> do anything when "executed") and other symbols are active: they erase
>> themselves from the current location and write themselves into a
>> neighbouring location in the array. Based on the symbol in the target
>> array cell, different things happen.
>>

That's really cool.

>> [...]MALBOLGE, OTOH, is so insanely twisted that no amount of 
>> rationalization
>> will ever give you a working model of mapping desired semantics to code.
>>

Yup

>
> Almost perfect. One of my favorite is french : goto++ 
> http://www.gotopp.org/
>

Heh, for me, dealing with french code/docs would add to the challege. I know
only a handful of words that aren't food-related ;)

> Everything is made of goto. INTERCAL have the funiest comment system ever 
> : all incorrect statements are comments.

Sounds like ActionScript 2.

Yes. Seriously. It just ignores any statement that would normally be a
runtime error (and IIRC, there's not much in the way of semantic errors
either). It's a goddamn *accidental* isolang.

Come to think of it, "accidental isolang" also describes PHP. (And I'm not
trying to be tongue-in-cheek, I genuinely mean that.)




More information about the Digitalmars-d mailing list