fn potato do sys.trace return end fn print_n_utf8_impl do start: -1 + swap print_utf8 dup start swap jump_if end fn potato2 do start: -1 + dup 65 print_utf8 10 print_utf8 start swap jump_if end fn potato3 do start: -1 + dup 66 print_utf8 10 print_utf8 start swap jump_if end # Encrypts things by doing `(v + add_key) % modulo_key` # # @param array An array of ints representing a string # @param add_key Should be lower than the add key # @param modulo_key Should ke higher than all the codepoints of the array # # array add_key modulo_key fn encrypt do 3 pluck array.size # array add_key modulo_key index loop: 1 - dup 5 pluck # array add_key modulo_key index index array array.index # array add_key modulo_key index v 4 pluck + # array add_key modulo_key index (v + add_key) 3 pluck % # array add_key modulo_key index ((v + add_key) % modulo_key) 2 pluck # array add_key modulo_key index ((v + add_key) % modulo_key) index 6 pluck # array add_key modulo_key index ((v + add_key) % modulo_key) index array array.set # array add_key modulo_key index dup 0 != loop jump_if drop drop drop drop end # Prints a string as an array of ints # # @param array An array of ints representing a string # # array fn string.dump do dup array.size 0 # array end it 91 print_utf8 32 print_utf8 loop: dup # array end it it 4 pluck # array end it it array array.index print_int 32 print_utf8 1 + # array end it 2 pluck 2 pluck > loop jump_if # array end it 93 print_utf8 drop drop drop end