Creating a ERC20Permit Contract

Will this be the correct way to create an ERC20 smart contract using the "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol";

:1234: Code to reproduce

import "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol";

contract ERC20WithPermit is ERC20Permit {
    
    constructor(string memory name) ERC20Permit(name) ERC20(name, "GLD"){
    }
    
}

I tried not to use the ERC20(name, "GLD") part, but I got abstract Contract error.

Also, if I were to use ERC20Permit("anyName") it does not matter, it still deploys the ERC20 contract with the parameters furnished in ERC20(xx, xx). So why have that?