<bdari>
@jemc Yes, i need to spend some time for reference capabilities. This is getting exciting.
<bdari>
nice, Another paper. Can i say pony is academically backup?
<jemc>
bdari: yes, Pony has a nice mixture of academics, industry developers, and other tinkerers
<bdari>
Eventhough pony is actor based model specifically to solve hard concurency, will it be just fine to use for simple one?
<jemc>
particularly there's a significant academic presence at Imperial College London
<bdari>
@jemc would you plan to share them in the community section of pony site?
<jemc>
bdari: you *can* use Pony for simple problems that don't really deal much in concurrency, but you may not find the cognitive overhead of reference capabilities to be "worth it" if you're not really dealing in concurrency
<jemc>
SeanTAllen: I feel like the ponylang website used to have a "papers" section already
<bdari>
@jemc : Well noted.
<SeanTAllen>
@jemc that was a long time ago when it was a one page site. It disappeared in the transaction
<SeanTAllen>
Now it's back!
<SeanTAllen>
I said that in a "Rick" from Rick n Morty voice
Praetonus has quit [Quit: Leaving]
bdari has quit [Ping timeout: 260 seconds]
plietar_ has quit [Ping timeout: 248 seconds]
plietar has joined #ponylang
bimawa2 has quit [Ping timeout: 252 seconds]
plietar has quit [Remote host closed the connection]
plietar has joined #ponylang
plietar has quit [Ping timeout: 240 seconds]
jemc has quit [Ping timeout: 248 seconds]
sleeplessy has quit [Quit: Leaving]
jemc has joined #ponylang
jemc has quit [Ping timeout: 240 seconds]
jemc has joined #ponylang
<hobomatic>
I don't know. I think actors are a great way to model quite a lot of software without being specifically interested in the concurrency part
<hobomatic>
and both reference and object capabilities make reasoning about ownership and authority easier, also without specific respect to concurrency
<hobomatic>
pony's type system also has some other relatively rare and useful features, like intersection and union types
<hobomatic>
I think of actors as 'what objects should be'. Where concurrency is more of an implementation detail that may or may not be available or necessary, and can be turned off and on without breaking things
<hobomatic>
it would probably be hard to justify the effort of implementing the language without the concurrency payoff, but I can certainly justify its usage without it
<achamber1>
hobomatic: I agree, actually the fact that pony has both classes and actors put me off at first.
<hobomatic>
it made me scratch my head a little, but it kind of confirms something I have believed about OOP for a while. The common notion of an object, as a data, is orthogonal to how its often used
<hobomatic>
If a whole program is also modeled as an object... is that really a data type? no, its not.
<hobomatic>
its state may conform to a data type, but theres more to its structure than just the shape of it's state
user10032 has joined #ponylang
bdari has joined #ponylang
vaninwagen has joined #ponylang
<achamber1>
hobomatic: I consider to the context of the thread to be the object/actor and it just manipulates data. Thats why i think the class name is unfortunate for pony
<achamber1>
its loaded to also mean object
<achamber1>
so i think of it as actors and datatypes
user10032 has quit [Quit: Leaving]
<achamber1>
if i unlearn java or C++ its not raelly a problem
samuell has joined #ponylang
<hobomatic>
My view is basically the same. The actor is a 'unit of responsibility' for managing state, and it's state has a well defined type (which would be a class)
<vaninwagen>
achamber1 you were talking about a pony formatter, i created a repo to collect thoughts and host discussions and eventually start work on it: https://github.com/mfelsche/ponyfmt
jemc has quit [Ping timeout: 260 seconds]
vaninwagen_ has joined #ponylang
vaninwagen has quit [Disconnected by services]
vaninwagen_ is now known as vaninwagen
bdari has quit [Ping timeout: 260 seconds]
bimawa has joined #ponylang
malthe has joined #ponylang
<achamber1>
vaninwagen: I don't have too much to contribute other than saying I don't use an IDE or anything that helps format code, and the Go one makes my life easier in lots of ways
<achamber1>
it also makes diffs easier to read since they never contain whitespace only changes
<achamber1>
I did see a long blog post recently discussing how the dart one was implemented