[Vala] Proposal for an improved delegate/lambda handling



Hi all,

I would like to start a discussion about a small syntactic sugar addition to Vala, that would in my opinion slightly improve the situation with asynchronous code. The following code sample should be self explanatory about my proposal:

delegate bool HttpResponseCallback (string response);

public class HttpClient : Object {
    public void post_request (string request, HttpResponseCallback cb) {
        cb ("Hello world");
    }
}

// Current State
var client = new HttpClient ();
client.post_request("GET ....",  (response) => {
        debug ("got response %s", response);
        return true;
    }
);


// Proposed syntax:
// Vala would basically use the "pseudo-lambda" _expression_
// following the method call as a parameter to the method call
client.post_request("GET ....") (string response) {
    debug ("got response %s", response);
    return true;
}

I am very open to comments and suggestions.

Cheers,

--
Ali


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]