Siterip

From Esolang
Jump to navigation Jump to search
Siterip
Paradigm(s) Imperative
Designed by Hakerh400
Appeared in 2020
Computational class Category:Turing complete
Major implementations Interpreter
File extension(s) .txt

Siterip is a brainfuck derivate which creates a list of all valid brainfuck programs and executes a specific program from the list.

Overview

Source code consists only of a single non-negative integer (arbitrary large). We call it N.

Then we create a list of brainfuck programs in the following way:

  • Start with the empty list
  • Put the empty program
  • Put all valid programs of length 1 that halt after 1 tick
  • Put all valid programs of length 1 that halt after 2 ticks, then all programs of length 2 that halt after 1 tick
  • Put all valid programs of length 1 that halt after 3 ticks, then all programs of length 2 that halt after 2 ticks, then all programs of length 3 that halt after 1 tick.
  • Put all valid programs of length 1 that halt after 4 ticks, and so on...
  • etc...

By "valid" we mean syntactically valid.

By "tick" we mean execution of exactly one instruction (one character). Instructions [ and ] also count. ] always unconditionally jumps to the matching [. See the list below for details.

By "program of certain length" we only consider programs that contain only characters <>+-,.[].

By "halting after a certain number of ticks" we always consider only the empty input.

If two programs have the same length and halt at the same time, then sort them by the leftmost character that differs and use this order: <>+-,.[]. It means, for example, that << will appear before <>.

After constructing the list (up to some point), select the Nth program from the list and execute it with the actual input. The result of the whole computation is the output of that brainfuck program.

The list

Here we show the first few entries in the list in case the above specification on how the list is constructed is unclear. Longer list can be found here.

List
0
1 <
2 >
3 +
4 -
5 ,
6 .
7 []
8 <<
9 <>
10 <+
11 <-
12 <,
13 <.
14 ><
15 >>
16 >+
17 >-
18 >,
19 >.
20 +<
21 +>
22 ++
23 +-
24 +,
25 +.
26 -<
27 ->
28 -+
29 --
30 -,
31 -.
32 ,<
33 ,>
34 ,+
35 ,-
36 ,,
37 ,.
38 .<
39 .>
40 .+
41 .-
42 .,
43 ..
44 [<]
45 [>]
46 [+]
47 [-]
48 [,]
49 [.]
50 <[]
51 >[]
52 ,[]
53 .[]
54 []<
55 []>
56 []+
57 []-
58 [],
59 [].
60 [<<]
61 [<>]
62 [<+]
63 [<-]
64 [<,]
65 [<.]
66 [><]
67 [>>]
68 [>+]
69 [>-]
70 [>,]
71 [>.]
72 [+<]
73 [+>]
74 [++]
75 [+-]
76 [+,]
77 [+.]
78 [-<]
79 [->]
80 [-+]
81 [--]
82 [-,]
83 [-.]
84 [,<]
85 [,>]
86 [,+]
87 [,-]
88 [,,]
89 [,.]
90 [.<]
91 [.>]
92 [.+]
93 [.-]
94 [.,]
95 [..]
96 [[]]
97 <<<
98 <<>
99 <<+
100 <<-
101 <<,
102 <<.
103 <><
104 <>>
105 <>+
106 <>-
107 <>,
108 <>.
109 <+<
110 <+>
111 <++
112 <+-
113 <+,
114 <+.
115 <-<
116 <->
117 <-+
118 <--
119 <-,
120 <-.
121 <,<
122 <,>
123 <,+
124 <,-
125 <,,
126 <,.
127 <.<
128 <.>
129 <.+
130 <.-
131 <.,
132 <..
133 ><<
134 ><>
135 ><+
136 ><-
137 ><,
138 ><.
139 >><
140 >>>
141 >>+
142 >>-
143 >>,
144 >>.
145 >+<
146 >+>
147 >++
148 >+-
149 >+,
150 >+.
151 >-<
152 >->
153 >-+
154 >--
155 >-,
156 >-.
157 >,<
158 >,>
159 >,+
160 >,-
161 >,,
162 >,.
163 >.<
164 >.>
165 >.+
166 >.-
167 >.,
168 >..
169 +<<
170 +<>
171 +<+
172 +<-
173 +<,
174 +<.
175 +><
176 +>>
177 +>+
178 +>-
179 +>,
180 +>.
181 ++<
182 ++>
183 +++
184 ++-
185 ++,
186 ++.
187 +-<
188 +->
189 +-+
190 +--
191 +-,
192 +-.
193 +,<
194 +,>
195 +,+
196 +,-
197 +,,
198 +,.
199 +.<
200 +.>
201 +.+
202 +.-
203 +.,
204 +..
205 -<<
206 -<>
207 -<+
208 -<-
209 -<,
210 -<.
211 -><
212 ->>
213 ->+
214 ->-
215 ->,
216 ->.
217 -+<
218 -+>
219 -++
220 -+-
221 -+,
222 -+.
223 --<
224 -->
225 --+
226 ---
227 --,
228 --.
229 -,<
230 -,>
231 -,+
232 -,-
233 -,,
234 -,.
235 -.<
236 -.>
237 -.+
238 -.-
239 -.,
240 -..
241 ,<<
242 ,<>
243 ,<+
244 ,<-
245 ,<,
246 ,<.
247 ,><
248 ,>>
249 ,>+
250 ,>-
251 ,>,
252 ,>.
253 ,+<
254 ,+>
255 ,++
256 ,+-
257 ,+,
258 ,+.
259 ,-<
260 ,->
261 ,-+
262 ,--
263 ,-,
264 ,-.
265 ,,<
266 ,,>
267 ,,+
268 ,,-
269 ,,,
270 ,,.
271 ,.<
272 ,.>
273 ,.+
274 ,.-
275 ,.,
276 ,..
277 .<<
278 .<>
279 .<+
280 .<-
281 .<,
282 .<.
283 .><
284 .>>
285 .>+
286 .>-
287 .>,
288 .>.
289 .+<
290 .+>
291 .++
292 .+-
293 .+,
294 .+.
295 .-<
296 .->
297 .-+
298 .--
299 .-,
300 .-.
301 .,<
302 .,>
303 .,+
304 .,-
305 .,,
306 .,.
307 ..<
308 ..>
309 ..+
310 ..-
311 ..,
312 ...
313 <[<]
314 <[>]
315 <[+]
316 <[-]
317 <[,]
318 <[.]
319 >[<]
320 >[>]
321 >[+]
322 >[-]
323 >[,]
324 >[.]
325 ,[<]
326 ,[>]
327 ,[+]
328 ,[-]
329 ,[,]
330 ,[.]
331 .[<]
332 .[>]
333 .[+]
334 .[-]
335 .[,]
336 .[.]
337 [<]<
338 [<]>
339 [<]+
340 [<]-
341 [<],
342 [<].
343 [>]<
344 [>]>
345 [>]+
346 [>]-
347 [>],
348 [>].
349 [+]<
350 [+]>
351 [+]+
352 [+]-
353 [+],
354 [+].
355 [-]<
356 [-]>
357 [-]+
358 [-]-
359 [-],
360 [-].
361 [,]<
362 [,]>
363 [,]+
364 [,]-
365 [,],
366 [,].
367 [.]<
368 [.]>
369 [.]+
370 [.]-
371 [.],
372 [.].
373 [][]
374 [<<<]
375 [<<>]
376 [<<+]
377 [<<-]
378 [<<,]
379 [<<.]
380 [<><]
381 [<>>]
382 [<>+]
383 [<>-]
384 [<>,]
385 [<>.]
386 [<+<]
387 [<+>]
388 [<++]
389 [<+-]
390 [<+,]
391 [<+.]
392 [<-<]
393 [<->]
394 [<-+]
395 [<--]
396 [<-,]
397 [<-.]
398 [<,<]
399 [<,>]
400 [<,+]
401 [<,-]
402 [<,,]
403 [<,.]
404 [<.<]
405 [<.>]
406 [<.+]
407 [<.-]
408 [<.,]
409 [<..]
410 [<[]]
411 [><<]
412 [><>]
413 [><+]
414 [><-]
415 [><,]
416 [><.]
417 [>><]
418 [>>>]
419 [>>+]
420 [>>-]
421 [>>,]
422 [>>.]
423 [>+<]
424 [>+>]
425 [>++]
426 [>+-]
427 [>+,]
428 [>+.]
429 [>-<]
430 [>->]
431 [>-+]
432 [>--]
433 [>-,]
434 [>-.]
435 [>,<]
436 [>,>]
437 [>,+]
438 [>,-]
439 [>,,]
440 [>,.]
441 [>.<]
442 [>.>]
443 [>.+]
444 [>.-]
445 [>.,]
446 [>..]
447 [>[]]
448 [+<<]
449 [+<>]
450 [+<+]
451 [+<-]
452 [+<,]
453 [+<.]
454 [+><]
455 [+>>]
456 [+>+]
457 [+>-]
458 [+>,]
459 [+>.]
460 [++<]
461 [++>]
462 [+++]
463 [++-]
464 [++,]
465 [++.]
466 [+-<]
467 [+->]
468 [+-+]
469 [+--]
470 [+-,]
471 [+-.]
472 [+,<]
473 [+,>]
474 [+,+]
475 [+,-]
476 [+,,]
477 [+,.]
478 [+.<]
479 [+.>]
480 [+.+]
481 [+.-]
482 [+.,]
483 [+..]
484 [+[]]
485 [-<<]
486 [-<>]
487 [-<+]
488 [-<-]
489 [-<,]
490 [-<.]
491 [-><]
492 [->>]
493 [->+]
494 [->-]
495 [->,]
496 [->.]
497 [-+<]
498 [-+>]
499 [-++]
500 [-+-]
501 [-+,]
502 [-+.]
503 [--<]
504 [-->]
505 [--+]
506 [---]
507 [--,]
508 [--.]
509 [-,<]
510 [-,>]
511 [-,+]
512 [-,-]
513 [-,,]
514 [-,.]
515 [-.<]
516 [-.>]
517 [-.+]
518 [-.-]
519 [-.,]
520 [-..]
521 [-[]]
522 [,<<]
523 [,<>]
524 [,<+]
525 [,<-]
526 [,<,]
527 [,<.]
528 [,><]
529 [,>>]
530 [,>+]
531 [,>-]
532 [,>,]
533 [,>.]
534 [,+<]
535 [,+>]
536 [,++]
537 [,+-]
538 [,+,]
539 [,+.]
540 [,-<]
541 [,->]
542 [,-+]
543 [,--]
544 [,-,]
545 [,-.]
546 [,,<]
547 [,,>]
548 [,,+]
549 [,,-]
550 [,,,]
551 [,,.]
552 [,.<]
553 [,.>]
554 [,.+]
555 [,.-]
556 [,.,]
557 [,..]
558 [,[]]
559 [.<<]
560 [.<>]
561 [.<+]
562 [.<-]
563 [.<,]
564 [.<.]
565 [.><]
566 [.>>]
567 [.>+]
568 [.>-]
569 [.>,]
570 [.>.]
571 [.+<]
572 [.+>]
573 [.++]
574 [.+-]
575 [.+,]
576 [.+.]
577 [.-<]
578 [.->]
579 [.-+]
580 [.--]
581 [.-,]
582 [.-.]
583 [.,<]
584 [.,>]
585 [.,+]
586 [.,-]
587 [.,,]
588 [.,.]
589 [..<]
590 [..>]
591 [..+]
592 [..-]
593 [..,]
594 [...]
595 [.[]]
596 [[<]]
597 [[>]]
598 [[+]]
599 [[-]]
600 [[,]]
601 [[.]]
602 [[]<]
603 [[]>]
604 [[]+]
605 [[]-]
606 [[],]
607 [[].]
608 <<[]
609 <>[]
610 <,[]
611 <.[]
612 <[]<
613 <[]>
614 <[]+
615 <[]-
616 <[],
617 <[].
618 ><[]
619 >>[]
620 >,[]
621 >.[]
622 >[]<
623 >[]>
624 >[]+
625 >[]-
626 >[],
627 >[].
628 +<[]
629 +>[]
630 +-[]
631 +,[]
632 -<[]
633 ->[]
634 -+[]
635 -,[]
636 ,<[]
637 ,>[]
638 ,,[]
639 ,.[]
640 ,[]<
641 ,[]>
642 ,[]+
643 ,[]-
644 ,[],
645 ,[].
646 .<[]
647 .>[]
648 .,[]
649 ..[]
650 .[]<
651 .[]>
652 .[]+
653 .[]-
654 .[],
655 .[].
656 []<<
657 []<>
658 []<+
659 []<-
660 []<,
661 []<.
662 []><
663 []>>
664 []>+
665 []>-
666 []>,
667 []>.
668 []+<
669 []+>
670 []++
671 []+-
672 []+,
673 []+.
674 []-<
675 []->
676 []-+
677 []--
678 []-,
679 []-.
680 [],<
681 [],>
682 [],+
683 [],-
684 [],,
685 [],.
686 [].<
687 [].>
688 [].+
689 [].-
690 [].,
691 []..
692 <[<<]
693 <[<>]
694 <[<+]
695 <[<-]
696 <[<,]
697 <[<.]
698 <[><]
699 <[>>]
700 <[>+]
701 <[>-]
702 <[>,]
703 <[>.]
704 <[+<]
705 <[+>]
706 <[++]
707 <[+-]
708 <[+,]
709 <[+.]
710 <[-<]
711 <[->]
712 <[-+]
713 <[--]
714 <[-,]
715 <[-.]
716 <[,<]
717 <[,>]
718 <[,+]
719 <[,-]
720 <[,,]
721 <[,.]
722 <[.<]
723 <[.>]
724 <[.+]
725 <[.-]
726 <[.,]
727 <[..]
728 <[[]]
729 >[<<]
730 >[<>]
731 >[<+]
732 >[<-]
733 >[<,]
734 >[<.]
735 >[><]
736 >[>>]
737 >[>+]
738 >[>-]
739 >[>,]
740 >[>.]
741 >[+<]
742 >[+>]
743 >[++]
744 >[+-]
745 >[+,]
746 >[+.]
747 >[-<]
748 >[->]
749 >[-+]
750 >[--]
751 >[-,]
752 >[-.]
753 >[,<]
754 >[,>]
755 >[,+]
756 >[,-]
757 >[,,]
758 >[,.]
759 >[.<]
760 >[.>]
761 >[.+]
762 >[.-]
763 >[.,]
764 >[..]
765 >[[]]
766 ,[<<]
767 ,[<>]
768 ,[<+]
769 ,[<-]
770 ,[<,]
771 ,[<.]
772 ,[><]
773 ,[>>]
774 ,[>+]
775 ,[>-]
776 ,[>,]
777 ,[>.]
778 ,[+<]
779 ,[+>]
780 ,[++]
781 ,[+-]
782 ,[+,]
783 ,[+.]
784 ,[-<]
785 ,[->]
786 ,[-+]
787 ,[--]
788 ,[-,]
789 ,[-.]
790 ,[,<]
791 ,[,>]
792 ,[,+]
793 ,[,-]
794 ,[,,]
795 ,[,.]
796 ,[.<]
797 ,[.>]
798 ,[.+]
799 ,[.-]
800 ,[.,]
801 ,[..]
802 ,[[]]
803 .[<<]
804 .[<>]
805 .[<+]
806 .[<-]
807 .[<,]
808 .[<.]
809 .[><]
810 .[>>]
811 .[>+]
812 .[>-]
813 .[>,]
814 .[>.]
815 .[+<]
816 .[+>]
817 .[++]
818 .[+-]
819 .[+,]
820 .[+.]
821 .[-<]
822 .[->]
823 .[-+]
824 .[--]
825 .[-,]
826 .[-.]
827 .[,<]
828 .[,>]
829 .[,+]
830 .[,-]
831 .[,,]
832 .[,.]
833 .[.<]
834 .[.>]
835 .[.+]
836 .[.-]
837 .[.,]
838 .[..]
839 .[[]]
840 [<<]<
841 [<<]>
842 [<<]+
843 [<<]-
844 [<<],
845 [<<].
846 [<>]<
847 [<>]>
848 [<>]+
849 [<>]-
850 [<>],
851 [<>].
852 [<+]<
853 [<+]>
854 [<+]+
855 [<+]-
856 [<+],
857 [<+].
858 [<-]<
859 [<-]>
860 [<-]+
861 [<-]-
862 [<-],
863 [<-].
864 [<,]<
865 [<,]>
866 [<,]+
867 [<,]-
868 [<,],
869 [<,].
870 [<.]<
871 [<.]>
872 [<.]+
873 [<.]-
874 [<.],
875 [<.].
876 [<][]
877 [><]<
878 [><]>
879 [><]+
880 [><]-
881 [><],
882 [><].
883 [>>]<
884 [>>]>
885 [>>]+
886 [>>]-
887 [>>],
888 [>>].
889 [>+]<
890 [>+]>
891 [>+]+
892 [>+]-
893 [>+],
894 [>+].
895 [>-]<
896 [>-]>
897 [>-]+
898 [>-]-
899 [>-],
900 [>-].
901 [>,]<
902 [>,]>
903 [>,]+
904 [>,]-
905 [>,],
906 [>,].
907 [>.]<
908 [>.]>
909 [>.]+
910 [>.]-
911 [>.],
912 [>.].
913 [>][]
914 [+<]<
915 [+<]>
916 [+<]+
917 [+<]-
918 [+<],
919 [+<].
920 [+>]<
921 [+>]>
922 [+>]+
923 [+>]-
924 [+>],
925 [+>].
926 [++]<
927 [++]>
928 [++]+
929 [++]-
930 [++],
931 [++].
932 [+-]<
933 [+-]>
934 [+-]+
935 [+-]-
936 [+-],
937 [+-].
938 [+,]<
939 [+,]>
940 [+,]+
941 [+,]-
942 [+,],
943 [+,].
944 [+.]<
945 [+.]>
946 [+.]+
947 [+.]-
948 [+.],
949 [+.].
950 [+][]
951 [-<]<
952 [-<]>
953 [-<]+
954 [-<]-
955 [-<],
956 [-<].
957 [->]<
958 [->]>
959 [->]+
960 [->]-
961 [->],
962 [->].
963 [-+]<
964 [-+]>
965 [-+]+
966 [-+]-
967 [-+],
968 [-+].
969 [--]<
970 [--]>
971 [--]+
972 [--]-
973 [--],
974 [--].
975 [-,]<
976 [-,]>
977 [-,]+
978 [-,]-
979 [-,],
980 [-,].
981 [-.]<
982 [-.]>
983 [-.]+
984 [-.]-
985 [-.],
986 [-.].
987 [-][]
988 [,<]<
989 [,<]>
990 [,<]+
991 [,<]-
992 [,<],
993 [,<].
994 [,>]<
995 [,>]>
996 [,>]+
997 [,>]-
998 [,>],
999 [,>].
1000 [,+]<

Examples

Cat

800

Remove first character

795

Interpreters

Interpreter