Logs: freenode/#haskell
| 2020-09-29 06:56:37 | × | Turmfalke quits (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 2020-09-29 06:57:06 | → | mananamenos joins (~mananamen@84.122.202.215.dyn.user.ono.com) |
| 2020-09-29 06:57:17 | → | falafel_ joins (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) |
| 2020-09-29 06:58:01 | × | jgt quits (~jgt@46.250.27.223.pool.breezein.net) (Ping timeout: 258 seconds) |
| 2020-09-29 06:58:49 | → | fog joins (a18146b8@gateway/web/cgi-irc/kiwiirc.com/ip.161.129.70.184) |
| 2020-09-29 06:59:14 | → | chele joins (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) |
| 2020-09-29 06:59:33 | <fog> | basically, the way im doing it atm is to just launch an exe per function - and to have these all just communicate with each other using stdio |
| 2020-09-29 07:00:35 | → | Ariakenom joins (~Ariakenom@h-98-128-229-34.NA.cust.bahnhof.se) |
| 2020-09-29 07:00:38 | <fog> | the problem with the idea of "structured concurrency" in this approach, is that if any of the processes are long lived, and are killed unexpectedly by some rogue sentinal process (which seems to be the case at least on the free tier of AWS) |
| 2020-09-29 07:01:01 | <fog> | where its actually really difficult to get a persistent process |
| 2020-09-29 07:01:21 | <fog> | so then, the functions have to kind of watch the threads of each other to see if one gets killed |
| 2020-09-29 07:01:39 | <fog> | and have the ability to restart the thing that watches over them if *it* gets killed |
| 2020-09-29 07:02:12 | <fog> | so the idea of having these all under one parent process is totally counterproductive, since it would result in all the processes getting killed |
| 2020-09-29 07:02:27 | hackage | fakedata 0.8.0 - Library for producing fake data https://hackage.haskell.org/package/fakedata-0.8.0 (psibi) |
| 2020-09-29 07:02:39 | → | jgt joins (~jgt@46.250.27.223.pool.breezein.net) |
| 2020-09-29 07:02:47 | → | polyrain joins (~polyrain@130.102.13.187) |
| 2020-09-29 07:02:53 | <fog> | the real problem is that these are all done using linux threads, and i have some crude way of interfacing with top to get the thread numbers, its all a total hack |
| 2020-09-29 07:03:15 | <fog> | and that really what i want, is for some kind of haskell based representation of a graph to keep track of all of these threads |
| 2020-09-29 07:03:34 | <fog> | but then i cant reconcile the "distributed" thing, of having each of the functions running on its own exe |
| 2020-09-29 07:03:53 | × | rprije quits (~rprije@27.143.220.203.dial.dynamic.acc01-myal-dub.comindico.com.au) (Remote host closed the connection) |
| 2020-09-29 07:04:15 | <fog> | and the way of handling all of the communication structure from within one haskell program, so i can use nice representations of graphs for the function net |
| 2020-09-29 07:04:31 | × | fog quits (a18146b8@gateway/web/cgi-irc/kiwiirc.com/ip.161.129.70.184) (Quit: Connection closed) |
| 2020-09-29 07:05:25 | × | josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection) |
| 2020-09-29 07:06:11 | → | rprije joins (~rprije@27.143.220.203.dial.dynamic.acc01-myal-dub.comindico.com.au) |
| 2020-09-29 07:06:37 | → | josh joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net) |
| 2020-09-29 07:07:52 | × | jgt quits (~jgt@46.250.27.223.pool.breezein.net) (Ping timeout: 246 seconds) |
| 2020-09-29 07:08:07 | × | polyrain quits (~polyrain@130.102.13.187) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-09-29 07:11:46 | → | fog joins (a1814687@gateway/web/cgi-irc/kiwiirc.com/ip.161.129.70.135) |
| 2020-09-29 07:13:07 | → | alp joins (~alp@2a01:e0a:58b:4920:1865:138c:f898:eb2d) |
| 2020-09-29 07:15:42 | → | jgt joins (~jgt@194.143.137.49.users.breezein.net) |
| 2020-09-29 07:16:00 | × | mmohammadi9812 quits (~mmohammad@188.210.120.20) (Quit: I quit (╯°□°)╯︵ ┻━┻) |
| 2020-09-29 07:16:14 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-09-29 07:17:25 | × | poljar quits (~poljar@93-139-70-179.adsl.net.t-com.hr) (Remote host closed the connection) |
| 2020-09-29 07:17:58 | → | poljar joins (~poljar@93-139-70-179.adsl.net.t-com.hr) |
| 2020-09-29 07:18:04 | → | FreeBirdLjj joins (~freebirdl@240e:388:4f41:dc00:dcc7:aca0:59fb:f630) |
| 2020-09-29 07:18:25 | × | roconnor quits (~roconnor@host-45-78-198-49.dyn.295.ca) (Ping timeout: 240 seconds) |
| 2020-09-29 07:20:01 | × | robogoat quits (~robogoat@209.195.0.146) (Ping timeout: 265 seconds) |
| 2020-09-29 07:20:47 | → | robogoat joins (~robogoat@209.195.0.146) |
| 2020-09-29 07:20:53 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 2020-09-29 07:21:10 | <hc> | fog: ah, you were gone shortly when I said about the talk: "ah. "inspired by async/await". 2nd slide. so it cannot be good ;p" |
| 2020-09-29 07:21:24 | <fog> | hmm |
| 2020-09-29 07:21:37 | <hc> | imho the async/await is justified in some niche programming areas, but the way it's accepted as a generic paradigm is a bit scary |
| 2020-09-29 07:21:50 | <hc> | i don't consider it a feature of a high level language |
| 2020-09-29 07:21:51 | <fog> | can you elaborate? |
| 2020-09-29 07:21:59 | → | dyeplexer joins (~lol@unaffiliated/terpin) |
| 2020-09-29 07:22:03 | <hc> | you clutter your code with implementation details that should be left to the runtime |
| 2020-09-29 07:22:07 | × | FreeBirdLjj quits (~freebirdl@240e:388:4f41:dc00:dcc7:aca0:59fb:f630) (Ping timeout: 240 seconds) |
| 2020-09-29 07:22:25 | × | zacts quits (~zacts@dragora/developer/zacts) (Quit: leaving) |
| 2020-09-29 07:22:43 | <fog> | i guess thats why he was using kotlin - the resulting implementation managed to capture the hierarchical concurrency really neatly |
| 2020-09-29 07:22:59 | <hc> | ok, i'll have to continue with the talk :) |
| 2020-09-29 07:23:27 | <fog> | basically it ended up with it being like a tree structure with all the branching lower forked processes being under the same top node |
| 2020-09-29 07:23:40 | <fog> | which allowed for errors to be gathered |
| 2020-09-29 07:23:52 | × | josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection) |
| 2020-09-29 07:23:56 | <fog> | and that no strange effects could escape the encapsulation |
| 2020-09-29 07:24:09 | <fog> | but this was kind of the exact opposite of my use case |
| 2020-09-29 07:24:19 | <fog> | i cant see how that would ever work in a distributed setting |
| 2020-09-29 07:24:34 | <fog> | it seems like its just an approach to "green threads" managment - within the program itself |
| 2020-09-29 07:25:03 | <fog> | instead of as a way of scheduling genuinely parallel computations, running in different exes possibly on different machines |
| 2020-09-29 07:25:28 | × | MattMareo quits (~mattl@unaffiliated/mattmareo) (Quit: WeeChat 2.7.1) |
| 2020-09-29 07:25:39 | → | dhil joins (~dhil@11.29.39.217.dyn.plus.net) |
| 2020-09-29 07:25:41 | <fog> | if you try and encapsulate all your threads in one runtime, then how can you ever hope to have distributed concurrency... |
| 2020-09-29 07:26:18 | × | fog quits (a1814687@gateway/web/cgi-irc/kiwiirc.com/ip.161.129.70.135) (Quit: Connection closed) |
| 2020-09-29 07:31:02 | × | falafel_ quits (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 260 seconds) |
| 2020-09-29 07:31:17 | × | jedws quits (~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-09-29 07:32:42 | × | xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection) |
| 2020-09-29 07:33:09 | → | xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar) |
| 2020-09-29 07:33:55 | <hc> | sigh, that talk is too verbose... i need to find a PDF or something |
| 2020-09-29 07:34:40 | → | chaosmasttter joins (~chaosmast@p200300c4a70aba01f8f8cb9b34fa26e3.dip0.t-ipconnect.de) |
| 2020-09-29 07:35:07 | × | murphy_ quits (~murphy_@2604:2000:1281:8a9e:46d4:9a6b:fb19:e552) (Ping timeout: 240 seconds) |
| 2020-09-29 07:35:29 | → | murphy_ joins (~murphy_@2604:2000:1281:8a9e:a00c:e87a:3ee5:cae0) |
| 2020-09-29 07:35:30 | → | fog joins (a18146a5@gateway/web/cgi-irc/kiwiirc.com/ip.161.129.70.165) |
| 2020-09-29 07:36:02 | <fog> | hc: its not like the question actually requires an understanding of the concept of structured concurrency |
| 2020-09-29 07:36:22 | <fog> | i dont want you to have to watch a whole talk just to get what i mean... |
| 2020-09-29 07:37:08 | × | paintedindigo quits (~paintedin@2605:a000:1621:8576:21b5:3482:9f3c:3756) (Quit: Leaving) |
| 2020-09-29 07:37:28 | → | paintedindigo joins (~paintedin@2605:a000:1621:8576:21b5:3482:9f3c:3756) |
| 2020-09-29 07:37:52 | <hc> | fog: i gave up anyway; I'd rather read a paper or article about the concepts |
| 2020-09-29 07:38:00 | <fog> | supposing i dont care about distributing the processes and i can just have everything in one program |
| 2020-09-29 07:38:45 | <fog> | then i can use things like the async library - and im mostly concerned with comunication "channels" and shared memory like in STM - or mutable state per "node" like in an actors model |
| 2020-09-29 07:39:06 | → | fendor joins (~fendor@77.119.130.118.wireless.dyn.drei.com) |
| 2020-09-29 07:39:33 | → | kritzefitz joins (~kritzefit@fw-front.credativ.com) |
| 2020-09-29 07:39:46 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-mbjggxgdrdmqyxnj) (Quit: Connection closed for inactivity) |
| 2020-09-29 07:40:08 | <fog> | hc: i dont really want to start linking a bunch of kotlin stuff here, but the author showed some blog posts he had made during the talk, so i guess you can just search his name |
| 2020-09-29 07:40:08 | × | paintedindigo quits (~paintedin@2605:a000:1621:8576:21b5:3482:9f3c:3756) (Client Quit) |
| 2020-09-29 07:40:29 | → | paintedindigo joins (~paintedin@2605:a000:1621:8576:21b5:3482:9f3c:3756) |
| 2020-09-29 07:41:04 | <fog> | he said it was mostly inspired by this post; |
| 2020-09-29 07:41:04 | <fog> | https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/ |
| 2020-09-29 07:41:27 | <fog> | or rather, thats where the phrase "structured concurrency" was taken from |
| 2020-09-29 07:42:02 | <fog> | do you know of any abstractions that capture these concepts? |
| 2020-09-29 07:42:12 | <fog> | like, STM, vs Actors etc |
| 2020-09-29 07:42:36 | <hc> | tbh, the article already makes me a bit biased by starting with a sentence like 'Every concurrency API needs a way to run code concurrently.' |
| 2020-09-29 07:42:36 | <fog> | i cant think what functions a class would have to provide to capture both of these concurrency paradigms |
| 2020-09-29 07:42:44 | → | borne joins (~fritjof@200116b864231000537d5cc8226f9d9f.dip.versatel-1u1.de) |
| 2020-09-29 07:43:10 | <fog> | biased? |
| 2020-09-29 07:43:58 | hackage | orbits 0.4 - Types and functions for Kepler orbits. https://hackage.haskell.org/package/orbits-0.4 (jophish) |
| 2020-09-29 07:44:04 | <fog> | im just concerned that while we have at least one implementation of Actors, (i havent looked into STM yet, as i dont think i need shared mutable memory) |
| 2020-09-29 07:44:21 | <fog> | that they dont satisfy an overall interface |
| 2020-09-29 07:44:36 | <fog> | im not quite sure what that would be |
| 2020-09-29 07:45:01 | <fog> | the talk basically was along the lines of "dont make a list of concurrent processes" |
| 2020-09-29 07:45:38 | <fog> | and instead advocated them being treelike to capture ancestry in order to propagate failure and errors. |
| 2020-09-29 07:45:43 | <hc> | wait, he has to explain to me his new control structure by starting with a history of goto? sorry, haven't got the time for that right now |
All times are in UTC.