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
jmiven has quit [Quit: co'o]
jmiven has joined #ponylang
<achambers> In practice, what are the implications of crash and deadlock free? Are system failures shifted to things like resource leaks and overloading at bottlenecks? Is there evidence of increased reliability?
<achambers> I suppose the user pool is quite small, but I am super curious about case studies if anyone has migrated existing systems.
<achambers> hmm, reliability is probably not precise enough of a term.
jemc has quit [Ping timeout: 240 seconds]
jemc has joined #ponylang
jemc has quit [Ping timeout: 240 seconds]
jemc has joined #ponylang
_whitelogger has joined #ponylang
_whitelogger has joined #ponylang
jemc has quit [Ping timeout: 240 seconds]
endformationage has quit [Quit: WeeChat 1.9]
samuell has joined #ponylang
Matthias247 has joined #ponylang
<doublec> achambers: overloading is an issue with no backpressure
<doublec> achambers: so a caller of behaviours can outrun an actors ability to process them and eventually OOM
<doublec> achambers: but in general one would hope for no data race conditions giving increased reliability
Praetonus has joined #ponylang
zaiste has joined #ponylang
zaiste has quit [Client Quit]
zaiste has joined #ponylang
zaiste has quit [Quit: Textual IRC Client: www.textualapp.com]
zaiste has joined #ponylang
jemc has joined #ponylang
aturley has joined #ponylang
acarrico has joined #ponylang
tscho has quit [Read error: Connection reset by peer]
tscho has joined #ponylang
Matthias247 has quit [Read error: Connection reset by peer]
samuell has quit [Quit: Leaving]
_andre has quit [Ping timeout: 255 seconds]
endformationage has joined #ponylang
plietar has joined #ponylang
plietar_ has joined #ponylang
plietar has quit [Remote host closed the connection]
plietar has joined #ponylang
plietar_ has quit [Remote host closed the connection]
plietar has quit [Ping timeout: 240 seconds]
jemc has quit [Ping timeout: 240 seconds]
jemc has joined #ponylang
zaiste has quit [Quit: Textual IRC Client: www.textualapp.com]
jemc has quit [Ping timeout: 248 seconds]
samuell has joined #ponylang
vaninwagen has joined #ponylang
samuell has quit [Quit: Leaving]
vaninwagen has quit [Ping timeout: 240 seconds]
theodus has joined #ponylang
coopernurse has joined #ponylang
<coopernurse> hello! silly newb question here: in the 'else' block of a 'try' is there any way to get info about the error? the docs say "Pony exceptions do not have a type or instance associated with them", so I'm unsure how to do something smart when an error happens.
<coopernurse> is the recommended approach to use some sort of 'Either' type for things that can fail?
<SeanTAllen> coopernurse: i intend to remove "exception" from the tutorial and replace with "error"
<SeanTAllen> because it is confusing to folks
<SeanTAllen> the idea is, if you really need to know what specific error you should
<SeanTAllen> 1. have different try/else blocks
<SeanTAllen> or use union types
<SeanTAllen> like (U64 | UnableToDoThingBecauseX | UnableToDoThingBecauseY)
<SeanTAllen> which is like an Either
<coopernurse> SeanTAllen: excellent, thanks. are there any examples of errors that work like this in the stdlib?
<coopernurse> That is, any errors in the stdlib that are expressed via unions?
<coopernurse> (I'll peruse myself, but if you know one off the top of your head..)
<SeanTAllen> off the top of my head, no. at some point file needs to be switched to use them. the standard library was mostly written in a way that `error` works for expressing "problem"
<coopernurse> ok thanks - I'm looking at the json parser - it looks like it has a slightly different approach
<SeanTAllen> the json parser is pretty nasty
<SeanTAllen> i dont think any of us are happy with it
<SeanTAllen> if you check the channel history, you'll find more than one conversation about replacing the JSON code
<SeanTAllen> ha
<SeanTAllen> that one
<coopernurse> where parse() could raise an error, and then you could ask it why
<coopernurse> that doesn't seem too bad, but maybe a response union type from parse() would be better?
<theodus> the process package handles errors using union types: https://github.com/ponylang/ponyc/blob/master/packages/process/process_monitor.pony#L148
<coopernurse> bingo. thanks, that's what I'm after
<SeanTAllen> ah yes, i forgot about that
<coopernurse> another dumb question - does the compiler have a way to check non-exhaustive matches? failed() has this "else _env.out.print("Unknown ProcessError!")"
<coopernurse> curious if the compiler could eliminate the need for that
theodus has quit [Quit: theodus]
<SeanTAllen> coopernurse: we didnt used to but we do now
<SeanTAllen> so there's still code from the pre-exhaustive match days around
<coopernurse> ah, that's cool it's supported
<SeanTAllen> when you find code like that, we'd love PRs