<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://miniscript.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ThaCuber</id>
	<title>MiniScript Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://miniscript.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ThaCuber"/>
	<link rel="alternate" type="text/html" href="http://miniscript.org/wiki/Special:Contributions/ThaCuber"/>
	<updated>2026-05-03T00:48:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>http://miniscript.org/w/index.php?title=Type_Coercion&amp;diff=1199</id>
		<title>Type Coercion</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=Type_Coercion&amp;diff=1199"/>
		<updated>2024-02-21T02:15:45Z</updated>

		<summary type="html">&lt;p&gt;ThaCuber: join lines and format as unordered list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''WIP'''&lt;br /&gt;
&lt;br /&gt;
Known type coercion rules:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;c&amp;gt;null * 3 == #@!$&amp;lt;/c&amp;gt; &amp;amp;mdash; Any statement that begins with `null` is a compiler error, but this may change in the future.&lt;br /&gt;
&amp;lt;c&amp;gt;(null)&amp;lt;/c&amp;gt; is okay though.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;c&amp;gt;3 * null == 0&amp;lt;/c&amp;gt; &amp;amp;mdash; Multiplying by null yields 0.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;c&amp;gt;3 / null == Infinity&amp;lt;/c&amp;gt; &amp;amp;mdash; In division, null acts a lot like `0`.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;c&amp;gt;3 + &amp;quot;3&amp;quot; == &amp;quot;33&amp;quot;&amp;lt;/c&amp;gt; &amp;amp;mdash; If an expression contains a string, the entire expression will be coerced into a string.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;c&amp;gt;&amp;quot;3&amp;quot; * 5 == &amp;quot;33333&amp;lt;/c&amp;gt; &amp;amp;mdash; Multiplying a string by a number will replicate the string.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;c&amp;gt;&amp;quot;1234&amp;quot; / 2 == &amp;quot;12&amp;quot;&amp;lt;/c&amp;gt; &amp;amp;mdash; Dividing a string by a number will divide the length, then take a substring.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;c&amp;gt;1/0 == &amp;quot;INF&amp;quot; | &amp;quot;Infinity&amp;quot;&amp;lt;/c&amp;gt; &amp;amp;mdash; All numerical math is done according to standard IEEE floating-point rules, including well-defined behavior for Inf and NaN.  However, conversion of Inf and NaN to a string is undefined (implementation-dependent).&lt;/div&gt;</summary>
		<author><name>ThaCuber</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=Type_Coercion&amp;diff=1198</id>
		<title>Type Coercion</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=Type_Coercion&amp;diff=1198"/>
		<updated>2024-02-21T02:10:14Z</updated>

		<summary type="html">&lt;p&gt;ThaCuber: backticks don't do anything in &amp;quot;`(null)`&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''WIP'''&lt;br /&gt;
