jemc changed the topic of #ponylang to: Welcome! Please check out our Code of Conduct => https://github.com/ponylang/ponyc/blob/master/CODE_OF_CONDUCT.md | Public IRC logs are available => http://irclog.whitequark.org/ponylang | Please consider participating in our mailing lists => https://pony.groups.io/g/pony
atk has quit [Quit: Well this is unexpected.]
atk has joined #ponylang
Praetonus has quit [Quit: Leaving]
bimawa has joined #ponylang
aceluck has joined #ponylang
jemc has quit [Ping timeout: 240 seconds]
Matthias247 has joined #ponylang
Matthias247 has quit [Read error: Connection reset by peer]
aceluck has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
samuell has joined #ponylang
rurban has joined #ponylang
samuell has quit [Quit: Leaving]
rurban has quit [Quit: Leaving.]
tscho has quit [Read error: Connection reset by peer]
tscho has joined #ponylang
samuell has joined #ponylang
theodus has joined #ponylang
rurban has joined #ponylang
rurban has left #ponylang [#ponylang]
jemc has joined #ponylang
plietar has joined #ponylang
plietar_ has joined #ponylang
plietar__ has joined #ponylang
plietar_ has quit [Remote host closed the connection]
plietar has quit [Read error: Connection reset by peer]
plietar has joined #ponylang
plietar__ has quit [Ping timeout: 240 seconds]
rurban1 has joined #ponylang
rurban1 has left #ponylang [#ponylang]
plietar has quit [Remote host closed the connection]
jemc has quit [Ping timeout: 240 seconds]
jemc has joined #ponylang
jemc has quit [Ping timeout: 255 seconds]
jemc has joined #ponylang
pnwamk has joined #ponylang
jemc has quit [Ping timeout: 255 seconds]
jemc has joined #ponylang
endformationage has joined #ponylang
theo has joined #ponylang
theo has quit [Ping timeout: 246 seconds]
<SeanTAllen> jemc: can you point out the error in my ways with this? https://playground.ponylang.org/?gist=a192ce6fe51fbcdf8cd2177ae342edd4
plietar has joined #ponylang
Matthias247 has joined #ponylang
<theodus> SeanTAllen: shouldn't you be using push instead of append?
<SeanTAllen> dur
<SeanTAllen> thank you
<SeanTAllen> i knew i was overlooking something obvious. thanks @theodus
<theodus> No problem, I've overlooked many obvoius things in the past
<jemc> SeanTAllen: awesome work with the perf cheat-sheat by the way!
<SeanTAllen> thanks jemc
<SeanTAllen> @theodus ya, i was 14 layers deep in a mess. another set of eyes == very helpful
<SeanTAllen> the perf cheat sheet made it onto front page of HackerNews for quite a while. I avoided looking at the comments as I usually do with all things internet
plietar has quit [Remote host closed the connection]
plietar has joined #ponylang
plietar has quit [Ping timeout: 258 seconds]
<pnwamk> anyone here familiar with the formalism in the "Deny Capabilities for Safe, Fast Actors" paper? I'm wondering if it's partially missing the `consume e` form in the grammar and some of the judgments
endformationage has quit [Read error: Connection reset by peer]
endformationage has joined #ponylang
<SeanTAllen> pnwamk: i dont think anyone is around at the moment. plietar might but i dont see him around at the moment. sylvan is rarely in IRC.
<SeanTAllen> are you in a timezone where joining the sync call is a reasonable option for you pnwamk? sylvan is usually part of thise.
<pnwamk> SeanTAllen: Yah I can probably join the sync call (although I'm not sure I'd want to bother people on a live call with subtleties in understanding a formalism ;-) maybe I'll join the call anyway and just shoot questions about the math to Sylvan and/or plietar directly if they're the ones to talk to about that.
<SeanTAllen> pnwamk: it would a good way to get them
<jemc> > I'm not sure I'd want to bother people on a live call with subtleties in understanding a formalism
<jemc> I don't think it would be the first time - it should be informative for all, so don't be shy
<SeanTAllen> Indeed
<jemc> pnwamk: you may already be familiar with it, but if not it might interest you to look at George Steed's paper: http://www.imperial.ac.uk/media/imperial-college/faculty-of-engineering/computing/public/GeorgeSteed.pdf
<jemc> in it, he works up a slightly different/expanded formal model, then compare and contrasts it with the original model
<jemc> we're in the process of trying to incorporate some of those changes/expansions back in to the implementation, particularly as they relate to viewpoint adaptation
littleli has left #ponylang [#ponylang]
<pnwamk> jemc: I had not seen that yet -- thanks for the link! (I'm just starting to dig into Pony now that I'm back from a summer internship working w/ Sylvan on some completely unrelated things)
<jemc> cool! definitely let me know if I can answer any questions not related to formalisms :D
ada[m] has quit [Ping timeout: 240 seconds]
mindB has quit [Ping timeout: 240 seconds]
M-hrjet has quit [Ping timeout: 240 seconds]
srenatus[m] has quit [Ping timeout: 264 seconds]
dtz has quit [Ping timeout: 255 seconds]
irx[m] has quit [Ping timeout: 240 seconds]
<SeanTAllen> pnwamk: ah well then, did suggest pinging sylvan except well, you know how he is with email
srenatus[m] has joined #ponylang
irx[m] has joined #ponylang
M-hrjet has joined #ponylang
dtz has joined #ponylang
mindB has joined #ponylang
ada[m] has joined #ponylang
<theodus> What would be the best way to poll events from a C lib so that it can be used asynchronously in Pony?
<jemc> the ideal scenario would be the C lib giving you a file descriptor to be watched via Pony's asio system
<jemc> many of the more conscientious C APIs will provide this feature, knowing that their users want to be able to plug them into custom event loops like libuv
<theodus> I'm checking if that's an option
<jemc> the nastier C libraries will spin up their own threads internally :yey:
<jemc> now that we have bare lambdas, there may be some ways to work with a C library that calls you back from its own thread... but I'm not sure
<jemc> I don't remember offhand without looking at it whether it's safe to send a message to an actor from a non-Pony-managed thread
<jemc> but if that's safe, and if the C library at least gives you the option to pass an opaque "context"/"data" pointer (most of them will), you can do a solution with a bare lambda as a shim to forward a message to the actor, which gets passed to you as the value of the opaque "context"/"data" pointer
<doublec> You can make a C thread 'become' a Pony actor IIRC which may be an option.
<theodus> The one I'm using just exposes two functions that return an event (possibly empty). One has a timeout option.
<doublec> theodus: what's the library?
<doublec> It doesn't look like it integrates with select/epoll/etc
<theodus> nope
<jemc> theodus: I suspect you may be able to do something clever by using `tb_init_fd` to give it the terminal file descriptor
<jemc> then you can also have pony polling on that file descriptor with its asio system
<jemc> and then when you get data on the fd in your Pony handler, you delegate to the `tb_peek_event`, with a `timeout` of `0` so it doesn't block
<doublec> theodus: have you seen the Pony 'term' package?
<doublec> theodus: does termbox provide more than that provides?
<jemc> I've done similar tricks with other FFI situations in the past (in other languages) - where I created the network socket for them, passed it in, and also kept it for polling myself
<theodus> The term package doesn't do everything that termbox does, though it is good for keyboard events.
<theodus> jemc: that may work
<jemc> unfortunate that `termbox` uses global state instead of passing around a struct pointer to hold its state
<jemc> *an opaque struct pointer
<theodus> Yeah, it has a few problematic features that make me consider writing something similar from scratch.
<jemc> would probably be nice to expand the `term` package with more feature if that's something you felt like doing
<jemc> the Pony `term` package, that is
<theodus> This may end up as something like that
samuell has quit [Quit: Leaving]
Matthias247 has quit [Read error: Connection reset by peer]
_whitelogger_ has joined #ponylang
_whitelogger has quit [*.net *.split]
acarrico has quit [*.net *.split]
Xe has quit [*.net *.split]
abeaumont has quit [*.net *.split]
darach has quit [*.net *.split]
omarkj has quit [*.net *.split]
m6w6 has quit [*.net *.split]
DDR has quit [*.net *.split]
malthe has quit [*.net *.split]
SimonJF has quit [*.net *.split]
theodus has quit [*.net *.split]
inara has quit [*.net *.split]
yggdr has quit [*.net *.split]
bougyman has quit [*.net *.split]
masteinhauser has quit [*.net *.split]
SeanTAllen has quit [*.net *.split]
emilbayes has quit [*.net *.split]
jonrh has quit [*.net *.split]
mabi has quit [*.net *.split]
bimawa has quit [*.net *.split]
atk has quit [*.net *.split]
_andre has quit [*.net *.split]
mdcox has quit [*.net *.split]
lisael has quit [*.net *.split]
mabi has joined #ponylang
bougyman has joined #ponylang
inara has joined #ponylang
theodus has joined #ponylang
irx[m] has quit [Ping timeout: 240 seconds]
srenatus[m] has quit [Ping timeout: 255 seconds]
emilbayes has joined #ponylang
SeanTAllen has joined #ponylang
dtz has quit [Ping timeout: 240 seconds]
malthe has joined #ponylang
SimonJF has joined #ponylang
M-hrjet has quit [Ping timeout: 246 seconds]
mindB has quit [Ping timeout: 264 seconds]
ada[m] has quit [Ping timeout: 276 seconds]
jonrh has joined #ponylang
masteinhauser has joined #ponylang
DDR has joined #ponylang
m6w6 has joined #ponylang
abeaumont has joined #ponylang
acarrico has joined #ponylang
omarkj has joined #ponylang
darach has joined #ponylang
bimawa has joined #ponylang
lisael has joined #ponylang
atk has joined #ponylang
_andre has joined #ponylang
mdcox has joined #ponylang
m6w6 has quit [*.net *.split]
DDR has quit [*.net *.split]
Xe has joined #ponylang
malthe has quit [*.net *.split]
SimonJF has quit [*.net *.split]
SimonJF has joined #ponylang
malthe has joined #ponylang