He represented Victoria North in the Legislative Assembly of Ontario from 1879 to 1883 as a Liberal member.
He was born in Ameliasburgh Township in Prince Edward County, Upper Canada in 1829, a descendant of United Empire Loyalists.
He moved to Minden the following year and began the study of law.
He served as reeve for Snowdon Township and as warden for Peterborough County.
The geographical township of Peck in Nipissing District was named in his honour.