Spite

From Esolang
Jump to navigation Jump to search
This article is a stub, which means that it is not detailed enough and needs to be expanded. Please help us by adding some more information.

Spite is a language by User:Nysnamovois based on lisp cells with monadic IO.

$^fgx = $f$gx
$`fgx = $$fx$gx
$.x = x
$kxy = x
$$Kxy = x
$:fghx = if $fx then $gx else $hx
$?,xy = t
$?a = f
$;fgx = ,$fx$gx
$Mfy = return $fy
$B,xf = x >>= f
$b,xy = x >> y

Examples

Hello world:

$^`<.;k:?>^b;^P><`<;< >>^P>.,%h,%e,%l,%l,%o,% ,%w,%o,%r,%l %d

99 Bottles of Beer (almost):

$`<<.,,:=><k48:=>>k48`<>< >^b;`<>< > `<<;<`<>>< >^b;^b;`<>< >`<>>>< <>>>>`<<;<`<>>< >,^b;:=k48<MkU^P^C<^P^C>,:=>k48;^-;<k1k57;<^-;>k1,^`<.;k:?>^b;^P><`<;< >>^P>.,% ,%b,%o,%t,%t,%l,%e,%s,% ,%o,%f,% ,%b,%e,%e,%r,% ,%o,%n,% ,%t,%h,%e,% ,%w,%a,%l,%l,%,%
,57 57

I'm not willing to go much further by hand.

External resources

  • A terrible Haskell implementation is available here.