<doublec>
huh, in the first paste it says Foo iso is not a subtype of T ref. Where did it get iso from?
montanonic has quit [Ping timeout: 260 seconds]
SilverKey has quit [Quit: Cheerio!]
c355e3b has quit [Quit: Connection closed for inactivity]
<Perelandric>
doublec: Thanks for the review. Yeah, I'm confused.
<Perelandric>
Just so I understood, I thought `T.test()` would basically call the constructor with no args, and then call `.test()`
<doublec>
Perelandric: you're right it does
<Perelandric>
OK, good. I double checked with `T.create().test()` just to be sure.
<Perelandric>
So maybe I should just file an issue on this one.
<doublec>
Perelandric: Yes, I think that's a good idea
<Perelandric>
doubled: Super, will do in a few hours. Just about to crash (again).
<Perelandric>
Thanks again for the review and confirmation.
Perelandric has quit [Quit: Page closed]
<doublec>
np
mcguire has quit [Ping timeout: 244 seconds]
Dyserna__ has joined #ponylang
Dyserna_ has quit [Ping timeout: 244 seconds]
<SeanTAllen>
so to anyone who sees the above. There's a problem in that code. You have some type T that you want to be able to call a constructor for and then test() the existence of test() is guaranteed. There's no guarantee that `T` will have a 0 arg constructor.
<SeanTAllen>
in the original version there's another issue that I see... MyTrait test returns a MyTrait
<SeanTAllen>
I could create a GenericTest of Foo. And the Array would expect a Foo but, Foo can return a Bar or any other MyTrait and be legal, but that wouldn't be legal in GenericTest.
<doublec>
In "let b: T = a", because it's generic code T might not be something that Foo can assign too.
jemc has joined #ponylang
* doublec
is too used to template systems that fail only when actually expanded for the failure case
<doublec>
The joys of being a polygot programmer - forgetting what works where
montanonic has joined #ponylang
montanonic has quit [Ping timeout: 265 seconds]
montanonic has joined #ponylang
montanonic has quit [Ping timeout: 250 seconds]
SilverKey has joined #ponylang
montanonic has joined #ponylang
montanonic has quit [Ping timeout: 252 seconds]
SilverKey has quit [Quit: Halted.]
montanonic has joined #ponylang
jemc has quit [Ping timeout: 244 seconds]
montanonic has quit [Ping timeout: 252 seconds]
posnea has joined #ponylang
<posnea>
not sure if this is the right place to report this, but I am following the ponylang tutorial and it compiled from source fine, but when I try to compile the hello world example I get a "Pass 'Move heap allocations to the stack' is not initialized. Verify if there is a pass dependency cycle. Required Passes: Segmentation fault (core dumped)" error
posnea has quit [Quit: Page closed]
<Candle>
doublec: heh, This weekend, I was writing Java, [xml!], Ruby, [graphviz], bash, pony, javascript, [html], [css]. Not the same project mind you...
<doublec>
Candle: I remember going from doing a lot of lisp to doing c++. I was constantly writing (if (do this) ...)
<Candle>
The java I was writing was a maven plugin to handle pony. Mostly because I thought I knew Maven pretty well, and I was fed up with trying to do pacjage management some other way.
<Candle>
package*
<Candle>
There are issues with Maven, it doesn't solve every problem, but it has to be better than nothing.
c355e3b has joined #ponylang
<doublec>
Candle: did you get it working?
SilverKey has joined #ponylang
<Candle>
doublec: Mostly, i need to re-discover my ability to publish to maven central.
<Candle>
I'm also hoping that the --path option to ponyc can be specified multiple times!
<Candle>
Given I was going to package a library as a zip/tar.gz (decision as to which is to be made) I need to work out where I'm going to unpack said archive so that it can be passed to --path.
<Candle>
Finally, I need to document a whole load of decisions I've made, and my rational for choosing that option!
Perelandric has joined #ponylang
<Perelandric>
SeanTAllen: Thank you, that makes sense. Though it would seem like making the trait generic would solve it...
<Perelandric>
...by making sure those that implement it return an instance of the same class from `test()`...