jump to navigation

Extend Your Language January 31, 2008

Posted by gordonwatts in computers.

A few days ago I had a post about extending objects – the desire to add little utility methods to objects that others had defined (and control). A few of the comments triggered something way back in the back of my head.

We (particle physics) have solved this sort of problem already. Anyone remember FLECS or RATFOR (holy cow, look at the original authors of RATFOR)? (there are others). I personally used FLECS when I was on the AMY experiment. We wanted some C-like structures in our FORTRAN so we used FLECS to add them — curly brackets, etc. The FLECS preprocessor was an extra step in the compilation process – it produced F77 code that was fed to the real compiler.

I’ve seen almost nothing like that for C++. Certainly, it is a much more complex language, so it is much harder to extend in this way, but it must be possible. Are there such languages? Any extension methods there? 🙂

P. Canal, a ROOT developer, pointed out to me that CINT supports extension methods in much the same way that python does – you can just add methods to your objects. Of course, in the case of CINT, this requires you to have the class loaded into CINT and you have to call it through CINT.



No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: