Immense programming language differences

I was recently playing around with Inform 7 and wanted to try removing the option to use “all” on all verbs. But it turned out to be much more difficult than I thought.
Now, I was really surprised with this because in ZIL it requires just removing or adding the word MANY in the syntax definitions. So it seemed strange, considering they began from the same language - the z-machine.

Are there any like this in different languages that are like, very complicated in one language and really easy in another, or just different?

2 Likes

out of curiosity, what method for disabling “all” did you arrive at?

2 Likes

None in the end (I gave up on Inform) but looking it up I remember a lot of Inform 6 code and a lot of complicated stuff. I also checked for adding all to a verb, and it was still quite complicated.

3 Likes

Ah, yeah. At first I thought I could do something trashy like this

rule for deciding whether all includes something: it does not.

The parser nothing error internal rule response (B) is "Please designate a specific noun.".

It worked more than I expected, but less than enough. :frowning: oh, well

3 Likes

The Z-machine is entirely agnostic about parsing. Inform and ZIL have completely unrelated parsers.

However, the latest I7 release does support removing 'all' from the parser, although it’s a bit obtuse:

Include (- Constant ALL1__WD = ','; -) replacing "ALL1__WD".

If you were doing this for real, you’d also want to deal with 'each', 'every', 'everything', and 'both'.

(This was harder in I7 release 9.x and earlier. Easier in I6, but only because I6 expected you to hack the library as a matter of course.)

6 Likes

Interesting! That’s cool. Now it’s just about adding “all” to an object easily. I wonder what other things are like this?

2 Likes

Bookmarked! That’s a useful addition, thank you very much!

3 Likes

This is cool! But really, from a player’s point of view, please authors don’t disallow DROP ALL and TAKE ALL, they’re handier than you’d imagine. So that means the only standard verb one needs to mess with is inserting it into, I believe.

6 Likes

Yes. unless you’re Eat Me where you don’t need to take, or To Sea In A Sieve where it’s the whole game. But I definitely agree, otherwise, it’s so annoying not to be able to.

4 Likes

Says the reviewer looking to see if they can pocket the sun or drop their hands. :wink:

6 Likes
Meadow
The sun is shining brightly in the sky.
You can see a sausage here.
>i
You are carrying:
  Not a sausage.
>get all
meadow: Taken.
sun: Taken.
sky: Taken.
sausage: The sausage and not a sausage annihilate each other.
>i
You are carrying:
  a meadow.
  a sun.
  a sky.
>look
>
13 Likes

I would legit play this game.

4 Likes

Absolutely.

I’m vaguely reminded of The Impossible Bottle…

1 Like

My gosh this never ends… Added to seed list. But I defintely want to take it to extremes then. Be warned.

3 Likes

You forgot the lantern. There I fixed it for you:

Meadow
The sun is shining brightly in the sky.
You can see a sausage and a lantern here.
>i
You are carrying:
  Not a sausage.
>get all
meadow: Taken.
sun: Taken.
sky: Taken.
sausage: The sausage and not a sausage annihilate each other.
lantern: That's hardly portable.
>i
You are carrying:
  a meadow.
  a sun.
  a sky.
>look
You can see a lantern here.
>
5 Likes

What about LICK ALL?

6 Likes

This is the funniest thing I’ve read all day. :rofl:

4 Likes

one thing I noticed in tads3 is it’s very easy to modify the player character entity from the get-go. rename them, reference them with their name and/or pronouns, change the game pov to 1st, 2nd, or 3rd when referring to them in a consistent way using 1-3 lines of code at minimum

adv3

me: Actor 'martha/woman*women' 'Martha'
 isProperName = true
isHer = true
# below line is not necessary for the above to work
pcReferralPerson = ThirdPerson

adv3lite

me: Actor 'Martha;; woman; her'
# below line is not necessary for the above to work
person = 3
;

I don’t know how easily inform does this but considering the bugs I’ve seen in inform games where I can x me but x martha or x her will get a default error message (assuming the player character is established to be named Martha with she/her pronouns), as if that is something that needs to be separately considered seems to indicate this is less simple.

4 Likes

not 100% the same but have you all heard of For a Change?

6 Likes

Brilliant classic. Strangely vague but strongly evocative use of language.

Must-play.

5 Likes