<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://libertybasicfamily.info/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CarlGundel</id>
	<title>Liberty BASIC Family - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://libertybasicfamily.info/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CarlGundel"/>
	<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php/Special:Contributions/CarlGundel"/>
	<updated>2026-04-15T22:28:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Web_Server_Details&amp;diff=1244</id>
		<title>Web Server Details</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Web_Server_Details&amp;diff=1244"/>
		<updated>2025-03-12T14:29:51Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: /* Browser Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
Run BASIC is a special web server that allows you to create server-side web applications using a version of BASIC.  The BASIC is not an add-on module like Perl or PHP is for Apache, but instead the BASIC is integrated tightly with the server.&lt;br /&gt;
&lt;br /&gt;
Run BASIC includes a session manager that is transparent to the programmer.  What this means is that when someone visits a web application that is hosted by Run BASIC that they are immediately given a session.  If the user is then inactive long enough (this time period is adjustable in a server control panel) the session will time out.  This means the application programmer doesn&#039;t have to be burdened with session logic.&lt;br /&gt;
&lt;br /&gt;
==Programming Model==&lt;br /&gt;
Most web app systems model applications as a collection of pages.  Information must be persisted between pages in some sort of data store.  Sometimes this is in memory but oftentimes it is done in a database or by passing files.  Run BASIC does not force you to partition your applications in this way.  Instead you can write your entire application as a single continuous program just like you would write a desktop application.  You create a new page in your application by clearing the page and placing new things onto it in a dynamic way.&lt;br /&gt;
&lt;br /&gt;
Traditionalist procedural programmers can create entire applications using subroutines and functions, similar to how it is done in popular languages like QBasic.  This democratizes web programming because many casual programmers are comfortable with this way of coding software.&lt;br /&gt;
&lt;br /&gt;
More object-oriented thinkers can componentize their systems into objects and call methods on them.  The objects can be purely data, or they can render into a display buffer and be injected into a web page.  This makes it easy to have different parts of a web page managed in a modular way.&lt;br /&gt;
&lt;br /&gt;
==User Interface Capabilities==&lt;br /&gt;
An application&#039;s user interface is composed programmatically at when the program runs.  Interactivity is similar to that of desktop applications, with callbacks to tie user actions to program routines.  It isn&#039;t necessary to marshal a web request and interpret it with a case statement or session key.  This all happens automatically and transparently.&lt;br /&gt;
&lt;br /&gt;
Run BASIC is designed to let you quickly create the user interface without worrying too much about presentation up front.  This works because Run BASIC generates HTML for you automatically.  Once everything is working then color, fonts, backgrounds and layout can be adjusted using simple CSS support features of Run BASIC.&lt;br /&gt;
&lt;br /&gt;
It is also easy to embed any HTML into a page for custom effects or for the insertion of Javascript for powerful scripting.&lt;br /&gt;
&lt;br /&gt;
==Graphics==&lt;br /&gt;
An easy to use graphics drawing system is built right into Run BASIC so that it is a trivial to draw graphics and insert them into web pages dynamically.  Loading existing images into memory and drawing on them is also possible.&lt;br /&gt;
&lt;br /&gt;
==Web 2.0==&lt;br /&gt;
&lt;br /&gt;
These days there is a lot of demand for ways to do things with information that is presented on different sites, also often referred to as Web 2.0.  Run BASIC can fetch files from other web sites and use a built-in XML parser to pull data from all over the Internet.&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
Run BASIC has an included SQLite database engine which does not need any special knowledge to administer.  The addition of simple to use commands makes database programming very convenient and accessible.&lt;br /&gt;
&lt;br /&gt;
==Browser Compatibility==&lt;br /&gt;
The following browsers are supported for use with Run BASIC.&lt;br /&gt;
* Chrome&lt;br /&gt;
* Microsoft Edge&lt;br /&gt;
* Firefox&lt;br /&gt;
&lt;br /&gt;
[[Category:Run BASIC]]&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1201</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1201"/>
		<updated>2024-01-04T22:32:14Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
=== Who this Guide is for ===&lt;br /&gt;
If you already know BASIC and want to get Liberty BASIC quickly into your bag of tricks, the following information is designed to help.&lt;br /&gt;
&lt;br /&gt;
Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
:&amp;lt;small&amp;gt;&#039;&#039;Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
Here is what the same program looks like in QBasic:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
ask:&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then ask&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Variables ===&lt;br /&gt;
Liberty BASIC has two variable types, numeric and string.  Consistent with the classic BASIC languages, variables in Liberty BASIC do not need to be declared before they are used.&lt;br /&gt;
&lt;br /&gt;
Numeric variables are formed as letters and digits and must start with a letter.  String variable names follow the same rules but end with a dollar sign $.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;Examples of numeric variables, which can hold either integer or floating point values.&lt;br /&gt;
count1 = 123&lt;br /&gt;
count2 = 234&lt;br /&gt;
count3 = 100&lt;br /&gt;
averageCount = (count1 + count2 + count3) / 3&lt;br /&gt;
print averageCount&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
When run, this code prints the number 152.333333.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;Examples of string variables. Notice that they do not need to be declared with DIM or other command.&lt;br /&gt;
firstName$ = &amp;quot;Jerry&amp;quot;&lt;br /&gt;
secondName$ = &amp;quot;Mandell&amp;quot;&lt;br /&gt;
fullName$ = secondName$ + &amp;quot;, &amp;quot; + firstName$&lt;br /&gt;
print fullName$&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
When run, this code print Mandell, Jerry.&lt;br /&gt;
&lt;br /&gt;
Variable names can also have periods in them, like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
first.name$ = &amp;quot;Jerry&amp;quot;&lt;br /&gt;
member.id = 21412&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Numbers ===&lt;br /&gt;
Liberty BASIC has only two numeric types, integers and floats.&lt;br /&gt;
&lt;br /&gt;
Integers in Liberty BASIC are represented internally behind the scenes in two formats:&lt;br /&gt;
: Small form - 31 bit (-1073741824 to 1073741823)&lt;br /&gt;
: Large form - arbitrary length integers which are outside the range of the 31-bit integers&lt;br /&gt;
&lt;br /&gt;
Floats in Liberty BASIC are double precision using the IEEE 754 specification.  Using an eight byte format this gives approximately 18 digits of precision and represents values in the range (+/-)4.19e-307 to (+/-)1.67e308.  All floating point math is done using the computer&#039;s math coprocessor.&lt;br /&gt;
&lt;br /&gt;
Conversion between the two integer formats and floating point is automatically handled behind the scenes.  The programmer does not need to do anything.&lt;br /&gt;
&lt;br /&gt;
=== Arrays ===&lt;br /&gt;
Liberty BASIC supports numeric and string arrays both single and double dimensioned.  &#039;&#039;Note: Liberty BASIC 5.0 in development allows for more than 2 dimensions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Similar to many BASICs, Liberty BASIC requires that arrays with more than 11 elements (0 to 10) are specified with a DIM statement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
  &#039;Create a string array with 50 elements, 0 to 49&lt;br /&gt;
    dim stuff$(49)&lt;br /&gt;
  &#039;Create a numeric array with 500 elements, 0 to 99 and 0 to 4&lt;br /&gt;
    dim item(99, 4)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1200</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1200"/>
		<updated>2024-01-04T21:34:35Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
=== Who this Guide is for ===&lt;br /&gt;
If you already know BASIC and want to get Liberty BASIC quickly into your bag of tricks, the following information is designed to help.&lt;br /&gt;
&lt;br /&gt;
Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
:&amp;lt;small&amp;gt;&#039;&#039;Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
Here is what the same program looks like in QBasic:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
ask:&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then ask&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Variables ===&lt;br /&gt;
Liberty BASIC has two variable types, numeric and string.  Consistent with the classic BASIC languages, variables in Liberty BASIC do not need to be declared before they are used.&lt;br /&gt;
&lt;br /&gt;
Numeric variables are formed as letters and digits and must start with a letter.  String variable names follow the same rules but end with a dollar sign $.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;Examples of numeric variables, which can hold either integer or floating point values.&lt;br /&gt;
count1 = 123&lt;br /&gt;
count2 = 234&lt;br /&gt;
count3 = 100&lt;br /&gt;
averageCount = (count1 + count2 + count3) / 3&lt;br /&gt;
print averageCount&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
When run, this code prints the number 152.333333.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;Examples of string variables. Notice that they do not need to be declared with DIM or other command.&lt;br /&gt;
firstName$ = &amp;quot;Jerry&amp;quot;&lt;br /&gt;
secondName$ = &amp;quot;Mandell&amp;quot;&lt;br /&gt;
fullName$ = secondName$ + &amp;quot;, &amp;quot; + firstName$&lt;br /&gt;
print fullName$&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
When run, this code print Mandell, Jerry.&lt;br /&gt;
&lt;br /&gt;
Variable names can also have periods in them, like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
first.name$ = &amp;quot;Jerry&amp;quot;&lt;br /&gt;
member.id = 21412&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Numbers ===&lt;br /&gt;
Liberty BASIC has only two numeric types, integers and floats.&lt;br /&gt;
&lt;br /&gt;
Integers in Liberty BASIC are represented internally behind the scenes in two formats:&lt;br /&gt;
: Small form - 31 bit (-1073741824 to 1073741823)&lt;br /&gt;
: Large form - arbitrary length integers which are outside the range of the 31-bit integers&lt;br /&gt;
&lt;br /&gt;
Floats in Liberty BASIC are double precision using the IEEE 754 specification.  Using an eight byte format this gives approximately 18 digits of precision and represents values in the range (+/-)4.19e-307 to (+/-)1.67e308.  All floating point math is done using the computer&#039;s math coprocessor.&lt;br /&gt;
&lt;br /&gt;
Conversion between the two integer formats and floating point is automatically handled behind the scenes.  The programmer does not need to do anything.&lt;br /&gt;
&lt;br /&gt;
=== Arrays ===&lt;br /&gt;
Liberty BASIC supports numeric and string arrays both single and double dimensioned.  Note: Liberty BASIC 5.0 in development allows for more than 2 dimensions.&lt;br /&gt;
&lt;br /&gt;
Similar to many BASICs, Liberty BASIC requires that arrays with more than 11 elements (0 to 10) are specified with a DIM statement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
  &#039;Create a string array with 50 elements, 0 to 49&lt;br /&gt;
    dim stuff$(49)&lt;br /&gt;
  &#039;Create a numeric array with 500 elements, 0 to 99 and 0 to 4&lt;br /&gt;
    dim item(99, 4)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1199</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1199"/>
		<updated>2024-01-03T16:45:32Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
=== Who this Guide is for ===&lt;br /&gt;
If you already know BASIC and want to get Liberty BASIC quickly into your bag of tricks, the following information is designed to help.&lt;br /&gt;
&lt;br /&gt;
Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
:&amp;lt;small&amp;gt;&#039;&#039;Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
Here is what the same program looks like in QBasic:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
ask:&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then ask&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Variables ===&lt;br /&gt;
Liberty BASIC has two variable types, numeric and string.  Consistent with the classic BASIC languages, variables in Liberty BASIC do not need to be declared before they are used.&lt;br /&gt;
&lt;br /&gt;
Numeric variables are formed as letters and digits and must start with a letter.  String variable names follow the same rules but end with a dollar sign $.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;Examples of numeric variables, which can hold either integer or floating point values.&lt;br /&gt;
count1 = 123&lt;br /&gt;
count2 = 234&lt;br /&gt;
count3 = 100&lt;br /&gt;
averageCount = (count1 + count2 + count3) / 3&lt;br /&gt;
print averageCount&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
When run, this code prints the number 152.333333.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;Examples of string variables. Notice that they do not need to be declared with DIM or other command.&lt;br /&gt;
firstName$ = &amp;quot;Jerry&amp;quot;&lt;br /&gt;
secondName$ = &amp;quot;Mandell&amp;quot;&lt;br /&gt;
fullName$ = secondName$ + &amp;quot;, &amp;quot; + firstName$&lt;br /&gt;
print fullName$&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
When run, this code print Mandell, Jerry.&lt;br /&gt;
&lt;br /&gt;
Variable names can also have periods in them, like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
first.name$ = &amp;quot;Jerry&amp;quot;&lt;br /&gt;
member.id = 21412&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Numbers ===&lt;br /&gt;
Liberty BASIC has only two numeric types, integers and floats.&lt;br /&gt;
&lt;br /&gt;
Integers in Liberty BASIC are represented internally behind the scenes in two formats:&lt;br /&gt;
: Small form - 31 bit (-1073741824 to 1073741823)&lt;br /&gt;
: Large form - arbitrary length integers which are outside the range of the 31-bit integers&lt;br /&gt;
&lt;br /&gt;
Floats in Liberty BASIC are double precision using the IEEE 754 specification.  Using an eight byte format this gives approximately 18 digits of precision and represents values in the range (+/-)4.19e-307 to (+/-)1.67e308.  All floating point math is done using the computer&#039;s math coprocessor.&lt;br /&gt;
&lt;br /&gt;
Conversion between the two integer formats and floating point is automatically handled behind the scenes.  The programmer does not need to do anything.&lt;br /&gt;
&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1198</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1198"/>
		<updated>2024-01-03T16:43:13Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
=== Who this Guide is for ===&lt;br /&gt;
If you already know BASIC and want to get Liberty BASIC quickly into your bag of tricks, the following information is designed to help.&lt;br /&gt;
&lt;br /&gt;
Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
:&amp;lt;small&amp;gt;&#039;&#039;Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
Here is what the same program looks like in QBasic:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
ask:&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then ask&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Variables ===&lt;br /&gt;
Liberty BASIC has two variable types, numeric and string.  Consistent with the classic BASIC languages, variables in Liberty BASIC do not need to be declared before they are used.&lt;br /&gt;
&lt;br /&gt;
Numeric variables are formed as letters and digits and must start with a letter.  String variable names follow the same rules but end with a dollar sign $.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;Examples of numeric variables, which can hold either integer or floating point values.&lt;br /&gt;
count1 = 123&lt;br /&gt;
count2 = 234&lt;br /&gt;
count3 = 100&lt;br /&gt;
averageCount = (count1 + count2 + count3) / 3&lt;br /&gt;
print averageCount&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
When run, this code prints the number 152.333333.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;Examples of string variables. Notice that they do not need to be declared with DIM or other command.&lt;br /&gt;
firstName$ = &amp;quot;Jerry&amp;quot;&lt;br /&gt;
secondName$ = &amp;quot;Mandell&amp;quot;&lt;br /&gt;
fullName$ = secondName$ + &amp;quot;, &amp;quot; + firstName$&lt;br /&gt;
print fullName$&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
When run, this code print Mandell, Jerry.&lt;br /&gt;
&lt;br /&gt;
Variable names can also have periods in them, like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
first.name$ = &amp;quot;Jerry&amp;quot;&lt;br /&gt;
member.id = 21412&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Numbers ===&lt;br /&gt;
Liberty BASIC has only two numeric types, integers and floats.&lt;br /&gt;
&lt;br /&gt;
Integers in Liberty BASIC are kept in two formats, 31 bit (-1073741824 to 1073741823) and arbitrary length integers which are outside the range of the 31-bit integers. &lt;br /&gt;
&lt;br /&gt;
Floats in Liberty BASIC are double precision using the IEEE 754 specification.  Using an eight byte format this gives approximately 18 digits of precision and represents values in the range (+/-)4.19e-307 to (+/-)1.67e308.  All floating point math is done using the computer&#039;s math coprocessor.&lt;br /&gt;
&lt;br /&gt;
Conversion between the two integer formats and floating point is automatically handled behind the scenes.  The programmer does not need to do anything.&lt;br /&gt;
&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1197</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1197"/>
		<updated>2024-01-01T04:53:37Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
=== Who this Guide is for ===&lt;br /&gt;
If you already know BASIC and want to get Liberty BASIC quickly into your bag of tricks, the following information is designed to help.&lt;br /&gt;
&lt;br /&gt;
Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
:&amp;lt;small&amp;gt;&#039;&#039;Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
Here is what the same program looks like in QBasic:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
ask:&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then ask&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Variables ===&lt;br /&gt;
Liberty BASIC has two variable types, numeric and string.  Consistent with the classic BASIC languages, variables in Liberty BASIC do not need to be declared before they are used.&lt;br /&gt;
&lt;br /&gt;
Numeric variables are formed as letters and digits and must start with a letter.  String variable names follow the same rules but end with a dollar sign $.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;Examples of numeric variables, which can hold either integer or floating point values.&lt;br /&gt;
count1 = 123&lt;br /&gt;
count2 = 234&lt;br /&gt;
count3 = 100&lt;br /&gt;
averageCount = (count1 + count2 + count3) / 3&lt;br /&gt;
print averageCount&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
When run, this code prints the number 152.333333.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;Examples of string variables. Notice that they do not need to be declared with DIM or other command.&lt;br /&gt;
firstName$ = &amp;quot;Jerry&amp;quot;&lt;br /&gt;
secondName$ = &amp;quot;Mandell&amp;quot;&lt;br /&gt;
fullName$ = secondName$ + &amp;quot;, &amp;quot; + firstName$&lt;br /&gt;
print fullName$&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
When run, this code print Mandell, Jerry.&lt;br /&gt;
&lt;br /&gt;
Variable names can also have periods in them, like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
first.name$ = &amp;quot;Jerry&amp;quot;&lt;br /&gt;
member.id = 21412&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Numbers ===&lt;br /&gt;
Liberty BASIC has only two numeric types, integers and floats.&lt;br /&gt;
&lt;br /&gt;
Integers in Liberty BASIC are kept in two formats, 31 bit (-1073741824 to 1073741823) and arbitrary length integers which are outside the range of the 31-bit integers. &lt;br /&gt;
&lt;br /&gt;
Floats in Liberty BASIC are double precision using the IEEE 754 specification.  All floating point math is done using the computer&#039;s math coprocessor (more specs later).&lt;br /&gt;
&lt;br /&gt;
Conversion between the two integer formats and floating point is automatically handled behind the scenes.  The programmer does not need to do anything.&lt;br /&gt;
&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1196</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1196"/>
		<updated>2024-01-01T04:51:20Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
:&amp;lt;small&amp;gt;&#039;&#039;Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
Here is what the same program looks like in QBasic:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
ask:&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then ask&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Variables ===&lt;br /&gt;
Liberty BASIC has two variable types, numeric and string.  Consistent with the classic BASIC languages, variables in Liberty BASIC do not need to be declared before they are used.&lt;br /&gt;
&lt;br /&gt;
Numeric variables are formed as letters and digits and must start with a letter.  String variable names follow the same rules but end with a dollar sign $.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;Examples of numeric variables, which can hold either integer or floating point values.&lt;br /&gt;
count1 = 123&lt;br /&gt;
count2 = 234&lt;br /&gt;
count3 = 100&lt;br /&gt;
averageCount = (count1 + count2 + count3) / 3&lt;br /&gt;
print averageCount&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
When run, this code prints the number 152.333333.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;Examples of string variables. Notice that they do not need to be declared with DIM or other command.&lt;br /&gt;
firstName$ = &amp;quot;Jerry&amp;quot;&lt;br /&gt;
secondName$ = &amp;quot;Mandell&amp;quot;&lt;br /&gt;
fullName$ = secondName$ + &amp;quot;, &amp;quot; + firstName$&lt;br /&gt;
print fullName$&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
When run, this code print Mandell, Jerry.&lt;br /&gt;
&lt;br /&gt;
Variable names can also have periods in them, like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
first.name$ = &amp;quot;Jerry&amp;quot;&lt;br /&gt;
member.id = 21412&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Numbers ===&lt;br /&gt;
Liberty BASIC has only two numeric types, integers and floats.&lt;br /&gt;
&lt;br /&gt;
Integers in Liberty BASIC are kept in two formats, 31 bit (-1073741824 to 1073741823) and arbitrary length integers which are outside the range of the 31-bit integers. &lt;br /&gt;
&lt;br /&gt;
Floats in Liberty BASIC are double precision using the IEEE 754 specification.  All floating point math is done using the computer&#039;s math coprocessor (more specs later).&lt;br /&gt;
&lt;br /&gt;
Conversion between the two integer formats and floating point is automatically handled behind the scenes.  The programmer does not need to do anything.&lt;br /&gt;
&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1195</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1195"/>
		<updated>2024-01-01T03:00:05Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
:&amp;lt;small&amp;gt;&#039;&#039;Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
Here is what the same program looks like in QBasic:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
ask:&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then ask&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Numbers ===&lt;br /&gt;
Liberty BASIC has only two numeric types, integers and floats.&lt;br /&gt;
&lt;br /&gt;
Integers in Liberty BASIC are kept in two formats, 31 bit (-1073741824 to 1073741823) and arbitrary length integers which are outside the range of the 31-bit integers. &lt;br /&gt;
&lt;br /&gt;
Floats in Liberty BASIC are double precision using the IEEE 754 specification.  All floating point math is done using the computer&#039;s math coprocessor (more specs later).&lt;br /&gt;
&lt;br /&gt;
Conversion between the two integer formats and floating point is automatically handled behind the scenes.  The programmer does not need to do anything.&lt;br /&gt;
&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1194</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1194"/>
		<updated>2024-01-01T02:58:52Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
:&amp;lt;small&amp;gt;&#039;&#039;Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
Here is what the same program looks like in QBasic:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
ask:&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then ask&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Numbers ===&lt;br /&gt;
Liberty BASIC has only two numeric types, integers and floats.&lt;br /&gt;
&lt;br /&gt;
Integers in Liberty BASIC are kept in two formats, 31 bit (-1073741824 to 1073741823) and arbitrary length integers which are outside the range of the 31-bit integers. &lt;br /&gt;
&lt;br /&gt;
Floats in Liberty BASIC are double precision using the IEEE 754 specification.  All floating point math is done using the computer&#039;s math coprocessor (more specs later).&lt;br /&gt;
&lt;br /&gt;
Conversion between the two integer formats and floating point is automatically handled behind the scenes.  The programmer does not need to do anything.&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1193</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1193"/>
		<updated>2024-01-01T02:45:46Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
:&amp;lt;small&amp;gt;&#039;&#039;Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
Here is what the same program looks like in QBasic:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
ask:&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then ask&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Numbers ===&lt;br /&gt;
Liberty BASIC has only two numeric types, integers and floats.&lt;br /&gt;
&lt;br /&gt;
Integers in Liberty BASIC are kept in two formats, 31 bit (-1073741824 to 1073741823) and arbitrary length integers which are outside the range of the 31-bit integers. &lt;br /&gt;
&lt;br /&gt;
Floats in Liberty BASIC are double precision (more specs later).&lt;br /&gt;
&lt;br /&gt;
Conversion between the two integer formats and floating point is automatically handled behind the scenes.  The programmer does not need to do anything.&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1187</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1187"/>
		<updated>2023-12-31T03:55:32Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
:&amp;lt;small&amp;gt;&#039;&#039;Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
Here is what the same program looks like in QBasic:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
ask:&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then ask&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1186</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1186"/>
		<updated>2023-12-31T03:54:31Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
Here is what the same program looks like in QBasic:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
ask:&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then ask&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1185</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1185"/>
		<updated>2023-12-31T03:53:32Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
:Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.  &#039;&#039;Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
Here is what the same program looks like in QBasic:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
ask:&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then ask&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1184</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1184"/>
		<updated>2023-12-31T03:52:05Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
:Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
Here is what the same program looks like in QBasic:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
ask:&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then ask&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1183</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1183"/>
		<updated>2023-12-31T03:33:01Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
:Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters and numbers surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;[letters123]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1182</id>
		<title>Quick Start Guide</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Quick_Start_Guide&amp;diff=1182"/>
		<updated>2023-12-31T03:10:35Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: Created page with &amp;quot;== Quick Start Guide == :Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.  === Branch Labels === Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.  Branch labels are letters surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt;  So, instead of using line numb...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Guide ==&lt;br /&gt;
:Liberty BASIC has some unique features that are not in other versions of BASIC.  This section will explain these features.&lt;br /&gt;
&lt;br /&gt;
=== Branch Labels ===&lt;br /&gt;
Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.&lt;br /&gt;
&lt;br /&gt;
Branch labels are letters surrounded by square brackets, for example: &amp;lt;nowiki&amp;gt;[exampleBranchLabel]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, instead of using line numbers like so:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
10 input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
20 print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
30 input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
40 if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then 10&lt;br /&gt;
50 print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
60 end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The simplest example of this without line numbers is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot; highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
[ask]&lt;br /&gt;
    input &amp;quot;What is your name?&amp;quot;; yourName$&lt;br /&gt;
    print &amp;quot;Nice to meet you, &amp;quot;; yourName$&lt;br /&gt;
    input &amp;quot;Ask again (Y/N)&amp;quot;; yn$&lt;br /&gt;
    if yn$ = &amp;quot;Y&amp;quot; or yn$ = &amp;quot;y&amp;quot; then [ask]&lt;br /&gt;
    print &amp;quot;Bye.&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.&lt;br /&gt;
&lt;br /&gt;
==== More to come... ====&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Category:Liberty_BASIC&amp;diff=1181</id>
		<title>Category:Liberty BASIC</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Category:Liberty_BASIC&amp;diff=1181"/>
		<updated>2023-12-31T02:57:16Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__ &lt;br /&gt;
: This is a site for Liberty BASIC code, tips, and resources that &#039;&#039;&#039;any member of the community can edit&#039;&#039;&#039;. This is also an excellent place to host Liberty BASIC open source software projects.&lt;br /&gt;
&lt;br /&gt;
: This site is constantly developing - be sure to see the [[Special:RecentChanges|Recent Changes]]!&lt;br /&gt;
&lt;br /&gt;
: [[Quick Start Guide|Quick Start Guide - Tips if you&#039;re coming from another BASIC]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Main Pages]]&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Category:Liberty_BASIC&amp;diff=1180</id>
		<title>Category:Liberty BASIC</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Category:Liberty_BASIC&amp;diff=1180"/>
		<updated>2023-12-31T02:57:02Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__ &lt;br /&gt;
: This is a site for Liberty BASIC code, tips, and resources that &#039;&#039;&#039;any member of the community can edit&#039;&#039;&#039;. This is also an excellent place to host Liberty BASIC open source software projects.&lt;br /&gt;
&lt;br /&gt;
: This site is constantly developing - be sure to see the [[Special:RecentChanges|Recent Changes]]!&lt;br /&gt;
&lt;br /&gt;
[[Quick Start Guide|Quick Start Guide - Tips if you&#039;re coming from another BASIC]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Main Pages]]&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Category:Liberty_BASIC&amp;diff=1179</id>
		<title>Category:Liberty BASIC</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Category:Liberty_BASIC&amp;diff=1179"/>
		<updated>2023-12-31T02:55:53Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__ &lt;br /&gt;
: This is a site for Liberty BASIC code, tips, and resources that &#039;&#039;&#039;any member of the community can edit&#039;&#039;&#039;. This is also an excellent place to host Liberty BASIC open source software projects.&lt;br /&gt;
&lt;br /&gt;
: This site is constantly developing - be sure to see the [[Special:RecentChanges|Recent Changes]]!&lt;br /&gt;
&lt;br /&gt;
[[Liberty BASIC Quick Start|Tips if you&#039;re coming from another BASIC]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Main Pages]]&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Category:Liberty_BASIC&amp;diff=1178</id>
		<title>Category:Liberty BASIC</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Category:Liberty_BASIC&amp;diff=1178"/>
		<updated>2023-12-31T02:51:23Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: Reverted edits by CarlGundel (talk) to last revision by WikiSysop&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__ &lt;br /&gt;
: This is a site for Liberty BASIC code, tips, and resources that &#039;&#039;&#039;any member of the community can edit&#039;&#039;&#039;. This is also an excellent place to host Liberty BASIC open source software projects.&lt;br /&gt;
&lt;br /&gt;
: This site is constantly developing - be sure to see the [[Special:RecentChanges|Recent Changes]]!&lt;br /&gt;
&lt;br /&gt;
==About this Site== &lt;br /&gt;
: This Wiki site was created and is managed by the moderators of the [https://libertybasiccom.proboards.com/ Liberty BASIC Community Forum] to provide a place for Liberty BASIC programmers to meet, support one another, exchange ideas and share the wealth of knowledge that exists. Join us and help form a community! Everybody can read the content on the site, but it can be edited only by members.&lt;br /&gt;
&lt;br /&gt;
: Public pages can be edited by all members. We ask that members refrain from changing the member pages of other members. Instead, use the &#039;&#039;&#039;discussion&#039;&#039;&#039; feature to comment, suggest changes, etc. Please leave the main page editing to the organizers. Thanks!&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span style=&amp;quot;color: #ff0000;&amp;quot;&amp;gt;For general discussion register at the [https://libertybasiccom.proboards.com/ Liberty BASIC Community Forum]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joining== &lt;br /&gt;
: If you&#039;d like to join the site, click the &#039;&#039;&amp;quot;Create account&amp;quot;&#039;&#039; link in the top right corner of this page, or click [[Special:CreateAccount|HERE]]. One of the organizers will need to approve your application, and then you&#039;re good to go! You&#039;ll need to create a username. Please consider using a name, rather than a nickname. See [http://www.usemod.com/cgi-bin/mb.pl?UseRealNames Using Real Names on Wikis]&lt;br /&gt;
&lt;br /&gt;
: Once you&#039;ve joined, feel free to create a page for yourself at the [[:Category:Liberty BASIC Member Pages|Member Pages]]. Use your page to act as a launch pad for all of your other pages on the site. Feel free to create pages to share code, write tips and information, tell us about yourself, and have fun!&lt;br /&gt;
&lt;br /&gt;
==What is a Wiki?== &lt;br /&gt;
: Have a look at the [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] home page to learn about Wikis. A Wiki is a site that can be edited by everybody. You can modify existing pages or create new ones. You can upload files and pictures. You can comment on pages by clicking the &#039;&#039;discussion&#039;&#039; link at the top of any page.&lt;br /&gt;
&lt;br /&gt;
: To learn how to use WikiText markup to edit site content, click [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents HERE]. You don&#039;t need to know WikiText, though. Just modify your settings so that you use the visual page editor! If you want to try some editing in a safe place where you can do no harm, play in the Sandbox at the top right corner of each page.&lt;br /&gt;
&lt;br /&gt;
[[Category:Main Pages]]&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Category:Liberty_BASIC&amp;diff=1177</id>
		<title>Category:Liberty BASIC</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Category:Liberty_BASIC&amp;diff=1177"/>
		<updated>2023-12-31T02:51:01Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__ &lt;br /&gt;
: This is a site for Liberty BASIC code, tips, and resources that &#039;&#039;&#039;any member of the community can edit&#039;&#039;&#039;. This is also an excellent place to host Liberty BASIC open source software projects.&lt;br /&gt;
&lt;br /&gt;
: This site is constantly developing - be sure to see the [[Special:RecentChanges|Recent Changes]]!&lt;br /&gt;
&lt;br /&gt;
[Liberty BASIC Quick Start|Tips if you&#039;re coming from another BASIC]&lt;br /&gt;
&lt;br /&gt;
[[Category:Main Pages]]&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Main_Page&amp;diff=1176</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Main_Page&amp;diff=1176"/>
		<updated>2023-12-31T01:28:30Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: Changed the link description for the LB, JB and RB web sites so that they clearly mention web sites and not pages on this wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Getting started ==&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&amp;lt;br&amp;gt;&lt;br /&gt;
Also see the [[Help:Formatting|additional formatting help]] for wiki markup not covered by the general user&#039;s guide.&amp;lt;br&amp;gt;&lt;br /&gt;
If it is your first time to write technical documentation, see the article [[Help:How to Write Well|How to Write Well]] for a wrap-up of technical documentation writing.&lt;br /&gt;
&lt;br /&gt;
== Purpose of this wiki ==&lt;br /&gt;
This wiki contains information regarding the various Shoptalk System development languages.&lt;br /&gt;
:{|&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [https://www.libertybasic.com/ Liberty BASIC web site]&lt;br /&gt;
| Easy programming for the Windows desktop&amp;lt;br&amp;gt;The next main release, currently in alpha testing, will also support Mac OS X, Linux and Raspberry Pi&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.justbasic.com/ Just BASIC web site]&lt;br /&gt;
| Free easy programming for the Windows desktop&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.runbasic.com/ Run BASIC web site]&lt;br /&gt;
| Easy and pain free web programming for Windows, Mac OS X and Linux&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Additional Information ==&lt;br /&gt;
The [[:Category:Programmers Encyclopedia|Programmers Encyclopedia]] categories contain code examples for various aspects of the development languages.&amp;lt;br&amp;gt;&lt;br /&gt;
: These fully functional code snippets have been collected over the years by the communities.&lt;br /&gt;
&lt;br /&gt;
The [[:Category:Building Blocks|Building Blocks]] categories contain short code examples for each aspect of the development languages.&amp;lt;br&amp;gt;&lt;br /&gt;
: There are also useful functions included, that the users created over the years.&lt;br /&gt;
&lt;br /&gt;
The [[:Category:Bug Tracker|Bug Tracker]] contains bug reports collected from the various forums of the development languages.&lt;br /&gt;
* [https://libertybasiccom.proboards.com/ Liberty BASIC Community Forum]&lt;br /&gt;
* [https://justbasiccom.proboards.com/ Just BASIC Community Forum]&lt;br /&gt;
* [https://runbasic.proboards.com/ Run BASIC Community Forum]&lt;br /&gt;
&lt;br /&gt;
[[Category:Main Pages]]&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Jumping_out_of_a_nested_FOR_loop_gives_unexpected_results&amp;diff=1164</id>
		<title>Jumping out of a nested FOR loop gives unexpected results</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Jumping_out_of_a_nested_FOR_loop_gives_unexpected_results&amp;diff=1164"/>
		<updated>2023-11-19T22:58:22Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
Jumping out of a FOR loop is bad practice because it causes a memory leak, but in the case of nested loops it can also give strange results.  Specifically, the loop variable seems not to be reset to the initial value when the FOR is executed again.&lt;br /&gt;
&lt;br /&gt;
==Example code to demonstrate the bug.==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot;&amp;gt;&lt;br /&gt;
    for y = 1 to 3&lt;br /&gt;
      for x = 1 to 5&lt;br /&gt;
        if x = 4 then goto [skip]&lt;br /&gt;
        print x, y&lt;br /&gt;
      next x&lt;br /&gt;
    [skip]&lt;br /&gt;
    next y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expected output from this program is:&lt;br /&gt;
&amp;lt;pre&amp;gt;1             1&lt;br /&gt;
2             1&lt;br /&gt;
3             1&lt;br /&gt;
1             2&lt;br /&gt;
2             2&lt;br /&gt;
3             2&lt;br /&gt;
1             3&lt;br /&gt;
2             3&lt;br /&gt;
3             3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
but the actual output is:&lt;br /&gt;
&amp;lt;pre&amp;gt;1             1&lt;br /&gt;
2             1&lt;br /&gt;
3             1&lt;br /&gt;
5             1&lt;br /&gt;
1             2&lt;br /&gt;
2             2&lt;br /&gt;
3             2&lt;br /&gt;
5             2&lt;br /&gt;
1             3&lt;br /&gt;
2             3&lt;br /&gt;
3             3&lt;br /&gt;
5             3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
One would not expect &#039;&#039;&#039;x&#039;&#039;&#039; ever to have the value &#039;&#039;&#039;5&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
==Example code to work around the bug.==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot;&amp;gt;&lt;br /&gt;
    for y = 1 to 3&lt;br /&gt;
      for x = 1 to 5&lt;br /&gt;
        if x = 4 then exit for&lt;br /&gt;
        print x, y&lt;br /&gt;
      next x&lt;br /&gt;
    next y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other versions of Liberty BASIC&lt;br /&gt;
This &#039;bug&#039; does not exist in Liberty BASIC 5 or in Run BASIC.  You can jump out of a FOR/NEXT loop in those versions without issues.&lt;br /&gt;
&lt;br /&gt;
[[Category:Bug Tracker]]&lt;br /&gt;
[[Category:NoBug Bug Reports]]&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
	<entry>
		<id>http://libertybasicfamily.info/wiki/index.php?title=Jumping_out_of_a_nested_FOR_loop_gives_unexpected_results&amp;diff=1163</id>
		<title>Jumping out of a nested FOR loop gives unexpected results</title>
		<link rel="alternate" type="text/html" href="http://libertybasicfamily.info/wiki/index.php?title=Jumping_out_of_a_nested_FOR_loop_gives_unexpected_results&amp;diff=1163"/>
		<updated>2023-11-19T22:57:15Z</updated>

		<summary type="html">&lt;p&gt;CarlGundel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
Jumping out of a FOR loop is bad practice because it causes a memory leak, but in the case of nested loops it can also give strange results.  Specifically, the loop variable seems not to be reset to the initial value when the FOR is executed again.&lt;br /&gt;
&lt;br /&gt;
==Example code to demonstrate the bug.==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot;&amp;gt;&lt;br /&gt;
    for y = 1 to 3&lt;br /&gt;
      for x = 1 to 5&lt;br /&gt;
        if x = 4 then goto [skip]&lt;br /&gt;
        print x, y&lt;br /&gt;
      next x&lt;br /&gt;
    [skip]&lt;br /&gt;
    next y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expected output from this program is:&lt;br /&gt;
&amp;lt;pre&amp;gt;1             1&lt;br /&gt;
2             1&lt;br /&gt;
3             1&lt;br /&gt;
1             2&lt;br /&gt;
2             2&lt;br /&gt;
3             2&lt;br /&gt;
1             3&lt;br /&gt;
2             3&lt;br /&gt;
3             3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
but the actual output is:&lt;br /&gt;
&amp;lt;pre&amp;gt;1             1&lt;br /&gt;
2             1&lt;br /&gt;
3             1&lt;br /&gt;
5             1&lt;br /&gt;
1             2&lt;br /&gt;
2             2&lt;br /&gt;
3             2&lt;br /&gt;
5             2&lt;br /&gt;
1             3&lt;br /&gt;
2             3&lt;br /&gt;
3             3&lt;br /&gt;
5             3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
One would not expect &#039;&#039;&#039;x&#039;&#039;&#039; ever to have the value &#039;&#039;&#039;5&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
==Example code to work around the bug.==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lb&amp;quot;&amp;gt;&lt;br /&gt;
    for y = 1 to 3&lt;br /&gt;
      for x = 1 to 5&lt;br /&gt;
        if x = 4 then exit for&lt;br /&gt;
        print x, y&lt;br /&gt;
      next x&lt;br /&gt;
    next y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Other versions of Liberty BASIC&lt;br /&gt;
This &#039;bug&#039; does not exist in Liberty BASIC 5 or in Run BASIC.  You can jump out of a FOR/NEXT loop in those versions without issues.&lt;br /&gt;
&lt;br /&gt;
[[Category:Bug Tracker]]&lt;br /&gt;
[[Category:NoBug Bug Reports]]&lt;/div&gt;</summary>
		<author><name>CarlGundel</name></author>
	</entry>
</feed>