[Datadraw-user] New DataDraw computer language - Grail
Brought to you by:
smilindog2000
|
From: <dat...@li...> - 2008-12-24 14:58:46
|
Hi, all. It's the holiday season, and once again work has backed off long enough for my head to become full of all the cool stuff I wish I had time to do. This time, it's yet-another-computer-language... again. Grail will have these three major goals: - Foster extreme code reuse - Run much faster than C - Compile to both software and hardware Grail will be motivated by Python, Verilog, and of course DataDraw. The name is from the movie "Monty Python and the Holly Grail." If anyone is interested in a discussion of Grail features, motivations, etc, and has time to kill over the holidays, feel free to join in here. Some cool stuff I'm envisioning in Grail include: - DataDraw-like data structures, with the speed that goes with it - Powerful "reuse" capability - I'll attached examples - Extensible syntax - Grail will parse itself and anything else - Verilog-like structural hardware/software description capability Most of Grail will be written in Grail, including most of the stuff DataDraw generates today. Syntax for relationships, for example, will be in a library, not in the language. If you still want to use DataDraw generated data structures with C, there will be virtually no changes - DataDraw database files are legal Grail code, and will still compile to database.c and database.h files like before. However, all that code DataDraw creates with code generators today will instead just be in much simpler and more extensible and maintainable Grail libraries. I often get excited about my projects. However, this time the pieces seem to be falling in place in an elegant powerful way. Check out the examples to see how well the "reuse" construct works, and compare this to C++ templates, which can't even embed the next pointer of a linked list in the child objects. Compare the beginning of a reusable graph module to the C++ Boost Graph Library. I'd say the Grail code will be an order of magnitude simpler and clearer. I've also attached a circuit description for a FIFO, though some syntax issues still have to be resolved. Anyone up for some holiday brainstorming on Grail? Happy holidays, Bill |