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 2 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.

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, it is up to the programmer to come up with a way to intake information into memory and how to output memory.

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 0001 and 0002. It then checks if 0002 is 1, where it will change 0003 to 0. Afterwards, if 0003 is 0, then 0001 and 0002 gets turned into 0.