Skip to main content

Smallfuck ContentsCommand setComputational classSee alsoExternal resourcesNavigation menusf2tab

LanguagesBrainfuck derivativesCell-basedNo IO2002


esoteric programming languageNikita Ayzikovsky2002SMETANABrainfucktapeTuring-completereductionBoolfuckcomputational classbounded-storage machines










Smallfuck



From Esolang



Jump to: navigation, search


Smallfuck is an esoteric programming language invented by Nikita Ayzikovsky around March 2002 for the purpose of compiling it to SMETANA. It is a sized-down version of Brainfuck that operates only on bits, has limited data storage, and does not define input or output.



Contents



  • 1 Command set


  • 2 Computational class


  • 3 See also


  • 4 External resources



Command set


The Smallfuck command set is that of Brainfuck with two alterations: . and , are omitted, and + and - are replaced by * (because, when applied to bits, + and - would do the same thing anyway.) The command set is summarized as follows:


> Move pointer right
< Move pointer left
* Flip current cell
[ Jump past matching ] if cell under pointer is 0
] Jump back to matching [

If a program attempts to move the memory pointer to the left of the first cell, or to the right of the (implementation-defined) last cell, it terminates normally.


Because input and output are not defined, it is generally assumed that input is encoded in the initial state of the data storage, and that output must be decoded from the final state of the data storage.


Computational class


If we were to grant Smallfuck an unbounded tape, we could show it to be Turing-complete by a trivial reduction from Boolfuck. All that is missing are I/O commands, which are not required for Turing-completeness.


However, while the number of bits in Smallfuck's data store capacity is completely left up to each implementation, the number is defined to be finite. Thus, Smallfuck is in the computational class of bounded-storage machines with bounded input.


See also


  • Boolfuck is a similar language but is equipped with input and output.

  • Nanofuck an invertible minimization of Boolfuck.

  • BitChanger combines two more instructions.

  • BF instruction minimalization chronicles one author's attempts at a smaller Brainfuck.

  • Braktif is a formulation of Smallfuck as a cellular automaton.

  • Fm languages; F2 can be seen as a Turing-complete extension of Smallfuck.

  • SMETANA, to which Smallfuck can be compiled.

  • RCEM, to which Smallfuck can be translated. RCEM is Turing-complete.

External resources


  • sf2tab is a Smallfuck-to-lookup-table compiler.

Retrieved from "https://esolangs.org/w/index.php?title=Smallfuck&oldid=53073"





Navigation menu






















(window.RLQ=window.RLQ||[]).push(function()mw.config.set("wgPageParseReport":"limitreport":"cputime":"0.004","walltime":"0.004","ppvisitednodes":"value":21,"limit":1000000,"ppgeneratednodes":"value":65,"limit":1000000,"postexpandincludesize":"value":39,"limit":2097152,"templateargumentsize":"value":17,"limit":2097152,"expansiondepth":"value":2,"limit":40,"expensivefunctioncount":"value":0,"limit":100,"timingprofile":["100.00% 0.456 1 Template:Catseye","100.00% 0.456 1 -total"],"cachereport":"timestamp":"20181211135231","ttl":86400,"transientcontent":false););(window.RLQ=window.RLQ||[]).push(function()mw.config.set("wgBackendResponseTime":34););

Popular posts from this blog

ParseJSON using SSJSUsing AMPscript with SSJS ActivitiesHow to resubscribe a user in Marketing cloud using SSJS?Pulling Subscriber Status from Lists using SSJSRetrieving Emails using SSJSProblem in updating DE using SSJSUsing SSJS to send single email in Marketing CloudError adding EmailSendDefinition using SSJS

Кампала Садржај Географија Географија Историја Становништво Привреда Партнерски градови Референце Спољашње везе Мени за навигацију0°11′ СГШ; 32°20′ ИГД / 0.18° СГШ; 32.34° ИГД / 0.18; 32.340°11′ СГШ; 32°20′ ИГД / 0.18° СГШ; 32.34° ИГД / 0.18; 32.34МедијиПодациЗванични веб-сајту

19. јануар Садржај Догађаји Рођења Смрти Празници и дани сећања Види још Референце Мени за навигацијуу