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
Matthias247 has quit [Read error: Connection reset by peer]
aav_away_ has joined #ponylang
jemc has joined #ponylang
aav_away has quit [Ping timeout: 240 seconds]
hhgregg has joined #ponylang
hhgregg has left #ponylang [#ponylang]
jemc has quit [Ping timeout: 268 seconds]
jemc has joined #ponylang
amclain has quit [Quit: Leaving]
_whitelogger has joined #ponylang
jemc has quit [Ping timeout: 260 seconds]
abeaumont has joined #ponylang
aav_away_ has quit [Ping timeout: 260 seconds]
kr1shnak has joined #ponylang
Matthias247 has joined #ponylang
jemc has joined #ponylang
kr1shnak has quit [Remote host closed the connection]
aav_away has joined #ponylang
aav_away has quit [Ping timeout: 264 seconds]
aav_away has joined #ponylang
amclain has joined #ponylang
plietar has joined #ponylang
atk is now known as atk-pbot
atk-pbot is now known as atk
<plietar> Hi, Why does the #read only include ref, val and box ?
<plietar> Shouldn't it also include iso and trn ?
<SeanTAllen> iso isnt readable, it has to be consumed before it can be shared. ditto for trn plietar
<plietar> SeanTAllen: So are iso^ and trn^ in #read then ?
<SeanTAllen> ive never tried to verify what happens in the implementation
<SeanTAllen> if you are trying to send an iso or trn to something that requires a #read, there's probably a better way to do it
<SeanTAllen> do you have a specific problem you are trying to solve?
Zeedox has quit [Quit: WeeChat 1.4-dev]
<plietar> Not trying to do anything specific, just getting my head around generics
<SeanTAllen> so iso^
<SeanTAllen> that destroys an alias
<SeanTAllen> iso! is an alias to an iso, which if you hit that as an error , you are probably not doing what you intended
<SeanTAllen> ditto for trn
<SeanTAllen> if you see
<SeanTAllen> iso^ in a generic implementation it means
<SeanTAllen> "this returned item is an iso, but consume the alias to it so it can be assigned to an iso or any other ref type"
<plietar> Ok that make more sense
<plietar> Yeah I've seen that
<plietar> Thanks
<plietar> For context, I'm an undergrad at Imperial. As a final year project I'm working with Sophia Drossopoulou on extending the model from "Deny Capabilities for Safe, Fast Actors" to describe generics
<plietar> And show that they preserve soundness
<SeanTAllen> Ah, Sylvan mentioned that to me the other day
<plietar> So how would you make a `Map[Foo trn, U8]` for example ?
<plietar> This doesn't work, but I don't see how it would break soundness
<plietar> When the map needs to read from the Foo, it can alias it to a Foo box
plietar has quit [Remote host closed the connection]
plietar has joined #ponylang
plietar has quit [Ping timeout: 258 seconds]
<SeanTAllen> you cant alias a trn or iso
<SeanTAllen> they dont alias to themselves
<SeanTAllen> that is the problem there
<SeanTAllen> Map[Foo trn, U8], I'm not sure how based on the definition of `trn` you could create that
<SeanTAllen> I'm also not sure why would want to make a `Map[Foo trn, U8]`
<SeanTAllen> I'm assuming that the map comparison is a HashIs, so identity
<SeanTAllen> So a trn cant be aliased which would mean, you can put it in but you can never get anything out
<SeanTAllen> from an undergrad project i understand what you are asking but I'm having a hard time imaging how you could use iso, trn in that context (thus the #read)
prettyvanilla has quit [Remote host closed the connection]
prettyvanilla has joined #ponylang
_andre has quit [Quit: leaving]
aav_away has quit [Ping timeout: 240 seconds]
jemc has quit [Quit: WeeChat 1.4]
jemc has joined #ponylang
<cquinn> what is the default capability of items in an array literal?
<cquinn> I have a function that expects a `flags': Array[FlagSpec box] box`
<cquinn> but the literal array I pass like so:
<cquinn> or maybe the problem is my constructors?
<cquinn> yup, it was my constructors.
<SeanTAllen> ha. glad you got it cquinn
<cquinn> It was one of those funny problems that was obvious once I tried to pose it as a question
jemc has quit [Ping timeout: 240 seconds]
jemc has joined #ponylang
jemc has quit [Ping timeout: 256 seconds]