Ikiwekiwow

From Esolang
Jump to navigation Jump to search

Introduction

Ikiwekiwow is a programming language. The name comes from what it's creator describes as "the sound of the discs that those DJs make when they spin them around". The creator was disappointed that the use of Boolean in computers is only really in it's truest form in some instances of file storage. Thus, he created Ikiwekiwow to extend this towards computer operation.

Use

Operations

There are 5 operations.

Operation Note
! Creates a 1 or 0 in a cell.
+- Creates a positive-negative CONNECTION between two cells. If Location A is true, then make Location B false.
-+ Creates a negative-positive CONNECTION between two cells. If Location A is false, then make Location B true.
-- Creates a negative-negative CONNECTION between two cells. If Location A is false, then make Location B false.
++ Creates a positive-positive CONNECTION between two cells. If Location A is true, then make Location B true.

Use

Using !

!(0 or 1)(location in memory)

Using -+

(Location A)-(Location B)

Using

(Location A)--(Location B)

Input and Output

Ikiwekiwow does not have any built-in input or output structure. Therefore, input and output flow must be handled by the interpreter.

Complexity class

Ikiwekiwow is decidable in linear time by transforming programs into implication graphs; Ikiwekiwow programs denote instances of 2SAT.

Memory

Memory also varies based on Ikiwekiwow implementation. Usually, locations come in the form of a heap address system. The available memory, by default, should have every memory location set to 0.

Examples

!10001   
!10002
10002+-10003
10003--10001
10003--10002

This example stores 1 in location 10001 and 10002. It then checks if 10002 is 1, where it will change 10003 to 0. Afterwards, if 10003 is 0, then 10001 and 10002 gets turned into 0.