Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-obvious Forth Books #51

Open
rdrop-exit opened this issue Aug 5, 2017 · 19 comments
Open

Non-obvious Forth Books #51

rdrop-exit opened this issue Aug 5, 2017 · 19 comments

Comments

@rdrop-exit
Copy link
Member

@rdrop-exit rdrop-exit commented Aug 5, 2017

I'm trying to compile a list of books where Forth or Forth-like constructs figure prominently, but where Forth is not in the title.

Browsing my shelves I have at least the following (not counting books on Postscript or HP calculators):

  • Interpretation and Instruction Path Coprocessing (Debaere & Van Campenhout)
  • The Anatomy of Programming Languages (Fischer)
  • Threaded Interpretive Languages (Loeliger)
  • Intelligent Embedded Systems (Odette)
  • History of Programming Languages (Bergsin & Gibson)
  • Masterminds of Programming (Biancuzzi & Warden)
  • Stack Computers: The New Wave (Koopman)
  • Write your own programming language using C++ (Smith)
  • Designing Embedded Hardware (Catsoulis)
  • Learning by Example using Verilog (Haskell & Hanna)
  • Machine-Indepent Organic Software Tools (Godfrey)

I'd appreciate any contributions to this list.

@MitchBradley
Copy link

@MitchBradley MitchBradley commented Aug 5, 2017

IEEE 1275-1994 Standard for Boot (Initialization, Configuration) Firmware

not exactly a "book", but it passes the "duck test" for books.

@impomatic
Copy link

@impomatic impomatic commented Aug 5, 2017

Cellular Automata Machines (Toffoli and Margolus)

@wejgaard
Copy link
Member

@wejgaard wejgaard commented Aug 8, 2017

  • Literate Programming (Donald E. Knuth)
  • Software Development and Reality Construction (C. Floyd et al.)
  • Janus: A Summing Up (Arthur Koestler)

@darozak
Copy link

@darozak darozak commented Jul 16, 2018

Unfortunately, I don't have any books to contribute but I'm very interested in reading some of this material. As you compile the list, would it be possible to list the publication dates? Given how quickly the field is evolving, the year would provide a helpful clue re the publication's scope and context.

@ruv
Copy link

@ruv ruv commented Jul 16, 2018

BTW, why do not to use onsite wiki to maintain this list?

@darozak
Copy link

@darozak darozak commented Jul 17, 2018

I agree. The wiki would be a perfect place to develop this list! I've copied the above publications to the following page: https://github.com/ForthHub/discussion/wiki/ForthPublications

@eatonphil
Copy link
Member

@eatonphil eatonphil commented Jul 17, 2018

