<dougmacdoug_>
if I have a (TypeA|None) return and I want to get a TypeA handle, is match | let x: TypeA=> my best option?
seanohue has quit [Ping timeout: 240 seconds]
seanohue has joined #ponylang
<SeanTAllen>
dougmacdoug_: what do you mean by a TypeA handle?
<SeanTAllen>
so that you can call methods on it as though it was a TypeA?
<SeanTAllen>
if yes then that match and let is exactly what you want to do
<dougmacdoug_>
yes thanks
<dougmacdoug_>
i said handle instead of reference because it might not be a "ref" .. was being confusing trying to avoid confusion
<doublec>
dougmacdoug_: there's also "foo as TypeA" which throws an exception if it's not that type
<doublec>
If you can restructure your program to avoid the "|None" it makes things much easier
c355e3b has quit [Quit: Connection closed for inactivity]
seanohue has quit [Ping timeout: 240 seconds]
kajstrom_ has quit [Ping timeout: 248 seconds]
kajstrom has joined #ponylang
aav_away_ has joined #ponylang
aav_away has quit [Ping timeout: 240 seconds]
<SeanTAllen>
errors are much more expensive than a match. i would recommmend avoiding "foo as TypeA" if you care about performance.
<SeanTAllen>
in general, avoid `error` if it will be called frequently and favor union types and matching.
<TwoNotes>
I follow all the instructions on resolving the conflict and all I end up with is my httpng branch merged into my own local master branch, which is not what I want!
The_Brofessor has joined #ponylang
TwoNotes has left #ponylang [#ponylang]
amclain has quit [Quit: Leaving]
aedigix has quit [Quit: disconnecting]
The_Brofessor has quit [Read error: Connection reset by peer]
<dougmacdoug_>
what is a good way to structure your directories to have unit tests and an application Main actor that do not collide
aedigix has joined #ponylang
aedigix has quit [Remote host closed the connection]
aedigix has joined #ponylang
dougmacdoug_ has quit [Ping timeout: 260 seconds]
rurban has joined #ponylang
TonyLo has joined #ponylang
rurban has left #ponylang [#ponylang]
sjums has quit [Read error: Connection reset by peer]
sjums has joined #ponylang
<TonyLo>
I have a generic class A[T] which needs to instantiate 'default' instances of T to initialise an array in the class constructor. Upto now I have passed in a default value, in the class constructor, but this seems inelegant. Any suggestions?
<TonyLo>
in C#, for example, there is default(T), anything similar in Pony?
Matthias247 has joined #ponylang
Matthias247_ has joined #ponylang
unbalanced has joined #ponylang
Fuuzetsu_ has joined #ponylang
Matthias247 has quit [*.net *.split]
unbalancedparen has quit [*.net *.split]
Fuuzetsu has quit [*.net *.split]
Fuuzetsu_ is now known as Fuuzetsu
<TonyLo>
How can I print the id of an actor, i.e. it's U64 value?
<doublec>
TonyLo: I don't think they have an id
<doublec>
There's some value that can be used as a hash in a hashtable
<TonyLo>
doublec, yes this works inside an actor using this, but I have a collection of actors that I want to print the id/address/reference (dont know what to call it :) ) of, thx
<doublec>
TonyLo: you can call digestof on anything
<doublec>
TonyLo: so call it on your other actors
<doublec>
If Foo is an actor, let a = Foo; env.out.print((digestof a).string())
wizeman has joined #ponylang
<TonyLo>
doesn't work, get compile error: can only get the digest of a field, local, parameter or this
<TonyLo>
oh, just realised I was calling it with parenth, works fine thanks
<doublec>
np
c355e3b has joined #ponylang
aav_away_ is now known as aav
TwoNotes has joined #ponylang
<TwoNotes>
My PR for net/http looks improved. I had to wipe my repository and start over with a fresh clone to clear out the messed uprebase merge. There seem to be two "pending checks"
<SeanTAllen>
CI on the free Travis and Appveyor plans can sometimes take a while to run
<TwoNotes>
Those are background jobs that check things?
<SeanTAllen>
Every PR and merge to master has all the tests run as part of continuous integration. Nothing gets merged without passing.
<SeanTAllen>
We use TravisCI for testing OSX and Linux and Appveyor for testing Windows.
<SeanTAllen>
Note in that screenshot, they are all red, it means they all failed. yellow is queue. blue is passing.
<TwoNotes>
I see some failures in URL (which the only thing the http tests actually test). I made a small change there because it did not properly parse username+password embedded in a URL
<TwoNotes>
Nothing from dropbox is loading for me
<TwoNotes>
"Logged into appveyor"??
<TwoNotes>
I never heard of it, so I am unlikely to have an account
<TwoNotes>
I did see that list of jobs but no indication of which failed
<SeanTAllen>
they load for me. ¯\_(ツ)_/¯
<SeanTAllen>
Red means they failed
<SeanTAllen>
Yellow means queued to run
<SeanTAllen>
Blue means passed
<TwoNotes>
I am thinking of just pulling that change to URL. Nobody puts credentials in URLs these days
<TwoNotes>
There is an "Authentication" header instead, that gets encrypted by https
<TonyLo>
any ideas on this?:[08:37] <TonyLo> I have a generic class A[T] which needs to instantiate 'default' instances of T to initialise an array in the class constructor. Upto now I have passed in a default value, in the class constructor, but this seems inelegant. Any suggestions?
<TonyLo>
[08:50] <TonyLo> in C#, for example, there is default(T), anything similar in Pony?
<SeanTAllen>
you can have an empty `create()` or you can use default values with parameters.
<TonyLo>
I tried this but the compiler complained when it was a generic type
<SeanTAllen>
create isnt part of the comparable interface
<SeanTAllen>
you'd need a "createable, comparable"
<SeanTAllen>
which is an interface you could create and then the compiler can verify that this code will work
<SeanTAllen>
but not every Comparable is guaranteed to work with that code
TonyLo has quit [Ping timeout: 256 seconds]
rurban has joined #ponylang
amclain has joined #ponylang
rurban has left #ponylang [#ponylang]
TonyLo has joined #ponylang
TwoNotes has joined #ponylang
jemc has joined #ponylang
jemc has quit [Client Quit]
jemc has joined #ponylang
TonyLo has quit [Read error: Connection reset by peer]
TwoNotes has quit [Quit: Leaving.]
c355e3b has quit [Remote host closed the connection]
jonrh has quit [Remote host closed the connection]
darach has quit [Remote host closed the connection]
kushalp has quit [Remote host closed the connection]
omarkj has quit [Remote host closed the connection]
strmpnk has quit [Remote host closed the connection]
gornikm has quit [Remote host closed the connection]
jtfmumm_ has quit [Remote host closed the connection]
wizeman has quit [Remote host closed the connection]
TonyLo has joined #ponylang
rurban has joined #ponylang
adamkittelson has quit [Remote host closed the connection]
ericbmerritt_ has quit [Remote host closed the connection]
jeremyheiler has quit [Remote host closed the connection]
bbhoss has quit [Remote host closed the connection]
<TonyLo>
SeanTAllen, thanks for the response, I will try that
rurban has quit [Quit: Leaving.]
omarkj has joined #ponylang
kushalp has joined #ponylang
jonrh has joined #ponylang
darach has joined #ponylang
bbhoss has joined #ponylang
strmpnk has joined #ponylang
c355e3b has joined #ponylang
ericbmerritt_ has joined #ponylang
jeremyheiler has joined #ponylang
adamkittelson has joined #ponylang
gornikm_ has joined #ponylang
jtfmumm__ has joined #ponylang
_andre has quit [Quit: leaving]
wizeman has joined #ponylang
Matthias247_ has quit [Read error: Connection reset by peer]
dougmacdoug has quit [Quit: dougmacdoug]
dougmacdoug has joined #ponylang
dougmacdoug has quit [Ping timeout: 240 seconds]
jemc has quit [Ping timeout: 255 seconds]
rurban has joined #ponylang
jemc has joined #ponylang
TwoNotes has joined #ponylang
dougmacdoug has joined #ponylang
wizeman has quit [Quit: Connection closed for inactivity]
<TwoNotes>
Why would the Travis-CL continuous integration tests take a lot longer than the AppVeyor ones?
<SeanTAllen>
because they have a larger matrix to run
<SeanTAllen>
because travis is far more popular than appveyor and it takes longer to get resources
<SeanTAllen>
thats TravisCI by the way
TonyLo has quit []
<SeanTAllen>
each time you push to the PR it will kick off a build
<SeanTAllen>
so if you push multiple times, they all get run even if you push again before the previous has been run
<TwoNotes>
jemc, how do I run these benchmarks you want me to run? make libponyrt.benchmarks?
<jemc>
TwoNotes: make sure you `git checkout` dipinhora's branch, then run `make benchmark`
<jemc>
at least, that's how it's documented to work - I haven't run them yet myself
<jemc>
I just thought you might be interested to run them, because dipinhora said "I think it's better (or no worse) at least on x86_64 but I'm not sure about ARM"
<jemc>
and I think you're one of the main users of Pony on ARM, for now at least