Hello! What follows is a line-by-line discussion of Inform 10.1.2’s Standard Rules and Basic Inform extensions (sometimes referred to as “SR” and “BI”).
What is Basic Inform?
“Basic Inform, included in every project, defines the basic framework of Inform as a programming language.”
Basic Inform contains, among other things, the phrases and definitions that we use to make Inform programs. While these phrases and definitions are in recognizable natural language, they typically refer to Inform 6 code.
What are the Standard Rules?
According to Writing with Inform,
"The ‘Standard Rules’ file contains the definitions of the basic kinds, phrases, actions and grammar described in this documentation: for instance, it includes lines like
A container is a kind of thing.
…without which Inform would be lost. Although including the Standard Rules is compulsory, it is treated internally as if it were any other ‘extension’.
Together, Basic Inform and the Standard Rules are the foundation upon which Inform projects are built. While it might be hard to understand all of it, studying it will help us grow as Inform authors.
We will look at both of them here, section by section. Hopefully, the combined knowledge of this forum will illuminate all of its corners. Along the way, we might have a bit of fun sharing our understanding and experience.
How will this work?
In every post, I’ll choose an excerpt for us to discuss, writing every post. I’ll make corrections and tweaks as we go. Leaving a day or so between posts to give posters a chance to comment seems best.
I am not an Inform expert. It is all but certain that I will misunderstand something or find myself stumped. Please, please, please correct, advise, and expand whenever you see fit. My goal is to finish this process with a thread other authors can benefit from. My priorities are accuracy and legibility.
We will use the HTML source files. They are shared here:
It may be desirable to refer to other source files. Kits, for instance, are sometimes mentioned. While the Inform code they refer to might be hard to follow, the comments can be illuminating.
Inform Source Documentation Page
It will often be beneficial to reference Writing with Inform, also known as the “docs.” I use Zed Lopez’s version, which is quite legible and helpfully includes Borogove and Quixe links with Inform’s documented examples.
A final note
As Zed observes, the lines between Standard and Basic inform are not always clear. Some elements are not where we expect, and while we have incredible resources at hand (this forum, for instance), we will not, at the end of this thread, have arrived an Inform “theory of everything.” This thread advises authors that tinkering with these two extensions may produce poor results. It’s worth having a look at this section of Writing with Inform, also recommended by Zed, which contains Graham Nelson’s thoughts on the linkage between i6 and Inform. It further contains a warning:
Any i6-related syntax which is not documented in this chapter may be removed or changed in effect at any time without warning, for instance in an update of Inform to fix bugs.
While Inform tries to maintain project compatibility between versions when possible (it isn’t always so!), authors experimenting with Basic Inform should not expect painless upgrades.
Looking forward
Itinerary:
Basic Inform: PreambleStandard Rules: PreambleBasic Inform: Miscellaneous Definitions- Standard Rules: Physical World Model
- Standard Rules: Variables and Rulebooks
- Standard Rules: Activities
- Standard Rules: Actions
- Standard Rules: Command Grammar
- Basic Inform: Phrase Definitions
- Basic Inform: Adjectival Definitions
- Standard Rules: Phrase Definitions
We will begin with the Preamble, which is markedly not made up of the natural language that we beginners have come to learn. It’s a good way for us to jump into the deep water!
Table of Contents
- Introducing Basic Inform
- Interlude: testing applications of the
TO BEmeaning in Baisc Inform - Basic Inform: Preamble, Part 2
- Basic Inform: Preamble, Part 3
- Basic Inform: Preamble, Part 4
- Standard Rules: Preamble
- Interlude: simple projects using BI and SR
- Basic Inform: Miscellaneous Definitions
- Standard Rules: Physical World Model
- Standard Rules: Physical World Model 2
- Standard Rules: Physical World Model 3
- Standard Rules: Physical World Model 4