When I open Gap.app, it says ‘Gap.app can't be opened because it is from an unidentified developer.’ How can I run Gap.app?

Right-click or Control-click on Gap.app and choose Open from the context menu. Your Mac will ask you if you're sure you want to open Gap.app. Click Open. Your Mac may take a few minutes to verify the .app file.

You'll only need to carry out this step the first time you run Gap.app. After that, your computer will remember that you trusted the application.

Can I use the copy of GAP included with Gap.app+GAP from the shell prompt in Terminal.app or iTerm2.app?

Yes! Go to the Gap menu and choose "Install GAP Command for Shell". Gap.app will ask you to authenticate, then put a link to the gap command in /usr/local/bin/ . As long as your PATH is set correctly, typing 'gap' at a shell prompt will then open GAP. (Or typing 'gap --gui' will open Gap.app.)

You can also Open GAP in Terminal.app immediately from the Gap menu (or hold down Option to instead use iTerm2).

What version of GAP is included in the Gapdotapp+GAP disk image? What packages are included?

GAP 4.12.1 is currently included, with the following patches applied:

  • The libraries in GAP were patched so that Gap.app can be run from an arbitrary folder.
  • GAP was patched to support a --gui flag, which launches Gap.app (with "open -a Gap.app") and returns.
  • The gap.sh script is patched to run the arm64 code for GAP on an M1 processor machine (even when launched from a Rosetta/Intel process). Note that the included GAP is not tested on Rosetta.
  • The xgap library was patched so that poset level labels are kept at right during sheet resize.

In addition, Gap.app at application launch patches PrintFormattedString and/or DefaultPackageBannerString to avoid splitting UTF8 characters.

All packages from the base GAP distribution are included. Packages cddinterface and normalizinterface (including underlying libraries) are newly built with this release. Package zeromqinterface failed to build, and xgap is built only for Intel. Package guava had a large number of warnings, and packages grape and semigroups had several warnings.
The readline library is also included for use from Terminal.app.

Does Gap.app work on M1-based machines?

Gap.app 0.7 (the interface) is an Intel app, but will work well under Rosetta emulation.

The bundled copy of GAP is a universal binary, and includes code for both Intel and M1 machines. Your computations will run at native processor speed.

I want to use Gap.app with a copy of GAP that I already have installed. What versions of GAP will Gap.app work well with? What versions of macOS?

To use your own copy of GAP, go to the GAP tab of the Preferences panel, and set the Customized location under GAP library path to your GAP root directory.

Screenshot: setting a custom GAP library location in Preferences

Gap.app 0.7 has been tested with 4.11 and 4.12. Earlier versions should also generally work, but may be missing some useful bug fixes.

Gap.app 0.7 is supported on macOS 10.12 or later. Due to availability of hardware, it has been tested mainly on 10.14 (Mojave), 10.15 (Catalina), and 11.0 (Big Sur).

(Future releases may be more restrictive about GAP version and macOS version.)

How do I change directories? Exec("cd /Users/myhome/"); doesn't seem to work!

Use e.g. IO_chdir("/Users/myhome/");.

Where can I learn more about how to use GAP?

There are numerous tutorials on the web about how to use GAP. I'll link to two here. Unfortunately, neither uses Gap.app, so neither does anything graphical, and there may be some other differences in the interface.

The Sourceforge page is cocoagap.sourceforge.io, but you're calling the application Gap.app.

In the early versions of Gap.app, the application was called CocoaGap, following the same naming convention as xgap. The naming convention where the user interface toolkit or environment comes before the application name is common on Windows and on older Unix systems. It is more appropriate on the Mac to use a user-centric name like Gap.app.

In addition, there is a computer algebra system called CoCoA, which is used for commutative algebra. The CocoaGap name could have caused some confusion. The Gap.app name is unambiguous.

Where can I learn more about the technical details of Gap.app?

Please refer to the following pdf of technical documentation.

Still have questions? Contact as: gapdotapp _at_ paranoia.emailengine.org