Получил начальное образование в Королевской высшей школе в Эдинбурге, затем обучался в Сент-Эндрюсском и Эдинбургском университетах. В 1832 году получил диплом доктора медицины. В 1834 году начал медицинскую практику в Эдинбурге. При этом проявлял интерес к ботанике и в 1840 году начал её преподавать. В 1841 году получил должность профессора ботаники в Университете Глазго. В 1845 году перешёл в Эдинбургский университет на кафедру ботаники. Был назначен хранителем Королевского ботанического сада Эдинбурга.