The Sophomores From Tbilsi

From Esolang
Jump to navigation Jump to search

The Sophomores From Tbilsi is an esolang created by User:yayimhere to do two things:

the The Sophomores From Tbilsi has only one level unlike the other esolangs mentioned. The nutjob from wellington takes inspiration from MEMORYLEEK and teleport

semantics and syntax

a The Sophomores From Tbilsi program must be a triangle. the top layer can have any length. the amount each row increases in length must be a fixed amount. right next to the triangle is 3 rows. the amount of columns on each one is the height of the triangle. each row is 1 char long and can hold one of 5 things: a number(base 61), #, a number in the index format(see below), >, or +. each of the rows must be seperated such that they dont touch each other at all. in each triangle collumn there is an expression. it is evaluated like in MEMORYLEEK. the symbols in an expression is: +-*/()≠(return 1 if the left value is not equal to right else 0)=(same as ≠ but reversed) n(a base 19 number)_(negate the following number) an expression is always done left to right. there is an infinite amount of counters which are unbounded negative floats. each counter is represented by an index (1 indexed) which has this format: j is 1 and z is 17 and the letters between become the values between. if there is a # then it will be the n'th counter where n is the j-z value plus whats in the following counter two letters next to each other are added together. so jj is 2 and zj is 18. 20 would be zm these registers start at -∞. when an expression has been evaluated on one collumn then the counters in the next row is set to that data. so if the data was [-1,-8] and the counters in the expression where j and k(in that order) then ji would be -1 and k would be -8. there is 3 different triggers which each runs the respective row (with the collumn matching the one of the just evaluated expression). if trigger 1 or 2 is ran the expression will be undone and the counters affected will be set to -1:

  • if the expression results in the counters of the next collumn being set to something higher than 0
  • if the expression results in the counters of the next collumn being set to 0 specifically
  • -∞ was used in the expression

now to what different symbols in the rows:

  • a number n in base 61: run the n'th row of the triangle
  • #: halt
  • a number n in index format: run n'th collumn of current trigger
  • +: multiply every value of the data generated by -1 and run the collumn that would've been ran
  • >: go to next trigger row on current collumn(wraps around)

a @ is always a NOP and will in a row just return to the next collumn

infinite loop

1  1 @ @
j@ @ @ @

or longer:

_1     @ @ @
j*_1   1 @ @
j@@@@@ @ @ @