One issue with the wiki is that you don't receive updates! In an issue you're always emailed and notified in Github.com if there are new comments (and you're following the repo).

@larsbrinkhoff
Copy link
Member

@larsbrinkhoff larsbrinkhoff commented Jul 17, 2018

I like that issues encourage discussions. The GitHub wiki implementation doesn't.

@ruv
Copy link

@ruv ruv commented Jul 18, 2018

From technical point of view, notifications of this wiki changes can be implemented by any third party since the wiki has its git repository: https://github.com/ForthHub/discussion.wiki.git (it is not accessible via browser).

List of books is a kind of database. But GitHub issues are not very suitable to maintain such databases. GitHub wiki fits better. An ordinary git repository can be also used for that.

@darozak
Copy link

@darozak darozak commented Jul 23, 2018

I have a feeling that new books will continue to be suggested through this thread. Which is cool for all the reasons mentioned above. But its also easy enough for someone to intermittently port them into the wiki for a running list. In other words both systems could complement one another. Just a thought.

@rdrop-exit
Copy link
Member Author

@rdrop-exit rdrop-exit commented Oct 16, 2018

Up and Running with Asyst 2.0 (Campbell et al, 1987)

@rdrop-exit
Copy link
Member Author

@rdrop-exit rdrop-exit commented Oct 28, 2018

Designing and Programming Personal Expert Systems (Carl Townsend & Dennis Feucht, TAB Books, 1986)

@larsbrinkhoff
Copy link
Member

@larsbrinkhoff larsbrinkhoff commented Oct 28, 2018

It would be great if there was a explanation how Forth figures prominently in these books.

@rdrop-exit
Copy link
Member Author

@rdrop-exit rdrop-exit commented Oct 28, 2018

It would be great if there was a explanation how Forth figures prominently in these books.

  • Interpretation and Instruction Path Coprocessing (Debaere & Van Campenhout, MIT Press)

This book analyzes and compares the various threaded code interpretation approaches and discusses the design of specialized coprocessor chips for accelerating threaded code interpretation. One of my favorite Forth-related books.

  • Threaded Interpretive Languages (Loeliger, Byte Books)

Detailed description of one man's idiosyncratic Z80 ITC Forth implementation. This was a hardbound book published by Byte Magazine, it reuses the famous cover image from the Byte special issue on Forth.

  • The Anatomy of Programming Languages (Fischer)

Compares the constructs of a few representative programming languages from a language design perspective, Forth is one the main languages examined and compared.

  • Intelligent Embedded Systems (Odette)

Hybrid Forth/C approach to a Prolog VM for embedded systems. Louis Odette was a frequent contributor to FORML and JFAR on the topic of Forth in Expert systems (one of his FORML papers was about a system for NASA's Skylab).

  • History of Programming Languages (Bergsin & Gibson)

Proceedings of the second (IIRC) ACM HOPL conference. Includes Rather's paper on the early years of Forth (IIRC this is an extended version of the paper that's available online).

  • Masterminds of Programming (Biancuzzi & Warden)

Includes the transcript of a Chuck Moore interview on Forth software and hardware, IIRC the free online version of the interview only includes the software portion.

  • Write your own programming language using C++ (Smith)

Slim book on a roll your own Forth extension language for C/C++ applications.

  • Learning by Example using Verilog (Haskell & Hanna)

A Verilog primer for the old Nexys 2 FPGA board that uses the design of a Forth core as its culminating example. (Richard Haskell was a contributor to various Forth publications).

  • Machine-Indepent Organic Software Tools (Godfrey, 1985)

This book describes a development and VM runtime system for portable software that had suspiciously many similarities to Forth but using different buzzwords, implementations include Apple II and Sperry Univac 1100.

  • Up and Running with Asyst 2.0 (Campbell et al, 1987)

Asyst was a fairly popular Forth-based data acquisition and analysis package.

  • Designing and Programming Personal Expert Systems (Carl Townsend & Dennis Feucht, TAB Books, 1986)

This book was mentioned by Will Baden in the 1986 FORML paper "Escaping Forth" as being a book about Forth. I'm not familiar with it.

@larsbrinkhoff
Copy link
Member

@larsbrinkhoff larsbrinkhoff commented Oct 28, 2018

Excellent, thanks!

@rdrop-exit
Copy link
Member Author

@rdrop-exit rdrop-exit commented Nov 1, 2018

IPS - High Level Programming of Small Systems (Karl Meinzer) ISBN 0-9530507-0-X

Forth Inspired OS used on satellites in the 70s. Book is now available as PDF here:
http://www.jrmiller.demon.co.uk/products/ipsbk.html

Recent discussion on the Forth Subreddit:
https://www.reddit.com/r/Forth/comments/9ssakt/does_anybody_know_ips/

@catb0t
Copy link

@catb0t catb0t commented Nov 17, 2018

"Janus, A Summing Up", at least the ones amazon (sorry) lists, appears to have nothing to do with computing, and was essentially written by a journalist of the 20th century. Janus in computing refers to 2 non-Forth languages

Anyway, I removed that from the wiki.

@wejgaard
Copy link
Member

@wejgaard wejgaard commented Mar 8, 2019

"Janus" deserves an explanation, I agree.

In "Janus, A Summing Up" Arthur Koestler coined the term Holon to describe an entity that is both a whole built of parts and a part of a higher whole. In general, there are different rules on each level. This is a property of natural systems. It also applies to Forth words, I believe and use in Holonforth. - Koestler's concept is discussed on the web as the "Holarchy". It is not the usual way to see Forth, but it explains for me the continuing interest in Forth via some unconscious understanding.

For another influence of Holons on programming see Donald Knuth's recollection in http://www.literateprogramming.com/

@cwpjr
Copy link
Member

@cwpjr cwpjr commented May 9, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
10 participants