<?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=Treytomes</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=Treytomes"/>
	<link rel="alternate" type="text/html" href="http://miniscript.org/wiki/Special:Contributions/Treytomes"/>
	<updated>2026-05-23T21:10:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>http://miniscript.org/w/index.php?title=Type_Coercion&amp;diff=1194</id>
		<title>Type Coercion</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=Type_Coercion&amp;diff=1194"/>
		<updated>2024-02-20T15:57:09Z</updated>

		<summary type="html">&lt;p&gt;Treytomes: &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;
`null * 3 == #@!$`&lt;br /&gt;
Any statement that begins with `null` is a compiler error, but this may change in the future.&lt;br /&gt;
`(null)` is okay though.&lt;br /&gt;
&lt;br /&gt;
`3 * null == null`&lt;br /&gt;
Multiplying by null yields null.&lt;br /&gt;
&lt;br /&gt;
`3 / null == Infinity`&lt;br /&gt;
In division, null acts a lot like `0`.&lt;br /&gt;
&lt;br /&gt;
`3 + &amp;quot;3&amp;quot; == &amp;quot;33&amp;quot;`&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;quot;3&amp;quot; * 5 == &amp;quot;33333`&lt;br /&gt;
Multiplying a string by a number will replicate the string.&lt;br /&gt;
&lt;br /&gt;
`&amp;quot;1234&amp;quot; / 2 == &amp;quot;12&amp;quot;`&lt;br /&gt;
Dividing a string by a number will divide the length, then take a substring.&lt;br /&gt;
&lt;br /&gt;
`1/0 = &amp;quot;INF&amp;quot; | &amp;quot;Infinity&amp;quot;`&lt;br /&gt;
The concept of infinity and negative infinity sort of exists, but isn't well-defined.&lt;/div&gt;</summary>
		<author><name>Treytomes</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=Type_Coercion&amp;diff=1193</id>
		<title>Type Coercion</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=Type_Coercion&amp;diff=1193"/>
		<updated>2024-02-20T15:56:52Z</updated>

		<summary type="html">&lt;p&gt;Treytomes: Beginning to document the type coercion rules.  This page still needs a lot of work.&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;
`null * 3 == #@!$`&lt;br /&gt;
Any statement that begins with `null` is a compiler error, but this may change in the future.&lt;br /&gt;
`(null)` is okay though.&lt;br /&gt;
&lt;br /&gt;
`3 * null == null`&lt;br /&gt;
Multiplying by null yields null.&lt;br /&gt;
&lt;br /&gt;
`3 / null == Infinity`&lt;br /&gt;
In division, null acts a lot like `0`.&lt;br /&gt;
&lt;br /&gt;
`3 + &amp;quot;3&amp;quot; == &amp;quot;33&amp;quot;`&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;quot;3&amp;quot; * 5 == &amp;quot;33333`&lt;br /&gt;
Multiplying a string by a number will replicate the string.&lt;br /&gt;
&lt;br /&gt;
`&amp;quot;1234&amp;quot; / 2 == &amp;quot;12&amp;quot;`&lt;br /&gt;
Dividing a string by a number will divide the length, then take a substring.&lt;br /&gt;
&lt;br /&gt;
`1/0 = &amp;quot;INF&amp;quot; | &amp;quot;Infinity&amp;quot;`&lt;br /&gt;
The concept of infinity and negative infinity sort of exists, but isn't well-defined.&lt;/div&gt;</summary>
		<author><name>Treytomes</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=Open-Source_Projects&amp;diff=1162</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=1162"/>
		<updated>2024-01-02T15:14:41Z</updated>

		<summary type="html">&lt;p&gt;Treytomes: /* Games/Apps/Programs written in MiniScript */&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;
=== 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;
=== 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.&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;
=== 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;
=== 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;
=== 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>Treytomes</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=BitXor&amp;diff=1141</id>
		<title>BitXor</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=BitXor&amp;diff=1141"/>
		<updated>2023-11-11T14:46:50Z</updated>

		<summary type="html">&lt;p&gt;Treytomes: Show the correct function call.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;c&amp;gt;bitXor&amp;lt;/c&amp;gt; treats its arguments as integers, and computes the bitwise `xor`: each bit in the result is set only if the corresponding&lt;br /&gt;
bit is set in exactly one (not zero or both) of the arguments.&lt;br /&gt;
&lt;br /&gt;
See also: [[bitAnd]]; [[bitOr]]&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter Name !! Default Value !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| ''i'' || number, default 0 || first integer argument&lt;br /&gt;
|-&lt;br /&gt;
| ''j'' || number, default 0 || second integer argument&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ms&amp;gt;bitXor(14, 7)	// returns 9&amp;lt;/ms&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Intrinsic Functions]]&lt;br /&gt;
[[Category:Numeric Functions]]&lt;/div&gt;</summary>
		<author><name>Treytomes</name></author>
		
	</entry>
</feed>