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
jemc has quit [Ping timeout: 248 seconds]
plietar has joined #ponylang
aceluck has joined #ponylang
obadz has quit [Ping timeout: 255 seconds]
obadz has joined #ponylang
amclain has quit [Quit: Leaving]
obadz has quit [Ping timeout: 260 seconds]
obadz has joined #ponylang
plietar has quit [Remote host closed the connection]
plietar has joined #ponylang
plietar has quit [Ping timeout: 255 seconds]
plietar has joined #ponylang
Praetonus has quit [Quit: Leaving]
plietar has quit [Remote host closed the connection]
plietar has joined #ponylang
plietar has quit [Ping timeout: 255 seconds]
aceluck has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
plietar has joined #ponylang
plietar has quit [Ping timeout: 240 seconds]
jemc has joined #ponylang
jemc has quit [Quit: WeeChat 1.4]
jemc has joined #ponylang
jemc has quit [Ping timeout: 248 seconds]
plietar has joined #ponylang
plietar has quit [Ping timeout: 255 seconds]
plietar has joined #ponylang
plietar has quit [Ping timeout: 240 seconds]
papey_lap has joined #ponylang
vaninwagen has joined #ponylang
kajstrom has quit [Ping timeout: 248 seconds]
kajstrom has joined #ponylang
papey_lap has quit [Quit: WeeChat 1.9]
plietar has joined #ponylang
papey_lap has joined #ponylang
plietar has quit [Ping timeout: 255 seconds]
plietar has joined #ponylang
plietar has quit [Ping timeout: 255 seconds]
aceluck has joined #ponylang
vaninwagen has quit [Ping timeout: 240 seconds]
plietar has joined #ponylang
plietar has quit [Ping timeout: 255 seconds]
rurban has joined #ponylang
_andre has joined #ponylang
vaninwagen has joined #ponylang
plietar has joined #ponylang
plietar has quit [Ping timeout: 246 seconds]
plietar has joined #ponylang
plietar has quit [Remote host closed the connection]
plietar has joined #ponylang
<vaninwagen> hi, i am hitting some unexpected behaviour of pony: https://is.gd/9bY84a
plietar has quit [Ping timeout: 240 seconds]
<vaninwagen> i have a trait that defines a partial function which is implemented by as class whose implementation does not throw an error
<vaninwagen> thus what i get is: "try expression never results in an error"
<vaninwagen> ah, this way it works: https://is.gd/ATfqg9
<vaninwagen> still feels strange, worth a github issue?
vak has joined #ponylang
<vak> hi all
<SeanTAllen> vaninwagen: that isnt unexpected, you want: http://pony-playpen.lietar.net/?gist=0cc9721c2b66b182181a75aec02220aa
<SeanTAllen> you are using a concrete instance that will never fail
<SeanTAllen> hi vak
<vak> SeanTAllen: jemc: many thanks for your support yesterday. This now indeed much better readable with the class holding all the state variables: http://pony-playpen.lietar.net/?gist=e8c9384c8e0f382964682dc6a6fc98f4
<vaninwagen> SeanTAllen yes, totally right :) in my actual code (which i derived this short example from) i used this in a trait which called its own method
<vaninwagen> the compiler correctly assumed the type of `this` as the implementing class which had no partial func
<vaninwagen> all i needed to do was to "cast" this to the actual trait :)
aceluck has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rurban has quit [Quit: Leaving.]
jemc has joined #ponylang
jemc_ has joined #ponylang
jemc has quit [Ping timeout: 268 seconds]
jemc_ has quit [Quit: WeeChat 1.4]
jemc has joined #ponylang
rurban has joined #ponylang
plietar has joined #ponylang
plietar has quit [Ping timeout: 255 seconds]
rurban has quit [Quit: Leaving.]
aceluck has joined #ponylang
plietar has joined #ponylang
plietar has quit [Ping timeout: 255 seconds]
plietar has joined #ponylang
Praetonus has joined #ponylang
plietar has quit [Ping timeout: 255 seconds]
vak has quit [Ping timeout: 260 seconds]
amclain has joined #ponylang
rurban has joined #ponylang
vaninwagen has quit [Ping timeout: 248 seconds]
Pako has joined #ponylang
Praetonus has quit [Quit: Leaving]
JustVic has joined #ponylang
endformationage has joined #ponylang
Pako has quit [Quit: Lost terminal]
plietar has joined #ponylang
plietar has quit [Ping timeout: 240 seconds]
Praetonus has joined #ponylang
<cousin_luigi> SeanTAllen: Ping!
Matthias247 has joined #ponylang
<SeanTAllen> howdy cousin_luigi
plietar has joined #ponylang
plietar has quit [Ping timeout: 255 seconds]
<cousin_luigi> SeanTAllen: What do you make of "CompilerSerialisationTest.SerialiseAfterTraits" and "CompilerSerialisationTest.SerialiseAfterFlatten" segfaulting?
* cousin_luigi didn't have all of this trouble with 0.14
<SeanTAllen> cousin_luigi: what arch?
<SeanTAllen> are you building from source?
<cousin_luigi> SeanTAllen: i586 and yes
<SeanTAllen> gcc 7?
<cousin_luigi> SeanTAllen: Not sure if there's any relation with bug #2059
<cousin_luigi> SeanTAllen: Correct.
<SeanTAllen> is it possible to try with gcc 6?
<SeanTAllen> also, it would be helpful if you could build a debug version of the compiler and then run the tests in a debugger and open an issue with a backtrace. do you know how to do that cousin_luigi ?
<cousin_luigi> SeanTAllen: Will try gcc6. I think I remember, but I wasn't building locally, will have to download the whole i586 tumbleweed and it's going to take some time.
<cousin_luigi> SeanTAllen: What happens if I can't reproduce locally though?
<SeanTAllen> i dont understand the reproduce locally question. where are you getting the issue if not "locally"?
<cousin_luigi> SeanTAllen: On OBS.
<cousin_luigi> I can also run the build on my machine, but since I don't use kvm, results could be different.
<SeanTAllen> Sorry, I dont know what "On OBS" means
<SeanTAllen> I think I'm missing a good amount of context
endformationage has quit [Quit: WeeChat 1.7]
<cousin_luigi> SeanTAllen: I package some apps for for openSUSE. OBS allows to run each build in an isolated environment. I believe every distro has a system of that sort, but OBS is more open.
<cousin_luigi> SeanTAllen: Cloud for rpm? Not sure what else to call it.
<jemc> > cousin_luigi didn't have all of this trouble with 0.14
<jemc> I don't think that particular test existed before the current version
<cousin_luigi> jemc: And on second thought I was wrong.
<cousin_luigi> jemc: Now that I think of it I found 0.14 failing with gcc7. But the latter had become default after submitting the old ponyc.
<cousin_luigi> anyway it's still failing even with gcc6, although now in "serialise/BoxedMachineWord"
<cousin_luigi> Could try clang if you think it worth it.
<SeanTAllen> if you cant reproduce locally then its going to be hard to figure out what is going on unless you can debug in OBS.
<cousin_luigi> SeanTAllen: Trying now.
<jemc> it's possible that serialisation is broken on a non-x86 / x86-64 platform...
<SeanTAllen> cousin_luigi: you said this was on i586, correct?
<cousin_luigi> jemc: it's i586. armv7 seems to be happy after disabling writevlarge.
<cousin_luigi> SeanTAllen: Correct.
<cousin_luigi> Are any of the new tests (and by new I mean introduced in 0.15) I/O, memory or storage intensive?
<SeanTAllen> not that i am aware of
<cousin_luigi> Ok, files/File.writevlarge just failed on a local build on i586 and gcc6.
<cousin_luigi> How do you recommend I proceed?
<cousin_luigi> gah, I forgot to add gdb
<SeanTAllen> what is your local environment?
<SeanTAllen> the File.writevlarge is a different issue than the segfault probably
<SeanTAllen> and you are using 0.15.0 or the latest master?
<cousin_luigi> SeanTAllen: 0.15.0 plus the patch you suggested yesterday.
<cousin_luigi> Should I switch to master for good measure?
<SeanTAllen> i dont remember suggesting a patch
<SeanTAllen> your local environment is what cpu, what os etc?
JustVic has quit [Ping timeout: 260 seconds]
<cousin_luigi> SeanTAllen: Perhaps it was someone else, I have a wicked headache. local env being an i3570k with openSUSE 42.2 x86_64, build run with osc under said VM, that is a chroot containing openSUSE_Factory i586 with essential packages.
<cousin_luigi> Factory being a 10 days newer Tumbleweed, to be precise.
<cousin_luigi> The VM I didn't mention (headache...) runs under virtualbox.
<cousin_luigi> SeanTAllen: https://github.com/ponylang/ponyc/pull/2047 this is the patch I added to 0.15.0, suggested by jemc.
vaninwagen has joined #ponylang
<SeanTAllen> sorry. i need to run. back sometime later.
papey_lap has quit [Ping timeout: 248 seconds]
<cousin_luigi> k
plietar has joined #ponylang
Praetonus has quit [Quit: Leaving]
plietar has quit [Ping timeout: 255 seconds]
JustVic has joined #ponylang
profetes has joined #ponylang
rurban has quit [Quit: Leaving.]
profetes has quit [Quit: Page closed]
plietar has joined #ponylang
plietar has quit [Ping timeout: 255 seconds]
<vaninwagen> a wonderful evening everybody. if i have a non-Stringable object and i want to create a string from that, is there a way to get the type name or something in pony?
<vaninwagen> my goal is to create output like "MyLittlePonyClass@1334534534326541"
<jemc> vaninwagen: that feature doesn't exist right now - if you want that for a set of classes, you have to add a method to them that returns the string you want it to return
<jemc> I've definitely encountered this need before, but it was usually when I was already using code generation to create N similar classes
<jemc> so it was easy to extend the code generation to include that method I needed
<jemc> I think the last discussion on introspection ended with sylvanc saying he was interested in adding introspection features, provided that they were "capabilities-secure" - I don't think we've ironed out what that means to us in this context, but it's something worth exploring again I think
<jemc> if you wanted to spark that conversation, you could consider creating an RFC for it, and see what feedback you get
<jemc> I'm personally generally inclined to be favorable toward such a feature
<vaninwagen> jemc, thank you. i am not 100% sure if this needs to involve the whole introspection topic
<vaninwagen> i thought about something like Object.toString() in java, which returns "<classname>@<hashCode>"
<vaninwagen> i am unfortunately writing a library for pony that should be able to deal with everything
<jemc> you can get the `<hashCode>` part using the `digestof` operator
<jemc> the other part is not possible at the moment, without handling it yourself
<vaninwagen> jemc, i guess capabilities-secure introspection means that e.g. that i can only introspect into properties/methods in the way i see them through their reference
<vaninwagen> so i can only introspect a ref field on a box reference as box
<vaninwagen> something along those lines
<vaninwagen> jemc, given the c structure of a class/actor in pony would there be an easy way to access its type and thus its name?
JustVic has quit [Ping timeout: 260 seconds]
aceluck has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
plietar has joined #ponylang
<jemc> using C, you could probably get access to the `pony_type_t`
<jemc> which has a numeric id, but it doesn't have a string name at runtime
<jemc> if we were to implement it as a new feature, we'd probably want to code-generate a method of each type (or at least, those for which the method is reachable), which returns the string as its return value, much like we code-generate the method for the `is` operator
<jemc> or, diving deeper into introspection, maybe it would return not a string name, but a pony primitive that represents the type as the compiler sees it
<jemc> which would include a method that returns the string name
<vaninwagen> jemc i feel i can still only spark the discussion, following along or even contributing is still a deep dive into the rabbit-hole away
<vaninwagen> jemc if you like i can create an RFC tomorrow and outline a humble approach (from the pony programmers perspective) for discussion
<jemc> if you like, you could file a a "request for RFC" issue ticket in the RFC repo, rather than an actual RFC
<vaninwagen> jemc good point
<jemc> we have some of those floating around
<jemc> that's probably the best way to "spark the discussion"
<jemc> vaninwagen: actually I'm noticing there is already a related ticket: https://github.com/ponylang/rfcs/issues/57
<jemc> you could add your thoughts there
<vaninwagen> jemc, stumbled upon the same :)
<jemc> I might take a look at writing the RFC for it, after spending some time with this paper: http://bracha.org/mirrors.pdf
<vaninwagen> i dont even know where to start - should an introspection type represent the reference type (including capabilities) or should it only represent the actual class?
<vaninwagen> does the capability belong to the type (my guess) or to the reference?
plietar has quit [Remote host closed the connection]
plietar has joined #ponylang
Matthias247 has quit [Read error: Connection reset by peer]
<vaninwagen> in the final runtime code there are no generics or type params anymore, right?
plietar has quit [Ping timeout: 255 seconds]
<SeanTAllen> capabilities secure introspection means in part that i have to be given the ability to introspect object (perhaps a subset of objects). merely having been given an object does not give me the right to introspect it.
<SeanTAllen> further if introspect allowed you to modify an object that is problematic because it could violate capabilities security. i could take a file path that allows me access to everything under /opt/local and change it to /
<vaninwagen> SeanTAllen yeah, didnt think about manipulation
vaninwagen has quit [Ping timeout: 240 seconds]