FileMakerにも予約語はあって、ここに解説がかいてあります。

使用できないというより、使用できるけどエスケープされるよという事のようです。

ただ、変数名で使おうとするとちょっと変な事が起きたので、メモを。

コード

今回気づいたのは、Letの変数です。

Let ( 
  [
    aa = Time ( 0 ; 0 ; 0 ); 
    bb =Time ( 0 ; 0 ; 0 )
  ] ; 

  aa + bb
)

これは通るけれど、

Let ( 
  [
    time = Time ( 0 ; 0 ; 0 ); 
    bb =Time ( 0 ; 0 ; 0 )
  ] ; 

  time + bb
)

これは、エラーが起きて通らない。変数timeがTime関数と名前が被っているからだと思います。
ところが、

Let ( 
  time = Time ( 0 ; 0 ; 0 );
  time
)

これは通るんですよね。ついでに、

Let ( 
  [
    aa = Time ( 0 ; 0 ; 0 ); 
    time =Time ( 0 ; 0 ; 0 )
  ] ; 
 
  aa + time
)

これも通る。おまけに、

Let ( 
  [
    $time = Time ( 0 ; 0 ; 0 ); 
    bb =Time ( 0 ; 0 ; 0 )
  ] ; 
 
  $time + bb
)

こうしても通る。

まとめ

  1. Let関数の中の
  2. 変数の設定で
  3. ローカル変数($)やグローバル変数($$)ではなく、Let変数として宣言して
  4. 変数名と関数名が被り
  5. その後に別の変数の宣言が続く

という条件を満たしていると、エラーが起きるようです。

ローカル変数扱いにすれば問題ないですが、スコープの問題もあるようなので、被らないようにしたほうが良いと思います。

ここまでかいてなんですが、「これ予約語と関係あるのかな?」とも思わなくもないです。