Coronium looks nice!

The current plan for luvit regarding callbacks is to support the old
behavior, but there is a new feature where you can block a coroutine by
passing in the thread in place of the callback.

    fs.readFile("path/to/file", function (err, data) --[[ do something]]
end)

vs

    local thread = coroutine.running()
    local data = fs.readFile("path/to/file", thread)

This obviously require running in a coroutine so that the entire program
and event loop isn't blocked.  It should come in real handy for cases where
you have nothing to do with a particular request while waiting for I/O.

On Tue, Dec 2, 2014 at 3:37 PM, develephant <[email protected]>
wrote:

> Thanks Tim,
>
> I'm torn on the callbacks, I've been using luvit for the last year and now
> I am quite used to it, but interested in new things as well.
>
> It's currently being beta tested by some developers, but I have created a
> game server/client for Corona SDK with luvit that getting some good
> response.  It's at http://coronium.gs | docs <http://coronium.gs/server/>
>
> Thanks for your time, and great work.
>
> Cheers.
>
> On Tuesday, December 2, 2014 1:42:47 PM UTC-6, Tim Caswell wrote:
>>
>> Thanks!  Ryan (rphillips) is the main person working on that layer
>> currently.  I'm sure this feedback will help things move along.  We're
>> working as fast as we can to port the virgo agent (http://virgoagent.com/)
>> from the old luvit to the new luvi-based luvit.  Ideally it would require
>> minimal changes to virgo itself and there would be few breaking changes.
>>
>> With the new split between luv, luvi, and luvit, people who don't agree
>> with the opinions or APIs in luvit can still use the core technology and
>> build their own thing with minimal effort. This also means we can preserve
>> the old APIs in luvit without holding others back who may want to explore
>> other styles. (personally I'm really excited about moving away from
>> callbacks)
>>
>>
>> On Tue, Dec 2, 2014 at 1:23 PM, develephant <[email protected]>
>> wrote:
>>
>>> So, one:
>>>
>>> *process:on( "error", function( e )*
>>> * p( "Process Error", e )*
>>> *end )*
>>>
>>> the process global does not seem to be registering, I get "attempt to
>>> call method 'on' (a nil value)"
>>>
>>>
>>> *net.createServer()*
>>>
>>> Is now throwing "attempt to index local 'options' (a nil value)", I
>>> assume I am now required to pass a function.
>>>
>>>
>>> The following (incomplete for brevity) snippet:
>>>
>>>
>>>
>>>
>>>
>>> *function Server:listenCallback( e ) print( 'listening' )endfunction
>>> Server:onClient( client ) p( client )endfunction Server:start() self.server
>>> = net.createServer( utils.bind( self.onClient, self ) ) self.server:listen(
>>> 7173, utils.bind( self.listenCallback, self ) ) self.server:on("error",
>>> function( err ) assert( err ) end )end*
>>>
>>> The callback binding for for the "createServer" method is returning
>>> "nil" as the client.  If I do this it works fine:
>>>
>>> *self.server = net.createServer( function( client ) *
>>> *  p( client )*
>>> *end )*
>>>
>>> Same happens with:
>>>
>>> *client:on( "data", utils.bind( self.onData, self ) )*
>>>
>>> The data is "nil" it could be possible that something in the utils.bind
>>> is not passing the value, as I can do:
>>>
>>>
>>> *function Server:listenCallback( e ) print( 'listening' )end*
>>> *self.server:listen( 7173, utils.bind( self.listenCallback, self ) )*
>>>
>>> And I will get the 'listening' message printed.
>>>
>>> Again, all of these examples are out of context, but the codebase runs
>>> on pre-luvi luvit.  I really like what you're doing with luvi by the way.
>>> Great idea.
>>>
>>> Best
>>>
>>> On Tuesday, December 2, 2014 12:57:23 PM UTC-6, Tim Caswell wrote:
>>>>
>>>> That is the goal, but the new luvit is not done.  Tell us what's not
>>>> working and we can prioritize those features.
>>>>
>>>> On Tue, Dec 2, 2014 at 12:46 PM, develephant <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I am using the new luvit with luvi build, and after moving over my
>>>>> code from my project, I am getting some errors.  It works fine with the
>>>>> pre-luvi luvit, which is what is was developed on.
>>>>>
>>>>> Should pre-luvi luvit code work on the new build?  Thanks in advance.
>>>>>
>>>>> Cheers.
>>>>>
>>>>>
>>>>>  --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "luvit" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "luvit" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "luvit" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"luvit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to