28 Sep 2002 mslicker   » (Journeyer)

tk's "SHOW ME THE CODE" is unreasonable. Why? With Forth I'm discussing a general purpose tool, one which can be applied to any problem. Must I recode everything that has ever been coded to prove this point? This is impossible. For one there are an infinite number of problems a person using Forth would want to address. For another, I would have a devote all my time to this task with no hope of finishing.

tk's "SHOW ME THE CODE" is a copout. He can't make any point, so he gives me a task to code which I've never had any intention of coding.

If tk actually wants to make a point, why doesn't he show all of us why his pet software can't be implemented in Forth. But really, any counter example would do. This is my chalange to tk. If Forth is not a general purpose tool it should be quite easy to find a computing problem which is cannot be applied to.

--- Update

tk caught my imprecision, I'll give him that much. That he would use it distort my argument is expected (given his general dishonesty), which reminds to be even more precise in my argument and reasoning.

For the record. I'm not claiming Forth can solve unsolvable problems (halting problem, ect). I'm not claiming Forth can solve impossible problems (Duplicating GNU in 10 bytes).

What I am claiming, is that given a solvable problem on a real machine, Forth can be effectively used (the solution can be expressed concisely in the language), to find the optimal solution to this problem. This is true, since Forth gives precise control over the machine code generated, precise control over storage, and has no restrictions. The optimal solution can first be aproximated in the language. An even closer aproximation can be atained by fine grained control of machine code. The actual optimal solution will most likely never be reached (in any language). Forth is a tool which makes excelent aproximations possible for complex problems. Specifically, it provides the necessary tools of abstraction and information hiding required to make this approximation tractable for a human being. I know of no other language which does this. Lisp also provides the necessary tools of data abstraction, and information hinding. However Lisp does not give fine grained control of storage and machine code. That is perhaps the main seperation between the two.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!