¡Tu tarea es crear el bucle infinito más corto!
El objetivo de este desafío es crear un bucle infinito que no produzca salida, a diferencia de su posible duplicado. La razón de esto es porque el código puede ser más corto si no se da salida.
Reglas
- Cada presentación debe ser un programa completo.
- Debes crear el bucle infinito más corto.
- Incluso si su programa finalmente se queda sin memoria, aún se acepta siempre que se ejecute todo el tiempo desde el inicio hasta que se quede sin memoria. Además, cuando se queda sin memoria, aún no debe imprimir nada en STDERR.
- El programa no debe ingresar nada (sin embargo, la lectura de un archivo está permitida) y no debe imprimir nada en STDOUT. La salida a un archivo también está prohibida.
- El programa no debe escribir nada en STDERR.
- Siéntase libre de usar un idioma (o versión de idioma) incluso si es más nuevo que este desafío. -Nota que debe haber un intérprete para que se pueda probar la presentación. Está permitido (e incluso alentado) escribir este intérprete usted mismo para un lenguaje previamente no implementado. :RE
- Las presentaciones se puntúan en bytes, en una codificación apropiada (preexistente), generalmente (pero no necesariamente) UTF-8. Algunos idiomas, como las carpetas, son un poco difíciles de puntuar; si tiene dudas, pregunte por Meta.
- No se trata de encontrar el idioma con el programa de bucle infinito más corto. Se trata de encontrar el programa de bucle infinito más corto en cada idioma. Por lo tanto, no aceptaré una respuesta.
- Si su idioma de elección es una variante trivial de otro lenguaje (potencialmente más popular) que ya tiene una respuesta (piense en dialectos BASIC o SQL, shells Unix o derivados triviales de Brainf ** k como Alphuck), considere agregar una nota a los existentes responda que la misma solución o una muy similar también es la más corta en el otro idioma.
- Debe haber un sitio web como Wikipedia, Esolangs o GitHub para el idioma. Por ejemplo, si el idioma es CJam, entonces uno podría vincular al sitio en el encabezado como
#[CJam](http://sourceforge.net/p/cjam/wiki/Home/), X bytes
. - Las lagunas estándar no están permitidas.
(He tomado algunas de estas reglas del desafío "Hello World" de Martin Büttner)
No dude en publicar en los comentarios para decirme cómo se puede mejorar este desafío.
Catálogo
Este es un fragmento de pila que genera un catálogo alfabético de los idiomas utilizados y una tabla de clasificación general. Para asegurarse de que su respuesta aparezca, comience con este encabezado Markdown:
# Language name, X bytes
Obviamente reemplazando Language name
y X bytes
con los elementos adecuados. Si desea vincular al sitio web de los idiomas, use esta plantilla, como se publicó anteriormente:
#[Language name](http://link.to/the/language), X bytes
Ahora, finalmente, aquí está el fragmento: (intente presionar "Página completa" para una mejor vista).
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>
""
una cadena vacía?Respuestas:
Befunge , 0 bytes
Sip. Existe un programa Befunge en un campo de juego bidimensional con un tamaño fijo que envuelve los bordes. Sin nada en ese espacio para interferir, el contador del programa se ejecuta en un bucle infinito por defecto :)
fuente
<pre> </pre>
para un bloque de código de aspecto vacío.L00P , 0 bytes
Esta lang fue hecha para bucle, y eso es exactamente lo que hará ...
fuente
Código de máquina C64 , 2 bytes
Se bifurca a sí mismo si no se establece el indicador cero.
Las ramas son desplazamientos de un solo byte de la siguiente ubicación de instrucción, y 254 es -2 en el complemento de dos ... la instrucción BNE (D0) toma un byte de memoria, y el desplazamiento toma un segundo byte, por lo que bifurcar dos bytes hacia atrás. a sí mismo. El indicador cero siempre se borra cuando el código se carga en la memoria.
Tenga en cuenta que esta no es una llamada de subrutina recursiva, por lo que nunca se quedará sin memoria. También tenga en cuenta que no hay encabezado, compilador o sobrecarga ejecutable ... es realmente un programa de dos bytes :)
fuente
BNE -2
debug
. Esto efectivamente bloquearía la máquina, y la mayoría del personal del taller carecía de nous para saber que no era solo un disco muerto.Brainfuck, 3 bytes
Nunca decremente: nunca termine.
fuente
-[]
]
trabajaría/// , 3 bytes
¿Algún punto extra por usar el nombre del idioma como código fuente?
fuente
///
;)esolangs.org
wiki
_
_
_
_
/wiki////
. Si bien eso pretende ser una ruta, el servidor puede hacer con esa información lo que quiera.Java , 53 bytes
Yay requisito de programa completo!
fuente
main
:(Prólogo, 5 bytes
Para saber si el predicado
a
es verdadero, solo necesita verificar si el predicadoa
es verdadero.Debe cargar el archivo y ejecutarlo
a
, ambos con argumentos de línea de comandos. Tenga en cuenta que es probable que la recursividad se optimice como un bucle infinito y no debería volar la pila.Además, esto parece un smiley, pero no estoy seguro de cómo llamarlo. El punto se parece a la saliva, por lo que tal vez "estado vegetativo" o "programador con cabello rizado". Las sugerencias son bienvenidas.
fuente
a
es verdadero comprobando sia
es verdadero comprobando sia
es verdadero comprobando ... yay recursion!Haskell , 9 bytes
Recurrencia infinita de la función principal. Debe compilarse en un bucle debido a la optimización de recursión de cola.
fuente
<<loop>>
excepción, al menos conghc
. Quizás algún otro compilador se comporta de manera diferente.runhaskell Loop.hs
felizmente lo ejecuté durante varios minutos en mi máquina. Entonces, al menos puede ser ejecutado por un intérprete. Creo que la<<loop>>
excepción de tiempo de ejecución queghc
arroja es puramente un detalle de implementación del tiempo de ejecución y no forma parte del lenguaje Haskell como se especifica en cualquiera de los informes de Haskell.runhaskell
acepta felizmente el código pero no se repite. No hace nada Sin embargo, el desafío solo requiere crear el bucle, no ejecutarlo, así que supongo que está bien. Tener un +1.main = main
están semánticamente en el mismo depósito queundefined
oerror "<<loop>>"
: valores inferiores ⟂.main=main>>main
Python, 9 bytes
Funciona tanto en 2 como en 3.
Acortado por @FryAmTheEggman
fuente
x86 ELF ejecutable, 45 bytes
A diferencia de la gran mayoría de estas respuestas, este es un programa verdaderamente completo, como en un programa ejecutable independiente.
Las entrañas del programa están en el byte 0x20
ebfe
, que aparece en otra respuesta como el programa NASM más pequeño. Sin embargo, si ensamblas eso con NASM, obtienes un ejecutable con miles de bytes innecesarios. Podemos deshacernos de la mayoría de ellos utilizando la técnica descrita aquí . ¡Puede notar que este programa ni siquiera es tan grande como el encabezado ELF! Este bit de golf ejecutable malforma el encabezado ELF y el encabezado del programa para que puedan ocupar los mismos bytes en el archivo e inserta nuestro programa en algunos bytes no utilizados dentro del encabezado. Linux aún leerá felizmente el encabezado y comenzará la ejecución en el desplazamiento0x20
donde gira para siempre.fuente
.com
en DOS sería mucho más corto :)yasm && ld
hace ejecutables solo alrededor de 1k.INTERCAL,
4218 bytesIdea tomada del comentario de @ flawr.
EDITAR: Mierda, INTERCAL es en realidad más corto que C #. No sé si eso ha sucedido antes ...
Versión de 42 bytes
fuente
comefrom
PLEASE
?Perl , 6 bytes
De
perldoc -f redo
:No veo con
redo
demasiada frecuencia en el código de producción, ¡pero es genial para el golf! Comparar lo anterior a los equivalentes más cortos confor
,while
ygoto
:fuente
do$0
, que no funciona como unaperl -e
sola línea.do EXPR
lee de un archivo.> <> , 1 byte
Un solo espacio hará que> <> entre en un bucle infinito de NOP
Otros programas válidos de un solo carácter (sin requisitos de memoria) son los siguientes:
Además, las reglas establecen que su programa puede quedarse sin memoria, en cuyo caso podemos agregar los siguientes caracteres a la lista de programas válidos de 1 byte:
fuente
` `
con el bloque de código.>
?Motorola MC14500B Código máquina ,
0.50 bytesExplicación
Según el manual, el sistema está configurado para tener una estructura de control de bucle. El contador del programa cuenta hasta su valor más alto, vuelve a cero y vuelve a contar.
fuente
LOLCODE , 24 bytes
fuente
HAI
yKTHXBYE
son innecesarias.C, 15 bytes
Sí, es posible llamar
main()
recursivamente. Si tiene un compilador que optimiza las llamadas de cola (por ejemplo, gcc con la-O2
opción), ni siquiera tiene una configuración predeterminada: el compilador es lo suficientemente inteligente como para convertir la llamada a la función en ungoto
.fuente
-O2
opción.-O2
optimización sea "agradable de tener" en lugar de un requisito.l(){l();}
y compilarlo con las opciones-Dl=main -O2
main(){for(;;);}
.Laberinto , 1 byte
Un programa labrinth ejecuta la misma instrucción una y otra vez si no hay vecinos. Tampoco terminarán hasta que ejecuten la
@
instrucción.fuente
Vim , 7 pulsaciones de teclas
Abra el editor, preferiblemente sin ningún script cargado, por ejemplo, así desde la línea de comandos:
vim -u NONE
Vimscript
158 bytesAgréguelo en un script o ejecútelo directamente
:
presionando la tecla de dos puntos ( ) primero mientras está en modo normalfuente
wh1|endw
qq
comienza a grabar en elq
búfer.@q
reproduce lo que hay en elq
búfer (en este punto, nada).q
deja de grabar y luego@q
reproduce lo que está en elq
búfer, que en este punto son las pulsaciones de teclas@q
. Así@q
repeticiones@q
repeticiones@q
.... También, escribiendo esto, muchosq
's hace que me duela el cerebro.Retina , 3 bytes
Si se le da un solo archivo, Retina usa una etapa Count, reemplazando la entrada con el número de coincidencias encontradas para la expresión regular dada. Aquí, la expresión regular es
0
. Ahora+
recorre el escenario mientras el resultado cambia con respecto a la iteración anterior. Entonces, ¿qué está pasando exactamente?0
se compara con la entrada vacía, dando cero coincidencias, por lo que el resultado es0
. Esto es diferente de la entrada, por lo que ejecutamos esto nuevamente.0
se compara con la salida anterior0
, que ahora da una coincidencia ... por lo que el resultado es1
.0
se compara con la salida anterior1
, que falla ... por lo que el resultado es0
.El resultado de la iteración del bucle alterna entre
0
y1
, que a) asegura que el bucle nunca termine yb) asegura que no se nos acaba la memoria porque la cadena no crece.De forma predeterminada, Retina solo sale una vez que el programa finaliza, por lo que esto no imprime nada (puede cambiar este comportamiento agregando un
>
después del+
, que luego imprimirá los ceros y unos alternos ).A partir de 1.0, Retina en realidad también tiene bucles while más tradicionales, que podría usar con una etapa más simple (que no cambia la cadena todo el tiempo), pero en realidad requieren más bytes. Una opción sería:
fuente
+`
coincidir la entrada vacía repetidamente?2
unas pocas iteraciones.BÁSICO (QBasic 4.5),
1053 bytesEn el lenguaje de programación BÁSICO, RUN se usa para iniciar la ejecución del programa desde el modo directo, o para iniciar un programa superpuesto desde un programa cargador. - Wikipedia
Editar: Esto funciona sin un número de línea en QBasic 4.5, según @steenbergh
Aquí está la primera versión que publiqué. Infinito GOTO loop. Además, son 10 bytes, ¡lo cual es una buena coincidencia!
fuente
1 GOTO SIGNUM PI
- dado que las entradas constantes se almacenan en la memoria dos veces, como cortos, por lo que 1 sería de 4 bytes, pero SIGNUM y PI usan solo un byte cada uno. Ah, los viejos trucos de codificación que solíamos usar: D No estoy seguro de cuánto ocupan los números de línea de memoria, si es que hay alguno, así que todo lo que puedo decir es que son más de 3 bytes (almacenamiento de número de línea).Arquitectura de tipo de nodo TIS T21, 6 bytes
Los nodos del sistema de inteligencia teselado se clasifican como nodos de "procesamiento" o "almacenamiento". Los nodos de almacenamiento simplemente almacenan y recuperan información, y son irrelevantes en este caso. Quedan los nodos de procesamiento. El tipo de nodo T21, o nodo de ejecución básica, es el más común y simple (como su nombre lo sugiere).
Técnicamente, cada nodo puede considerarse como una computadora independiente. En el caso del T21, es una computadora que tiene dos registros de almacenamiento (uno direccionable, uno no) y un conjunto de instrucciones de 15 comandos. Tiene suficiente memoria para ser programada con hasta 15 instrucciones. Todos los nodos TIS tienen cuatro puertos que los conectan a los nodos topológicamente adyacentes. La lectura desde un puerto hace que ese nodo se cuelgue hasta que el nodo del otro extremo escriba en él y la escritura en un puerto se cuelgue hasta que ese nodo lo lea.
Es posible que pueda saber ahora que los nodos TIS nunca tuvieron la intención de hacer mucho por sí solos. Sin embargo, juntos pueden ser bastante poderosos ... bueno, para su tiempo. Debido a estas limitaciones, es muy raro ver a alguien usar solo un nodo. De hecho, un programa que toma entrada y proporciona salida en base a él debe usar al menos tres nodos, ya que los sistemas TIS alimentan la entrada al
UP
puerto de un nodo en la fila superior y toman la salida delDOWN
puerto de un nodo en la fila inferior. Hay tres filas, por lo que los datos deben pasar por al menos tres nodos para llegar al fondo.Debido a estas limitaciones, los nodos TIS se pretende que generalmente ser utilizado tanto como esto:
Debido a esto, el espacio limitado para las instrucciones y el hecho de que los nodos simplemente esperan en silencio y no causan problemas al intentar leer entradas que no están allí, se tomó una decisión en su diseño que los hace muy buenos para este desafío. Citaré el manual de referencia del TIS-100:
¡Perfecto! Los bucles infinitos son predeterminados para los nodos TIS.
Casi respondí esta pregunta con una respuesta de 0 bytes, afirmando que un nodo vacío era un bucle infinito. Sin embargo, investigué más. Primero, la cita anterior establece que el ciclo ocurre después de ejecutar la última instrucción . Además, probé la implementación. Cada nodo informa un "modo" en todo momento. No es accesible mediante programación, pero está destinado a facilitar la depuración. Aquí están los modos posibles:
Resulta que, dado que cada nodo es una computadora individual, son capaces de determinar si tienen o no instrucciones para ejecutar. Si no, permanecen en el
IDLE
estado (probablemente ahorren energía). Como tal, no podría decir en buena conciencia que estaba "en bucle"; más bien, cada nodo se sentó en silencio, asumiendo que los otros estaban haciendo algo importante.Este programa que he enviado es realmente un bucle infinito, ya que al ejecutarlo se establece el estado del nodo
RUN
. Es tan simple como era de esperar,NOP
realizaN
oOP
ración. Una vez hecho esto sin hacer nada, la ejecución vuelve a la parte superior del código:NOP
.Si le resulta insatisfactorio que estoy abusando de la arquitectura T21 para crear un bucle, que ofrecen una solución alternativa a costa de 2 bytes:
JRO 0
.JRO
significaJ
UMPR
unc elativeO
nditionally. O algo, supongo. No hay una forma expandida acordada de las instrucciones. De todos modos,JRO
toma un argumento numérico y salta la ejecución en esa cantidad en relación con la posición actual. Por ejemplo,JRO 2
omite la instrucción que le sigue (útil si se salta esa instrucción desde otro lugar).JRO 1
salta hacia adelante una instrucción, haciéndola aNOP
.JRO -1
salta hacia atrás una instrucción, realizando efectivamente la instrucción previa una vez cada dos ciclos hasta que el programa se detenga. Y por supuesto,JRO 0
salta sobre sí mismo, ejecutándose para siempre.En este punto, puede estar pensando:
Buena pregunta, gracias por preguntar. Uno puede pensar ingenuamente que los programas TIS deben contarse de la misma manera que contamos los programas en múltiples archivos: el número de bytes en todos los nodos, más 1 byte por cada nodo adicional después del primero. Sin embargo, la comunidad de golf de TIS decidió que esto sería injusto por la simple razón de que ignora parte de la información requerida para recrear soluciones. Los vecinos de un nodo son muy importantes, y ese método de puntuación le brinda información posicional de forma gratuita. En cambio, hemos adoptado el formato utilizado por el emulador TIS más común, el TIS-100 llamado confusamente.. (Nota al margen: por favor no nombre los emuladores después del sistema que emulan. No es inteligente, es molesto y hace que todos tengan que aclarar constantemente de qué están hablando). Es muy simple: los 12 nodos de un TIS-100 los dispositivos están numerados, de izquierda a derecha y de arriba a abajo, omitiendo cualquier nodo de almacenamiento que haya instalado el sistema emulado. Un nodo numerado que
N
contiene# CODE\n# CODE\n CODE
se guarda así:Y así, un nodo numerado que contiene 0
NOP
se puntúa de acuerdo con su representación en este formato:Seis bytes.
Como a menudo incluyo en mis respuestas en lenguajes visualmente interesantes, puede ver el emulador TIS-100 ejecutar este programa en YouTube . Sin embargo, considerando lo que es este desafío, no sé qué esperas ver ...
fuente
JRO
quedé J UMP a R elative O ffset.C # ,
383736 bytesPara bucle sin condición de parada.
El retorno de main debería ser un int, pero como nunca llegará al final, debería compilarse. (Probado en VS 2015 y 2013, también funciona en Ideone ). Gracias Geobits y MichaelS .
Se puede lograr una versión más corta, 35 bytes, pero las impresiones
Process is terminated due to StackOverflowException
que creo violan el tercer punto de no imprimir nada en stderr. Crédito a MichaelBfuente
;
lugar de{}
? Lo probaría, pero a los servicios en línea no les gustan mucho los bucles infinitos.class B{static int Main()=>Main();}
Foo, 3 bytes
¡El lenguaje de programación favorito de todos! :RE
fuente
Hexagonía , 1 byte
No sé mucho sobre este increíble lenguaje creado por @ MartinBüttner, pero por lo que he visto, esto debería repetirse infinitamente, ya que no hay
@
que detener el programa..
es simplemente un no-op.fuente
Perl, 4 bytes
Se ejecuta repetidamente.
fuente
do EXPR
lecturas de un archivo, que técnicamente serían entradas, pero el OP aclaró que la E / S del archivo es aceptable. Lo realmente genial es que, a diferencia del equivalente en Bash, por ejemplo, esto no bifurca ningún proceso nuevo, por lo que continuará indefinidamente sin alcanzar ningún límite de memoria o proceso.Gammaplex , 0 bytes
En Gammaplex, no es posible escribir un programa que no sea un bucle infinito. Así que solo escribo un programa que no usa entrada / salida.
fuente
Pyth, 2 bytes
Pyth espera tokens después del operador forever. (Eso es un espacio)
fuente
bash + BSD coreutils,
23 22 14 6 56 bytesyes
produce "y" para siempre;>&-
cierra STDOUT.¡Gracias @Dennis y @ThisSuitIsBlackNot por ayudarme a bajar el tamaño!
fuente
$0
un shellscript y ejecutarlo, se invocará para siempre.while :;do :;done
tiene solo 17 bytes.ping>&- 0
funciona en Linux, donde0
se asigna a localhost.yes
! (Pensé en usar,yes
pero no se me ocurrió descartar la salida). Puede guardar un byte conyes>/dev/null
Lisp común, 6 caracteres
fuente
(do()(()))
.do
, y en hacer que el lector vaya en bucle infinito, pero no veo cómo hacerlo en breve. Parece que nada mejor(loop)
.Fisión , 1 byte
Hay exactamente 4 soluciones de un byte:
Estas cuatro letras indican que un átomo comienza allí (en la dirección correspondiente). Se requiere uno de ellos porque sin un átomo el programa termina inmediatamente. Dado que el código fuente tiene un tamaño de un solo carácter, el átomo se ajustará inmediatamente y ejecutará la misma celda nuevamente. Sin embargo, después del comienzo del programa,
UDLR
simplemente actúe para desviar un átomo entrante en la dirección correspondiente, por lo que se convierten en no-ops en este caso.fuente