code: func (p *Package) Compile(bin string) (string, error) {
  	gobin, err := exec.LookPath("go")
  	if err != nil {
  		return "", fmt.Errorf(`failed to find a go compiler, looked in "%s"`, os.Getenv("PATH"))
  	}
  	if runtime.GOOS == "windows" {
  		bin += ".exe"
  	}
  	c := exec.Cmd{
  		Path: gobin,
  		Args: []string{gobin, "build", "-o", bin},
  		Dir:  p.Abs(),
  	}
  	out, err := c.CombinedOutput()
  	if err != nil {
  		if len(out) > 0 {
  			return "", fmt.Errorf(string(out))
  		}
  		return "", fmt.Errorf("failed to compile %s: %s", bin, err)
  	}
  	return filepath.Join(p.Abs(), bin), nil
  }
docs: // Compile compiles a package and returns the path to the compiled binary.