Почему Вы выполнили бы итерации и не использовали бы стандартный алгоритм копии?
std::copy( vector.begin(), vector.end(), std::back_inserter( list ) );
Это зависит от того, что вы подразумеваете под «веб-службой».
Если вы имеете в виду типичный веб-сайт приложение / веб-сайт, вам потребуется простой интерфейс для базы данных, создание HTML, простая обработка HTTP, сеансы и обработка форм. Для этого вам действительно нужен достойный веб-фреймворк.
«Хороших» веб-фреймворков для Haskell не существует. (Делая это суждение, я включаю такие факторы, как документация, сообщество, подход «вероятность того, что он не будет брошен через год в обмен на более новое, более блестящее» и т. Д.)
Если вы имеете в виду что-то гораздо менее "веб-сайт", например службу, которая возвращает данные карты и не нуждается в большинстве этих функций, вы можете обойтись чем-то вроде Hack или даже Network.CGI , чтобы предоставить вам базовый интерфейс HTTP, на котором вы будете строить свою службу, работающую с CGI / FastCGI. Если вам также нужен динамический веб-сайт, вы можете использовать что-то вроде Django для этого.
Вы также можете написать автономные исполняемые файлы Haskell, которые вызываются из кода Django. Но прямое взаимодействие Python <-> Haskell вряд ли будет возможным / практичным.
Изучите Python, и вы обнаружите, что он имеет множество функциональных возможностей. Его легко подобрать, и он очень приятный.
Хороший выбор с Django.
Если вы просто создаете веб-службу, вы можете написать программы cgi или fastcgi на Haskell для обработки вызовов веб-службы.
Перейдите на F # и проверьте NDjango - который это порт Django, написанный на F #. Полное раскрытие: NDjango - это мой проект www.ndjango.com