<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.
<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
<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