# Syntax 101

**JM-**'s Syntax is characterized by the facts that it *mixes* 2 programming languages:\
**C** and **C++** and is also [*edgy af*](https://www.urbandictionary.com/define.php?term=edgy).

<figure><img src="https://560939383-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFHN1z3VqR1ZzKSMrPQF7%2Fuploads%2F48wdA0MvfF9uDew0WA7f%2Fimage.png?alt=media&#x26;token=5ceee8a9-dfef-41c2-b7ca-22cebb3314a4" alt=""><figcaption><p>They omitted the "..and fucks a lot of stuff up while doing that"<br>(Source: <a href="https://github.com/maxwastakenyt/jmdash">JM-'s GitHub repository</a>)</p></figcaption></figure>

### The Incest Rule

The Incest Rule is a principle of **JM-**'s Syntax that reads:

*"Every function has the ability of using and creating other functions inside of its body to achieve its goal."*&#x20;

So technically speaking you could `#def`ine an empty function and use it as\
C-like languages' `main()`.\
\&#xNAN;**\*Important sidenote**: This *kinda* issue has been addressed in the [PIDD](https://jmdash.gitbook.io/jmdash-docs/design-documents/the-post-idd).

<figure><img src="https://560939383-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFHN1z3VqR1ZzKSMrPQF7%2Fuploads%2FXWzibJ7AnLUAtMxpGcsf%2Fimage.png?alt=media&#x26;token=996cbde1-9db2-4d2d-b584-cb448dad8904" alt=""><figcaption><p>An example of The Incest Rule being applied to<br>create multiple nested or "incested" <code>con.out{}</code> functions</p></figcaption></figure>

### Important note

All of the informations regarding JM-'s Syntax that you will find in this documentation are based on the Initial Design Documents: [IDD](https://jmdash.gitbook.io/jmdash-docs/design-documents/initdesidocu), [IDoLD](https://jmdash.gitbook.io/jmdash-docs/design-documents/initial-design-of-libraries-document), [IDoEHD](https://jmdash.gitbook.io/jmdash-docs/design-documents/initial-design-of-error-handling-document) and every other [Design Document](https://jmdash.gitbook.io/jmdash-docs/design-documents) like the [PIDD](https://jmdash.gitbook.io/jmdash-docs/design-documents/the-post-idd) and their [revis](https://jmdash.gitbook.io/jmdash-docs/design-documents/the-pidds-first-revision)[ions](https://jmdash.gitbook.io/jmdash-docs/design-documents/the-pidds-second-revision)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jmdash.gitbook.io/jmdash-docs/jmbasics/syntax101.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
