 |
|
 |
How do you run it? Double-clicking the .exe runs it only long enough to show the copyright info (I guess) and quits.
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
That is a command line application. You need to open a command prompt (cmd.exe) then start Delta Forth .NET. You'll figure out what to do next
Delta Forth .NET (www.dataman.ro)World's first Forth compiler for the .NET platform
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
hello everyone. i'm very new here and i kind of need help.. can anyone tell me how do i modify a programming codes? what is a Delta compiler? i need an answer as a.s.a.p.. thks. =)
seha
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
This is a great implementation of Forth for .NET!
Some people love to criticize Forth, and to some extent this is justified. However, it is NOT justified to complain that Forth isn't a good OOP language because it wasn't intended to be.
Forth is both odd and elegant at the same time. When you consider it's objectives: to be an efficient threaded and extensible language, it becomes more clear that it has met those goals.
To me, the most powerful aspects of Forth (ability to modify and add new keywords, and change the syntax of the language) are also the reasons why it's hard to learn and use Forth. Above all, the hardest thing for me to do is to modify someone else's program, because I'm not just learning his imperative code, but I also have to learn the vocabulary of that program.
The best aspect of Forth is that you aren't limited in any way and you can define your own words and syntax that is best suited for a given application. It's almost like designing a new language specific to an application. You can do a whole lot in a very small program, and the final "highest level" block of code can appear to be very sweet, indeed.
The main reason I don't use Forth is not because it's a weak language, but rather that I'm not intelligent enough to adapt my thinking to let me "get into the mind" of the author of a given program. This is easier in traditional languages because the "words" and syntax are statically defined. Make no mistake: some of the smartest developers I've ever heard of were great with Forth. And many mathematicians love it.
Try to get a hold of one of Leo Brodie's books if you want to see a good tutorial of Forth. I like "Starting Forth" best, but you can find a color PDF of "Thinking Forth" online. The latter book isn't good for beginners.
For the latest implementation of Delta Forth, see the author's website given in this article. This is truly a fine work!
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Great news - I found the Starting Forth book online:
http://www.amresearch.com/starting_forth/index.html
This is a great way to learn Forth!
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Can you opimise and modify this for palm and other portable device compiler .If it is possible how to proceed ?
Your code is cool as your are Your work is cool as Your code So be a cool code worker
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Hi,
I wanna do an RPL compiler (for HP calculator) in .NET. Do you think I can use CodeDOM?
best regards.
bouli.
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
I was a Forth programmer in the 80's and early 90's. Some people called me a Forth zealot. Since then I have embraced OOP techniques. I have a hard time imagining how useful stuff could be written in Forth these days. I remember the early attempts at OO Forth. It was awkward at best. Seeing the advantages of OOP, I tried several times to develop a consistant Forth syntax for it. I failed. Most modern APIs are OOPish. If you want to talk to a DOM, a network or an OS, chances are you'll be looking at OO syntax. Which brings me back to the title...
What's it good for?
|
| Sign In·View Thread·PermaLink | 3.00/5 (2 votes) |
|
|
|
 |
|
 |
Delta Forth .NET is the result of my ambition to write a Forth compiler. It is the "natural" evolution of the Delta Forth for Java system I started back in 1997. To answer your question, I ask you a question: what's a TOY good for? Since I released the C# source code, everyone's invited to discover and experiment the joy of writing a compiler. In every other aspect I agree with you: Nowadays Forth is useless.
Delta Forth .NET (www.dataman.ro) World's first Forth compiler for the .NET platform
|
| Sign In·View Thread·PermaLink | 4.78/5 (3 votes) |
|
|
|
 |
|
|
 |
|
|
 |
|
 |
It is quite funny to see in the article this quote from a .Net team member: "it’s a great example of how the .NET Framework supports stack-based languages well.". Actually .Net IL is precisely a stack-based abstract machine See a complete discussion in the DotGNU Portable.Net FAQ
Regarding the Forth compiler: impressive work, I hope there'll be more compilers coming from third-party.
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
I was reading the "Evolution of Forth" article at http://www.forth.com/Content/History/History1.htm, when I thought, "I wonder if there's a Forth for .NET?"
Now that I've found one, I can't help wondering what Chuck Moore would think of a Forth that requires a 20MB runtime... 
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
I don't know much about Forth, but I think it's very cool that you wrote a compiler for a language that targets the CLR. I must ask though, why didn't you implement the classes and interfaces (as well as use their features, which may be of some help in some places) in System.CodeDom and System.CodeDom.Compiler? In any case, whatever works...works! Good job.
"Well, I wouldn't say I've been missing it, Bob." - Peter Gibbons
|
| Sign In·View Thread·PermaLink | 5.00/5 (1 vote) |
|
|
|
 |
|
 |
Good question. The reason for which I chose to implement the code generator using plain IL code was that... the technology was so new for me that I had no idea where to start. It happened that I saw an example about emitting IL code and built my code generator around that. Later, I discovered CodeDOM but it was too late. I plan to rewrite the entire generator but no sooner than finishing my Ph.D.
Delta Forth .NET (www.dataman.ro) World's first Forth compiler for the .NET platform
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Can you explain your approach that you took when writing the compiler.
eg the sources you used to get you started the breakdown of the language and how you turned that into IL etc
I've never had the chance to write a compiler myself as I always feel it was too daunting a task for a lone developer so maybe you could inspire. 
Shaun
Stupidity dies. The end of future offspring. Evolution wins. - A Darwin Awards Haiku
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
I have written everything from the scratch. Honestly  The IL code generation can be found under MSDN. Better, look at the source code, it's easier.
Have a look at Jack Crenshaw's "How to build a compiler". It's an excellent start for beginners like me. I don't have the URL anymore, try a search on the Internet.
Delta Forth .NET (www.dataman.ro) World's first Forth compiler for the .NET platform
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Here is a link to a really good book on writing .NET compilers:
http://www.amazon.com/exec/obidos/tg/detail/-/0130622966/qid=1052292343/sr=8-1/ref=sr_8_1/002-9103098-0625664?v=glance&s=books&n=507846
A really great way to understand how compiling for .NET is a much simpler task than for some platforms 
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Valer BOCAN wrote: Have a look at Jack Crenshaw's "How to build a compiler". It's an excellent start for beginners like me. I don't have the URL anymore, try a search on the Internet.
Here's the URL[^] for those who are eager to learn more.
Regards, Zdenek
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
 |
|
 |
Thanks, I hope Chris will see and fix this. In the meantime, go to http://www.dataman.ro/dforth and download the source code.
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Talk about memory lane.
I am going to have to download this and try it out.
Tim Smith Descartes Systems Sciences, Inc.
|
| Sign In·View Thread·PermaLink | 2.00/5 (1 vote) |
|
|
|
 |
|
|
 |
|
|
 |
|
|
 |