Intrigued, I did some googling and found this God-forgotten FTP :) 
ftp:&#x2F;&#x2F;ftp.chatnfiles.com&#x2F;Simtel-CDroms&#x2F;Simtel-for-Ms-Dos-march-97-2-of-2&#x2F;disc2&#x2F;misclang&#x2F;00_index.htm - jorf21_3.zip contains a manual :)<p>Some interesting constructs &#x2F; keywords, eg.<p><pre><code>    For (Col = 0 thru 4) | Display B Music 5 times
</code></pre>
And some insights:<p><pre><code>          The Windows culture is the culture of the WinProc; programs
          dominated by massive unstructured switch statements that handle
          esoteric message flags. As different products convert to Windows,
          they unquestioningly adopt the WinProc culture.  BASIC, the
          language for the beginner, becomes Visual Basic, a language for
          precious few.  C programs become full of global values.  

          MS-Windows is so complicated that not even full time programmers
          can learn every command and every subsystem.  This leaves no time
          for Windows programmers to learn about their customers.  They are
          doomed to write programs that cannot meet the particular needs of
          these customer.  The legacy of Windows threatens to be like the
          legacy of UNIX; expensive techies, weak programs.
</code></pre>
And design approaches:<p><pre><code>                                  Memory Management

          Why is it my fault when my computer runs out of memory?  It is
          not my memory, why is it my fault?   Why do I have to &quot;Open&quot; a
          file just to read data from it?  What exactly is &quot;Opening&quot;?  Why
          can&#x27;t I have two records available at the same time? 

          The JORF language handles its own memory, and your reward is
          freedom to allocate large structures, arrays and text.  The JORF
          memory can flush variables, methods, windows, internal values,
          and even the program stack to disk whenever memory gets scarce. 
          Data is read from file when you reference it, so there is no need
          to &quot;Read&quot; it, and no difference between a &quot;memory variable&quot; and a
          field in a record.</code></pre>