vermaseren / form

The FORM project for symbolic manipulation of very big expressions
GNU General Public License v3.0
1.15k stars 136 forks source link

Collect developer's tips #506

Open tueda opened 4 months ago

tueda commented 4 months ago

The FORM Cookbook (#409) provides a good resource for users to learn various FORM tips and tricks. I would like to have similar stuff for developers, who wish to work with the FORM source code. As a heavy user of VS Code, I have started with a guide titled VS Code Tips for FORM Developers.

I am also planning to write a "Release Procedure" to explain the steps involved in making a new release.

I encourage FORM developers to also share their tips that may not fit into the Developer's reference manual in the repository. I propose that contributors post their tips as comments in this issue, on GitHub Gist or something like that, from where we can integrate them into the Wiki if it's suitable.

tueda commented 4 months ago

By the way, it may be too specific to my environment, but this is the script I use for building and launching FORM (except for the debugger in VS Code). For example,

./x test.frm               # Run vorm test.frm
./x check -v 'Diagrams_*'  # Run check.rb with vorm -v --stat 'Diagrams_*'
./x time -n 10 test.frm    # Run form test.frm 10 times and show stats

autoreconf/configure/make are invoked if necessary.

There are many other options for valgrind, coverage, gprof etc.

The script assumes Homebrew on Linux. If this is not the case, one may need to adjust variables (e.g., CC and CXX).