code: def _findSwipl():
      
  
      # Now begins the guesswork
      platform = sys.platform[:3]
      if platform == "win": # In Windows, we have the default installer
                                     # path and the registry to look
          (path, swiHome) = _findSwiplWin()
  
      elif platform in ("lin", "cyg"):
          (path, swiHome) = _findSwiplLin()
  
      elif platform == "dar":  # Help with MacOS is welcome!!
          (path, swiHome) = _findSwiplDar()
          
          if path is None:
              (path, swiHome) = _findSwiplMacOSHome()
  
      else:
          # This should work for other UNIX
          (path, swiHome) = _findSwiplLin()
  
      # This is a catch all raise
      if path is None:
          raise ImportError('Could not find the SWI-Prolog library in this '
                            'platform. If you are sure it is installed, please '
                            'open an issue.')
      else:
          return (path, swiHome)
docs: This function makes a big effort to find the path to the SWI-Prolog shared
      library. Since this is both OS dependent and installation dependent, we may
      not aways succeed. If we do, we return a name/path that can be used by
      CDLL(). Otherwise we raise an exception.
  
      :return: Tuple. Fist element is the name or path to the library that can be
               used by CDLL. Second element is the path were SWI-Prolog resource
               file may be found (this is needed in some Linuxes)
      :rtype: Tuple of strings
      :raises ImportError: If we cannot guess the name of the library