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
aturley_ has joined #ponylang
aturley has quit [Ping timeout: 258 seconds]
jemc has joined #ponylang
acarrico has quit [Ping timeout: 245 seconds]
acarrico has joined #ponylang
acarrico has quit [Ping timeout: 240 seconds]
jemc has quit [Ping timeout: 246 seconds]
<rkallos> How can I add an array member to a Pony struct? Suppose I have `struct foo {uint8_t arr[4];}`, I don't think I can quite use a Pony array there. What comes to mind, at least for a fixed-size array, is to have something like `var arr_0: U8 = 0`, `var arr_1: U8 = 0`, and so on. Is there a better way?
jemc has joined #ponylang
endformationage has quit [Quit: WeeChat 2.3]
srenatus has joined #ponylang
jemc has quit [Ping timeout: 268 seconds]
profetes_ has joined #ponylang
profetes_ has quit [Client Quit]
ExtraCrispy has joined #ponylang
profetes has quit [Ping timeout: 252 seconds]
acarrico has joined #ponylang
beardhatcode has joined #ponylang
beardhatcode has quit [Remote host closed the connection]
<SeanTAllen> ive done very little with structs rkallos so sadly i can't help. perhaps jemc or vaninwagen might be able to help.
aturley has joined #ponylang
aturley_ has quit [Ping timeout: 258 seconds]
_whitelogger has joined #ponylang
EEVV has joined #ponylang
<EEVV> Hello, does the `from_cpointer` function in `Array` class assume control for the cpointer? As in it frees it whenever the GC decides to? If so can someone please update the stdlib.ponylang.io to reflect this in the function (it would be nice)
aturley has quit [Read error: Connection reset by peer]
aturley_ has joined #ponylang
<SeanTAllen> No it does not EEVV
<SeanTAllen> Pony will gc memory that was allocated from its allocator
aturley_ is now known as aturley
<SeanTAllen> If that pointer is to something that you say allocated with @malloc, then it will not be gc'd.
<EEVV> SeanTAllen, so I should copy the contents from cpointer to a fresh array and do @free?
<EEVV> cpointer -> array (with .from_cpointer) -> array (copied)
profetes has joined #ponylang
jemc has joined #ponylang
jemc has quit [Client Quit]
jemc has joined #ponylang
<SeanTAllen> if i understand your question correctly, yes.
powerbit has quit [Ping timeout: 272 seconds]
jemc has quit [Remote host closed the connection]
EEVV has quit [Ping timeout: 256 seconds]
jemc has joined #ponylang
srenatus has quit [Quit: Connection closed for inactivity]
jemc has quit [Ping timeout: 245 seconds]
travis-ci has joined #ponylang
<travis-ci> ponylang/ponyc#5586 (master - d74834d : Sean T Allen): The build was fixed.
travis-ci has left #ponylang [#ponylang]
jemc has joined #ponylang
EEVV has joined #ponylang
<EEVV> I have a question/suggestion/whatever
<EEVV> I don't see that TCPConnection can do blocking reads, is there a way to do this?
<EEVV> it would simplify some things for me I think
<SeanTAllen> No
<SeanTAllen> what is it that you want to do?
<SeanTAllen> Do you want to wait til X amount of data has been received before the `received` on your TCPNotify object is called EEVV ?
<EEVV> SeanTAllen, I am trying to read from the network but the problem is that it can split the packet mid way
<EEVV> yes
<EEVV> I guess that's it
<SeanTAllen> you want to use expect()
<EEVV> mm I'll look this up
<EEVV> also just wondering how big is the pony team?
<SeanTAllen> Pony is a volunteer project. There are 5 people on the core team. Many folks contribute from time to time.
<EEVV> I have been working on a toy compiler, I'm really interested in languages but I don't know if I would be of any use
<EEVV> but pony is one of the most interesting languages (maybe because I have never heard of actor model?)
<EEVV> would pony one day become a self hosting language (but still depends on llvm)?
<SeanTAllen> that is the general plan for the compiler
<SeanTAllen> although, parts of the runtime will probably never be Pony.
<jemc> > I'm really interested in languages but I don't know if I would be of any use
<jemc> if you're intereseted in languages and compilers, or even just Pony at all, I'd strongly encourage you to get involved and join the team
<jemc> I have a standing offer to spend time helping people who want to get familiarized with the compiler
<EEVV> maybe I could but I have quite a lot to learn, especially LLVM stuff
<EEVV> I may eventually learn LLVM myself
<SeanTAllen> we are happy for help EEVV and happy to help people out
<EEVV> jemc, if you help me learn how pony works I would like to contribute
<jemc> there's a lot you can contribute to without learning LLVM - only the latest stages of the compiler interact with LLVM
<EEVV> there is this simple assembler https://schweigi.github.io/assembler-simulator/ I used to try and write a compiler
<jemc> if you're looking for a low-hanging-fruit to start with, you can shop around in our issue tracker for those tickets labeled as "complexity: beginner friendly", and ask for help and clarification if needed: https://github.com/ponylang/ponyc/issues?q=is%3Aopen+is%3Aissue+label%3A%22complexity%3A+beginner+friendly%22
<EEVV> I was wondering how much pony would help with tree structures, probably not that much...?
<EEVV> ok I will look
<jemc> can you clarify "help with tree structures"? I don't fully understand the question
<EEVV> I am new to open-source stuff but what I am supposed to do is fork and then do pull request?
<jemc> yeah, pretty much. let me pull up some informational links for ya
<EEVV> what I meant is utilize the actor model to somehow make compilation times faster
<EEVV> the problem is I'm kind of new to pony and threading in general
<SeanTAllen> beat me to it jemc
<EEVV> maybe it would be good if I learned how to use git properly too... my biggest fear is merging
<jemc> the nice thing about pony and other actor model languages is that you don't really need to understand "threading" in particular (which usually implies lots of things related to mutexes and the like, which aren't needed in Pony)
<EEVV> yeah but the problem for me is what should I make into an actor
<EEVV> I just kind of "go with the flow" pony says TCPConnection is actor, then I just stick with it
<jemc> yeah, so there are a few different ways to think about "when should I make something an actor?", but the most basic place to start is: whenever you have the desire to *wait* for something, it should be an actor that listens for messages instead of a blocking operation
<EEVV> one question: why not use latest LLVM?
<jemc> we're working on it :)
<EEVV> is it a huge difference?
<EEVV> the API change
<jemc> not huge, but the main issue is that LLVM doesn't commit to publishing a comprehensive changelog that describes everything that you might need to change
<jemc> they do have a changelog, but it doesn't include everything, so updating involves a lot of incremental attempts and digging through history
<jemc> we have an open branch right now where two of us are working on LLVM 7 support
<EEVV> if you can spam me relevant tags I will look into it online
<EEVV> also any people from the core team in europe?
<jemc> yeah, we have a few in europe
<jemc> Pony was conceived in the UK
<jemc> one of our team members recently hosted a meetup in Berlin
<EEVV> I guess most have jobs lol
<EEVV> 1s rejoin
EEVV has quit []
EEVV has joined #ponylang
<jemc> rkallos: as you guessed, using a Pony `Array[U8]` won't be compatible with the C array
<jemc> you'll need to use a Pony `Pointer[U8]`
<jemc> then use `Array[U8].from_cpointer(ptr, 4)` to convert it to a Pony array
<EEVV> hey have you guys considered using discord?
<SeanTAllen> no
<SeanTAllen> we havent discussed it
EEVV has quit [Quit: EEVV]
<jemc> (it's worth noting that we are publicly opening a slack server today, for those who prefer such a medium over IRC
jemc has quit [Quit: WeeChat 2.2]
<SeanTAllen> https://www.ponylang.io/get-slack-invite <-- is where you can go to join
jemc has joined #ponylang
profetes has quit [Quit: Leaving]