Your task is to create the shortest infinite loop!
The point of this challenge is to create an infinite loop producing no output, unlike its possible duplicate. The reason to this is because the code might be shorter if no output is given.
Rules
- Each submission must be a full program.
- You must create the shortest infinite loop.
- Even if your program runs out of memory eventually, it is still accepted as long as it is running the whole time from the start to when it runs out of memory. Also when it runs out of memory, it should still not print anything to STDERR.
- The program must take no input (however, reading from a file is allowed), and should not print anything to STDOUT. Output to a file is also forbidden.
- The program must not write anything to STDERR.
- Feel free to use a language (or language version) even if it's newer than this challenge. -Note that there must be an interpreter so the submission can be tested. It is allowed (and even encouraged) to write this interpreter yourself for a previously unimplemented language. :D
- Submissions are scored in bytes, in an appropriate (pre-existing) encoding, usually (but not necessarily) UTF-8. Some languages, like Folders, are a bit tricky to score - if in doubt, please ask on Meta.
- This is not about finding the language with the shortest infinite loop program. This is about finding the shortest infinite loop program in every language. Therefore, I will not accept an answer.
- If your language of choice is a trivial variant of another (potentially more popular) language which already has an answer (think BASIC or SQL dialects, Unix shells or trivial Brainf**k-derivatives like Alphuck), consider adding a note to the existing answer that the same or a very similar solution is also the shortest in the other language.
- There should be a website such as Wikipedia, Esolangs, or GitHub for the language. For example, if the language is CJam, then one could link to the site in the header like
#[CJam](http://sourceforge.net/p/cjam/wiki/Home/), X bytes. - Standard loopholes are not allowed.
(I have taken some of these rules from Martin Büttner's "Hello World" challenge)
Please feel free to post in the comments to tell me how this challenge could be improved.
Catalogue
This is a Stack Snippet which generates both an alphabetical catalogue of the used languages, and an overall leaderboard. To make sure your answer shows up, please start it with this Markdown header:
# Language name, X bytes
Obviously replacing Language name and X bytes with the proper items. If you want to link to the languages' website, use this template, as posted above:
#[Language name](http://link.to/the/language), X bytes
Now, finally, here's the snippet: (Try pressing "Full page" for a better view.)
var QUESTION_ID=59347;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk";var OVERRIDE_USER=41805;var answers=[],answers_hash,answer_ids,answer_page=1,more_answers=true,comment_page;function answersUrl(index){return"//api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(index,answers){return"//api.stackexchange.com/2.2/answers/"+answers.join(';')+"/comments?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){answers.push.apply(answers,data.items);answers_hash=[];answer_ids=[];data.items.forEach(function(a){a.comments=[];var id=+a.share_link.match(/\d+/);answer_ids.push(id);answers_hash[id]=a});if(!data.has_more)more_answers=false;comment_page=1;getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){data.items.forEach(function(c){if(c.owner.user_id===OVERRIDE_USER)answers_hash[c.post_id].comments.push(c)});if(data.has_more)getComments();else if(more_answers)getAnswers();else process()}})}getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;var OVERRIDE_REG=/^Override\s*header:\s*/i;function getAuthorName(a){return a.owner.display_name}function process(){var valid=[];answers.forEach(function(a){var body=a.body;a.comments.forEach(function(c){if(OVERRIDE_REG.test(c.body))body='<h1>'+c.body.replace(OVERRIDE_REG,'')+'</h1>'});var match=body.match(SCORE_REG);if(match)valid.push({user:getAuthorName(a),size:+match[2],language:match[1],link:a.share_link,});else console.log(body)});valid.sort(function(a,b){var aB=a.size,bB=b.size;return aB-bB});var languages={};var place=1;var lastSize=null;var lastPlace=1;valid.forEach(function(a){if(a.size!=lastSize)lastPlace=place;lastSize=a.size;++place;var answer=jQuery("#answer-template").html();answer=answer.replace("{{PLACE}}",lastPlace+".").replace("{{NAME}}",a.user).replace("{{LANGUAGE}}",a.language).replace("{{SIZE}}",a.size).replace("{{LINK}}",a.link);answer=jQuery(answer);jQuery("#answers").append(answer);var lang=a.language;lang=jQuery('<a>'+lang+'</a>').text();languages[lang]=languages[lang]||{lang:a.language,lang_raw:lang,user:a.user,size:a.size,link:a.link}});var langs=[];for(var lang in languages)if(languages.hasOwnProperty(lang))langs.push(languages[lang]);langs.sort(function(a,b){if(a.lang_raw.toLowerCase()>b.lang_raw.toLowerCase())return 1;if(a.lang_raw.toLowerCase()<b.lang_raw.toLowerCase())return-1;return 0});for(var i=0;i<langs.length;++i){var language=jQuery("#language-template").html();var lang=langs[i];language=language.replace("{{LANGUAGE}}",lang.lang).replace("{{NAME}}",lang.user).replace("{{SIZE}}",lang.size).replace("{{LINK}}",lang.link);language=jQuery(language);jQuery("#languages").append(language)}}
body{text-align:left!important}#answer-list{padding:10px;width:500px;float:left}#language-list{padding:10px;padding-right:40px;width:500px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="language-list"> <h2>Shortest Solution by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr> </thead> <tbody id="languages"> </tbody> </table> </div> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr> </thead> <tbody id="answers"> </tbody> </table> </div> <table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table>
588 Answers 588
pb, 8 bytes
In pb, the shortest possible infinite loop is 8 bytes long. In fact, there are sixty 8 byte infinite loops, none of which produce output! (Unless you're running in watch mode, which is intended for debugging, no pb programs produce output until they halt. However, even if one of these did eventually halt, no output would have been produced.) Here are the sixty shortest infinite loops, in alphabetical order:
w[B!1]{}
w[B!2]{}
w[B!3]{}
w[B!4]{}
w[B!5]{}
w[B!6]{}
w[B!7]{}
w[B!8]{}
w[B!9]{}
w[B=0]{}
w[C!1]{}
w[C!2]{}
w[C!3]{}
w[C!4]{}
w[C!5]{}
w[C!6]{}
w[C!7]{}
w[C!8]{}
w[C!9]{}
w[C=0]{}
w[P!1]{}
w[P!2]{}
w[P!3]{}
w[P!4]{}
w[P!5]{}
w[P!6]{}
w[P!7]{}
w[P!8]{}
w[P!9]{}
w[P=0]{}
w[T!1]{}
w[T!2]{}
w[T!3]{}
w[T!4]{}
w[T!5]{}
w[T!6]{}
w[T!7]{}
w[T!8]{}
w[T!9]{}
w[T=0]{}
w[X!1]{}
w[X!2]{}
w[X!3]{}
w[X!4]{}
w[X!5]{}
w[X!6]{}
w[X!7]{}
w[X!8]{}
w[X!9]{}
w[X=0]{}
w[Y!1]{}
w[Y!2]{}
w[Y!3]{}
w[Y!4]{}
w[Y!5]{}
w[Y!6]{}
w[Y!7]{}
w[Y!8]{}
w[Y!9]{}
w[Y=0]{}
These all follow a simple pattern. w is a while loop, pb's only looping or branching instruction. Inside the square brackets is the condition, which is two expressions separated by ! or =. To understand what this means, imagine an extra = just before the second expression. In the same way that you understand 2+2==4 to be true and 10!=5*2 to be false, 2+2=4 and 10!5*2 are true and false in pb. A while loop is executed until the condition becomes false. Finally, there is a pair of curly braces containing pb code. In this case, there's no code to be run, so they are empty.
The important thing here is the condition. pb has six variables, all for different purposes. They are:
B - The value of the character under the brush
C - The colour of the character under the brush (from a lookup table, the important thing being that white = 0)
P - The current colour that the brush is set to output in (same lookup table)
T - Set by the programmer, initialized to 0
X - X position of the brush
Y - Y position of the brush
The brush starts at (0, 0) on a canvas that is entirely initialized to white null bytes. This means that all of the variables start out being equal to 0.
These sixty programs fall into two categories: 10 loops that are executed until a variable (equivalent to 0) stops being zero, and 50 loops that are executed until a variable (equivalent to 0) becomes a specific non-zero number. An infinite number of programs can be written that fall into that second group, but only 50 are the same length as the 10 in the first one.
ArnoldC, 61 bytes
IT'S SHOWTIME
STICK AROUND 1
CHILL
YOU HAVE BEEN TERMINATED
Ironic how the program never actually terminates, even though the last line says "YOU HAVE BEEN TERMINATED."
Brian & Chuck, 7 bytes
#{?
#{?
The # could be replaced by any other characters except null-bytes or underscores.
The idea is fairly simple:
- Brian moves Chuck's instruction pointer to the start (
{) and hands control over to him (?). - Chuck moves Brian's instruction pointer to the start (
{) and hands control over to him (?). - Repeat.
Seed, 2 bytes
0
(note the trailing space character)
Any seed program consists out of 2 instructions, seperated by a space; The length of the Befunge program it will output and the seed which will generate that program.
Seeing how we need a Befunge program of length 0, we can create a Seed program with an empty 2nd instruction.
The Seed program 0 will output an empty Befunge program, which will run forever.
Interesting to note is that the Python compiler on the Seed esolang page is erroneous.
To create a Befunge program of length 0, any seed will do. That includes an empty seed. To stick to the spec however, the space after 0 is not omitted.
That being said, this is the world's shortest Seed program, and also the easiest to reverse engineer :-)
-
\$\begingroup\$ Likewise,
aaaiiiis the shortest for Purple BUT-i3is the shortest for UberGenes \$\endgroup\$quintopia– quintopia2015年12月31日 06:53:13 +00:00Commented Dec 31, 2015 at 6:53
Mumps, 1 byte
F
Mumps being a very old language, most of it's commands and operators can be truncated to 1 or 2 letters. The [F]or command with no parameters defaults to an infinite loop until interrupted by a {CTRL}{C}. The flavour of Mumps that I use is InterSystem Caché.
Mmmm(), 56 bytes
mm=m[m.m()].m;mm=mm(mm(m.m()));m[mm].m(mm);<m[mm].m(mm)>
No, I have no idea how it works either.
Mathematica, (削除) 10 (削除ここまで) 8 bytes
0~Do~∞
-
3\$\begingroup\$ Alternatives with the same byte count:
For[,1>0,]andWhile@True. Unfortunately#0[]&[]hits the iteration limit pretty quickly and exits with an error. \$\endgroup\$Martin Ender– Martin Ender2015年10月03日 19:15:43 +00:00Commented Oct 3, 2015 at 19:15 -
\$\begingroup\$ @MartinBüttner In fact, I was about to use your third suggestion before remembering about
$IterationLimit... \$\endgroup\$LegionMammal978– LegionMammal9782015年10月03日 20:56:28 +00:00Commented Oct 3, 2015 at 20:56 -
\$\begingroup\$ 2 bytes shorter:
0~Do~∞\$\endgroup\$shrx– shrx2016年03月09日 20:48:07 +00:00Commented Mar 9, 2016 at 20:48 -
\$\begingroup\$ @shrx Remember that
∞is 3 bytes long in UTF-8. \$\endgroup\$LegionMammal978– LegionMammal9782016年03月09日 20:49:14 +00:00Commented Mar 9, 2016 at 20:49 -
\$\begingroup\$ @shrx Now that I think about it, are you sure that it works? It gives me an error on v10.1. \$\endgroup\$LegionMammal978– LegionMammal9782016年04月02日 00:00:37 +00:00Commented Apr 2, 2016 at 0:00
Bash, (削除) 10 (削除ここまで) 2 bytes
0ドル
Runs the file specified by 0ドル (i.e. itself). Requires that the script is executable.
-
\$\begingroup\$ This is at least \5ドル\$ bytes, as the file name must be at least
.sh. \$\endgroup\$Makonede– Makonede2021年05月11日 20:44:59 +00:00Commented May 11, 2021 at 20:44 -
\$\begingroup\$ A file called
awill execute, but all the setup is at least a dozen bytes \$\endgroup\$roblogic– roblogic2024年09月09日 08:15:11 +00:00Commented Sep 9, 2024 at 8:15
Vitsy, 1 Byte
<
(削除) Since Vitsy loops around the line, a single space is an infinite loop. (削除ここまで) This functionality was removed in the latest version, but this applies as a special condition for looping around a line.
You could technically also do it like this:
[
But it throws an error after a little while:
Exception in thread "main" java.lang.StackOverflowError at com.VTC.vitsy.OperativeHandler.doOperation(OperativeHandler.java:6) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:88) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82) at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195) ... (few hundred more lines)
It's a pretty staggeringly long error.
The 'correct' way to do an infinite loop in Vitsy, however, is this:
[1]
where 1 is any number [1-f]. [ starts a while loop, 1 pushes 1 to the stack, and ] pops the top item off the stack and tests if it is 0. If it isn't, go back to the beginning of the loop.
C (tcc), x86_64, 10 bytes
main=-277;
How it works
This writes the int -277 (ebfeffff in little endian) to the memory location of main.
eb is JMP and is to be followed by a signed 8-bit address indicating where to jump to. fe is -2, so we jump back to eb and start over.
Haskell, 8 bytes
main:x=x
One byte shorter than the classic main=main.
Racket, 39 bytes
((λ(x)(x x))(λ(x)(x x)))
-
1\$\begingroup\$ Nice answer! Was this inspired by the Y combinator? \$\endgroup\$user– user2021年02月19日 19:10:24 +00:00Commented Feb 19, 2021 at 19:10
-
\$\begingroup\$ @user Yeah, it was! \$\endgroup\$MLavrentyev– MLavrentyev2021年02月19日 21:41:18 +00:00Commented Feb 19, 2021 at 21:41
-
\$\begingroup\$ Welcome to Code Golf! \$\endgroup\$Makonede– Makonede2021年04月14日 20:16:45 +00:00Commented Apr 14, 2021 at 20:16
StackLang, 1 byte
2
Explanation
2 is an opcode for infinite loop. When it reaches the bottom of the stack, it loops around.
-
1\$\begingroup\$ Welcome to Code Golf! \$\endgroup\$2021年06月28日 18:33:14 +00:00Commented Jun 28, 2021 at 18:33
Arduino, 27 bytes
void setup(){}void loop(){}
This is also the shortest Arduino code that will actually compile. I'm surprised no-one has done this yet.
DC, 6 bytes
[dx]dx
It puts the constant string [dx] on the stack, duplicates it (d command), pops and interprets string (x command).
Scala, 12 bytes
while(1>0){}
x86 Intel Assembly (NASM), 5 bytes
jmp $
-
1\$\begingroup\$ I posted a 4-byte improvement on this, which works on Linux:
ja $. I included an explanation of how it works as a complete program. \$\endgroup\$Peter Cordes– Peter Cordes2015年10月06日 21:01:05 +00:00Commented Oct 6, 2015 at 21:01
Julia, (削除) 13 (削除ここまで) 12 bytes
while 1<2end
Yawn. I tried a map and a for loop, but to no avail...
EDIT: Someone pointed out that I could shorten the program by removing parentheses. Thanks!
Alternatively, if stack-overflowing infinite recursion counts as infinite (11 bytes):
i()=i();i()
-
\$\begingroup\$ You don't need the parentheses around
1<2(in fact it's rather "un-Julian" to have them there). \$\endgroup\$Alex A.– Alex A.2015年10月02日 21:24:26 +00:00Commented Oct 2, 2015 at 21:24 -
\$\begingroup\$ Why isn't
1True, or why isn't1<21? (That is, why doesn't Juila implementboolas a "subclass" ofint, like Python does, which is endlessly useful?) \$\endgroup\$cat– cat2016年03月19日 18:38:15 +00:00Commented Mar 19, 2016 at 18:38
k, 4 bytes
~:/1
How it works
In k, / iterates the function on the left starting with the argument on the right until the result repeats. The ~: is a "not" function which turns 1 into 0 and 0 into 1 repeatedly in this code.
ZX Spectrum BASIC, 2 bytes
1 RUN
The program will never run out of memory :-)
Explanation:
- There is no space between the line number and the command, it is just a visual clue displayed when LISTing the program
- The keyword RUN is one byte, in Sinclair BASIC the keywords were really just a single characters (with codepoints>=128), that just happened to look like multi-character words when displayed. In particular, you enter the keyword by pressing one key, the one with the keyword on it, and it enters one byte.
The internal representation is a bit longer (line number is stored as two bytes), but isn't this true for almost all the languages? :-)
-
1\$\begingroup\$ The internal representation also has one byte for the end of line character and one byte for the end of program character, so 5 bytes. \$\endgroup\$Neil– Neil2015年10月03日 20:48:31 +00:00Commented Oct 3, 2015 at 20:48
Pascal, 32 bytes
program l;begin while 1=1do;end.
A full program in just one line.
program l;: Start a new Pascal programbegin: Begin a code sectionwhile 1=1do;: Do nothing (;/NOP) as long as1=1, which shorter thantrue. Identifiers (dofor instance) are not allowed to begin with a digit, so we can omit the space here and save one byte.end.: End the code section
-
1\$\begingroup\$ There needs to be a token separator between
1anddo. The ISO standard 7185 states: "There shall be at least one separator between any pair of consecutive tokens made up of identifiers, word-symbols, labels or unsigned-numbers."dois a "word-symbol" and1an "unsigned-number" so there must be a token separator. Some compilers are sloppy in that regard though. I could compile yourprogramwith the Free Pascal Compiler, however for instance the GNU Pascal Compiler – rightfully so – refused to compile it. \$\endgroup\$Kai Burghardt– Kai Burghardt2022年11月03日 23:30:50 +00:00Commented Nov 3, 2022 at 23:30
Go, 31 Bytes
package main
func main(){for{}}
Nothing special, the for loop without header runs infinitely.
Lazy K, (削除) 8 (削除ここまで) 7 bytes
SISSSII
Reduces to the lambda expression (λx.x x) (λx.x x) which has no normal form.
-
\$\begingroup\$ Tried to golf it:
SISSSII(not tested). \$\endgroup\$jimmy23013– jimmy230132015年10月04日 14:41:56 +00:00Commented Oct 4, 2015 at 14:41 -
\$\begingroup\$ That works! Really cool :) \$\endgroup\$lynn– lynn2015年10月04日 14:51:20 +00:00Commented Oct 4, 2015 at 14:51
SQL (SQL Server 2008+), 92 bytes
WITH R AS(SELECT 1N UNION ALL SELECT N*1FROM R)SELECT*FROM R WHERE N<1OPTION(MAXRECURSION 0)
I feel (削除) a little (削除ここまで) dirty putting this up, but my original thought was that this wouldn't be possible with a SQL query. With something like T-SQL or PL/SQL not a problem, as a query though? The obvious answer was a recursive query with no recursion limit set. But how to get it to run without outputting anything. My initial tests using queries like
WITH R AS(SELECT 1N UNION ALL SELECT N FROM R)SELECT*FROM R WHERE N=0OPTION(MAXRECURSION 0);
WITH R AS(SELECT 1N UNION ALL SELECT N FROM R)SELECT*FROM R WHERE N<1OPTION(MAXRECURSION 0);
showed that the optimizer would cause the query to exit immediately with no rows returned. Using N+1 allowed it to loop, but I suspect that the integer would eventually overflow. I used N*1 in the query to avoid that and trick the optimizer into letting it run without short cutting out. I've let it run for a few minutes on my machine and it didn't seem to start consuming memory, but I can't guarantee that wouldn't happen.
-
\$\begingroup\$ SQL has loop constructs too, even if it's slow to use them. Why not something like:
WHILE 1=1CONTINUE? \$\endgroup\$Bridge– Bridge2015年10月08日 10:09:25 +00:00Commented Oct 8, 2015 at 10:09 -
\$\begingroup\$ @Bridge SQL doesn't really have while loops. The database systems have procedural languages that have loop constructs. With this answer I was trying to keep to SQL rather than T-SQL or PL/SQL. \$\endgroup\$MickyT– MickyT2015年10月08日 17:53:29 +00:00Commented Oct 8, 2015 at 17:53
-
\$\begingroup\$ Hey only trying to help, I don't have enough rep here to post my own answer. Doesn't your answer contain things that aren't ANSI SQL either, e.g. SQL Server specific extensions? The truth of the matter is, dump the code I wrote into SQL Server, and you have an infinite loop in a quarter of the code :) \$\endgroup\$Bridge– Bridge2015年10月09日 07:32:22 +00:00Commented Oct 9, 2015 at 7:32
-
\$\begingroup\$ @Bridge I understand and thanks for the help. You should be able to post an answer. I think most RDMS's now support recursive CTEs and they were introduced in SQL:1999. So while the syntax may differ slightly I could do this query in postgresql with no issues. \$\endgroup\$MickyT– MickyT2015年10月09日 08:11:33 +00:00Commented Oct 9, 2015 at 8:11
-
\$\begingroup\$ It was the
OPTION(MAXRECURSION 0)bit I was unsure about :) \$\endgroup\$Bridge– Bridge2015年10月09日 08:29:47 +00:00Commented Oct 9, 2015 at 8:29
"", an empty string? \$\endgroup\$