Gottesman-Kitaev-Preskill codes: A lattice perspective