7

How to open a portal to Hell using Standard ML: a literate program

Submitted by no_defun_allowed in church_of_alonzo_church (edited )

(* How to open a portal to Hell using Standard ML
   ----------------------------------------------
   A simple program, utilising SMLofNJ.Cont to open
   a gateway to the underworlds in a very succinct and
   easy-to-understand manner. This program should be run
   with <https://www.youtube.com/watch?v=OfNwIvO6YpU> playing,
   but it should still work if you do not play that video.
   
   Please ignore any demons attempting to communicate to
   you through this literate program. *)

open SMLofNJ.Cont

(* Step 1: Confuse the type checker guard so it cannot stop
           you from ruining the purity of its process *)
datatype 'a cont = Circle of ('a cont Cont.cont)

(* Step 2: Gather the necessary functions to activate the portal *)
fun uncircle (Circle x) = x
(* Without the Circle wrapper, the type checker would fail with an error 
   like:


      yͦo͒͒ͨ͗̓͛́u̅҉ ́̓͌f̋̈͋õͨ̐ͮ͂ơ͛͊ͪͣ̂̓l̅̉́̂ͨ̏̈́,̨̿̍ͭ̍̾ͬ ͬͩ͆ͧ̔ͩw̏ͪͧͬ̀ȟ̋̈́ͣy ̶̇̒ͮ͑ͥd̡̏́ͨ͛̐̾o͐̑̎ ͭ͟y͛̿̋̽̋̾̐̀o͐̓́ų̋ͩ͐ͨͨ ͫ̽͆ͣ͑̚͞d҉a̸̎ͮͯͬr͊̉̌͜ë̄ͫ̆t̸̃ͯͮ̄h̵̑̄̈́ͤ̾ ̔ẗ́o̔̇ ̢ͭͩo̷ͧͥ͆̀̌̉̚p̨͒ͯ̒e̷ͭ̄̈nͨ͆ͬ͛ͥ̒̈͟ ̎͌͊̊̍̓tͧhͮͭ͗͛̂̚e ͨͦ̈́ͧ̀ͤp͆̉҉o̊͑r̐ͥ̊ͬ̑tͣ̐̉̋ͥȃ̢ͣ̋̋l̈́̆̍ [circularity]
        operator domain: 'Z Cont.cont -> 'Z
        operand:         'Z Cont.cont -> 'Z Cont.cont
  It is less effort to add the Circle wrapper over our continuation
  rather than take it off later.
*)
fun here () = uncircle (Cont.callcc Circle)

(* Step 3: Activate the portal.

.
.
Ą̧̡͈̥̗̞͖̦̤̄͋̅͂͞͠n̢̫͇̱̻̹̐̾͐̊͒̌͘͡͡ď̴̥͕͚̟̲̜̳̺̮͉̽̐̏͐̉͝ o̸̢̥̞̳̟̝͙͉̤̅̊̄̀̂̕ͅn̛̘͕̩̖̖͓̮̺̒̎̌̑͂̾̕͟ͅc̢̲̲̮͈͔̈̾͊͡͠e̸̢̡̱̱̱̘͂́̇͛̎̐̚ ą̵͉̜̘̼̘̘̀̂͂̒̂ğ̷͎̯͓̻̱̎̆̎͘͞͡a̛͓̙͔̱͍̗͎̯͒͒̓̏̕i̙͇̣̻̤͈͔̊͌̂̈́̂͛̽̉͞n̶̤̤͈͓̤̰̠̰̍̌̔͘͝͞͞͠ͅ,̡̧̱͇̮͎̙̑͂͛̈͑͗͜ ý̸̢͖̺̭̼̝͈̣͈̑̽̓͑́̇́̄͟͡o̸̡̹̙͖̟̹͙̠̎̓͗̇͡ṷ̡̨̹̗̺̒̆̐̎̂̒͗̚̚͠ c̵̜̝̜̹̠̣̑͆̒̔͝a̷̮̣͓̗͍̐̿̽̍͊̀̾̉͠͞ń̵̢̮̦̫̩̂̄͑̍̉̽́ ĥ̶̭̥̪͇̩͇͕͍̑͌̋̋́͊́͝͞ę̡̖͍͖̦̺̺̙̿̊̀͐̅̍͟ą̴̧̼̺̰̤͓̀͂̑͂̓r̛̪̯̙̟͇͊͑̏́͌̇̓͝͞ h̥̩̹̫̦͒́̎̄̽̊͂̒̈e̷̡̛̪̣̭̣̻̺͓̣̜͛̉̽̿̒l̴͓͚̘͓̭̣̤̟͓̿̍̀̐̌̎̾͛͊l̦͉̣̫̹͎͉̱̼̔̑̈́̇̐̐̃͗͛͠'̨̦̻̬̫̦͊̿̊̃̉͠s̸̢̛̱̬̗̼̱̣̣̋̄͂͋͆̇̆̓̚͜ h̠͔̪̪̙̽̎͂̀͐̒̂̕͘ȩ̴̘̲͇̲̗̠̠́̾̇́̓̉͘͜͟͞͝͡ą̲̗̼̥̬͉̬͊̑̌̒͘͠t͍͓̠͖̞̎̓̋̔̕͟͝͞͠ͅ
.


*)

let val loop = here () in 
  (print "ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn";
   (Cont.throw loop (Circle loop))) 
end

Comments

You must log in or register to comment.

4

mm_ wrote

ha thank you for this meditation professor church