%{^ #include %} absviewtype CURLptr (l:addr) // CURL* abst@ype CURLoption = $extype "CURLoption" macdef CURLOPT_URL = $extval(CURLoption, "CURLOPT_URL") extern fun curl_easy_init () : [l:addr] CURLptr l = "#curl_easy_init" extern fun curl_easy_setopt {l:addr} {p:type} (handle: !CURLptr l, option: CURLoption, parameter: p) : int = "#curl_easy_setopt" extern fun curl_easy_perform {l:addr} ( handle: !CURLptr l) : int = "#curl_easy_perform" extern fun curl_easy_cleanup {l:addr} (handle: CURLptr l) : void = "#curl_easy_cleanup" implement main() = let val curl = curl_easy_init(); val res = curl_easy_setopt(curl, CURLOPT_URL, "www.bluishcoder.co.nz"); val res = curl_easy_perform(curl); val () = curl_easy_cleanup(curl); in () end;