我应该用什么实现Forth来学习Forth?

Pet*_*ler 19 ide forth

我想开始学习Forth(比如相关的Stack Overflow问题,学习和使用Forth是否实用?).我看到有很多实现.我想用一个

  • ANS 1994兼容版本(如果合理,但坚持标准可能会很好)
  • 小而紧凑的实现,我不想要一个完整的操作系统.
  • 视窗
  • 好用,我是Forth的新手;-)

可以推荐什么特定的实现?

小智 13

如上所述,Win32Forth非常棒.它有一个很好的集成开发环境,是一个非常现代的实现,似乎与标准非常匹配,包括一些更实验但广泛接受的功能.

我使用Gforth,但我也使用Vim编辑源文件.:)就其支持的功能而言,Gforth是好的和"经典的".它为您提供了一个非常"老派"的Forth体验,而不会过于古怪.(一些免费的Forth用他们的命令行做奇怪的事情 - 我使用Brodie的"Starting Forth"作为Forth解释器应该如何表现的模型.)

我看了一下SwiftForth,它是一个非常好的"高科技"Forth系统,远远超出了经典的Forths在语言功能方面提供的功能,并且真正将Forth带入现代编程世界.如果你想真正专业地做Forth程序,SwiftForth看起来它可以处理你想用它做的任何事情.


Pet*_*sen 8

前段时间我评估了4tH,这是Forth的一个实现.我认为它符合您的所有要求.例如,编译器只有61 KB.还有对浮点数的完全支持,如果您想尝试将其用于技术/科学目的,则非常重要.

4tH可在大多数操作系统上运行,包括MS-DOS,MS-Windows(16位和32位),Linux,Coherent,AIX,SunOS,BOS,BSD,Mac OS X,BeOS,RISC OS等.下载(Windows安装程序,1.5 MB,包括手册).手册(PDF,1.1 MB).

有一个以Google Group 4tH编译器为中心的活跃社区.例如,今天我收到了两条消息.

请注意,在4tH中,您无法定义自己的定义单词(在编译时执行的单词).除非您想要涵盖高级Forth功能,否则这不是一个严重的限制.


让你开始(因为这是无法从手动或交互编译很清楚),安装后复制编译器4th.exe,到一个空文件夹,使两个文件在此目录中,HelloWorld.batHelloWorld.4th和运行HelloWorld.bat:

HelloWorld.bat:

    4th.exe cx HelloWorld.4th
    pause
Run Code Online (Sandbox Code Playgroud)

HelloWorld.4th:

   : hello ." Hello from XYZ!" cr cr ;
   hello
Run Code Online (Sandbox Code Playgroud)