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
alxs has joined #ponylang
alxs has quit [Quit: Computer's gone to sleep. ZZZzzz…]
ehooper[m] has joined #ponylang
jemc has quit [Ping timeout: 248 seconds]
OMGPONIES has joined #ponylang
oneness has joined #ponylang
oneness has quit [Quit: Page closed]
OMGPONIES has quit [Remote host closed the connection]
docstein has joined #ponylang
OMGPONIES has joined #ponylang
OMGPONIES has quit [Remote host closed the connection]
OMGPONIES has joined #ponylang
jemc has joined #ponylang
OMGPONIES has quit [Remote host closed the connection]
OMGPONIES has joined #ponylang
OMGPONIES has quit [Ping timeout: 255 seconds]
chamar has quit [Remote host closed the connection]
OMGPONIES has joined #ponylang
OMGPONIES has quit [Ping timeout: 250 seconds]
OMGPONIES has joined #ponylang
docstein has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jemc has quit [Ping timeout: 248 seconds]
jemc has joined #ponylang
dipin has quit [Quit: dipin]
endformationage has quit [Quit: WeeChat 1.9.1]
SenasOzys_ has quit [Remote host closed the connection]
jemc has quit [Ping timeout: 260 seconds]
samuell has joined #ponylang
samuell has quit [Quit: Leaving]
codec1 has joined #ponylang
codec1 has quit [Read error: Connection reset by peer]
codec2 has joined #ponylang
OMGPONIES has quit [Remote host closed the connection]
codec2 has quit [Quit: Leaving.]
codec1 has joined #ponylang
samuell has joined #ponylang
dipin has joined #ponylang
SenasOzys has joined #ponylang
SirRolin has joined #ponylang
codec1 has quit [Ping timeout: 268 seconds]
codec1 has joined #ponylang
<SirRolin> @seanTAllen do you remember recommending me an example that could reconnect to a server? because i have fiddled allot with my version of it and found out a mistake which, in the words of a developer from postgresql "that's terrible". instead of listening to the events it did sent a command to the server and looked for the result of that. to check for the server connection
<SeanTAllen> SirRolin: I'm not sure what you did specifically. I was pointing out a way to reconnect if you had lost a connection.
<SeanTAllen> If I understand what you are saying, the pg connections can become non-responsive while remaining up requiring you to reconnect yes
<SeanTAllen> ?
<SeanTAllen> I didn't recommend a way to know that the connection is gone, purely how in pony, you want to go about handling reconnecting.
<SeanTAllen> Perhaps that wasn't clear and you read more into my "go look at the Wallaroo TCPSink"
<SeanTAllen> in which case, I apologize for not being more clear
alxs has joined #ponylang
<SirRolin> yeah I read abunch of it, and I don't think it was your fault, just thought it was weird that the TCPsink used such a way.
<SirRolin> don't feel bad, cause you're doing a good job :) just wanted to inform
<SeanTAllen> There's nothing wrong with how the TCPSink works
<SeanTAllen> If reconnects if a connection goes away
<SeanTAllen> In your PG case, it sounds like you need to account for the connection remaining open but it becoming unusable which sadly seems to be a common scenario with databases
alxs has quit [Client Quit]
<SeanTAllen> I know some people who run a query before every other query to check that the connection is still up
<SeanTAllen> That's pretty terrible in my mind but in my experience is often needed
<SeanTAllen> That's a protocol issue though
<SeanTAllen> the connection itself is fine
<SeanTAllen> the problem is the other end no longer responding
<SeanTAllen> you need different strategies to address those
<SeanTAllen> the TCPSink strategy is what you need to deal with connections going away
<SeanTAllen> it won't help at all for connections that have become useless
<SeanTAllen> but "useless" is specific to a given server on the other end
alxs has joined #ponylang
docstein has joined #ponylang
docstein has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
OMGPONIES has joined #ponylang
OMGPONIES has quit [Ping timeout: 246 seconds]
SirRolin has quit [Ping timeout: 260 seconds]
samuell has quit [Remote host closed the connection]
samuell has joined #ponylang
jemc has joined #ponylang
ehooper has joined #ponylang
ehooper has quit [Client Quit]
codec1 has quit [Quit: Leaving.]
OMGPONIES has joined #ponylang
OMGPONIES has quit [Ping timeout: 255 seconds]
winks has joined #ponylang
endformationage has joined #ponylang
jmiven has quit [Quit: co'o]
jmiven has joined #ponylang
OMGPONIES has joined #ponylang
OMGPONIES has quit [Remote host closed the connection]
OMGPONIES has joined #ponylang
nisanharamati has joined #ponylang
user10032 has joined #ponylang
samuell has quit [Quit: Leaving]
codec1 has joined #ponylang
SenasOzys has quit [Ping timeout: 252 seconds]
OMGPONIES has quit [Remote host closed the connection]
alxs has quit [Quit: Computer's gone to sleep. ZZZzzz…]
Pyrrh has joined #ponylang
alxs has joined #ponylang
alxs has quit [Client Quit]
alxs has joined #ponylang
OMGPONIES has joined #ponylang
OMGPONIES has quit [Remote host closed the connection]
OMGPONIES has joined #ponylang
OMGPONIES has quit [Remote host closed the connection]
OMGPONIES has joined #ponylang
OMGPONIES has quit [Remote host closed the connection]
alxs has quit [Quit: Computer's gone to sleep. ZZZzzz…]
smk has joined #ponylang
alxs has joined #ponylang
smk has quit [Client Quit]
alxs has quit [Client Quit]
alxs has joined #ponylang
samuell has joined #ponylang
_andre has quit [Quit: leaving]
moonythedwarf has joined #ponylang
<moonythedwarf> Hi! :)
<jemc> moonythedwarf: hello!
<moonythedwarf> Been looking. Is there a package manager, or at least a primitive package installer, avaliable yet?
<moonythedwarf> (Dependency collecting is unfun :P)
<aturley_> moonythedwarf: check out https://github.com/ponylang/pony-stable
<moonythedwarf> thanks
<moonythedwarf> aturley_, instant question: Is there a way to make the makefile use --pic? (On arch, --pic is a required flag)
<aturley_> er ... you mean when you're using stable?
<moonythedwarf> yea, for compiling other packages.
<aturley_> you can pass options as additional arguments to stable.
<aturley_> so ...
<aturley_> `stable env ponyc --pic`
<moonythedwarf> ...right. i need to pay more attention :P
<aturley_> no problem, i remember spending some time trying to find the answer a while back.
aturley_ is now known as aturley
<moonythedwarf> Now, back to doing my usual steadfast way of learning a new language: Write a small game
<aturley> moonythedwarf: what kind of game are you going to write?
<moonythedwarf> simple Collosal Cave Adventure clone
<aturley> nice!
<moonythedwarf> Small and simple enough to not take much time, complex enough to generally touch the various cornerstones of a new language.
<aturley> we have a section on the website where folks describe their first pony experience. if you're interested in participating you should keep some notes of your journey. https://www.ponylang.org/categories/my-first-pony
* moonythedwarf sees "love/hate learning relationship with Rust." immediately
<moonythedwarf> sounds like me.
<jemc> you may be interesting in this as a reference point for a terminal-based pony game: https://github.com/jtfmumm/acolyte/blob/master/acolyte.pony
<moonythedwarf> already saw it :)
<moonythedwarf> I honestly think i have a rather strange way of learning a new language: I dont often read language specs and docs, or even the tutorial (besides skimming it). I read through existing code, oftentimes from the language's own compiler and/or std.
<moonythedwarf> I dunno how I learn from it, i just seem to pick up the language.
<aturley> please report back on how that works with pony.
<moonythedwarf> will do. It seems ok for now. (Language is fairly readable if you can read Python and C)
<moonythedwarf> one thing i dont get from my skimming is 'class val'
<jemc> I think you'll find pony to be very readable without context, but you may have trouble when it comes to writing it - particularly when it comes to the reference capabilities, which are really the unique selling point of pony
<moonythedwarf> Yea, that seems to be the case.
<moonythedwarf> Readability without context is nevertheless a huge bonus
<aturley> that means that any time that class is used the default reference capability is `val` (normally it would be `ref`)
<moonythedwarf> mm.
<aturley> so the `String` class uses `class val`.
<moonythedwarf> i assume that makes it a value instead of a reference?
<jemc> mooneythedwarf: if you're specifically avoiding the tutorial, I could point you to some blog posts that give the big picture view on ref caps:
<moonythedwarf> jemc, not avoiding :)
<moonythedwarf> Just my learning style.
<aturley> that means that if you write `let s: String = ""` it actually means `let s: String val = ""`.
<jemc> well, if you're not avoiding the tutorial, this is the most important chapter to read/understand: https://tutorial.ponylang.org/capabilities/
<aturley> yeah, jemc is right, reference capabilities are probably where you'll run into issues.
<jemc> since the "by value" or "by reference" concepts you're inferring a total red herrings here :)
<aturley> i mean, i'm curious if you could deduce it from reading the compiler source.
<moonythedwarf> this is kinda odd syntax: `Equatable[Item]` (In Acolyte). I'm guessing it means Item can be compared (==) to Item?
<jemc> moonythedwarf: that's a type parameter - it's part of how you deal with *generics* in pony (related to the concept of collections in other languages)
<jemc> similar to type templating in C
<moonythedwarf> Ah. I generally expect type parameters to use < > like in C++ or Rust
<moonythedwarf> commentary in ponyc's SRC is a little sparse.
<moonythedwarf> way too sparse for me to figure much out.
<moonythedwarf> may as well read the tutorial. Not worth the effort to skim/read code.
<moonythedwarf> You can figure out a lot until you reach references
<moonythedwarf> i like the destructive read thing :)
OMGPONIES has joined #ponylang
<moonythedwarf> > `If you've done concurrent programming before, you'll know that threads can be expensive.`
<moonythedwarf> well duh :P
<moonythedwarf> minor complaint: If a file contains a error, every file that depends on it will error about not being able to load a package
<moonythedwarf> this could, in large codebases, result in error cascades of 'can't load package'
OMGPONIES has quit [Remote host closed the connection]
<moonythedwarf> and, alongside that, the resulting errors from the root error provide no extra information
<aturley> moonythedwarf yeah, sometimes the cascading errors can be a little overwhelming.
<aturley> i think i've been looking at them long enough that i've developed strategies for coping.
OMGPONIES has joined #ponylang
<aturley> moonythedwarf do you have time to file an issue about that?
<moonythedwarf> aturley, imagine if llvm was rewritten in pony, and somewhere, deep in the code, someone made a syntax error causing typo. I think that should be patched out :P And I do. Will do it.
<aturley> moonythedwarf thanks!
OMGPONIES has quit [Remote host closed the connection]
<aturley> moonythedwarf i work on a big-ish pony codebase and i definitely have seen these things happen.
<moonythedwarf> Filed.
<moonythedwarf> Considering the reason i'm learning pony, this could become debilitating for me eventually. (Writing a game, in itself. Small multiplayer game). So i want it fixed too.
alxs has quit [Quit: Computer's gone to sleep. ZZZzzz…]
vaninwagen has joined #ponylang
codec1 has quit [Read error: Connection reset by peer]
<moonythedwarf> Now that i think about it, Pony would be *perfect* for writing a IRC Daemon
<Candle> moonythedwarf: heh, I've got some of one of them lurking around somewhere.
<aturley> moonythedwarf Candle me too!
<Candle> async, message based language... --> chat server.
<Candle> See the multiple erlang chat servers around!
<moonythedwarf> haha
OMGPONIES has joined #ponylang
<moonythedwarf> async, actor based language --> Games, Chat servers, and massively parrallel data processing
<Candle> Games are a little harder as they generally need a single main simulation loop.
<moonythedwarf> yea. But not always. The project i'm learning pony for (Which is a game) can run in a async manner, by having players provide the ticks for nearby objects
<moonythedwarf> And of course, objects rarely care about ticks, because they are mostly async in the project's design.
<moonythedwarf> Only entities currently pathing or moving provide their own clock
<moonythedwarf> Issues can't easily arise thanks to the way Actors work (Multiple players trying to work at the same time with sync up due to actors being otherwise sync)
OMGPONIES has quit [Ping timeout: 240 seconds]
Blahblah8888 has joined #ponylang
<moonythedwarf> alongside that, thats mostly annihilated by using a main clock anyways, because doing it any other way is silly
<moonythedwarf> Just, very few entities actually do any ticking
<Blahblah8888> Hi
<Candle> \o/ threading problem removed by actors!
<moonythedwarf> hi
<moonythedwarf> \o/
<moonythedwarf> (I hate manual threading. I really do.)
<Blahblah8888> My name is Stevan, I have a question about Pony if I may ask
<moonythedwarf> Sure.
<moonythedwarf> You dont need to ask to aks
<moonythedwarf> *ask
Praetonus has joined #ponylang
<moonythedwarf> i just now realised jem c is a operator.
<Blahblah8888> I've considered either using Elixir, Erlang and Pony and have decided on using Pony. Anyways I'm really confused about how using Pony and a database Works for web design. Do you basically write your own server and database in Pony or is it possible to use postgresql etc? I'm a noob to programming so excuse my ignorance but I know some basic stuff so you don't have to dumb it down too much lol
<aturley> Blahblah8888 welcome!
<moonythedwarf> Blahblah8888, its possible to use an external database, but i wouldn't recommend pony for a beginner programmer, at least not yet: Pony is pre-release. It's not stable, doesnt have many libraries, and a few other issues. But it is very much possible to use, say, postgresql.
Blahblah8888_ has joined #ponylang
<Blahblah8888_> I've considered either using Elixir, Erlang and Pony and have decided on using Pony. Anyways I'm really confused about how using Pony and a database
<moonythedwarf> I'll repeat:
<moonythedwarf> Blahblah8888, its possible to use an external database, but i wouldn't recommend pony for a beginner programmer, at least not yet: Pony is pre-release. It's not stable, doesnt have many libraries, and a few other issues. But it is very much possible to use, say, postgresql.
<moonythedwarf> It's better to go with Elixir or Erlang for now.
<aturley> Blahblah8888 pony programs can call C code, so you could in theory use a C client to connect to your database.
<aturley> or you could write your own client.
<moonythedwarf> ^
<Blahblah8888_> Is it necessary to use an external database or is this possible in Pony ?
<aturley> or, i believe there are some existing clients.
<aturley> Blahblah8888 well, i mean, you could certainly store values in your pony program.
<Blahblah8888_> Sorry for the repeat I got booted and had to refresh so I didn't see
<moonythedwarf> it's fine.
vaninwagen has quit [Ping timeout: 248 seconds]
Blahblah8888 has quit [Ping timeout: 260 seconds]
<Blahblah8888_> I think the syntax is appealing to me I think it would be a great first language to learn. I understand it's still in development but it may pay off to learn Pony
<moonythedwarf> If you're willing to work with a in-dev language, then its perfect. The in-dev and lack of libs is the issue, but it could be a learning experience to write your own libraries.
<moonythedwarf> All i can find right now is a preexisting client to LevelDB and LMDB (https://github.com/pdtwonotes/tackroom)
<moonythedwarf> If you're ok with using either of those databases (only one is needed), then tackroom should work.
<Blahblah8888_> Ty
<moonythedwarf> issue is
<moonythedwarf> it lacks docs
<Blahblah8888_> That seems to be the crux of Pony however I'm a patient person and Pony is very interesting
<moonythedwarf> Well, if you can read Pony's SRC, it should document itself. Pony is rather easy to read.
alxs has joined #ponylang
<Blahblah8888_> Right
alxs has quit [Client Quit]
<Blahblah8888_> What would be a similar language to Pony that I can find a suitable database program to reverse engineer?
SenasOzys has joined #ponylang
<moonythedwarf> Dont reverse engineer a database! :P Instead, read the docs for one. I can
<moonythedwarf> 't personally recommend one tho
<Blahblah8888_> Not a carbon copy of something but more of finding out the way it works
<moonythedwarf> All you need to know is how to interface with the DB.
<Blahblah8888_> I know there has to be a way to organize files, update, set file permissions etc
user10032 has quit [Quit: Leaving]
<Blahblah8888_> okay
<Blahblah8888_> Is it possible to write a cms for Pony in Pony Lang?
<moonythedwarf> cms?
<Blahblah8888_> Content management system
<moonythedwarf> webserver?
<moonythedwarf> Probably.
<Blahblah8888_> Awesome
<moonythedwarf> s/probably/definitely/
<moonythedwarf> see net/http in the standard library
<Blahblah8888_> Okay I've read through a lot but have yet to tinker
nisanharamati has quit []
<moonythedwarf> Blahblah8888_, follow along with the Tutorial
<Blahblah8888_> There is a new service out that is supposed to be better than websockets idk what it's called I believe it's http2? Does Pony have support yet?
<moonythedwarf> ???
<Blahblah8888_> Lol brb sorry
<Blahblah8888_> Http2 vs websockets google search that
<Blahblah8888_> Several sse streams over a single tcp vs websockets
<Blahblah8888_> It's using push instead of websockets and it's suppose to be a lot better performance wise
<Blahblah8888_> Sorry I didn't mean to take over this thread I've got too many questions
Blahblah8888 has joined #ponylang
<Blahblah8888> Well thanks for the advice I'm gonna ask around other places about the http2 support for Pony I will get started on the tutorial now
<Blahblah8888> Happy Holidays
Blahblah8888_ has quit [Ping timeout: 260 seconds]
alxs has joined #ponylang
Blahblah8888 has quit [Ping timeout: 260 seconds]
alxs has quit [Client Quit]
alxs has joined #ponylang
alxs has quit [Client Quit]
Praetonus has quit [Quit: Leaving]
OMGPONIES has joined #ponylang
OMGPONIES has quit [Ping timeout: 258 seconds]