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
pzel has quit [Ping timeout: 264 seconds]
pzel has joined #ponylang
pzel has quit [Ping timeout: 244 seconds]
acarrico has quit [Ping timeout: 240 seconds]
pzel has joined #ponylang
khan has joined #ponylang
khan has quit [Ping timeout: 256 seconds]
pzel has quit [Ping timeout: 260 seconds]
khan has joined #ponylang
khan has quit [Quit: khan]
khan has joined #ponylang
endformationage has quit [Quit: WeeChat 1.9.1]
crzbear has quit [Quit: leaving]
khan has quit [Remote host closed the connection]
khan has joined #ponylang
khan has quit [Remote host closed the connection]
khan has joined #ponylang
xek__ has joined #ponylang
Shorttail has joined #ponylang
<Shorttail> What class or actor functions am I allowed to call from a constructor?
<SeanTAllen> Shorttail: `tag`
<vaninwagen> Cant you call regular ref functions once all fields are assigned?
<vaninwagen> Asking for a friend
<Shorttail> =/ I'm writing database code and open a connection and make sure tables are created in the constructor. What I've done in absense of non tag functions is to create primitives with an apply that return whatever I need, like opening a database connection
<SeanTAllen> once all fields are assigned, yes you can vaninwagen
<Shorttail> As soon as they're assigned?
<SeanTAllen> Shorttail: the pattern I use is to setup all dependencies and pass them to the actor (dependency injection!)
<SeanTAllen> Shorttail: its 5:30 am here and I am a little out of it, but my brain says "yes, as soon as they're assigned"
<SeanTAllen> best to test to verify my groggy
<Shorttail> I'll give it a try
<Shorttail> Seems to work. I guess my past trouble was using some function to calculate the value on an uninitialized variable
<vaninwagen> Pony has your back here, no worries :)
<Shorttail> Well, I would have liked for the thing I tried in the past to have worked, but I think I get the reasoning
<Shorttail> What cap does an actor constructor return? Can someone who's not the actor obtain a non-tag actor handle? Trying to figure out if I need to make all function of an actor private or not
<vaninwagen> Actors are always tag
<vaninwagen> To the outside. Inside of a behaviour the actor sees itself as ref
<vaninwagen> ref functions on an actor can only be called by itself, they are de facto private to itself, instance-private, so to say
<Shorttail> Thanks a lot, no need to use all the underscores then
<vaninwagen> Nah, keep them for later
<vaninwagen> What you could do is, is giving out a ref reference to the actor (this) to another class, thus this class can see the actor as ref and manipulate stuff on it
<vaninwagen> so actually not completely instance private, but the actor needs to give out a reference explicitly
<SeanTAllen> Shorttail: you can have a functional calculate the value of an unitialized value as long as its `fun tag`
<Shorttail> ...that makes sense, thanks
<Shorttail> vaninwagen: I think I get it
Shorttail has quit [Ping timeout: 252 seconds]
alxs has joined #ponylang
xek__ has quit [Remote host closed the connection]
xek has joined #ponylang
alxs has quit [Client Quit]
alxs has joined #ponylang
alxs has quit [Quit: Computer's gone to sleep. ZZZzzz…]
alxs has joined #ponylang
alxs has quit [Quit: Computer's gone to sleep. ZZZzzz…]
khan_ has joined #ponylang
khan has quit [Remote host closed the connection]
khan_ is now known as khan
alxs has joined #ponylang
_andre has joined #ponylang
alxs has quit [Quit: Computer's gone to sleep. ZZZzzz…]
pzel has joined #ponylang
alxs has joined #ponylang
pzel has quit [Ping timeout: 248 seconds]
khan has quit [Quit: khan]
pzel has joined #ponylang
acarrico has joined #ponylang
endformationage has joined #ponylang
alxs has quit [Quit: Computer's gone to sleep. ZZZzzz…]
alxs has joined #ponylang
alxs has quit [Read error: Connection reset by peer]
alxs_ has joined #ponylang
alxs_ has quit [Quit: Computer's gone to sleep. ZZZzzz…]
pzel has quit [Ping timeout: 240 seconds]
alxs has joined #ponylang
alxs has quit [Client Quit]
alxs has joined #ponylang
pzel has joined #ponylang
pzel has quit [Ping timeout: 268 seconds]
pzel has joined #ponylang
<endformationage> Any idea why I cannot access an obj literal's field here: https://playground.ponylang.org/?gist=b01f4f29fd73cfa2e9860940caac89a1
<aturley> endformationage BuildSomeTraited returns an object that conforms to the SomeTrait trait. that's all the compiler knows about it. so o1's type is SomeTrait, and SomeTrait doesn't have any fields.
<aturley> the compiler knows that o2 is being assigned from a reification of SomeTrait, and that reification *has* a field obj_fld, so you can access it when you call o2 because o2's type is that reified type.
<endformationage> Hmm. Thank you.
<aturley> you're welcome. i hope that helps
<endformationage> Indeed it does!
alxs has quit [Quit: Computer's gone to sleep. ZZZzzz…]
alxs has joined #ponylang
alxs has quit [Quit: Computer's gone to sleep. ZZZzzz…]
alxs has joined #ponylang
alxs has quit [Quit: Computer's gone to sleep. ZZZzzz…]
_andre has quit [Quit: leaving]
m_v_m_ has joined #ponylang
<m_v_m_> Hi all. I can not find any info in the web. Is there support for tail recursion in Pony lang?
<SeanTAllen> m_v_m_: its an optimization that will be applied to non-debug builds. you should not depend on it as you can play the stack with a debug build
<m_v_m_> Thank you. I see.
m_v_m_ has quit [Ping timeout: 256 seconds]
pzel has quit [Ping timeout: 244 seconds]