Recorder

From Esolang
Jump to navigation Jump to search

Recorder is a programming language i made that uses extraction

Basic Functions

Comment

#hello im a comment
#see
#its cool

Text

textisdefinedwithoutquotes
"or with quotes to stop variables to get refered"

Box

a = text
a #text

Recorder

te(xt) : ( ) = a
a #xt
an(ychars] : ( ] = b
b #ychars

Tape

te(xt) : ( ) = a #a is a box btw
a #xt, a contains the tape from recording the brackets

Functions

same a:
  return a
same "text" #"text"

Logic gates

You can define logic gates in it

true = "!false.&b."
false = "!true.&false."
get a b c:
  c : a b = o
  return o
not a:
  return get ! . a
and a b:
  return get & . a
not true #false
and true true #true

Optimizations

Chain use optimization

This is called chain use because it uses symbols as closing bracket and opening bracket to save space
Right now, normally, you only have 2n delimiter efficiency, for n items wanted separated, you need 2n symbols to separate them

example = "<hello>(yeah)[seven]" #6 symbols for 3 items

If you want less delimiters, you can make it like this and have n+1 delimiter efficiency

example = "<hello(yeah[seven}" #4 symbols for 3 items

and to select items, just do

example : < ( = item1
example : ( [ = item2
example : [ } = item3

You probably get the idea, this makes it so you can use less symbols so you can shorten code (in some cases when you have so many delimiters that you need longer than 1 char delimiters)

Insert Code Below

Write code below here to make a turing machine in Recorder (because im to lazy to)