 |
|
 |
Valer,
Are you planning any updates? Are you going to make available any more demonstration code? I was trying to use DeltaForth recently, but .NET is still new ground for me. For example, I was trying to interface to System.IO.FileInfo. How do I pass a string to it?
extern FileInfo "\windows\system\mscorlib.dll" System.IO.FileInfo
"ex.4th" constant text
: main
tib text FileInfo
;
Regards,
Bruce.
|
|
|
|
 |
|
 |
How do you run it? Double-clicking the .exe runs it only long enough to show the copyright info (I guess) and quits.
|
|
|
|
 |
|
 |
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
|
|
|
|
 |
|
 |
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
|
|
|
|
 |
|
 |
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!
|
|
|
|
 |
|
 |
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!
|
|
|
|
 |
|
 |
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
|
|
|
|
 |
|
 |
Hi,
I wanna do an RPL compiler (for HP calculator) in .NET.
Do you think I can use CodeDOM?
best regards.
bouli.
|
|
|
|
 |
|
 |
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?
|
|
|
|
 |
|
 |
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
|
|
|
|
 |
|
|
 |
|
 |
No, I did not.
Delta Forth .NET (www.dataman.ro)
World's first Forth compiler for the .NET platform
|
|
|
|
 |
|
 |
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.
|
|
|
|
 |
|
 |
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...
|
|
|
|
 |
|
 |
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
|
|
|
|
 |
|
 |
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
|
|
|
|
 |
|
 |
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
|
|
|
|
 |
|
 |
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
|
|
|
|
 |
|
 |
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
|
|
|
|
 |
|
 |
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
|
|
|
|
 |
|
|
 |
|
 |
Thanks, I hope Chris will see and fix this.
In the meantime, go to http://www.dataman.ro/dforth and download the source code.
|
|
|
|
 |
|
 |
Talk about memory lane.
I am going to have to download this and try it out.
Tim Smith
Descartes Systems Sciences, Inc.
|
|
|
|
 |
|
 |
What the heck is Forth?
Jon Sagara
What about ?
|
|
|
|
 |
|
 |
Maybe in 15 years someone will ask: what is C++ ?
Crivo
Automated Credit Assessment
|
|
|
|
 |