Logs: freenode/#haskell
| 2020-10-23 16:26:04 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds) |
| 2020-10-23 16:27:19 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 2020-10-23 16:29:59 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 2020-10-23 16:30:11 | → | moy joins (5a319fdb@lfbn-nan-1-68-219.w90-49.abo.wanadoo.fr) |
| 2020-10-23 16:30:36 | moy | is now known as Guest45505 |
| 2020-10-23 16:31:07 | <Guest45505> | im wondering, how many thread can i open in concurrency within a haskell programm ? do one thread === one CPU core ? |
| 2020-10-23 16:31:41 | <Rembane> | Guest45505: What kind of threads? |
| 2020-10-23 16:32:00 | <Guest45505> | those that you open by calling forkIO for example |
| 2020-10-23 16:32:01 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-10-23 16:32:47 | <texasmynsted> | I know this is a terrible question but . . . There are many options for writing "shell scripts" using Haskell. Too many for me to select one. |
| 2020-10-23 16:33:21 | <c_wraith> | Guest45505: So... this is actually sort of complex, because GHC has a couple options that completely change how threads work. But in no case is a GHC thread an OS thread |
| 2020-10-23 16:33:28 | <texasmynsted> | If my goal was to improve my Haskell skill, especially for streaming and concurrency, what would you recommend? |
| 2020-10-23 16:34:04 | <Rembane> | texasmynsted: Go for the turtle one! |
| 2020-10-23 16:34:16 | <monsterchrom> | "Green threads", i.e, many Haskell threads cramped to N cores, you choose N. |
| 2020-10-23 16:34:27 | <Rembane> | texasmynsted: https://hackage.haskell.org/package/turtle |
| 2020-10-23 16:34:34 | <monsterchrom> | Even if you have 64 cores you can tell the RTS to use just 2 cores. |
| 2020-10-23 16:34:54 | <monsterchrom> | In fact "green threads" is more nuanced than that. |
| 2020-10-23 16:34:57 | <c_wraith> | Guest45505: GHC has two different options for runtimes that can be linked in to programs it compiles. One uses a single thread for all Haskell code, which lets it skip all kinds of locking and synchronization primitives. |
| 2020-10-23 16:34:58 | <texasmynsted> | why turtle. That is . . . not what I expected. |
| 2020-10-23 16:35:32 | <c_wraith> | Guest45505: the other is what monsterchrom is describing, where it can split the Haskell threads across multiple OS threads. |
| 2020-10-23 16:35:33 | <monsterchrom> | But if you know Java's "green threads", that's what we have too. |
| 2020-10-23 16:36:34 | <texasmynsted> | lol. First thing it says is install Stack. (If I use turtle it will not be with Stack.) |
| 2020-10-23 16:37:00 | <Rembane> | I propose that you can for all practical intents and purposes have an infinite amount of "green threads" and things will work just fine. |
| 2020-10-23 16:37:14 | <Rembane> | texasmynsted: What was what you expected? |
| 2020-10-23 16:37:17 | <Guest45505> | monsterchrom ok i see, thats much clearer for me now, thanks |
| 2020-10-23 16:38:32 | → | Kolkrabe joins (~user@unaffiliated/siracusa) |
| 2020-10-23 16:38:44 | × | thir quits (~thir@p200300f27f19de00a929a56a6a990c9a.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 2020-10-23 16:38:54 | → | thir joins (~thir@p4febc6a5.dip0.t-ipconnect.de) |
| 2020-10-23 16:39:05 | → | ensyde joins (~ensyde@2600:1702:2e30:1a40:9c62:9bf3:3478:5d05) |
| 2020-10-23 16:39:11 | <texasmynsted> | Shell-conduit or something? |
| 2020-10-23 16:40:09 | × | Guest18 quits (567e8866@gateway/web/cgi-irc/kiwiirc.com/ip.86.126.136.102) (Quit: Connection closed) |
| 2020-10-23 16:41:55 | <Rembane> | Cool, I have never used it. :) |
| 2020-10-23 16:42:20 | → | LKoen joins (~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr) |
| 2020-10-23 16:42:47 | × | alp quits (~alp@2a01:e0a:58b:4920:fd7c:1b1:358f:2e7a) (Ping timeout: 272 seconds) |
| 2020-10-23 16:43:12 | × | Guest45505 quits (5a319fdb@lfbn-nan-1-68-219.w90-49.abo.wanadoo.fr) (Remote host closed the connection) |
| 2020-10-23 16:43:28 | × | bergsans quits (~bergsans@c80-217-8-29.bredband.comhem.se) (Remote host closed the connection) |
| 2020-10-23 16:43:35 | × | ensyde quits (~ensyde@2600:1702:2e30:1a40:9c62:9bf3:3478:5d05) (Ping timeout: 246 seconds) |
| 2020-10-23 16:44:12 | × | xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds) |
| 2020-10-23 16:45:01 | × | GyroW_ quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
| 2020-10-23 16:45:19 | → | GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
| 2020-10-23 16:45:20 | × | GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
| 2020-10-23 16:45:20 | → | GyroW joins (~GyroW@unaffiliated/gyrow) |
| 2020-10-23 16:45:27 | → | dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 2020-10-23 16:46:32 | <ulidtko> | texasmynsted, best option for shell scripts is... bash. |
| 2020-10-23 16:46:49 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2020-10-23 16:46:59 | <ulidtko> | however -- check out https://www.shellcheck.net it's written in haskell if that gives you the warm fuzzy feeling |
| 2020-10-23 16:47:10 | → | christo joins (~chris@81.96.113.213) |
| 2020-10-23 16:48:45 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 2020-10-23 16:49:08 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 2020-10-23 16:49:35 | → | dcoutts_ joins (~duncan@33.14.75.194.dyn.plus.net) |
| 2020-10-23 16:49:39 | <texasmynsted> | ulidtko: I agree with you. I just mean for things that "outgrow" a shell script. |
| 2020-10-23 16:50:02 | × | dumptruckman quits (dumptruckm@2600:3c02::f03c:91ff:fe6e:2cfd) (Ping timeout: 260 seconds) |
| 2020-10-23 16:50:03 | × | danza quits (~francesco@151.74.98.117) (Quit: Leaving) |
| 2020-10-23 16:50:09 | → | Guest_47 joins (c04c085e@client-8-94.eduroam.oxuni.org.uk) |
| 2020-10-23 16:50:23 | → | jared-w_ joins (uid405292@gateway/web/irccloud.com/x-zblwaowsatpvgcgl) |
| 2020-10-23 16:50:23 | → | jbetz_ joins (sid283648@gateway/web/irccloud.com/x-tnjzeofedetnuotr) |
| 2020-10-23 16:50:23 | → | gluegadget_ joins (sid22336@gateway/web/irccloud.com/x-jdgygofdapzniovg) |
| 2020-10-23 16:50:23 | → | simony_ joins (sid226116@gateway/web/irccloud.com/x-wfspjvkdvvrjhuut) |
| 2020-10-23 16:50:23 | → | nlofaro_ joins (sid258233@gateway/web/irccloud.com/x-uxoxyvtwstbbwbgr) |
| 2020-10-23 16:50:23 | → | eacameron_ joins (sid256985@gateway/web/irccloud.com/x-trisvivfbojkcgwh) |
| 2020-10-23 16:50:24 | → | alunduil_ joins (alunduil@gateway/web/irccloud.com/x-bdycqsguonemwjha) |
| 2020-10-23 16:50:26 | → | hamishmack_ joins (sid389057@gateway/web/irccloud.com/x-rcfovoglewntmycy) |
| 2020-10-23 16:50:27 | → | cstrahan_ joins (sid36118@gateway/web/irccloud.com/x-mfvjnlhprdhvdyaw) |
| 2020-10-23 16:50:27 | → | kozowu_ joins (uid44796@gateway/web/irccloud.com/x-zlvbgrbsoafykjcb) |
| 2020-10-23 16:50:28 | → | jtmar joins (~james@jtmar.me) |
| 2020-10-23 16:50:30 | → | PoliticsII______ joins (sid193551@gateway/web/irccloud.com/x-vnvglhlgcdrmzohj) |
| 2020-10-23 16:50:34 | → | Kamuela_ joins (sid111576@gateway/web/irccloud.com/x-uwnwrtcyskakfxsa) |
| 2020-10-23 16:50:41 | → | rizary_ joins (sid220347@gateway/web/irccloud.com/x-hwxhcpsmvhwyypyw) |
| 2020-10-23 16:50:42 | → | PotatoGim_ joins (sid99505@gateway/web/irccloud.com/x-xnlvbpmqvvvvzlzi) |
| 2020-10-23 16:50:43 | → | MTwister joins (~Twister@claudia.s7t.de) |
| 2020-10-23 16:50:45 | × | cohn quits (~noone@unaffiliated/cohn) (Ping timeout: 240 seconds) |
| 2020-10-23 16:50:45 | → | rann_ joins (sid175221@gateway/web/irccloud.com/x-rsexmirciwaviewy) |
| 2020-10-23 16:50:58 | → | conal joins (~conal@64.71.133.70) |
| 2020-10-23 16:51:15 | <ulidtko> | yes, that happens all the time. either rewrite it, or deal with it (shellcheck is really helpful, also following consistent style) |
| 2020-10-23 16:51:47 | × | rotaerk quits (rotaerk@2600:3c02::f03c:91ff:fe70:4a45) (Ping timeout: 260 seconds) |
| 2020-10-23 16:52:17 | × | asheshambasta quits (~user@ptr-e1lysawl9rr13i61o92.18120a2.ip6.access.telenet.be) (Ping timeout: 272 seconds) |
| 2020-10-23 16:52:53 | → | wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
| 2020-10-23 16:52:58 | → | holo1 joins (~holo@nikky.moe) |
| 2020-10-23 16:53:05 | → | weechat_2 joins (~mingc@2400:8902::f03c:91ff:feb7:8e82) |
| 2020-10-23 16:53:09 | → | nikola3 joins (~nikola@2a03:b0c0:2:d0::dc2:c001) |
| 2020-10-23 16:53:16 | <texasmynsted> | Yes, I love shellscript. |
| 2020-10-23 16:53:17 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 2020-10-23 16:53:24 | <texasmynsted> | I mean shellcheck |
| 2020-10-23 16:53:33 | <texasmynsted> | I have it integrated into vim |
| 2020-10-23 16:53:59 | <ulidtko> | as for rewriting options: I sort of fail to see the point to "emulate" bash and try to make it look like shellscript... |
| 2020-10-23 16:54:06 | <ulidtko> | same |
| 2020-10-23 16:54:07 | → | entropyga1n joins (levitate@unaffiliated/entropygain) |
| 2020-10-23 16:54:34 | <ulidtko> | https://hackage.haskell.org/package/HSH-2.1.3 using this one, you can spawn processes and pipes "just like" in bash |
| 2020-10-23 16:55:09 | <ulidtko> | but all the ['extra', 'syntax'] makes you really want to go back to bash instead |
| 2020-10-23 16:55:50 | → | tolt_ joins (kevin@2600:3c03::f03c:91ff:fe79:6b76) |
| 2020-10-23 16:55:54 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-10-23 16:56:01 | <ulidtko> | so, a good linter like shellcheck really hits the sweat spot IMO |
| 2020-10-23 16:56:02 | → | heredoc joins (heredoc@2a01:7e01::f03c:91ff:fec1:de1d) |
| 2020-10-23 16:56:19 | → | mursu_ joins (~ngWalrus@2a03:b0c0:3:d0::5ebd:2001) |
| 2020-10-23 16:56:26 | <ulidtko> | (*sweet haha) |
| 2020-10-23 16:56:32 | → | nkly_ joins (~nkly@2a02:8109:9a80:a74:201:2eff:fe81:c6dd) |
| 2020-10-23 16:56:37 | × | tito_04 quits (~taurux@net-93-144-10-197.cust.vodafonedsl.it) (Ping timeout: 246 seconds) |
| 2020-10-23 16:56:43 | → | noexcept_ joins (~noexcept@2a03:b0c0:3:d0::33:9001) |
| 2020-10-23 16:57:12 | <texasmynsted> | I am not trying to emulate bash. Rather I am trying to find the best way to interact with shell processes that do not have a haskell module. |
| 2020-10-23 16:57:32 | × | jkaye[m] quits (jkayematri@gateway/shell/matrix.org/x-ukiyfiddwfiugxvb) (*.net *.split) |
All times are in UTC.