Sunday, October 8, 2017

Fetish-themed programming language

Fetlang

Fetlang is a statically typed, procedural, esoteric programming language and reference implementation. It is designed such that source code looks like poorly written fetish erotica
Fetlang is not recommended for production use at this moment, especially in medical or military applications

Example

The following example outputs the arguments given to the executable:
Make Sean moan
Worship Carrie's feet

Bind Amy to Saint Andrew's Cross
    Have Amy hogtie Sean
    If Amy is Carrie's bitch
        Make Slave scream Sean's name
        Make Sean moan

Features

  • Input/output with standard streams and files
  • Statically typed
  • Gendered variables
  • Access previously mentioned variables using pronouns
  • Numbers represented internally as fractions instead of floating point
  • Transpiles to C
  • Case insensitive
  • Confusing English-like syntax and unhelpful error messages
  • Probably Turing complete
  • Extensible - just install your fetish in share/fetlang/fetishes

Building

Requirements:
  • meson
  • ninja
  • gcc/g++(>=4.9) or clang(>=3.5)
Optional dependencies:
  • boost algorithm(>=1.62)
  • boost filesystem(>=1.62)
  • boost system(>=1.62)
Supported systems:
  • macOS (tested with Travis CI)
  • GNU/Linux (tested with Travis CI)
  • Other modern Unix-like systems
Build Fetlang:
$ git clone https://github.com/Property404/fetlang
$ cd fetlang
$ meson --buildtype=release src build
$ cd build
$ # Build Fetlang
$ ninja
$ # Run unit tests
$ ninja test
Install Fetlang:
$ sudo ninja install
$ # Make sure it worked
$ fetlang ../examples/hello.fet && ./a.out
Hello World!

Documentation

fetlang

No comments:

Post a Comment