txt: ## intro.md
  Brief introduction
  
  Using Raku official documentation
  
  This official documentation covers a variety of presentation styles. See the main </introduction> and </reference> pages for a list of documents in the following styles.
  
  * Raku has a high level of [unicode support](/language/unicode), including many unicode operators. While this may be daunting for those coming from an ASCII background, we have some [help](/language/unicode#Entering_unicode_codepoints_and_codepoint_sequences) introducing users to how to use it in your program. Finally, if you would really prefer to use ASCII, you can in [most cases](/language/unicode_ascii).
  * For programmers with experience in other languages, there are a number of **Migration Guides** that compare and contrast the features of Raku with other languages, including Perl, JavaScript, and Haskell.
  * [`Signatures`](/type/Signature) - Each routine, which includes subroutines and methods, has a signature. Understanding the information given in the signature of a `sub` or `method` provides a quick way to grasp the operation and effect of the routine, and if provided in the signature, this may not be called out explicitly in the text.
  * [`Containers`](/language/containers) - Variables, which are like the nouns of a computer language, are containers in which information is stored. The first letter in the formal name of a container, such as the `$` of `$my-variable`, or `@` of `@an-array-of-things`, or `%` of `%the-scores-in-the-competition`, conveys information about the container. It should be noted, however, that you can store an [`Array`](/type/Array) in a `$` container and treat it as a single object.
  * [`Classes and Roles`](/language/classtut) - Raku is fundamentally based on objects, which are described in terms of classes and roles. Raku, unlike some languages, does not **impose** object-oriented programming practices, and useful programs can be written in a procedural style. However, complex software, such as the Rakudo compiler of Raku, is made much simpler by writing in object-oriented idioms, which is why the Raku documentation is more easily understood by reviewing what a class is and what a role is.
  * [`Traps to Avoid`](/language/traps) - Several common assumptions lead to code that does not work as the programmer intended. This section identifies some of them.
  * There are a number of [`useful resources`](https://raku.org/resources) listed on the raku.org site. These include articles, books, slide presentations, and videos.
  