&lt;br /&gt;
Known type coercion rules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;null * 3 == #@!$&amp;lt;/c&amp;gt;&lt;br /&gt;
Any statement that begins with `null` is a compiler error, but this may change in the future.&lt;br /&gt;
&amp;lt;c&amp;gt;(null)&amp;lt;/c&amp;gt; is okay though.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;3 * null == 0&amp;lt;/c&amp;gt;&lt;br /&gt;
Multiplying by null yields 0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;3 / null == Infinity&amp;lt;/c&amp;gt;&lt;br /&gt;
In division, null acts a lot like `0`.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;3 + &amp;quot;3&amp;quot; == &amp;quot;33&amp;quot;&amp;lt;/c&amp;gt;&lt;br /&gt;
If an expression contains a string, the entire expression will be coerced into a string.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;&amp;quot;3&amp;quot; * 5 == &amp;quot;33333&amp;lt;/c&amp;gt;&lt;br /&gt;
Multiplying a string by a number will replicate the string.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;&amp;quot;1234&amp;quot; / 2 == &amp;quot;12&amp;quot;&amp;lt;/c&amp;gt;&lt;br /&gt;
Dividing a string by a number will divide the length, then take a substring.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;1/0 == &amp;quot;INF&amp;quot; | &amp;quot;Infinity&amp;quot;&amp;lt;/c&amp;gt;&lt;br /&gt;
All numerical math is done according to standard IEEE floating-point rules, including well-defined behavior for Inf and NaN.  However, conversion of Inf and NaN to a string is undefined (implementation-dependent).&lt;/div&gt;</summary>
		<author><name>ThaCuber</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=Open-Source_Projects&amp;diff=1185</id>
		<title>Open-Source Projects</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=Open-Source_Projects&amp;diff=1185"/>
		<updated>2024-02-09T02:18:23Z</updated>

		<summary type="html">&lt;p&gt;ThaCuber: /* Editors &amp;amp; Syntax Highlighting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a collection of links to open-source projects in or for MiniScript.&lt;br /&gt;
&lt;br /&gt;
=== Main Repository ===&lt;br /&gt;
https://github.com/JoeStrout/miniscript&lt;br /&gt;
&lt;br /&gt;
Official repository of source code for the MiniScript language (both C# and C++ versions), as well as [[Command-Line MiniScript]].&lt;br /&gt;
&lt;br /&gt;
=== Third-Party Implementations/Ports ===&lt;br /&gt;
==== Java version of MiniScript ====&lt;br /&gt;
https://github.com/heatseeker0/JavaMiniScript&lt;br /&gt;
&lt;br /&gt;
A third-party reimplementation of MiniScript in Java, suitable for adding MiniScript support to Java games and apps.&lt;br /&gt;
&lt;br /&gt;
==== Kotlin version of MiniScript ====&lt;br /&gt;
https://github.com/Arcnor/miniscript-kt&lt;br /&gt;
&lt;br /&gt;
A third-party reimplementation of MiniScript in Kotlin (a more modern Java-like language which runs on the JVM).&lt;br /&gt;
&lt;br /&gt;
==== MiniScript in MiniScript ====&lt;br /&gt;
https://github.com/marcgurevitx/ms-ms&lt;br /&gt;
&lt;br /&gt;
A MiniScript parser and evaluator written in MiniScript. Works in [[Command-Line MiniScript]] and [[Mini Micro]] (a slightly modified version of [[TestSuite.txt]] passes).&lt;br /&gt;
&lt;br /&gt;
==== MiniScript.TS ====&lt;br /&gt;
https://github.com/sebnozzi/miniscript.ts&lt;br /&gt;
&lt;br /&gt;
A MiniScript implementation written in TypeScript. Works on the browser and on Node.js.&lt;br /&gt;
&lt;br /&gt;
Includes parser, compiler, stack-based VM and debugger. Implements all core types and intrinsics. Has the ability to be extended with additional intrinsics. Seamless interaction with JavaScript. Usable in TypeScript projects (type-definitions provided). 100% compliance with the official &amp;quot;TestSuite.txt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== MiniScript-NodeJS ====&lt;br /&gt;
https://github.com/sebnozzi/miniscript-nodejs&lt;br /&gt;
&lt;br /&gt;
A Node.js MiniScript implementation and script-runner. Based on MiniScript.TS. &lt;br /&gt;
&lt;br /&gt;
Features basic console I/O (print / input), module import support and a subset of sysdisk/lib. Extensible via custom intrinsics.&lt;br /&gt;
&lt;br /&gt;
=== MiniScript-Enhanced Development Environments ===&lt;br /&gt;
&lt;br /&gt;
==== Soda ====&lt;br /&gt;
https://github.com/JoeStrout/soda&lt;br /&gt;
&lt;br /&gt;
An open-source, cross-platform game development environment based on MiniScript and SDL.&lt;br /&gt;
&lt;br /&gt;
==== MiniScript in RayLib ====&lt;br /&gt;
https://github.com/AlRado/Raylib-cs-Examples/tree/miniscript&lt;br /&gt;
&lt;br /&gt;
Adds MiniScript support to RayLib-cs, an open-source C# game engine.&lt;br /&gt;
&lt;br /&gt;
==== MiniScript in MonoGame ====&lt;br /&gt;
https://github.com/guiprada/monomicro&lt;br /&gt;
&lt;br /&gt;
Adds MiniScript support to MonoGame, another open-source C# game engine.&lt;br /&gt;
&lt;br /&gt;
==== MSGS ====&lt;br /&gt;
https://github.com/ryushinaka/MSGS&lt;br /&gt;
&lt;br /&gt;
MiniScript Game Studio, integrates MiniScript with Unity3D.  Currently allows for creating any sort of 2D game (3D support is planned).&lt;br /&gt;
&lt;br /&gt;
==== GameLodge ====&lt;br /&gt;
https://github.com/bananaHemic/gamelodge_unity&lt;br /&gt;
&lt;br /&gt;
A multiplayer VR project that supports online coding &amp;amp; development based on MiniScript.  Edit the game while people are in it!&lt;br /&gt;
&lt;br /&gt;
=== Editors &amp;amp; Syntax Highlighting ===&lt;br /&gt;
&lt;br /&gt;
==== NotePad++ UDL ====&lt;br /&gt;
: https://github.com/SynapticBytes/MiniScript-UDL-for-Notepad-plus-plus&lt;br /&gt;
: User-Defined Language for the NotePad++ text editor for Windows.&lt;br /&gt;
&lt;br /&gt;
==== VS Code Language Toolkit ====&lt;br /&gt;
: https://marketplace.visualstudio.com/items?itemName=ayecue.miniscript-vs&lt;br /&gt;
: MiniScript Toolkit for Visual Studio Code. Includes syntax highlighting, a built-in interpreter and debugger, and many more features.&lt;br /&gt;
&lt;br /&gt;
==== VS Code Language Module ====&lt;br /&gt;
: https://bitbucket.org/colinmac/miniscript-syntax/src/master/&lt;br /&gt;
: Provides MiniScript syntax highlighting for Visual Studio Code.&lt;br /&gt;
&lt;br /&gt;
==== BBEdit Language Module ====&lt;br /&gt;
: https://github.com/JoeStrout/miniscript-bbedit-lang-mod&lt;br /&gt;
: Provides MiniScript syntax highlighting for the BBEdit text editor for macOS.&lt;br /&gt;
&lt;br /&gt;
==== Pygments fork ====&lt;br /&gt;
: https://github.com/JoeStrout/pygments&lt;br /&gt;
: Fork of the Pygments syntax-coloring library which adds support for MiniScript.&lt;br /&gt;
: [https://github.com/pygments/pygments/pull/1397 Merged] into the main Pygments repo on Feb. 29, 2020.&lt;br /&gt;
&lt;br /&gt;
==== Highlight.js Package ====&lt;br /&gt;
: https://github.com/JoeStrout/highlightjs-miniscript&lt;br /&gt;
: Add-on language module for [https://github.com/highlightjs/highlight.js Highlight.js].&lt;br /&gt;
&lt;br /&gt;
==== Lite XL Syntax Highlighter ====&lt;br /&gt;
: https://github.com/lite-xl/lite-xl-plugins/blob/master/plugins/language_miniscript.lua?raw=1&lt;br /&gt;
: Provides syntax highlighting for [https://github.com/lite-xl/lite-xl Lite XL].&lt;br /&gt;
&lt;br /&gt;
=== MiniScript code libraries ===&lt;br /&gt;
&lt;br /&gt;
==== minimicro-fonts ====&lt;br /&gt;
: https://github.com/JoeStrout/minimicro-fonts&lt;br /&gt;
: Provides support for colored, proportional or monospaced screen fonts in BMF format.&lt;br /&gt;
&lt;br /&gt;
==== minimicro-tiled ====&lt;br /&gt;
: https://github.com/Mantic/minimicro-tiled&lt;br /&gt;
: Provides a [https://www.mapeditor.org/ Tiled] map importer and renderer!&lt;br /&gt;
&lt;br /&gt;
==== minimicro-bmfont ====&lt;br /&gt;
: https://github.com/sebnozzi/minimicro-bmfont&lt;br /&gt;
: Not to be confused with the &amp;quot;[[#minimicro-fonts|minimicro-fonts]]&amp;quot; above.&lt;br /&gt;
: Brings AngelCode's [http://www.angelcode.com/products/bmfont/ BMFont] rendering to Mini Micro.&lt;br /&gt;
&lt;br /&gt;
=== Games/Apps/Programs written in MiniScript ===&lt;br /&gt;
&lt;br /&gt;
* '''Annelids''': https://github.com/JoeStrout/annelids&lt;br /&gt;
* '''Sokoban''': https://github.com/sebnozzi/minimicro-sokoban&lt;br /&gt;
* '''Quatris''': https://github.com/JoeStrout/quatris&lt;br /&gt;
* '''Clacks''': https://github.com/JoeStrout/clacks&lt;br /&gt;
* '''Memory Game''': https://github.com/sebnozzi/minimicro-memorygame&lt;br /&gt;
* '''Sliding Puzzle''': https://github.com/sebnozzi/minimicro-sliding-puzzle/&lt;br /&gt;
* '''Letter Shooter''': https://github.com/sebnozzi/minimicro-lettershooter/&lt;br /&gt;
* '''minimicro-raytracer''': https://github.com/Syntaxxor/minimicro-raytracer&lt;br /&gt;
* '''World Conquest''': https://github.com/JoeStrout/worldConquest&lt;br /&gt;
* '''Retro Robots''': https://github.com/JoeStrout/RetroRobots&lt;br /&gt;
* '''μ-hack''': https://github.com/treytomes/micro-hack&lt;br /&gt;
&lt;br /&gt;
=== Tagged collections ===&lt;br /&gt;
&lt;br /&gt;
* GitHub: https://github.com/topics/miniscript&lt;br /&gt;
* itch.io: https://itch.io/games/tag-minimicro&lt;br /&gt;
* Rosetta Code: http://www.rosettacode.org/wiki/Category:MiniScript&lt;/div&gt;</summary>
		<author><name>ThaCuber</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=TestSuite.txt&amp;diff=1184</id>
		<title>TestSuite.txt</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=TestSuite.txt&amp;diff=1184"/>
		<updated>2024-02-09T02:08:44Z</updated>

		<summary type="html">&lt;p&gt;ThaCuber: the&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''TestSuite.txt''' is the text file[https://github.com/joestrout/miniscript/blob/master/TestSuite.txt] used by the official Miniscript implementations to test new features and possible regressions, and to check the consistency of the results of other implementations with any Miniscript code fragment that runs correctly on the official ones and, consequently, with other supported implementations.  It is not intended to be run directly through the command line interpreter.&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>ThaCuber</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=TestSuite.txt&amp;diff=1183</id>
		<title>TestSuite.txt</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=TestSuite.txt&amp;diff=1183"/>
		<updated>2024-02-09T00:05:22Z</updated>

		<summary type="html">&lt;p&gt;ThaCuber: Create TextSuite.txt stub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''TestSuite.txt''' is the text file[https://github.com/joestrout/miniscript/blob/master/TestSuite.txt] used by official Miniscript implementations to test new features and possible regressions, and to check the consistency of the results of other implementations with any Miniscript code fragment that runs correctly on the official ones and, consequently, with other supported implementations.  It is not intended to be run directly through the command line interpreter.&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>ThaCuber</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=Talk:INF&amp;diff=1182</id>
		<title>Talk:INF</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=Talk:INF&amp;diff=1182"/>
		<updated>2024-02-08T23:20:13Z</updated>

		<summary type="html">&lt;p&gt;ThaCuber: Create talk page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== rename or redirect? ==&lt;br /&gt;
&lt;br /&gt;
would it be better to rename this page to Infinity or to redirect searches for &amp;quot;Infinity&amp;quot; to it?&lt;br /&gt;
&lt;br /&gt;
-- thacuber2a03 23:20, 8 February 2024 (UTC)&lt;/div&gt;</summary>
		<author><name>ThaCuber</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=User:ThaCuber&amp;diff=1181</id>
		<title>User:ThaCuber</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=User:ThaCuber&amp;diff=1181"/>
		<updated>2024-02-08T23:19:12Z</updated>

		<summary type="html">&lt;p&gt;ThaCuber: Align my user page with my writing style (no starting caps unless proper name or &amp;quot;I&amp;quot;) and add link to my site&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I make music and games.&lt;br /&gt;
main developer of the C99 port of Miniscript.&lt;br /&gt;
https://thacuber2a03.github.io/&lt;/div&gt;</summary>
		<author><name>ThaCuber</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=NaN&amp;diff=1180</id>
		<title>NaN</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=NaN&amp;diff=1180"/>
		<updated>2024-02-08T23:10:28Z</updated>

		<summary type="html">&lt;p&gt;ThaCuber: State that NaNs come from the IEEE 754 standard, reword a bit, and add link to Sqrt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In general computing, '''NaN''' (standing for '''Not a Number''') is a special [[Number|numeric]] value that is returned as the result of an undefined operation, according to the IEEE 754 standard for floating point numbers.[https://en.wikipedia.org/wiki/NaN] It is the output of '''0/0''', or the [[Sqrt|square root]] of a negative number in Miniscript.&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>ThaCuber</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=INF&amp;diff=1179</id>
		<title>INF</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=INF&amp;diff=1179"/>
		<updated>2024-02-08T23:06:14Z</updated>

		<summary type="html">&lt;p&gt;ThaCuber: Created INF stub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In general computing, '''INF''', or just '''Infinity''', is a [[Number|numerical]] value that represents mathematical infinity, according to the IEEE 754 standard for floating point numbers.[https://en.wikipedia.org/wiki/IEEE_754#Infinities] It is the output of most divisions-by-zero, except for [[NaN|0/0]], and [[Log|log]](0).&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>ThaCuber</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=User:ThaCuber&amp;diff=1178</id>
		<title>User:ThaCuber</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=User:ThaCuber&amp;diff=1178"/>
		<updated>2024-02-08T22:42:53Z</updated>

		<summary type="html">&lt;p&gt;ThaCuber: Created user page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I make music and games. Main developer of the C99 port of Miniscript.&lt;/div&gt;</summary>
		<author><name>ThaCuber</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=NaN&amp;diff=1177</id>
		<title>NaN</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=NaN&amp;diff=1177"/>
		<updated>2024-02-07T12:50:31Z</updated>

		<summary type="html">&lt;p&gt;ThaCuber: Created NaN stub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In general computing, '''NaN''' (standing for '''Not a Number''') is a special [[Number|numeric]] value that is returned as the value of an undefined operation[https://en.wikipedia.org/wiki/NaN], such as the result of '''0/0''', or the square root of a negative number in Miniscript.&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>ThaCuber</name></author>
		
	</entry>
</feed>