I wrote up a sample that allows embedding Falcon into OpenCOBOL a while back and what follows is a little more cheer leading …
Well met,
I wrote up a sample that allows embedding Falcon into OpenCOBOL a while back and what follows is a little more cheer leading.
I'd just like to drop a few notes and links to try and help advocate for this amazing scripting engine.
Giancarlo Niccolai is a very motivated developer. It's hard not to get drawn into his enthusiasm.
See http://www.falconpl.org/popup_show_news.ftd?news_id=160&project_id=_falcon_site for a positive note on exception tracking. See http://en.wikipedia.org/wiki/Falcon_(programming_language) for the Wikipedia entry, and http://www.falconpl.org/ for the project Home page.
Then, after getting Falcon all built up (using cmake) take a look at http://www.opencobol.org/modules/newbb/viewtopic.php?topic_id=1221&forum=1#forumpost6113 for details on getting advanced scripting into OpenCOBOL, with hints on interfacing C++ and the cobc compiler. The blog entry here on the beautiful My Opera is http://my.opera.com/btiffin/blog/embedding-the-falcon-scripting-engine-in-opencobol-programs
It's kinda neat, in a line like
sums = [].mfcomp( {x,y=> x+y}, .[1 2 3], .[4 5 6] )
Which comes out described as
>> sums.describe()
[ 5, 6, 7, 6, 7, 8, 7, 8, 9]
having stitched together, by adding 1 to 4, 5, 6, then 2 to 4, 5, 6 and 3 to 4, 5, 6 with Falcon's multiple source, filtered list comprehension, anonymous functions (x+y), and immediate lists, a 9 element structure.
Neater still when these script lines are called from OpenCOBOL, the result of .describe() being a great source for UNSTRING.
Check out Falcon. If you can, contribute.
Cheers,
Brian