Какую реализацию Forth использовать для обучения Forth?

Я хочу начать учиться далее (как в соответствующем вопросе переполнения стека практично ли учиться и использовать вперед?). Я вижу, что есть много реализаций. Я хотел бы использовать

  • ANS 1994 совместимая версия (если разумно, но придерживаться стандарта может быть хорошо)
  • малая и компактная реализация, я не хочу полного ОС.
  • Windows
  • простота в использовании, я новичок в Forth ; -)

какую конкретную реализацию можно рекомендовать?

7 ответов


Win32Forth - это действительно фантастический, как упоминалось выше. Он имеет хорошую интегрированную среду разработки и является довольно современной реализацией, которая, по-видимому, очень хорошо соответствует стандартам, а также включает в себя некоторые более экспериментальные, но широко принятые функции.

Я использую Gforth, но я также использовать Vim для редактирования исходных файлов. :) Gforth хорошо и "классический" насколько функции он поддерживает. Это дает вам очень " старую школу" Далее опыт, не будучи чрезмерно изворотливым, чтобы использовать. (Некоторые свободные форты делают странные вещи со своими командными строками и тому подобное - я использую "начало" Броуди как модель поведения четвертого интерпретатора.)

Я посмотрел на SwiftForth, которая является очень хорошей" высокотехнологичной " системой, которая выходит далеко за рамки того, что предлагают классические Forths с точки зрения языковых функций и действительно приносит в современный мир программирования. Если вы хотите на самом деле делать далее программы профессионально, SwiftForth выглядит так, как будто он может справиться практически со всем, что вы хотите с ним сделать.


некоторое время назад я оценил 4-й реализация далее. Я думаю, что он отвечает всем ваше пожелание. Например, компилятор лишь 61 КБ. Существует также полная поддержка чисел с плавающей запятой, что важно, если вы хотите попробуйте использовать его в технических / научных целях.

4tH работает на большинстве операционных систем, включая MS-DOS, MS-Windows (как 16 бит, так и 32 бит), Linux,последовательный, экс, в SunOS, ЛС, BSD, Mac OS X,BeOS, RISC OS, etc. скачать (установщик Windows, 1.5 Мб, включает в себя инструкцию). руководство (PDF, 1.1 MB).

существует активное сообщество, сосредоточенное вокруг группы Google 4-й-компилятор. Например, сегодня я получил два сообщения.

обратите внимание, что в 4tH вы не можете определить свои собственные определяющие слова (слова, выполняемые при компиляции время.) Это несерьезно. ограничение, если вы не хотите охватывать расширенные функции Forth.


чтобы начать работу (поскольку это не очень ясно из руководства или интерактивной компиляции), после установки скопируйте компилятор, 4th.exe, в пустую папку, сделайте два файла в этом каталоге,HelloWorld.bat и HelloWorld.4th, и запустить HelloWorld.летучая мышь:

файл HelloWorld.летучая мышь:

    4th.exe cx HelloWorld.4th
    pause

файл HelloWorld.4-й:

   : hello ." Hello from XYZ!" cr cr ;
   hello

SwiftForth. Это не самосознательно маленький и компактный;это просто случается. Он прост в использовании (найдите WH EDIT , лучше, чем обычные слова), поставляется с двумя книгами и имеет отличный список рассылки с более чем десятилетним архивом. Оценочная версия не позволит вам компилировать готовые приложения или библиотеки DLL; она по-прежнему обеспечивает отличную консоль для студента и может поддерживать скрипты обычными способами. Быстрые примеры окна:

: sleep-monitor ( -- )
  HWND_BROADCAST WM_SYSCOMMAND SC_MONITORPOWER 2 SendMessage drop ;


library dnsapi.dll
( ... DLL imports, constants ... )
variable results
: DnsQuery ( z -- res )
  DNS_TYPE_A 0 NULL results NULL DnsQuery_UTF8 ;

: resolves? ( z -- f )
  DnsQuery if false exit then
  results @ DnsRecordListFree true ;


\ an example use of the dialog compiler
\ this compiled DSL is an example of something that 4th
\ precludes with its "not ... serious limitation"
DIALOG (HELLO-ABOUT)
[MODELESS " About Hello" 10 10 120 70
   (FONT 8, MS Sans Serif) ]
\  [class           text                        id   x   y   sx xy ]

   [CTEXT           " HELLO"                    -1  10  10  100 10 ]
   [CTEXT           " (C) 1997 Forth, Inc."     -1  10  25  100 10 ]
   [CTEXT           " http://www.forth.com"     -1  10  35  100 10 ]
   [DEFPUSHBUTTON   " OK"                     IDOK  35  50   50 14 ]
END-DIALOG

Я понимаю, что они могут не отвечать всем вашим требованиям, но следующие далее, как языки могут также заинтересовать вас с точки зрения обучения.

кроме того, я нашел Re-Factor блог, чтобы быть хорошим введением фактора.


Если вы можете найти копию старого polyFORTH FORTH Inc и старый x86, который может его запустить, это язык, используемый в оригинальном "Starting FORTH"Лео Броди. Это чистый и очень крепкий вперед.


Win32Forth работал хорошо для меня.


скачать Gforth для PC и Android.

возиться с ним, используя его как калькулятор, решая простые задачи, Фибоначчи, решая квадратичный A b c и т. д.