kinds of value vs the docs

I am trying to do a simple thing. I even copied it directly from the docs, and it gets an error. What gives? From section with 4.9.

Brightness is a kind of value. The brightnesses are guttering, weak, radiant and blazing.
The lantern has a brightness. The lantern is blazing.

Here is my code

A job posting is a readable thing on the job board. 
Status is a kind of value. The Statuses are accepted, pending, or unaccepted.
A job posting has a status. The job posting is unaccepted.

To me they are identical, but I get the error
Problem: The sentence ‘The job posting is unaccepted’ appears to say two things are the same - I am reading ‘job posting’ and ‘unaccepted’ as two different things, and therefore it makes no sense to say that one is the other…

Have you defined “job posting” as a kind of thing somewhere else?

No, everything compiles fine until I put in the status kind of value. I did a search on job posting just to make sure.

I thought maybe Status was duplicated, since I have some Status Line stuff. Changed the name, but got the same error.

It seems that unaccepted is not received as a legit value. Could the parser be confused since it looks like an either/or property?

This is incorrect, see below

Aha! Okay, the issue isn’t actually with “unaccepted”—it’s with “pending”. Inform gets confused sometimes when adjectives end in -ing. (It’s okay with nouns, so you can have a ring or a posting, but an object can’t be pending.)

This compiles:

Lab is a room. A job board is a thing in the Lab. A thing can be readable.

A job posting is a readable thing on the job board. 
Status is a kind of value. The Statuses are accepted and unaccepted.
The job posting has a status. The job posting is unaccepted.

This doesn’t:

Lab is a room. A job board is a thing in the Lab. A thing can be readable.

A job posting is a readable thing on the job board. 
Status is a kind of value. The Statuses are accepted, pending, and unaccepted.
The job posting has a status. The job posting is unaccepted.

Yes, but you have moved from kinds of values into either/or properties. I need three states. I’ll try a different word…

Nope. I changed pending to pended and got the unaccepted error again.

Aha! I changed the status to X, Y, and Z; and it compiled. I think accepted or unaccepted are reserved words. I had this problem with ‘empty’ also.

This works for me:

Lab is a room. A job board is a thing in the Lab. A thing can be readable.

A job posting is a readable thing on the job board. 
Status is a kind of value. The Statuses are accepted, pended, and unaccepted.
The job posting has a status. The job posting is unaccepted.

You may be using some of these terms elsewhere in your project.

You wrote:

The Statuses are accepted, pending, or unaccepted.

The correct syntax is:

The Statuses are accepted, pending, and unaccepted.

1 Like

That didn’t work either, but thanks for trying.

Here’s what I got to work:

Status is a kind of value. The statuses are offered, in-progress, and taken.
A job posting has a status. The status of job posting is offered. 

Aha! You are correct; I must have accidentally fixed that while writing my version.

Yes, that is the real problem. I edited my earlier post.

1 Like

I was able to compile both (or and and) successfully.

It seems the doc should give a warning about reserved words, and when not to use them. :frowning:

Pretty sure the code they showed defines it as a single, unique thing:

A job posting is a readable thing on the job board. 

That defines it as a thing and places it on a supporter called “the job board”.

I’m mentioning this because the phrasing (“a job posting”) suggests that this may not have been the intent.

Right, I was asking if they’ve also defined it as a kind of thing elsewhere, which would confuse the compiler.

1 Like

The job posting is a piece of paper that is readable.
I’m not sure what you thought it might be.
It tells the player to go somewhere to inquire about a job.

A job posting is a readable thing on the job board. 

This makes a single thing called a job posting.

A job posting has a status. The job posting is unaccepted.

This acts as if there is a kind called a job posting. Do you want multiple job postings on the job board??

It’s just that using the indefinite article suggests that you might have intended to have more than one of them; but it doesn’t really matter either way. If there’s only one and you only need one, then there’s no problem.

What about it acts as if it’s a kind? You can give properties to individual objects.

I meant what you said, that it seems to suggest that they wanted multiple objects. If it were one job posting, I would say The job posting has a status.. But you’re right—you can give properties to things without kinds.

Eventually. Currently, there is only one.

Why does it seem like/acts like there is a kind? I would have said A job posting is a kind of readable thing.

One can give properties to kinds or to individual objects. The properties of a kind trickle down to apply to the objects of that kind.

Like Celtic said, the indefinite article suggested you might have wanted a kind. I understand now that your code matches your intention.

2 Likes