User:Decora/eventful

From Esolang
Jump to navigation Jump to search


----------------------------------------------------|

 Hello-world






----------------------------------------------------|
Hello world


----------------------------------------------------|
    #
    |                      
   .<.
   # #
   | |
  .<.<.
  | | | 
  # # #
  | | | 
 .<.<.<.
 | | | |
 # # # #
 | | | |
 a b c d



----------------------------------------------------|
find lowest number


----------------------------------------------------|

   #
   |
  .+.
  | |
  # #
  | |
 .+.+.
 | | |
 # # #
 | | |
.+.+.+.
| | | | 
# # # #
| | | | 
a b c d

----------------------------------------------------|
adder


----------------------------------------------------|

 ---------
 |       |
 a-------b
     |
     !.--c

----------------------------------------------------|
loop with shutoff

eventful


2 d array of unicode characters
as much mem as computer can hold in RAM (no disk)

the initial state of the array is represented in a text file (utf8 encoded)
with ------------------------|, a bunch of blank lines, then 
another ------------------------| on the bottom,
with the number of '-' being as wide as the user wishes. you must
use a monospace font.

signals
signals are integer values that travel out along lines
like a sort of wave. maybe characters in future. 
 
# - holds number. it will add one to itself and send out 
 its old value a a signal along any connected lines. 

letters

when a key is pressed, that letter is 'fired'
this sends a signal out along any paths connected to the letter.
the signal is '1'

if the signal encounters a . it indicates there is a function
 nearby

< is a function, it means 'less than', it takes the least of all 
surrounding . inputs and sends out the least of them as a signal 
on any connected lines. if only one signal is received it does nothing. 

lines are | - / and \
lines connect objects and are how signals are transmitted

+ is a function, it means 'add'. it adds the signals together
and outputs the result on any connected lines. as with <,
if only one signa is received it does nothing. 

letters also serve as output. if a signal reaches a letter, that
letter is 'lighted up'. thus, to run the hello world program,
you must press H. this will signal the rest of the letters to
'go off'. 

! is an inverter. it will take a signal and send out the
negative of that signal. 

programming

normal programs do not work in eventful because it 
is dependent on the time that the signals go out. 
if you run the program abcd it might not produce
the same output as a human being pushing the a b c d
keys, because the human will type slower and signals
might not interact the same way along the lines.

simultaneousness

since most computer keyboards dont allow more than a few
keys to be down at once, eventful allows some 'wiggle room'
for simultaneousness. the default is 0.5 seconds. 

new functions

all functions are listed on this page. no functions exist on
'local machines'... only implementations 

all functions are one unicode character. to make a new one, pick
a new unicode character that hasnt been used and add it to this page.