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
jmiven has joined #ponylang
samuell has quit [Quit: Leaving]
lungaro has left #ponylang ["Leaving"]
jemc has quit [Ping timeout: 240 seconds]
<bitcrusher> do you know why irclog doesn't have logs of some days?
jemc has joined #ponylang
<SeanTAllen> bitcrusher: probably because there was nothing to log those days.
<SeanTAllen> endformationage: that sounds famiiar
_whitelogger has joined #ponylang
jemc has quit [Ping timeout: 248 seconds]
dipin has quit [Quit: dipin]
jemc has joined #ponylang
jemc has quit [Ping timeout: 248 seconds]
irx[m] has quit [Ping timeout: 252 seconds]
irx[m] has joined #ponylang
jemc has joined #ponylang
endformationage has quit [Quit: WeeChat 1.9.1]
jemc has quit [Ping timeout: 240 seconds]
tscho has quit [Read error: Connection reset by peer]
tscho has joined #ponylang
tscho_ has joined #ponylang
tscho has quit [Read error: Connection reset by peer]
tscho has joined #ponylang
tscho_ has quit [Ping timeout: 260 seconds]
Bombe has quit [Ping timeout: 246 seconds]
Bombe has joined #ponylang
tscho_ has joined #ponylang
tscho- has joined #ponylang
tscho has quit [Ping timeout: 248 seconds]
tscho_ has quit [Ping timeout: 240 seconds]
bitcrusher has quit [Ping timeout: 255 seconds]
bitcrusher has joined #ponylang
samuell has joined #ponylang
samuell has quit [Quit: Leaving]
samuell has joined #ponylang
samuell has quit [Client Quit]
jmiven has quit [Quit: co'o]
jmiven has joined #ponylang
weckwar has joined #ponylang
weckwar has quit [Client Quit]
acarrico has quit [Ping timeout: 240 seconds]
ShalokShalom_ has joined #ponylang
ShalokShalom has quit [Ping timeout: 240 seconds]
ShalokShalom_ is now known as ShalokShalom
samuell has joined #ponylang
samuell has quit [Remote host closed the connection]
Praetonus has joined #ponylang
jemc has joined #ponylang
Praetonus has quit [Quit: Leaving]
dipin has joined #ponylang
endformationage has joined #ponylang
_whitelogger has joined #ponylang
jpoirier has joined #ponylang
codec-abc has joined #ponylang
<codec-abc> Hi
<codec-abc> Can somebody answer a few questions about pony collections ?
jemc has quit [Ping timeout: 248 seconds]
<SeanTAllen> hi codec-abc: what's your question?
<codec-abc> I am playing around with Pony having a decent experience of C# and LINQ
<codec-abc> and I wonder why the API is inconsistent
<SeanTAllen> that's not really an answerable question
<codec-abc> for example, there is a method filter on List, but not on Array. There is a for_each for Cons
<SeanTAllen> if you have a specific inconsistency, we could talk about that
<codec-abc> yeah I am comming to the point :)
<SeanTAllen> the short answer for that would be: "because no one has added them"
<codec-abc> that was my question
<SeanTAllen> there's an RFC somewhere to normalize everything that is a Seq
<codec-abc> if it was done on purpose or it is because the langage it is too young
<codec-abc> cool
<SeanTAllen> which is i believe what you are speaking to
<codec-abc> totally
<SeanTAllen> definitely not because its desired
<codec-abc> that is answering my question
<SeanTAllen> totally "young"
<SeanTAllen> collections can be a little hard to write in the beginning but if you wanted to try and take it on, i can try to track down the issue
<codec-abc> tbh it is a bit confusing for beginners
<SeanTAllen> what is a bit confusing for beginners?
<codec-abc> well i am still learning the language so I don't feel confident to do this task
<SeanTAllen> generics and reference capabilities?
<SeanTAllen> makes sense
<codec-abc> the collections APIs and the fact the tutorial does not talk about it
<SeanTAllen> its a more advanced area, reference capabilities + generics
<codec-abc> on the page about basic types (U32, F32 etc...)
<SeanTAllen> Mathias is going to be adding a "standard library overview" to the tutorial
<SeanTAllen> however we do not intend to document collections there
<codec-abc> there is no words about basic collections
<codec-abc> but without it even a beginner can go really far
<SeanTAllen> he is also planning enhancing the documentation for collections in the source itself which then becomes part of the generated documentation
<codec-abc> I mean even bare C has the notion of array
<codec-abc> happy to ear it
<SeanTAllen> i dont follow
<codec-abc> what ?
<SeanTAllen> there are arrays in Pony
<codec-abc> indeed
<SeanTAllen> i'm not sure what you mean by "even bare C has the notion of array"
<SeanTAllen> whatever point you might be making is currently lost on me, sorry
<codec-abc> are they primitive like the others ?
<codec-abc> I mean built-in ?
<SeanTAllen> let's step back for a moment
<SeanTAllen> you've just started learning
<codec-abc> ok
<SeanTAllen> where did you start from?
<codec-abc> yeah
<codec-abc> the tutorial
<SeanTAllen> ah, so just straight to the tutorial?
<codec-abc> yes, was I supposed to start from somewhere else ?
<SeanTAllen> no
<SeanTAllen> not really
<SeanTAllen> so question
<SeanTAllen> did you get to the tutorial from the website? in particular from https://www.ponylang.org/learn/ ?
<codec-abc> I used https://tutorial.ponylang.org/, but can remember if accesed from the site or Github
<codec-abc> but I believe they lead to the same right ?
<SeanTAllen> I would give https://www.ponylang.org/learn/ a quick once over. it contains a few tips.
<SeanTAllen> are you aware of the standard library documentation?
<codec-abc> yes
<SeanTAllen> ok
<SeanTAllen> thats good
<SeanTAllen> everything in the standard library that has documentation is up at https://www.ponylang.org/learn/
<codec-abc> but honestly, I think beginners (like me) shouldn't have to use it before finishing the tutorial
<SeanTAllen> err
<SeanTAllen> sorry wrong link
<SeanTAllen> i dont follow codec-abc
<SeanTAllen> so
<SeanTAllen> you think that collections etc need to be covered in the tutorial but you shouldnt have to use standard library documentation?
<codec-abc> a bit yes
<SeanTAllen> are you saying that certain parts of the standard library are special in some fashion when you are learning?
<codec-abc> and like the API is not complete yet, maybe just saying it would be enough
<SeanTAllen> if yes, i'd be interested to hear what bits you think think are "special" in that sense.
<codec-abc> not special, but so commonly used, that they deserve a few words
<SeanTAllen> well on "complete". until we mint a version 1.0, everything could be considered "not complete"
<SeanTAllen> what does "a few words" mean to you?
<SeanTAllen> what would you expect?
<SeanTAllen> (sorry dont mean to grill you, its good to learn from new folks coming in)
<codec-abc> :) I am fine with it, actually I am the thinking that I am a bit too offensing
<codec-abc> back to the subject, I think that presenting Array, List, Iterator a bit more could help avoid some confusion
<codec-abc> to give you an example I did try to do some basic stuff, like creating a sequence of numbers, filtering them using lambdas, and printing them
<codec-abc> this is quite basic and since pony has support for lambdas I though this would take at most only 2-3 minutes
<SeanTAllen> hmmm ok
<codec-abc> but I was a bit lost between array, list and the API
<SeanTAllen> so you are saying "collections" because they are "basic data types"
<SeanTAllen> yes?
<codec-abc> and how to convert from one to another
<codec-abc> yes
<SeanTAllen> so if collections had a RedBlackTree, you wouldnt be expecting to see a discussion of it
<SeanTAllen> because that's a more advanced data type, yes?
<codec-abc> yes
<SeanTAllen> makes sense
<SeanTAllen> thanks for helping me understand
<SeanTAllen> your feedback will definitely help shape things as we move forward
<SeanTAllen> btw, we have a blog post series called "My First Pony" where we get folks who are just starting Pony (a week or two in) to write a blog about their experiences so far. Would you be interested in writing a "My First Pony"?
<codec-abc> yeah why not
<SeanTAllen> Talking about the things you found easy, things you found hard etc is all good
<SeanTAllen> the only thing we ask is that you don't talk down about other languages and tools
<codec-abc> Actually I did some pull request on the tutorial
<codec-abc> but I wanted feedback about the collections thing
<SeanTAllen> I saw the PRs but havent had a chance to look
<codec-abc> no need to rush
<codec-abc> What is the reason to not talk about other languages ?
<SeanTAllen> its ok to talk about other languages and tools, we just want to avoid "Pony is awesome! Scala sucks!"
<SeanTAllen> that sort of thing
<codec-abc> yeah sure
<SeanTAllen> we, the pony team, work very hard to not speak ill of other tools
<SeanTAllen> we are happy to discuss why we find the actor model better for our uses cases than say CSP
<codec-abc> I understand but I think correct crisitism is fine
<SeanTAllen> but thats a technical discussion as compare to
<SeanTAllen> "Go Sucks! Actor model rules!"
<SeanTAllen> which sadly lots of computer/technical discussions devolve into
<codec-abc> I see
<SeanTAllen> We are very much about positive, constructive conversations and keeping things free of vitriol.
<codec-abc> I think I can manage that
<SeanTAllen> You'll get the feel of it as you hang around folks. It's a very positive community.
<SeanTAllen> So "my first pony"
<codec-abc> I hang quite a bit at r/rust and I think they think the same
<SeanTAllen> There's some info about doing blog posts for the site in general: https://github.com/ponylang/ponylang.github.io/blob/master/HOW_TO.md
<codec-abc> I am actually liking the 2 languages
<codec-abc> even if it is a bit early to be sure about pony :)
<SeanTAllen> you can see an example "My First Pony" here: https://www.ponylang.org/blog/2017/07/my-first-pony/
<SeanTAllen> You'd want to give it the category of "My First Pony" and then you can name your post whatever seems to fit for you.
<SeanTAllen> If you get stuck and need help, I'm happy to lend a hand, my email address is sean@monkeysnatchbanana.com
<codec-abc> but is it ok if I am just learning it because what the language "sells" appeal to me?
<SeanTAllen> As to Rust: excellent language, great people, pretty awesome community
<SeanTAllen> Yeah
<SeanTAllen> Its fine
<codec-abc> and in fact I am not even talking about the actor model (which I consider to be the cherry on top)
<SeanTAllen> It can be very instructive to other learns to hear what folks struggled with, what was easy
acarrico has joined #ponylang
<SeanTAllen> instructive to folks who already know Pony as well
<codec-abc> why not
<SeanTAllen> you can talk about whatever you want about your early Pony learning experiences
<codec-abc> I will dump my though so far on a doc
<SeanTAllen> awesome
<SeanTAllen> I have to go run some errands and I'm mostly not in IRC this weekend as I'm trying to recover from being sick, but I'll check in later to see if you have any other questions.
<SeanTAllen> Did you see that there is a log of this channel in case you ask a question and no one is around?
<SeanTAllen> We always answer questions so, if you ask one and have to leave, check the log
<codec-abc> I am not in a rush so if nobody is around
<codec-abc> I will just come back later
<SeanTAllen> ok
<SeanTAllen> have fun learning!
<codec-abc> thanks, btw have you any email I can contact you?
<codec-abc> I mean for the "my first pony" I would prefer to have a private reading before going public
<bitcrusher> Sean posted his email above.
jemc has joined #ponylang
<sarna> why doesn't pony have a += operator?
<sarna> I mean, is there a particular reason for that?
codec-abc has quit [Quit: Page closed]
jpoirier has quit [Quit: Page closed]
jemc has quit [Ping timeout: 248 seconds]
codec_ has joined #ponylang
codec_ has quit [*.net *.split]
codec_ has joined #ponylang
codec_ has quit [Quit: Page closed]
jemc has joined #ponylang
codec_ has joined #ponylang
jemc has quit [Ping timeout: 248 seconds]
<codec_> Hi
<codec_> I have a question about error handling in Pony
<codec_> is there any kind of language feature or library that can be used to wrap function that can return error in common structure (like Option or Result) ?
codec_ has quit [Quit: Page closed]
codec_ has joined #ponylang
<endformationage> codec_: It is common to use union types of your own for this. For example a function's return may be `(String | None)`, sort of like Rust's Option, or more complex types for error handling that may be built from generic types.
<endformationage> Instead of a function being partial (calls to error not handled within a local try block), you might for instance, define a type describing various errors that may occur in you code, and include them into your return types as union types.