Logs on 2021-07-15 (liberachat/#haskell)
| 00:01:33 | × | danso quits (~danso@23-233-111-52.cpe.pppoe.ca) (Read error: Connection reset by peer) |
| 00:02:00 | → | danso joins (~danso@23-233-111-52.cpe.pppoe.ca) |
| 00:02:51 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 00:03:10 | → | cheater joins (~Username@user/cheater) |
| 00:05:00 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 265 seconds) |
| 00:05:42 | → | agua joins (~agua@2804:18:4f:750a:1:0:192e:7017) |
| 00:13:20 | × | silverwhitefish quits (~hidden@47.202.102.10) (Ping timeout: 272 seconds) |
| 00:13:31 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 00:15:15 | → | pesada joins (~agua@2804:14c:8793:8e2f:d158:60e:567f:c699) |
| 00:16:30 | × | cheater quits (~Username@user/cheater) (Ping timeout: 272 seconds) |
| 00:16:39 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer) |
| 00:16:44 | → | cheater joins (~Username@user/cheater) |
| 00:18:02 | × | agua quits (~agua@2804:18:4f:750a:1:0:192e:7017) (Ping timeout: 245 seconds) |
| 00:21:23 | → | keutoi joins (~keutoi@157.48.221.108) |
| 00:21:35 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 00:22:12 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
| 00:22:24 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
| 00:22:47 | × | Null_A quits (~null_a@2601:645:8700:2290:3dcd:98af:2801:58da) () |
| 00:24:11 | × | pesada quits (~agua@2804:14c:8793:8e2f:d158:60e:567f:c699) (Ping timeout: 255 seconds) |
| 00:33:20 | → | agua joins (~agua@2804:18:4f:750a:1:0:192e:7017) |
| 00:37:59 | mnrmnaugh | is now known as awk |
| 00:41:09 | awk | is now known as mnrmnaugh |
| 00:42:56 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:44:00 | × | lbseale quits (~lbseale@user/ep1ctetus) (Quit: Client closed) |
| 00:47:51 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds) |
| 00:48:48 | × | hegstal quits (~hegstal@2a02:c7f:7604:8a00:cd80:9697:e922:dc30) (Remote host closed the connection) |
| 00:51:23 | <sclv> | lechner: you can use hs-src-dirs I believe |
| 00:51:25 | → | silverwhitefish joins (~hidden@47.202.102.10) |
| 00:52:50 | × | Deide quits (~Deide@user/deide) (Quit: Seeee yaaaa) |
| 00:53:08 | × | jneira_ quits (~jneira_@28.red-80-28-169.staticip.rima-tde.net) (Quit: Connection closed) |
| 00:54:12 | × | ph88^ quits (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) (Remote host closed the connection) |
| 00:54:35 | → | ph88^ joins (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) |
| 01:00:16 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 01:00:29 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 01:06:21 | → | bontaq joins (~user@ool-18e47f8d.dyn.optonline.net) |
| 01:07:13 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 01:08:15 | → | pesada joins (~agua@2804:18:48:1eaf:1:0:1d0b:6be0) |
| 01:08:24 | → | ukari joins (~ukari@user/ukari) |
| 01:09:48 | × | cheater quits (~Username@user/cheater) (Ping timeout: 258 seconds) |
| 01:10:10 | → | cheater joins (~Username@user/cheater) |
| 01:11:26 | × | agua quits (~agua@2804:18:4f:750a:1:0:192e:7017) (Ping timeout: 255 seconds) |
| 01:11:32 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:12:06 | × | waleee quits (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 258 seconds) |
| 01:12:40 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:14:06 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 01:19:22 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 01:19:41 | → | cheater joins (~Username@user/cheater) |
| 01:21:34 | × | Gurkenglas_ quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
| 01:23:11 | → | ishutin_ joins (~ishutin@85-238-93-30.pool.digikabel.hu) |
| 01:23:12 | × | silverwhitefish quits (~hidden@47.202.102.10) (Quit: One for all, all for One (2 Corinthians 5)) |
| 01:25:53 | × | ishutin quits (~ishutin@87-97-88-250.pool.digikabel.hu) (Ping timeout: 252 seconds) |
| 01:27:40 | × | xff0x quits (~xff0x@2001:1a81:5355:ca00:f556:f8e3:c42f:ffef) (Ping timeout: 246 seconds) |
| 01:29:35 | → | xff0x joins (~xff0x@2001:1a81:5396:d100:b9ea:2990:3a98:f09b) |
| 01:31:52 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 01:35:11 | × | ellie quits (~ellie@user/ellie) (Read error: Connection reset by peer) |
| 01:35:31 | → | ellie joins (~ellie@user/ellie) |
| 01:35:44 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 01:36:19 | → | cheater joins (~Username@user/cheater) |
| 01:37:28 | → | anhnt joins (~anhnt@2405:4802:342:1550:454d:510c:cbdb:1c59) |
| 01:38:15 | × | ph88^ quits (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) (Ping timeout: 255 seconds) |
| 01:38:22 | → | neurocyte7 joins (~neurocyte@45.93.111.131) |
| 01:38:22 | × | neurocyte7 quits (~neurocyte@45.93.111.131) (Changing host) |
| 01:38:22 | → | neurocyte7 joins (~neurocyte@user/neurocyte) |
| 01:41:15 | → | beka joins (~beka@104.193.170-244.PUBLIC.monkeybrains.net) |
| 01:42:00 | × | neurocyte quits (~neurocyte@user/neurocyte) (Ping timeout: 258 seconds) |
| 01:42:00 | neurocyte7 | is now known as neurocyte |
| 01:44:42 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 245 seconds) |
| 01:49:17 | → | silverwhitefish joins (~hidden@47.202.102.10) |
| 01:51:44 | × | silverwhitefish quits (~hidden@47.202.102.10) (Client Quit) |
| 01:52:59 | → | silverwhitefish joins (~hidden@47.202.102.10) |
| 01:55:31 | → | ack_inc joins (~anirudh@2405:201:4010:7065:681c:bac8:1e93:82d9) |
| 01:55:48 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 258 seconds) |
| 01:56:42 | × | Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 255 seconds) |
| 01:57:07 | → | Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 01:58:11 | × | hrnz quits (~ulli@irc.plumbing) (Quit: das ist mir zu bld hier; bb) |
| 01:58:29 | → | hrnz joins (~ulli@irc.plumbing) |
| 02:00:38 | → | cheater1__ joins (~Username@user/cheater) |
| 02:02:06 | × | peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 255 seconds) |
| 02:02:33 | → | s_ joins (~s@50.34.81.185) |
| 02:02:45 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 02:02:56 | × | cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds) |
| 02:06:12 | → | cheater joins (~Username@user/cheater) |
| 02:06:36 | × | cheater1__ quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 02:07:51 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 02:10:43 | → | cheater1__ joins (~Username@user/cheater) |
| 02:11:17 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 02:11:27 | cheater1__ | is now known as cheater |
| 02:16:53 | × | td_ quits (~td@muedsl-82-207-238-063.citykom.de) (Ping timeout: 258 seconds) |
| 02:18:31 | → | td_ joins (~td@94.134.91.92) |
| 02:18:36 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:18:36 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (cadmium.libera.chat (Nickname regained by services))) |
| 02:18:36 | finn_elija | is now known as FinnElija |
| 02:20:01 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Read error: Connection reset by peer) |
| 02:20:13 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 02:24:42 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
| 02:31:21 | × | ubikium quits (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 255 seconds) |
| 02:31:59 | → | ubikium joins (~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) |
| 02:32:18 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 02:34:15 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7) |
| 02:37:31 | <roboto_el_gato> | i regret to ask, as a rookie to Haskell and programming. my goal is to build tools based in Haskell that will help someone to develop a game from start to finish. |
| 02:38:57 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:39:53 | × | hrnz quits (~ulli@irc.plumbing) (Quit: das ist mir zu bld hier; bb) |
| 02:40:21 | → | hrnz joins (~ulli@irc.plumbing) |
| 02:40:30 | <roboto_el_gato> | i suppose i should say that I am following a book for beginner guidance, I can code in Atom and execute code in GHC and stack, though my knowledge is limited |
| 02:41:55 | × | ubikium quits (~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) (Read error: Connection reset by peer) |
| 02:42:09 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 255 seconds) |
| 02:42:20 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds) |
| 02:43:12 | → | img joins (~img@user/img) |
| 02:43:16 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 246 seconds) |
| 02:44:08 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 02:44:10 | <roboto_el_gato> | or...just talk. i picked Haskell for a reason |
| 02:44:25 | <glguy> | roboto_el_gato, it didn't look like you asked a question there |
| 02:44:53 | <roboto_el_gato> | you are correct, and error in my presetation |
| 02:45:06 | <roboto_el_gato> | presentation* |
| 02:45:09 | × | alx741 quits (~alx741@186.178.109.32) (Quit: alx741) |
| 02:45:10 | → | ubikium joins (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) |
| 02:47:41 | <roboto_el_gato> | i have tried multiple times to learn programming... I can't even mention why i dropped C++. I am not a math specialist or programmer at heart, but i have a problem i believe is worth solving for those in similar shoes |
| 02:50:21 | <ack_inc> | What tools are you looking to build, roboto_el_gato? |
| 02:51:55 | <roboto_el_gato> | i want to build a complete suite, not an engine, for game/graphical presentation. I have struggled with this as an artist, and it drives me mad. I want a one-stop-shop toolset to create ideas |
| 02:53:10 | × | glguy quits (x@libera/staff/glguy) (Read error: Connection reset by peer) |
| 02:53:19 | <roboto_el_gato> | i believe Haskell can do that. creating a manageable code base for a very small team, most likely me |
| 02:55:23 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 255 seconds) |
| 02:55:37 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7) (Quit: Client closed) |
| 02:56:11 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7) |
| 02:56:38 | <roboto_el_gato> | apologies if this is boring and mudane |
| 02:56:40 | <ack_inc> | Could you tell me some things the suite would do that existing solutions like unity can't? |
| 02:57:01 | <ack_inc> | Not at all |
| 03:00:14 | <roboto_el_gato> | for a simple UI, I like Source. From there, I want the ability to create a window, whether it is character/asset creation and animation, the ability to drop it into a active environment, but most of all, I want a toolset that has no issues in transfer. All things: music, sound, model, world, animation, mechanics and functions, all can be tied and |
| 03:00:14 | <roboto_el_gato> | programmed from one hub, one suite. |
| 03:00:25 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 03:00:57 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 245 seconds) |
| 03:01:10 | <roboto_el_gato> | a taller order than just making a game |
| 03:01:33 | → | glguy joins (~glguy@libera/staff/glguy) |
| 03:05:49 | <ack_inc> | That does sound like a lot |
| 03:06:12 | <roboto_el_gato> | game engines are incomplete things, i want to make something above an engine, something that can fulfill complete creation |
| 03:08:17 | <roboto_el_gato> | unless I misunderstood, which i may well have, but functional programming can fulfill that goal and create a database that isn't a burden to those that wish to try it. i think it is worth is being a burden to create it |
| 03:10:13 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 03:10:39 | <ack_inc> | It should be possible to build this tool in just about any general purpose prog lang |
| 03:10:56 | <ack_inc> | I don't think the tool's users would care much about the language it's built in |
| 03:11:34 | <ack_inc> | There's probably a reason why existing tools have large parts written in C/C++ though; probably something performance-related |
| 03:12:51 | <roboto_el_gato> | as a user, I would agree. but for some reason, no one has bothered to build it. there seems to be an idea that creation in one place should be able to transfer to another, yet there is still odd issues |
| 03:14:21 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:14:24 | <ack_inc> | You're saying it's a pain that different parts of the game have to be developed with different tools, then merged together at the end to create the final product |
| 03:14:27 | <ack_inc> | That makes sense |
| 03:14:55 | <roboto_el_gato> | yes. as a suite, there is no pain, only continuity |
| 03:15:22 | <ack_inc> | Re. whether haskell is the right choice to build this unified tool - I imagine it'd be useful to ask in a game-engine-dev community |
| 03:16:57 | <roboto_el_gato> | possibly, but i think the idea is just as well served to anyone willing to think about it. sometimes, the best ideas are not gleened from "specialists", but rather those that like to solve a given problem |
| 03:18:14 | <ack_inc> | Sure; but it's entirely possible that there's a specific, pragmatic reason why specialists eschew FP languages like haskell for building this kind of application |
| 03:18:20 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 03:19:12 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 03:19:14 | <ack_inc> | By asking a few questions, you ensure you lower your chances of running up against a hard obstruction after spending 100s of hours on the problem |
| 03:19:45 | <roboto_el_gato> | i am unsure why except at the expense of learning, research, trial, and error |
| 03:20:08 | × | berberman quits (~berberman@user/berberman) (Ping timeout: 255 seconds) |
| 03:20:11 | <roboto_el_gato> | i will devote my time to solving these problems. |
| 03:20:33 | → | berberman joins (~berberman@user/berberman) |
| 03:21:19 | <lechner> | sclv: thanks! |
| 03:23:17 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 03:23:21 | → | cheater1__ joins (~Username@user/cheater) |
| 03:23:24 | cheater1__ | is now known as cheater |
| 03:24:11 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 255 seconds) |
| 03:24:37 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 265 seconds) |
| 03:26:10 | <roboto_el_gato> | I am currently reading Haskell From First Principles. A breath of fresh air for me, especially from learning something new. |
| 03:27:36 | <roboto_el_gato> | though i feel i am missing a solid math background |
| 03:28:15 | × | glguy quits (~glguy@libera/staff/glguy) (Read error: Connection reset by peer) |
| 03:28:38 | <lechner> | yeah, like a Ph.D. in group theory! |
| 03:29:16 | <lechner> | eactually, category theory |
| 03:29:20 | <roboto_el_gato> | lol i do not know if it is that in depth, regardless of the memes i have seen |
| 03:29:27 | → | glguy joins (x@libera/staff/glguy) |
| 03:29:35 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 03:30:02 | <roboto_el_gato> | logic seems to be a larger part of the process |
| 03:31:19 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 03:31:40 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 03:32:23 | <geekosaur> | you can get by without one although some books may assume it |
| 03:33:44 | <roboto_el_gato> | for functional programming, i have found that most of the books like to preach but struggle to teach from bare bones as other languages do. i find this odd |
| 03:37:14 | × | zebrag quits (~chris@user/zebrag) (Remote host closed the connection) |
| 03:37:26 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 03:42:46 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7) (Ping timeout: 246 seconds) |
| 03:42:54 | × | berberman quits (~berberman@user/berberman) (Ping timeout: 255 seconds) |
| 03:43:34 | → | berberman joins (~berberman@user/berberman) |
| 03:44:47 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 03:44:55 | × | cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds) |
| 03:45:06 | → | cheater joins (~Username@user/cheater) |
| 03:46:10 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 03:52:13 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 246 seconds) |
| 03:52:28 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7) |
| 03:52:28 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds) |
| 03:52:55 | × | cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds) |
| 03:53:08 | <lechner> | haskell is a religion |
| 03:53:34 | → | cheater joins (~Username@user/cheater) |
| 03:56:03 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 03:59:40 | × | wwalker quits (~wwalker@platinum.solid-constructs.com) (Ping timeout: 268 seconds) |
| 03:59:50 | <DigitalKiwi> | programming in haskell by graham hutton is <3 |
| 04:01:21 | → | wwalker joins (~wwalker@45.146.55.219) |
| 04:05:08 | × | wwalker quits (~wwalker@45.146.55.219) (Remote host closed the connection) |
| 04:05:08 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 255 seconds) |
| 04:08:09 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 04:15:50 | → | lavaman joins (~lavaman@98.38.249.169) |
| 04:19:49 | → | Guest23 joins (~Guest23@50.47.115.102) |
| 04:23:08 | winny | is now known as ww |
| 04:23:16 | ww | is now known as winny |
| 04:26:52 | × | beka quits (~beka@104.193.170-244.PUBLIC.monkeybrains.net) (Ping timeout: 246 seconds) |
| 04:28:16 | → | beka joins (~beka@104.193.170-244.public.monkeybrains.net) |
| 04:29:00 | × | ack_inc quits (~anirudh@2405:201:4010:7065:681c:bac8:1e93:82d9) (Quit: Leaving.) |
| 04:29:23 | × | cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds) |
| 04:29:38 | → | cheater joins (~Username@user/cheater) |
| 04:30:31 | × | awth13 quits (~user@user/awth13) (Remote host closed the connection) |
| 04:31:26 | → | wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
| 04:42:40 | × | andreas303 quits (andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com) |
| 04:42:41 | × | even4void quits (even4void@came.here.for-some.fun) (Quit: fBNC - https://bnc4free.com) |
| 04:42:41 | × | xacktm quits (xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com) |
| 04:46:21 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds) |
| 04:47:44 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 04:48:41 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 258 seconds) |
| 04:49:57 | × | smitop quits (~smitop@user/smitop) (Ping timeout: 255 seconds) |
| 04:53:50 | → | andreas303 joins (andreas303@ip227.orange.bnc4free.com) |
| 04:54:02 | × | ubikium quits (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 265 seconds) |
| 04:54:43 | → | even4void joins (even4void@came.here.for-some.fun) |
| 04:54:45 | → | ubikium joins (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) |
| 04:55:17 | → | smitop joins (~smitop@user/smitop) |
| 04:56:21 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 258 seconds) |
| 04:58:22 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7) (Ping timeout: 246 seconds) |
| 05:01:57 | → | xacktm joins (xacktm@user/xacktm) |
| 05:03:00 | × | hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 255 seconds) |
| 05:03:55 | → | anandprabhu joins (~anandprab@94.202.243.198) |
| 05:04:44 | → | hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net) |
| 05:11:38 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 05:11:47 | → | flukiluke joins (~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962) |
| 05:14:46 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 252 seconds) |
| 05:14:47 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 05:16:36 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 05:16:57 | → | cheater joins (~Username@user/cheater) |
| 05:22:48 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
| 05:24:37 | × | s_ quits (~s@50.34.81.185) (Quit: Leaving) |
| 05:32:04 | → | Gurkenglas_ joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 05:33:29 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 05:34:14 | × | mcglk quits (~mcglk@131.191.49.120) (Quit: (seeya)) |
| 05:34:17 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 05:36:39 | → | benin03697 joins (~benin@183.82.177.180) |
| 05:37:15 | → | mcglk joins (~mcglk@131.191.49.120) |
| 05:37:45 | × | benin0369 quits (~benin@183.82.176.17) (Ping timeout: 258 seconds) |
| 05:37:46 | benin03697 | is now known as benin0369 |
| 05:38:14 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 252 seconds) |
| 05:39:04 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 05:39:59 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 05:40:22 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 05:43:57 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 255 seconds) |
| 05:43:58 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 05:46:58 | → | cheater1__ joins (~Username@user/cheater) |
| 05:47:06 | × | cheater quits (~Username@user/cheater) (Ping timeout: 272 seconds) |
| 05:47:11 | cheater1__ | is now known as cheater |
| 05:47:40 | → | mei joins (~mei@user/mei) |
| 05:49:00 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 05:51:09 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 255 seconds) |
| 05:52:20 | × | anandprabhu quits (~anandprab@94.202.243.198) (Quit: Leaving) |
| 05:53:00 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 05:53:42 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 05:54:14 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 05:58:25 | → | dunj3 joins (~dunj3@2001:16b8:303f:a600:793c:65b7:43fd:f5ca) |
| 05:58:41 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 268 seconds) |
| 05:58:59 | → | prite joins (~pritam@user/pritambaral) |
| 06:00:09 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 06:00:32 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 06:07:12 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 06:11:38 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 06:11:50 | → | cheater joins (~Username@user/cheater) |
| 06:12:58 | → | flukiluke_ joins (~flukiluke@168.138.23.5) |
| 06:13:04 | × | beka quits (~beka@104.193.170-244.public.monkeybrains.net) (Ping timeout: 252 seconds) |
| 06:13:37 | × | flukiluke quits (~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 246 seconds) |
| 06:21:05 | × | shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit) |
| 06:21:31 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 265 seconds) |
| 06:23:02 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer) |
| 06:23:03 | → | Kaipi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 06:23:26 | <tdammers> | The problem with this whole "toolset" / "suite" / "framework" thing is that it's a sliding problem domain, and while you can pick all sorts of spots on that continuum, there is no silver bullet there. You can be more opinionated, give the user a turnkey environment where all you need to do is drop in a bunch of assets and go clickety-click and you have a working game (or presentation, or whatever), but in |
| 06:23:29 | <tdammers> | order to do that, you need to make a lot of decisions for the user, and those decisions limit what they can do and what your platform will be good at. Or you can give them more control, but that means they will have to do more work themselves. |
| 06:23:35 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 06:29:15 | × | cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds) |
| 06:29:31 | → | cheater joins (~Username@user/cheater) |
| 06:30:45 | × | Kaipi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 06:30:52 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 06:30:57 | <[exa]> | tdammers: or you can design the turnkey features as proper libraries instead of frameworks and let the user compose whatever he needs, but somehow that's not popular in the industry :D |
| 06:37:11 | → | michalz joins (~michalz@185.246.204.114) |
| 06:39:11 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:41:53 | → | Rogach joins (uid6398@id-6398.brockwell.irccloud.com) |
| 06:42:44 | <Rogach> | Hi! Is there a way (pragma perhaps) to include an import only when compiling with certain GHC versions? |
| 06:42:56 | → | sleym joins (~sleym@195.181.171.227) |
| 06:43:47 | <Rogach> | Why do I need it: Control.Monad.Fail is deprecated since GHC 8.8, but XMonad CI compiles with versions down to 8.4 - so compiling on newer compilers gives a nasty warning. |
| 06:44:12 | <tdammers> | [exa]: sure, yes, you can absolutely do that, and I believe there are a couple libraries out there that do that - the big game engines however are not, probably because their target audience are game designers, not programmers |
| 06:44:50 | <Rembane> | tdammers: The big game engines give everything and the kitchen sink so their design idea is exactly what you say. |
| 06:45:52 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 06:46:09 | <Rembane> | Rogach: Is this helpful? https://stackoverflow.com/a/28292585 |
| 06:47:24 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 255 seconds) |
| 06:47:55 | <int-e> | Rogach: You could use the CPP extension and wrap the import in #if __GLASGOW_HASKELL__ < 808 ... #endif |
| 06:48:09 | <Rogach> | Rembane: Looks like it is, thank you! |
| 06:48:13 | <Rembane> | Rogach: np! |
| 06:49:06 | <Rogach> | int-e: seems like CPP extension was enabled by default in xmonad-contrib project, compilation on my machine completed normally. Is there a way to check where this extension is enabled? |
| 06:49:22 | <Rogach> | Ah, I see, "LANGUAGE CPP" at the top of the file. |
| 06:51:27 | <int-e> | As is proper... .cabal files have a default-extensions field that can add to the list of enabled extensions. |
| 06:52:00 | <int-e> | (But I prefer the files to list the extensions they use.) |
| 06:53:48 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 06:57:46 | → | fendor joins (~fendor@178.165.161.174.wireless.dyn.drei.com) |
| 06:58:13 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
| 06:58:47 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 07:00:50 | × | sleym quits (~sleym@195.181.171.227) (Quit: sleym) |
| 07:02:30 | <[exa]> | tdammers: like, is it just me if I generally don't enjoy games where I just "walk through contents" ? |
| 07:03:09 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 255 seconds) |
| 07:03:31 | <tdammers> | [exa]: it's not just me, but there are certainly different types of audiences, anywhere on the spectrum between "interactive blockbuster movie" and "chess" |
| 07:03:54 | <tdammers> | s/me/you/, though "me" also works |
| 07:04:08 | <Rogach> | [exa]: Can you give some examples of such games? |
| 07:09:09 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 07:11:22 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 07:11:57 | → | cheater joins (~Username@user/cheater) |
| 07:12:04 | × | michalz quits (~michalz@185.246.204.114) (Ping timeout: 268 seconds) |
| 07:12:12 | <Rogach> | `stack test` gives me an error `Module ‘System.Random’ does not export ‘uniformR’`. |
| 07:12:28 | <Rogach> | (`stack build` as well) |
| 07:13:02 | <Rogach> | How can I check which version of `random` package stack uses? |
| 07:13:35 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 07:15:22 | <Rogach> | I tried adding version constraint to `build-depends` in `xmonad-contrib.cabal` (`random >= 1.2`), but now stack fails with `random-1.1 from stack configuration does not match >=1.2`. |
| 07:16:14 | <Rogach> | But I don't see any references to `random` in any stack config files. |
| 07:16:31 | <Rogach> | Where does this `1.1` come from? |
| 07:17:02 | → | burnside_ joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 07:17:02 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
| 07:17:12 | → | chele joins (~chele@user/chele) |
| 07:21:33 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:24:40 | → | chomwitt joins (~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) |
| 07:25:47 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:31:58 | <sm> | Rogach: what's a game that you like ? |
| 07:32:34 | <sm> | Rogach: stack exec -- ghc-pkg list random |
| 07:32:59 | <Rogach> | sm: I like many different ones. But in the genre of "walk through contents" I immensely enjoyed "To The Moon". |
| 07:33:40 | <Rogach> | sm: `.stack/snapshots/x86_64-linux-tinfo6/a0241a58de3fe02d9eed73f028132db4e1c0a1354a745c98d6a538f4465ea440/8.10.4/pkgdb` seems to contain that random-1.1 |
| 07:33:59 | <Rogach> | So the package version is fixed inside that snapshot? |
| 07:35:26 | × | cheater quits (~Username@user/cheater) (Ping timeout: 258 seconds) |
| 07:35:46 | → | cheater joins (~Username@user/cheater) |
| 07:43:24 | <Rogach> | Okay, screw random-1.2, I'll just go with the older version. |
| 07:44:03 | <Rogach> | I've added a test to a project, now I get a warning `These modules are needed for compilation but not listed in your .cabal file's other-modules`, and then a long list of modules. |
| 07:44:23 | <Rogach> | Am I supposed to add all those modules by hand, or is there some stack/cabal command that figures that out? |
| 07:45:08 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:46:55 | → | jumper149 joins (~jumper149@80.240.31.34) |
| 07:47:19 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds) |
| 07:48:12 | → | acidjnk_new3 joins (~acidjnk@p200300d0c72b9516c0edb1e0bd38b359.dip0.t-ipconnect.de) |
| 07:48:33 | <[exa]> | Rogach: I'm usually doing just something like `grep ^module test -r |cut -d' ' -f2` and pipe it into the cabal file |
| 07:51:15 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 07:52:12 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 07:52:28 | → | cheater joins (~Username@user/cheater) |
| 07:54:05 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 07:54:05 | × | burnside_ quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
| 07:54:26 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 07:58:08 | → | fef joins (~thedawn@user/thedawn) |
| 07:58:40 | → | andrews joins (~andrews@user/andrews) |
| 07:59:52 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer) |
| 08:00:35 | <andrews> | hi |
| 08:00:47 | <andrews> | how do I install haskell on ubuntu |
| 08:00:59 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 08:01:58 | × | fef quits (~thedawn@user/thedawn) (Remote host closed the connection) |
| 08:03:06 | → | o1lo01ol1o joins (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) |
| 08:04:12 | <[exa]> | andrews: https://www.haskell.org/ghcup/ <- generally the most straightforward method |
| 08:04:32 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 255 seconds) |
| 08:04:49 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 08:04:59 | <[exa]> | andrews: you may also use `sudo apt install ghc cabal-install` to get the packages from the repositories, which usually works nicely unless you want to somehow torture the package system |
| 08:05:16 | <Rogach> | Or `sudo apt-get install haskell-platform`, this avoids piping scripts from network. |
| 08:05:33 | → | favonia joins (~favonia@user/favonia) |
| 08:05:57 | <andrews> | I'm confused |
| 08:06:14 | <[exa]> | andrews: because of the number of possibilities? |
| 08:06:42 | <andrews> | should I ghcup or platform |
| 08:06:49 | → | hendursa1 joins (~weechat@user/hendursaga) |
| 08:07:06 | <[exa]> | andrews: ghcup makes a user-specific install, should be perfectly okay. `haskell-platform` is a systemwide install. |
| 08:07:24 | <andrews> | ok |
| 08:07:35 | <andrews> | I only need it for my user |
| 08:07:44 | <[exa]> | then you are safe with ghcup :] |
| 08:08:16 | <andrews> | hang on |
| 08:08:39 | <[exa]> | anyway the choice isn't that important, what's going to be different is the way you update the packages. Local user install is updated with running ghcup again, the system packages get updated automagically with ubuntu (but that might (rarely) break some of your code) |
| 08:08:49 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
| 08:08:53 | <andrews> | argh |
| 08:09:28 | × | wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 08:10:09 | <[exa]> | Rogach: why's my debian reporting the latest haskell-platform version as 2014? :D |
| 08:11:23 | <Rogach> | [exa]: Well, it's Debian. Since you're using Debian you're probably want to be extra safe, you don't want to use that hot-shot untested stuff from, say, 2016 =) |
| 08:11:27 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 08:11:34 | <[exa]> | Rogach: same on ubuntu tho |
| 08:11:45 | <Rogach> | (using Arch myself, so I'm on the opposite end of the scale - with opposite set of problems) |
| 08:11:53 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 08:11:55 | <Rogach> | [exa]: Ubuntu also likes to be extra safe. |
| 08:12:08 | → | cheater joins (~Username@user/cheater) |
| 08:12:10 | <andrews> | should I install haskell-platform |
| 08:12:13 | <[exa]> | nah I'm on sid, that's pretty wild with versions too |
| 08:12:24 | <[exa]> | andrews: use `ghcup`, as I said, it's safest for the first try |
| 08:12:25 | <Rogach> | [exa]: (and they also like to avoid too much trouble, copying Debian directly is simpler) |
| 08:12:43 | <tdammers> | Rogach: nothing to do with "untested"; debian being a "stable" distro means that features do not change between releases, so you can build your system based on a given release, and trust it to remain feature-stable until you upgrade to the next release. |
| 08:13:01 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 08:13:06 | <[exa]> | still it seems that the package ain't very maintaned |
| 08:13:12 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 08:13:24 | <Rogach> | tdammers: I was trying to be funny. I understand why Debian does what it does. |
| 08:13:48 | → | hegstal joins (~hegstal@2a02:c7f:7604:8a00:1608:5ddb:ace2:2fb3) |
| 08:13:54 | <Rogach> | (e.g. running Arch on servers doesn't strike me as a great idea, Debian or Ubuntu is much more preferrable) |
| 08:14:42 | × | GIANTWORLDKEEPER quits (~pjetcetal@128-71-13-182.broadband.corbina.ru) (Ping timeout: 255 seconds) |
| 08:15:02 | <Rogach> | [exa]: That's the case with many ubuntu packages, unfortunately - you can't stay on top of everything while providing comprehensive support for 3 LTSes at once. |
| 08:15:14 | → | ubert joins (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
| 08:16:36 | <Rogach> | [exa]: I was ubuntu user myself up until ~2014. And while "bypasses" like ghcup do work, they don't feel very sustainable (for example when you have a truckload of different software and you want newer versions for some reason - you get a complete zoo with lots of compatibility troubles). |
| 08:17:19 | <andrews> | Rogach, what distro do you use now] |
| 08:17:50 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 08:17:52 | <[exa]> | Rogach: well ghcup solves the complicated packaging trouble for new devs for sure |
| 08:17:55 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 08:17:57 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 08:18:41 | <Rogach> | andrews: Arch Linux. But it's not for the faint of heart, I'll recommend at least 3 years of general Linux experience before switching to Arch Linux. |
| 08:19:04 | <[exa]> | (preferably 3 years prior gentoo experience :D ) |
| 08:19:32 | <Rogach> | [exa]: Of course. I'm not against it, I'm just wary that using lots of stuff outside of main package system brings a lot of duplication and pain. |
| 08:19:46 | <andrews> | well |
| 08:19:47 | <Rogach> | No, Gentoo is way too hardcore. Arch is simpler. |
| 08:19:56 | <andrews> | I installed ghcup |
| 08:20:20 | <[exa]> | Rogach: I started on that one in 2005 or so, it worked™ |
| 08:20:22 | <andrews> | and ghc not found |
| 08:20:36 | × | hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:20:54 | <[exa]> | andrews: good, type `ghcup help`, you should get some choice of what ghc to install |
| 08:20:54 | <andrews> | ghc |
| 08:20:54 | <andrews> | Command 'ghc' not found, but can be installed with: |
| 08:20:54 | <andrews> | sudo apt install ghc |
| 08:21:13 | <[exa]> | andrews: `ghcup` is like `rustup`, installs the whole toolchain for you and keeps it in shape |
| 08:21:23 | <Rogach> | [exa]: I meant that after 3 years of Gentoo you may not need Arch at all =) |
| 08:21:29 | <andrews> | ghcup help |
| 08:21:30 | <andrews> | ghcup: command not found |
| 08:21:47 | <[exa]> | andrews: ok something's wrong, did you read what ghcup installation wrote to you? |
| 08:22:13 | <andrews> | I installed everything |
| 08:22:26 | <sm> | andrews: are you following some official install docs, eg ghcup's ? |
| 08:22:29 | <Rogach> | [exa]: It's my understanding that Gentoo and Arch do not differ too much - both prefer the newest versions of the packages, both compile from sources. I guess the main difference is Arch has a precompiled package repository, so you don't need to compile libreoffice for example. |
| 08:23:03 | <[exa]> | Rogach: one reason to ditch libreoffice |
| 08:23:45 | <[exa]> | [*laughs in latex*] |
| 08:24:38 | <andrews> | no |
| 08:24:55 | <andrews> | I checked my .bashrc and ghcup didn't add anything |
| 08:25:16 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 08:25:26 | <Rogach> | [exa]: Well, there's firefox as well, also not very fast to compile on smaller machines. I like latex, but doing spreadsheet work in it is a bit sub-optimal for my taste. |
| 08:25:34 | <sm> | you could try https://docs.haskellstack.org/en/stable/install_and_upgrade/#linux |
| 08:25:38 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 08:25:41 | <[exa]> | Rogach: awk on you |
| 08:25:56 | <Rogach> | [exa]: awk? |
| 08:26:10 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 08:26:42 | → | cheater joins (~Username@user/cheater) |
| 08:26:49 | <[exa]> | you don't do spreadsheets with awk? |
| 08:27:36 | <keltono> | andrews: How did you install ghcup? With the `curl` command listed on the website? |
| 08:27:58 | <andrews> | yes |
| 08:28:20 | × | keutoi quits (~keutoi@157.48.221.108) (Ping timeout: 258 seconds) |
| 08:28:30 | <andrews> | I'll just install haskell-platform |
| 08:28:32 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
| 08:28:39 | <andrews> | I can't get ghcup working |
| 08:29:12 | <keltono> | Was there an error during the install process or something? Seems strange that it just wouldn't work |
| 08:29:21 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 08:29:59 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 08:30:05 | → | keutoi joins (~keutoi@223.237.22.166) |
| 08:30:43 | × | hexfive quits (~eric@50.35.83.177) (Quit: WeeChat 3.0) |
| 08:31:05 | <Rogach> | [exa]: I do text editing with awk. But doing spreadsheets with it is still too low-tech :) |
| 08:31:19 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 08:32:11 | <andrews> | ok |
| 08:32:14 | <andrews> | it's working now |
| 08:32:23 | <andrews> | I didn't have the required packages installed |
| 08:32:31 | <andrews> | as prerequisities |
| 08:33:10 | <tromp> | any chess fans in here? |
| 08:33:26 | <sm> | yeah ! |
| 08:34:06 | <keltono> | ^ |
| 08:34:15 | <keltono> | Although that's more #haskell-offtopic |
| 08:34:41 | <tromp> | i found a way to combine chess and Haskell |
| 08:34:51 | <Taneb> | tromp: it's a great musical |
| 08:34:59 | <[exa]> | Rogach: I mean, text editor for data + awk for doing the computations |
| 08:35:17 | <keltono> | Taneb: There's a chess musical? |
| 08:35:26 | <tromp> | see http://talkchess.com/forum3/viewtopic.php?f=7&t=77685 |
| 08:35:42 | <tromp> | i wrote a Haskell program to rank chess positions |
| 08:35:55 | <sm> | yay |
| 08:36:46 | × | cheater quits (~Username@user/cheater) (Ping timeout: 258 seconds) |
| 08:36:56 | <Taneb> | keltono: yeah! Tim Rice, and Benny Andersson and Björn Ulvaeus of ABBA |
| 08:37:11 | <Rogach> | [exa]: I usually go for perl in such cases, actually. But interactive spreadsheet is just nicer for off-hand work - e.g. I want to move some cells around, experiment with the formulas somewhere. Styling is also nice. |
| 08:37:11 | <Rogach> | But some spreadsheets I actually do in org-mode, yes =) |
| 08:37:12 | → | cheater joins (~Username@user/cheater) |
| 08:38:35 | <keltono> | Taneb: Oh cool! I'll have to check it out sometime |
| 08:38:47 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
| 08:38:57 | → | Topsi joins (~Tobias@dyndsl-095-033-090-054.ewe-ip-backbone.de) |
| 08:39:45 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 265 seconds) |
| 08:39:58 | → | Kaipi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 08:40:38 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 08:43:02 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 08:45:56 | <andrews> | Assembly language is irritating... |
| 08:46:06 | <andrews> | all you have are jumps |
| 08:46:23 | <int-e> | do you suffer from jump scares? |
| 08:46:38 | <tdammers> | jump scars, maybe |
| 08:46:50 | <Rogach> | andrews: This escalated quickly. One moment you were installing Haskell, another you dropped down all the way to assembly =) |
| 08:47:13 | <andrews> | actually I wrote an assembler program |
| 08:47:29 | <andrews> | https://github.com/andrewjohnroy/Two-Fer-X86-64-Assembly/blob/main/string_manipulation.nasm |
| 08:47:38 | <andrews> | it's a nightmare |
| 08:47:56 | <andrews> | rather an assembly function |
| 08:48:02 | <andrews> | not even the whole program |
| 08:48:14 | <tdammers> | I'd call that deescalation |
| 08:48:27 | × | PungentCheese quits (~PungentCh@x527179fa.dyn.telefonica.de) (Ping timeout: 255 seconds) |
| 08:48:53 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 08:50:06 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
| 08:50:23 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 08:50:24 | <andrews> | I also have code that defines a boot sector for a hard disk |
| 08:50:28 | <andrews> | https://github.com/andrewjohnroy/hello-world-boot-sector-nasm/blob/main/hello.asm |
| 08:51:30 | → | neceve joins (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) |
| 08:52:57 | × | keutoi quits (~keutoi@223.237.22.166) (Ping timeout: 255 seconds) |
| 08:53:31 | → | nschoe joins (~quassel@178.251.84.79) |
| 08:54:20 | × | ubikium quits (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Read error: Connection reset by peer) |
| 08:55:20 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 09:00:13 | → | ubikium joins (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) |
| 09:01:45 | → | chris_ joins (~chris@81.96.113.213) |
| 09:03:46 | → | anandprabhu joins (~anandprab@94.202.243.198) |
| 09:06:14 | × | Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8) |
| 09:06:31 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 09:12:04 | ← | Rogach parts (uid6398@id-6398.brockwell.irccloud.com) () |
| 09:15:37 | × | acidjnk_new3 quits (~acidjnk@p200300d0c72b9516c0edb1e0bd38b359.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 09:18:27 | × | chomwitt quits (~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds) |
| 09:19:21 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Remote host closed the connection) |
| 09:19:54 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 09:20:23 | × | ubert quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Quit: ubert) |
| 09:21:08 | → | __monty__ joins (~toonn@user/toonn) |
| 09:22:28 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 09:22:42 | × | chexum quits (~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds) |
| 09:24:16 | → | flareon joins (~flareon@117.222.66.126) |
| 09:24:40 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 09:25:03 | → | chexum joins (~chexum@gateway/tor-sasl/chexum) |
| 09:26:51 | <flareon> | if i'm trying to write the expression `Just head xs`, due to right associativity of function application, it's interpreted as `(Just head) xs` which is a type error. is there a universal styling convention as to whether i should write it as `Just (head xs)` or `Just $ head xs`. i'm used to parentheses and like the former more, but i seem to remember reading some Haskell style guides which recommended the |
| 09:26:57 | <flareon> | latter. |
| 09:27:39 | <flareon> | s/right/left/ |
| 09:27:56 | <__monty__> | flareon: $ is a bit contentious if anything. So if you prefer parens just go with those. |
| 09:28:50 | <__monty__> | Might also get away with making it pointfree in simple cases though. If you can drop xs on left and rhs, `Just . head` is fairly idiomatic. |
| 09:29:09 | <__monty__> | It does look like you just want to use listToMaybe though. |
| 09:29:15 | <__monty__> | @hoogle listToMaybe |
| 09:29:15 | <lambdabot> | Data.Maybe listToMaybe :: [a] -> Maybe a |
| 09:29:15 | <lambdabot> | Distribution.Compat.Prelude.Internal listToMaybe :: [a] -> Maybe a |
| 09:29:15 | <lambdabot> | Network.AWS.Prelude listToMaybe :: () => [a] -> Maybe a |
| 09:29:47 | <__monty__> | Which is total. As opposed to your function which would need to be guarded against xs being []. |
| 09:29:56 | × | chexum quits (~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds) |
| 09:32:15 | <flareon> | __monty__: thanks for the suggestion. this is not a particular question. i'm running into these kinds of situations a lot and that's why i just asked using this example. i'd use to parenthesis for now but keep a guard on it lest i turn into a perpetual ophomore Haskell programmer in the evolutionary timeline :) |
| 09:33:08 | <__monty__> | $ has lost popularity over time if anything. |
| 09:33:47 | <flareon> | __monty__: but the point-free styling is a suggestion i'll keep in mind. it's concise. thanks! |
| 09:35:06 | <__monty__> | It's very useful as long as you don't take it too far. Once you need Birds you should think long and hard about whether it's still understandable. |
| 09:36:53 | → | chexum joins (~chexum@gateway/tor-sasl/chexum) |
| 09:37:23 | <flareon> | __monty__: i totally agree. did you refer to Data.Aviary.Birds? |
| 09:37:35 | <flareon> | @hoogle Birds |
| 09:37:35 | <lambdabot> | No results found |
| 09:38:16 | <__monty__> | Exactly. |
| 09:39:34 | <flareon> | __monty__: i suppose some nifty notation is no substitute for careful programming. sure. |
| 09:39:50 | × | flareon quits (~flareon@117.222.66.126) (Quit: leaving) |
| 09:40:41 | <__monty__> | It's more that there's a tipping point where the succinctness of expression costs you more time in the understanding than it saves. Having names for arguments can make things much clearer. |
| 09:41:31 | × | cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds) |
| 09:41:59 | → | cheater joins (~Username@user/cheater) |
| 09:42:37 | <tomsmeding> | "v0.4.0: Removed the "useful" combinators (to emphasize that Data.Aviary is not a utility library)." |
| 09:42:42 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 272 seconds) |
| 09:46:50 | × | Gurkenglas_ quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
| 09:55:44 | × | azeem quits (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) (Ping timeout: 258 seconds) |
| 09:56:29 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 09:56:58 | <DigitalKiwi> | Data.Aviary.Crane |
| 09:59:20 | → | azeem joins (~azeem@176.201.40.210) |
| 09:59:44 | × | xff0x quits (~xff0x@2001:1a81:5396:d100:b9ea:2990:3a98:f09b) (Ping timeout: 255 seconds) |
| 09:59:59 | × | zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection) |
| 10:00:45 | → | xff0x joins (~xff0x@2001:1a81:5396:d100:8e8d:3ad4:f4d0:67e9) |
| 10:03:02 | × | cheater quits (~Username@user/cheater) (Ping timeout: 245 seconds) |
| 10:03:38 | → | oxide joins (~lambda@user/oxide) |
| 10:03:46 | → | cheater joins (~Username@user/cheater) |
| 10:04:29 | → | zaquest joins (~notzaques@5.128.210.178) |
| 10:07:48 | → | ubert joins (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
| 10:12:05 | → | GIANTWORLDKEEPER joins (~pjetcetal@128-71-13-182.broadband.corbina.ru) |
| 10:13:31 | × | azeem quits (~azeem@176.201.40.210) (Ping timeout: 265 seconds) |
| 10:14:00 | → | azeem joins (~azeem@176.201.40.210) |
| 10:16:26 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-1f41-d350-ba29-922c.fixed6.kpn.net) |
| 10:18:26 | → | peterhil joins (~peterhil@mobile-access-bceeac-89.dhcp.inet.fi) |
| 10:18:35 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
| 10:19:06 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 10:23:40 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 265 seconds) |
| 10:28:02 | × | anandprabhu quits (~anandprab@94.202.243.198) (Remote host closed the connection) |
| 10:29:51 | × | azeem quits (~azeem@176.201.40.210) (Ping timeout: 258 seconds) |
| 10:30:07 | → | azeem joins (~azeem@176.201.40.210) |
| 10:30:09 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 255 seconds) |
| 10:30:38 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 10:30:41 | → | cheater1__ joins (~Username@user/cheater) |
| 10:30:44 | cheater1__ | is now known as cheater |
| 10:31:07 | → | andrews_ joins (~andrews@103.210.27.189) |
| 10:34:30 | × | andrews quits (~andrews@user/andrews) (Ping timeout: 252 seconds) |
| 10:37:10 | × | azeem quits (~azeem@176.201.40.210) (Ping timeout: 272 seconds) |
| 10:37:11 | → | agua joins (~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) |
| 10:39:08 | × | cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds) |
| 10:39:10 | → | cheater1__ joins (~Username@user/cheater) |
| 10:39:13 | cheater1__ | is now known as cheater |
| 10:40:57 | × | pesada quits (~agua@2804:18:48:1eaf:1:0:1d0b:6be0) (Ping timeout: 245 seconds) |
| 10:43:43 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 10:44:32 | → | pesada joins (~agua@2804:18:48:1eaf:1:0:1d0b:6be0) |
| 10:44:51 | × | ubikium quits (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Read error: Connection reset by peer) |
| 10:44:59 | → | ubikium joins (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) |
| 10:45:16 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:45:54 | × | agua quits (~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) (Ping timeout: 255 seconds) |
| 10:45:57 | → | azeem joins (~azeem@176.201.40.210) |
| 10:47:20 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 10:47:40 | → | cheater joins (~Username@user/cheater) |
| 10:51:21 | → | notzmv joins (~zmv@user/notzmv) |
| 10:51:31 | → | ph88^ joins (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) |
| 10:55:00 | → | drd joins (~drd@93-39-151-19.ip76.fastwebnet.it) |
| 10:55:46 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 10:55:55 | × | Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 268 seconds) |
| 10:55:56 | <pippijn> | does this version of #haskell have the hackage announce bot? |
| 10:56:06 | → | cheater joins (~Username@user/cheater) |
| 10:56:41 | → | chomwitt joins (~Pitsikoko@ppp-94-67-202-202.home.otenet.gr) |
| 10:56:49 | × | neceve quits (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 268 seconds) |
| 10:56:52 | × | azeem quits (~azeem@176.201.40.210) (Ping timeout: 252 seconds) |
| 10:57:10 | → | azeem joins (~azeem@176.201.40.210) |
| 10:58:49 | → | peterhil_ joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
| 11:00:35 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 11:01:51 | × | peterhil quits (~peterhil@mobile-access-bceeac-89.dhcp.inet.fi) (Ping timeout: 265 seconds) |
| 11:03:12 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 258 seconds) |
| 11:03:19 | × | chomwitt quits (~Pitsikoko@ppp-94-67-202-202.home.otenet.gr) (Ping timeout: 268 seconds) |
| 11:03:52 | × | cheater quits (~Username@user/cheater) (Ping timeout: 245 seconds) |
| 11:04:34 | → | cheater joins (~Username@user/cheater) |
| 11:04:52 | → | oxide joins (~lambda@user/oxide) |
| 11:05:10 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 11:05:47 | → | smichel17_ joins (~smichel17@c-73-68-217-18.hsd1.ma.comcast.net) |
| 11:07:26 | × | andrews_ quits (~andrews@103.210.27.189) (Quit: Leaving) |
| 11:09:36 | <tomsmeding> | pippijn: I haven't seen it say anything yet, so I assume no |
| 11:09:42 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 11:09:57 | → | cheater joins (~Username@user/cheater) |
| 11:10:46 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 11:15:07 | ← | drd parts (~drd@93-39-151-19.ip76.fastwebnet.it) (ERC (IRC client for Emacs 28.0.50)) |
| 11:17:15 | <Orbstheorem> | Given a type `a` (passed through an existential type), how can I write a function taking such type (or a proxy, or the existential instance) and return a witness whether such type fulfills a constraint (`MyClass b`) or not? the way I see that witness is a type-level `Maybe a'`, where if just; `MyClass a'` and somehow `a'` implies `a`. |
| 11:17:49 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 11:17:59 | × | chexum quits (~chexum@gateway/tor-sasl/chexum) (Quit: -) |
| 11:18:40 | <Taneb> | Orbstheorem: I don't think that that's possible |
| 11:32:04 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 11:32:37 | × | azeem quits (~azeem@176.201.40.210) (Ping timeout: 245 seconds) |
| 11:32:55 | <tomsmeding> | Orbstheorem: operationally, evidence that a type 'a' has an instance 'MyClass a' is an actual dictionary (record) containing the members of that class, specialised to 'a'. For example, the representation of 'Show a' at runtime literally is a function 'a -> String'. |
| 11:33:14 | <tomsmeding> | so your hypothetical function would need to pull this class implementation out of thin air at runtime |
| 11:33:14 | → | azeem joins (~azeem@176.201.40.210) |
| 11:33:36 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds) |
| 11:33:39 | <tomsmeding> | it might be possible to hack something using Typeable, but at that point you should ask if that's really what you want to do :p |
| 11:33:47 | <maerwald> | you send a HTTP request to a microservice containing all the data |
| 11:33:55 | <maerwald> | easy |
| 11:34:03 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 255 seconds) |
| 11:34:17 | <tomsmeding> | maerwald: I assume that would live in a kubernetes cluster, otherwise it won't be able to handle the volume coming from the application |
| 11:34:40 | <maerwald> | yeah, in the cloud |
| 11:34:49 | <tomsmeding> | ☁️ |
| 11:45:46 | × | azeem quits (~azeem@176.201.40.210) (Ping timeout: 246 seconds) |
| 11:46:02 | → | azeem joins (~azeem@176.201.40.210) |
| 11:49:09 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 11:50:15 | × | gentauro quits (~gentauro@user/gentauro) (Ping timeout: 255 seconds) |
| 11:54:14 | → | shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 11:54:47 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 268 seconds) |
| 11:59:38 | → | keutoi joins (~keutoi@223.237.20.166) |
| 12:00:11 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 12:00:20 | × | azeem quits (~azeem@176.201.40.210) (Ping timeout: 268 seconds) |
| 12:00:23 | → | Guest829 joins (~Guest829@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) |
| 12:02:12 | → | gentauro joins (~gentauro@user/gentauro) |
| 12:03:49 | <lechner> | Hi, is there an easy way to get some parsing diagnosics from a "generic" FromJSON, please? |
| 12:04:39 | × | ph88^ quits (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) (Ping timeout: 268 seconds) |
| 12:04:42 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:04:44 | → | azeem joins (~azeem@176.201.40.210) |
| 12:08:22 | × | prite quits (~pritam@user/pritambaral) (Ping timeout: 272 seconds) |
| 12:09:45 | → | m4lvin joins (~m4lvin@w4eg.de) |
| 12:10:03 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds) |
| 12:11:02 | → | prite joins (~pritam@user/pritambaral) |
| 12:11:08 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 12:12:28 | × | Guest829 quits (~Guest829@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) (Quit: Client closed) |
| 12:13:34 | → | drd joins (~drd@93-39-151-19.ip76.fastwebnet.it) |
| 12:16:56 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 12:17:15 | × | Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 255 seconds) |
| 12:17:52 | → | Vajb joins (~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) |
| 12:18:44 | → | neceve joins (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) |
| 12:22:07 | <Orbstheorem> | tomsmeding: How is a proxy encoded at runtime? There's no instance to complete the dict. |
| 12:22:29 | <tomsmeding> | what kind of proxy? |
| 12:22:44 | <tomsmeding> | 'f :: Proxy a -> Int' ? |
| 12:22:51 | <Orbstheorem> | https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Proxy.html |
| 12:22:59 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 12:23:00 | <tomsmeding> | or 'f :: Show a => Proxy a -> Int'? |
| 12:23:13 | <Orbstheorem> | The later. |
| 12:23:39 | ← | Square parts (~a@178.62.91.8) (Leaving) |
| 12:24:08 | <tomsmeding> | in Core, the low-level intermediate language of ghc, that second f will have two arguments: a function a -> String, and a value Proxy a (that carries no actual data other than () ) |
| 12:24:29 | <Orbstheorem> | Huh. |
| 12:24:36 | Orbstheorem | should take a look at Core. |
| 12:27:13 | <tomsmeding> | :q |
| 12:27:13 | <tomsmeding> | ... sorry |
| 12:27:22 | × | azeem quits (~azeem@176.201.40.210) (Ping timeout: 272 seconds) |
| 12:28:29 | <tomsmeding> | Orbstheorem: https://paste.tomsmeding.com/yHpJfeuj |
| 12:28:55 | <tomsmeding> | right at the top you see $wfoo, which is a slight transformation of the foo function (it wasn't completely eliminated because I said it to NOINLINE) |
| 12:29:33 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 12:29:38 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 12:29:41 | <tomsmeding> | (I didn't pass a proxy but instead an actual 'a' because otherwise there was no way for me to use the Show instance, and if I didn't use it, ghc eliminated the constraint completely :p ) |
| 12:30:02 | → | cheater joins (~Username@user/cheater) |
| 12:30:18 | <tomsmeding> | Orbstheorem: the => really becomes just a normal -> in Core |
| 12:31:39 | × | dunj3 quits (~dunj3@2001:16b8:303f:a600:793c:65b7:43fd:f5ca) (Remote host closed the connection) |
| 12:32:02 | → | derelict joins (~derelict@user/derelict) |
| 12:32:39 | → | azeem joins (~azeem@176.200.200.206) |
| 12:33:26 | → | chexum joins (~chexum@gateway/tor-sasl/chexum) |
| 12:34:17 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 12:35:20 | → | Bayes joins (~Bayes@ics177-97.icsincorporated.com) |
| 12:35:30 | × | Bayes quits (~Bayes@ics177-97.icsincorporated.com) (Changing host) |
| 12:35:30 | → | Bayes joins (~Bayes@user/bayes) |
| 12:37:03 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 12:37:29 | → | cheater joins (~Username@user/cheater) |
| 12:42:53 | <Orbstheorem> | I see |
| 12:42:57 | <Orbstheorem> | Thanks! :) |
| 12:45:19 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:47:19 | → | hseg joins (~gesh@185.120.126.10) |
| 12:47:51 | × | keutoi quits (~keutoi@223.237.20.166) (Ping timeout: 255 seconds) |
| 12:49:01 | × | hseg quits (~gesh@185.120.126.10) (Client Quit) |
| 12:49:15 | → | keutoi joins (~keutoi@223.237.20.166) |
| 12:52:04 | → | ph88^ joins (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) |
| 12:55:50 | → | Guest47 joins (~Guest47@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) |
| 12:57:53 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 12:58:46 | → | ukari joins (~ukari@user/ukari) |
| 13:01:03 | × | Bayes quits (~Bayes@user/bayes) (Quit: Connection closed) |
| 13:01:10 | → | alx741 joins (~alx741@186.178.109.32) |
| 13:04:11 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 13:04:23 | → | cheater joins (~Username@user/cheater) |
| 13:11:37 | × | azeem quits (~azeem@176.200.200.206) (Ping timeout: 258 seconds) |
| 13:11:52 | → | azeem joins (~azeem@176.200.200.206) |
| 13:12:11 | → | _xor joins (~xor@74.215.46.133) |
| 13:12:23 | × | _xor quits (~xor@74.215.46.133) (Client Quit) |
| 13:12:44 | → | _xor joins (~xor@74.215.46.133) |
| 13:14:49 | × | anhnt quits (~anhnt@2405:4802:342:1550:454d:510c:cbdb:1c59) (Quit: Client closed) |
| 13:14:58 | × | Guest47 quits (~Guest47@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) (Quit: Client closed) |
| 13:17:43 | <Las[m]> | Does anyone know if there's a way to get GHCi to load the imports when doing `:load` for a file that doesn't need to be recompiled? |
| 13:17:54 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 13:19:05 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 13:19:05 | × | keutoi quits (~keutoi@223.237.20.166) (Ping timeout: 255 seconds) |
| 13:19:49 | → | hendursaga joins (~weechat@user/hendursaga) |
| 13:19:56 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 13:20:55 | → | keutoi joins (~keutoi@106.208.22.166) |
| 13:23:57 | × | cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds) |
| 13:24:07 | → | cheater joins (~Username@user/cheater) |
| 13:24:37 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
| 13:24:38 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 13:25:39 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 13:25:46 | × | peterhil_ quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 268 seconds) |
| 13:26:57 | × | allbery_b quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 258 seconds) |
| 13:27:35 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 13:28:08 | → | lavaman joins (~lavaman@98.38.249.169) |
| 13:28:09 | → | cheater1__ joins (~Username@user/cheater) |
| 13:30:24 | × | cheater quits (~Username@user/cheater) (Ping timeout: 258 seconds) |
| 13:30:33 | cheater1__ | is now known as cheater |
| 13:31:15 | → | mikail joins (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) |
| 13:32:24 | × | keutoi quits (~keutoi@106.208.22.166) (Ping timeout: 255 seconds) |
| 13:33:14 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
| 13:36:04 | × | stevenxl quits (uid133530@id-133530.highgate.irccloud.com) (Quit: Connection closed for inactivity) |
| 13:40:57 | × | azeem quits (~azeem@176.200.200.206) (Ping timeout: 255 seconds) |
| 13:41:22 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:dd48:b4b4:65c5:d73f) |
| 13:41:59 | <kuribas> | is anyone using lsp with emacs? |
| 13:43:06 | <Franciman> | I am using lsp with kakoune, if it is related to haskell language server |
| 13:44:23 | → | keutoi joins (~keutoi@223.237.48.22) |
| 13:47:24 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:dd48:b4b4:65c5:d73f) (Quit: Client closed) |
| 13:47:55 | → | azeem joins (~azeem@176.200.200.206) |
| 13:48:00 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:dd48:b4b4:65c5:d73f) |
| 13:50:03 | <kuribas> | what's kakoune? |
| 13:53:08 | <Las[m]> | it's a text editor |
| 13:54:47 | <kuribas> | right... |
| 13:54:53 | <kuribas> | no my question was specific to emacs. |
| 13:55:07 | <kuribas> | lsp works nicely on vscode (minus bugs). |
| 13:57:56 | → | chomwitt joins (~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) |
| 13:59:27 | × | Vajb quits (~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer) |
| 14:00:49 | → | cheater1__ joins (~Username@user/cheater) |
| 14:01:29 | <kuribas> | it just doesn't look very nice on emacs. |
| 14:01:30 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
| 14:02:10 | <kuribas> | With information all over the place, literal markdown in docs, ... |
| 14:03:06 | × | cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds) |
| 14:03:12 | cheater1__ | is now known as cheater |
| 14:07:32 | × | azeem quits (~azeem@176.200.200.206) (Ping timeout: 252 seconds) |
| 14:08:25 | → | shriekingnoise joins (~shrieking@186.137.144.80) |
| 14:10:05 | → | cheater1__ joins (~Username@user/cheater) |
| 14:11:19 | × | cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds) |
| 14:12:27 | → | cheater joins (~Username@user/cheater) |
| 14:14:55 | → | azeem joins (~azeem@176.200.200.206) |
| 14:15:14 | × | keutoi quits (~keutoi@223.237.48.22) (Ping timeout: 252 seconds) |
| 14:15:36 | × | ubikium quits (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 255 seconds) |
| 14:16:09 | × | cheater1__ quits (~Username@user/cheater) (Ping timeout: 265 seconds) |
| 14:16:50 | → | ubikium joins (~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) |
| 14:17:04 | → | keutoi joins (~keutoi@106.208.22.166) |
| 14:17:36 | × | prite quits (~pritam@user/pritambaral) (Ping timeout: 265 seconds) |
| 14:17:52 | → | prite joins (~pritam@user/pritambaral) |
| 14:18:29 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 14:18:55 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 14:19:29 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 14:19:30 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 14:20:00 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.2) |
| 14:20:18 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 14:20:34 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:20:35 | → | peterhil joins (~peterhil@mobile-access-bceeac-89.dhcp.inet.fi) |
| 14:22:15 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 14:22:32 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Max SendQ exceeded) |
| 14:22:38 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 14:22:56 | → | pritambaral joins (~pritam@user/pritambaral) |
| 14:23:00 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 14:24:17 | × | derelict quits (~derelict@user/derelict) (Ping timeout: 245 seconds) |
| 14:25:00 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 14:26:22 | × | prite quits (~pritam@user/pritambaral) (Ping timeout: 258 seconds) |
| 14:26:40 | × | ubikium quits (~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) (Read error: Connection reset by peer) |
| 14:27:22 | → | ubikium joins (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) |
| 14:28:35 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 14:29:51 | × | Guest23 quits (~Guest23@50.47.115.102) (Quit: Client closed) |
| 14:32:39 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-1f41-d350-ba29-922c.fixed6.kpn.net) (Ping timeout: 268 seconds) |
| 14:33:08 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 14:34:26 | → | prite joins (~pritam@user/pritambaral) |
| 14:34:40 | × | azeem quits (~azeem@176.200.200.206) (Ping timeout: 272 seconds) |
| 14:34:41 | × | pritambaral quits (~pritam@user/pritambaral) (Ping timeout: 255 seconds) |
| 14:36:08 | × | neurocyte quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
| 14:36:53 | → | azeem joins (~azeem@176.200.200.206) |
| 14:38:35 | × | mikail quits (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) (Remote host closed the connection) |
| 14:39:40 | → | Guest47 joins (~Guest47@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) |
| 14:40:37 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Remote host closed the connection) |
| 14:40:50 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 14:41:41 | → | cheater1__ joins (~Username@84-115-12-132.cable.dynamic.surfer.at) |
| 14:42:09 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 14:42:29 | → | baullrog joins (~baullrog@pool-96-237-166-123.bstnma.fios.verizon.net) |
| 14:42:45 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 14:43:14 | → | mikail joins (~mikail@90.212.77.3) |
| 14:43:33 | cheater1__ | is now known as cheater |
| 14:43:39 | cheater | is now known as cheater1 |
| 14:43:42 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Quit: Leaving) |
| 14:44:02 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 14:46:03 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 14:47:27 | × | qbt quits (~edun@user/edun) (Ping timeout: 258 seconds) |
| 14:47:37 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 14:48:24 | × | Guest47 quits (~Guest47@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) (Quit: Client closed) |
| 14:49:59 | × | keutoi quits (~keutoi@106.208.22.166) (Ping timeout: 255 seconds) |
| 14:50:24 | × | baullrog quits (~baullrog@pool-96-237-166-123.bstnma.fios.verizon.net) (Quit: Leaving) |
| 14:51:53 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 14:56:47 | → | keutoi joins (~keutoi@157.47.109.43) |
| 14:57:54 | × | prite quits (~pritam@user/pritambaral) (Ping timeout: 255 seconds) |
| 14:57:56 | → | pritambaral joins (~pritam@user/pritambaral) |
| 14:58:53 | × | azeem quits (~azeem@176.200.200.206) (Ping timeout: 268 seconds) |
| 14:58:55 | → | lavaman joins (~lavaman@98.38.249.169) |
| 14:59:42 | × | chomwitt quits (~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds) |
| 15:00:08 | → | azeem joins (~azeem@176.200.199.176) |
| 15:01:59 | × | mariohesles quits (~user@172.58.97.195) (Remote host closed the connection) |
| 15:02:20 | → | neurocyte joins (~neurocyte@45.93.111.131) |
| 15:02:20 | × | neurocyte quits (~neurocyte@45.93.111.131) (Changing host) |
| 15:02:20 | → | neurocyte joins (~neurocyte@user/neurocyte) |
| 15:02:49 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:dd48:b4b4:65c5:d73f) (Ping timeout: 246 seconds) |
| 15:03:33 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds) |
| 15:08:13 | → | agua joins (~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) |
| 15:10:31 | × | pesada quits (~agua@2804:18:48:1eaf:1:0:1d0b:6be0) (Ping timeout: 246 seconds) |
| 15:10:40 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 15:10:47 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:16:01 | → | Gurkenglas_ joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 15:16:12 | × | azeem quits (~azeem@176.200.199.176) (Ping timeout: 258 seconds) |
| 15:18:58 | → | egoist joins (~egoist@186.235.80.249) |
| 15:19:10 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-e2c4-23e8-2d6f-bdbb.fixed6.kpn.net) |
| 15:21:42 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds) |
| 15:21:45 | → | azeem joins (~azeem@176.200.199.176) |
| 15:24:03 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 15:24:34 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 15:25:52 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 15:25:55 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-4-51.prtc.net) |
| 15:26:24 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 15:26:36 | × | azeem quits (~azeem@176.200.199.176) (Ping timeout: 272 seconds) |
| 15:27:23 | → | ukari joins (~ukari@user/ukari) |
| 15:27:29 | → | azeem joins (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) |
| 15:29:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 15:30:00 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 15:30:07 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 15:30:42 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 15:39:13 | × | jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.1) |
| 15:39:51 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 15:42:05 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:44:54 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 15:45:31 | → | Ariakenom joins (~Ariakenom@c83-255-154-140.bredband.tele2.se) |
| 15:46:14 | × | peterhil quits (~peterhil@mobile-access-bceeac-89.dhcp.inet.fi) (Ping timeout: 255 seconds) |
| 15:46:16 | → | Null_A joins (~null_a@2601:645:8700:2290:e9c6:7ad4:aa07:6319) |
| 15:47:38 | → | derelict joins (~derelict@user/derelict) |
| 15:49:37 | <maerwald> | it isn't better in vim if that makes you less sad |
| 15:53:35 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 15:54:14 | → | Guest4643 joins (~felix@83.8.55.241.ipv4.supernova.orange.pl) |
| 15:59:10 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 15:59:38 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 15:59:49 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
| 16:00:17 | → | peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
| 16:00:22 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 16:01:26 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 16:03:34 | × | juhp quits (~juhp@128.106.188.66) (Quit: juhp) |
| 16:03:48 | → | juhp joins (~juhp@128.106.188.66) |
| 16:04:41 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 255 seconds) |
| 16:06:50 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
| 16:07:38 | → | safinaskar joins (~user@109.252.90.89) |
| 16:07:47 | <safinaskar> | please, help me find video on functional programming! |
| 16:08:04 | <safinaskar> | in this video speaker showed "realloc" function from C language |
| 16:08:13 | → | chomwitt joins (~Pitsikoko@ppp-94-67-202-202.home.otenet.gr) |
| 16:08:14 | <safinaskar> | and said that |
| 16:10:05 | <safinaskar> | realloc API is actually multiplexed, that realloc behaves as malloc when given one set of parameters and behaves as free if we pass another set of parameters |
| 16:10:10 | <safinaskar> | so, please give me this video |
| 16:10:23 | <safinaskar> | the speaker concluded that we all should use functional programming |
| 16:11:42 | <glguy> | safinaskar: What you've described isn't something I've seen before, but it doesn't appear to have anything to do with functional programming |
| 16:11:47 | → | anandprabhu joins (~anandprab@94.202.243.198) |
| 16:12:38 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 16:14:44 | × | keutoi quits (~keutoi@157.47.109.43) (Ping timeout: 272 seconds) |
| 16:15:08 | <safinaskar> | glguy: yes, but he also talked about functional programming |
| 16:16:06 | → | norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 16:16:14 | → | keutoi joins (~keutoi@223.237.18.142) |
| 16:16:30 | × | nschoe quits (~quassel@178.251.84.79) (Ping timeout: 265 seconds) |
| 16:16:44 | → | zyklotomic joins (~ethan@2604:a880:800:10::79f:8001) |
| 16:17:09 | → | chris_ joins (~chris@81.96.113.213) |
| 16:17:19 | <zyklotomic> | say I have a data TestData = VerA { fieldA : Int, fieldB :: Int} | VerB { fieldB :: Int } |
| 16:17:30 | <glguy> | You have a TestData |
| 16:17:45 | <zyklotomic> | shouldn't it be the case that f :: TestData -> Int; f = fieldA doesnt' compile |
| 16:17:49 | <zyklotomic> | but it becomes a runtime error |
| 16:18:51 | <glguy> | fieldA throws a runtime error if you use it on a VerB constructor |
| 16:19:15 | <zyklotomic> | yeah |
| 16:19:26 | <zyklotomic> | shouldnt it not compile in the first place |
| 16:19:40 | <glguy> | No, it's defined to throw a runtime error |
| 16:19:54 | × | anandprabhu quits (~anandprab@94.202.243.198) (Quit: Leaving) |
| 16:19:58 | <glguy> | I wouldn't recommend defining that datatype, but if you do that's the behavior |
| 16:20:07 | <c_wraith> | Ideally record selectors wouldn't be allowed with multiple constructors, but I wasn't in charge of allowing that. :P |
| 16:20:49 | <c_wraith> | So we just have to tell people it's a bad idea, instead of letting the compiler reject it. |
| 16:20:50 | <zyklotomic> | are there existing issues created on this |
| 16:21:06 | <zyklotomic> | i'm not sure what to name it |
| 16:21:12 | <c_wraith> | It's not a bug |
| 16:21:17 | <zyklotomic> | multiple constructor record selectors |
| 16:21:30 | <zyklotomic> | yeah i'm not saying it is a bug, but if people have created an issue saying they disagree with it |
| 16:21:41 | <glguy> | There's not really a voting system like that |
| 16:22:16 | <zyklotomic> | or like at least brought it up |
| 16:22:20 | × | chomwitt quits (~Pitsikoko@ppp-94-67-202-202.home.otenet.gr) (Ping timeout: 272 seconds) |
| 16:22:24 | <c_wraith> | there's the GHC proposals system. GHC has broken with the language spec as the result of proposals before. Even in terms of removing things like n+k patterns. |
| 16:22:37 | → | stevenxl joins (uid133530@id-133530.highgate.irccloud.com) |
| 16:22:43 | <stevenxl> | Hello party people. |
| 16:22:55 | <c_wraith> | But this is probably a harder sell than that. |
| 16:22:56 | stevenxl | Quick question - is there no trim function for bytestring? |
| 16:23:29 | <glguy> | stevenxl: there's dropWhile and dropWhileEnd |
| 16:23:53 | <c_wraith> | there's nothing named "trim" because bytestrings aren't intended to be treated as textual data. |
| 16:23:58 | → | chomwitt joins (~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) |
| 16:24:03 | × | _xor quits (~xor@74.215.46.133) (Ping timeout: 258 seconds) |
| 16:24:08 | <glguy> | but bytestrings don't hold text, but if you're using Char8 module: https://hackage.haskell.org/package/bytestring-0.11.1.0/docs/Data-ByteString-Char8.html#v:strip |
| 16:24:13 | <c_wraith> | ... despite the whole .Char8 module |
| 16:24:17 | stevenxl | Maybe we can put it in the Char8 module. |
| 16:24:52 | × | pritambaral quits (~pritam@user/pritambaral) (Ping timeout: 272 seconds) |
| 16:25:10 | stevenxl | Oh - I thought that existed. Maybe we need that same function in lazy.bytestring. |
| 16:25:13 | stevenxl | .char8 |
| 16:25:17 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 16:26:01 | <zyklotomic> | glguy: ye i meant smth like the proposal system |
| 16:26:12 | <zyklotomic> | ah i see ok, ig i'll just avoid it then |
| 16:26:22 | <zyklotomic> | not like partial functions don't exist |
| 16:26:29 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:26:33 | → | Guest47 joins (~Guest47@2a01:cb15:81e5:f00:2c94:41d0:be2a:116c) |
| 16:26:33 | × | dajoer quits (~david@user/gvx) (Quit: leaving) |
| 16:27:03 | <lechner> | Hi, I finally wrote my first production program (for Debian infrastructure) and would appreciate your suggestions to a newbie. Thanks! https://dpaste.org/oZkp |
| 16:27:32 | stevenxl | lechner: congrats! |
| 16:28:22 | × | Guest4643 quits (~felix@83.8.55.241.ipv4.supernova.orange.pl) (Quit: WeeChat 3.1) |
| 16:28:51 | → | Atum_ joins (IRC@user/atum/x-2392232) |
| 16:29:15 | <zyklotomic> | lechner: that looks really cool, what does it do |
| 16:29:15 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 255 seconds) |
| 16:29:43 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Remote host closed the connection) |
| 16:29:44 | <zyklotomic> | in the context of Debian too |
| 16:29:49 | Gurkenglas_ | is now known as Gurkenglas |
| 16:29:59 | → | pritambaral joins (~pritam@user/pritambaral) |
| 16:30:00 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 16:30:29 | <lechner> | zyklotomic: it collects data for lintian.debian.org from automated runners via ZeroMQ and stores the results on disk |
| 16:32:17 | stevenxl | https://youtu.be/tAD1V8bHm_0 |
| 16:32:20 | <arkanoid> | Hello! Noob question (just studying the subject). Is monad the way-to-go to handle side effects / errors in functional programming, or are there new/better strategies? |
| 16:32:43 | ← | safinaskar parts (~user@109.252.90.89) () |
| 16:32:51 | <zyklotomic> | i've heard of algebraic effects being cool recently, but not very familiar with them |
| 16:33:24 | → | hgolden_ joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) |
| 16:33:27 | <maerwald> | so you want something cool? |
| 16:33:51 | × | hgolden_ quits (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Client Quit) |
| 16:35:38 | <[exa]> | lechner: looks cool! on L75 you might want to just mconcat a list of the strings, or perhaps `intercalate` them. The temporary bindings look kinda removable to me. |
| 16:36:27 | → | prite joins (~pritam@user/pritambaral) |
| 16:36:33 | <lechner> | [exa]: yeah, that's an eye sore. what are temporary bindings, please? |
| 16:36:47 | <[exa]> | lechner: map ($task) [Task.source_name, Task.source_version, Task.release, ...] |
| 16:37:08 | × | pritambaral quits (~pritam@user/pritambaral) (Ping timeout: 252 seconds) |
| 16:37:10 | <arkanoid> | no, I'm not an haskell programmer so I don't know any alternative. I'm just learning FP to apply the concepts I need into the imperative world that I know. For example I'm trying to isolate effects, and while I've found a proper way to enforce the lack of side effects at compile time, I'm trying to identify a strategy to program the case where errors and side effects needs to be cosidered. So far |
| 16:37:11 | <arkanoid> | I've just encoutered monads, but I don't know if there's anything else I should consider on this topic |
| 16:37:11 | <lechner> | followed by intercalate? |
| 16:38:08 | <[exa]> | lechner: basically, the `let`s there rename a 2-word something to 1-word something, and the second word in the definition is kinda repeated...so it seems like a natural place to compress some code :] |
| 16:39:14 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 16:39:47 | <[exa]> | lechner: anyway, `intercalate` is a nice way to do concat with separators |
| 16:40:46 | → | eight joins (~eight@user/eight) |
| 16:41:10 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 16:41:39 | <[exa]> | lechner: and l91: you might want to be explicit about the args shape, e.g. with `[configPath] <- getArgs` or `(configPath:_) <- getArgs` |
| 16:41:47 | → | chris_ joins (~chris@81.96.113.213) |
| 16:42:30 | → | sm2n joins (~sm2n@user/sm2n) |
| 16:42:30 | × | chris_ quits (~chris@81.96.113.213) (Read error: Connection reset by peer) |
| 16:42:32 | → | chris____ joins (~chris@81.96.113.213) |
| 16:43:30 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
| 16:44:08 | × | cheater1 quits (~Username@84-115-12-132.cable.dynamic.surfer.at) (Changing host) |
| 16:44:08 | → | cheater1 joins (~Username@user/cheater) |
| 16:44:40 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-e2c4-23e8-2d6f-bdbb.fixed6.kpn.net) (Ping timeout: 246 seconds) |
| 16:47:57 | <lechner> | [exa]: what do those to, please? |
| 16:49:51 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 16:51:14 | <[exa]> | lechner: the `[configPath] <- getArgs` will bind the single argument to "variable" configPath. Which is basically what you do now, except it will fail if any extra arguments are present (see the list of args needs to have 1 item precisely) |
| 16:51:49 | <[exa]> | lechner: the other variant `(configPath : _) <- getArgs` does precisely the same, except it reads better (and shorter) to me than using `head` |
| 16:52:15 | <[exa]> | (precisely the same as your code, not as the above) |
| 16:54:01 | × | xff0x quits (~xff0x@2001:1a81:5396:d100:8e8d:3ad4:f4d0:67e9) (Quit: xff0x) |
| 16:55:15 | <lechner> | [exa]: thanks! what does the sigil do in the map ($task) above please? |
| 16:56:43 | × | jlamothe quits (~jlamothe@198.251.60.157) (Remote host closed the connection) |
| 16:57:16 | × | chris____ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 16:58:27 | <lechner> | or, can i insert a space? coming from Perl it looks funny |
| 16:59:05 | → | mceldeen joins (~igloo@71-33-221-91.hlrn.qwest.net) |
| 16:59:17 | → | chris_ joins (~chris@81.96.113.213) |
| 16:59:32 | <glguy> | lechner: $ is an operator, ($x) is a "section" that is short for (\y -> y $ x) |
| 17:00:06 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 17:00:58 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 17:01:40 | → | flareon joins (~flareon@117.222.66.126) |
| 17:04:16 | × | mceldeen quits (~igloo@71-33-221-91.hlrn.qwest.net) (Ping timeout: 252 seconds) |
| 17:04:41 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 268 seconds) |
| 17:04:49 | <[exa]> | there should actually be an operator that encodes this nicely |
| 17:06:04 | × | ubert quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection) |
| 17:06:33 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:06:36 | <boxscape> | lechner: inserting a space between $ and the function is indeed very common |
| 17:06:41 | → | chris_ joins (~chris@81.96.113.213) |
| 17:06:48 | <[exa]> | hm it's `[Task.this, Task.that, Task.... ] <$~> task`, the operator is in Data.Functor.Syntax, but I guess it's better to leave the code readable without searching hoogle |
| 17:06:51 | <boxscape> | s/function/value |
| 17:07:54 | × | jiribenes quits (~jiribenes@rosa.jiribenes.com) (Ping timeout: 240 seconds) |
| 17:09:06 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 17:12:43 | × | jess quits (~jess@libera/staff/jess) () |
| 17:13:53 | × | keutoi quits (~keutoi@223.237.18.142) (Quit: leaving) |
| 17:14:40 | smichel17_ | is now known as smichel17 |
| 17:15:14 | × | peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Remote host closed the connection) |
| 17:15:28 | → | peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
| 17:18:15 | × | curiousgay quits (~curiousgg@77-120-144-167.kha.volia.net) (Remote host closed the connection) |
| 17:19:21 | × | Guest47 quits (~Guest47@2a01:cb15:81e5:f00:2c94:41d0:be2a:116c) (Quit: Client closed) |
| 17:20:02 | → | curiousgay joins (~curiousga@77-120-144-167.kha.volia.net) |
| 17:20:07 | <lechner> | [exa] boxscape glguy: thanks for all your help! |
| 17:20:33 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 17:20:56 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 17:21:29 | <lechner> | Hi, can this printf be replaced with a putStrLn, please? I'm getting type errors involving IO https://dpaste.org/D4xj#L76 |
| 17:22:10 | <[exa]> | wouldn't just `putStrLn $ "Received " ++ fileName` work? |
| 17:22:33 | <lechner> | i missed the sigil |
| 17:22:42 | → | chris_ joins (~chris@81.96.113.213) |
| 17:22:45 | <[exa]> | "sigil" you mean $ right ? |
| 17:23:05 | <lechner> | yeah, is that the wrong name? |
| 17:23:34 | <[exa]> | $ means something like "the rest of the expression is in parentheses" |
| 17:23:50 | <lechner> | i do know that |
| 17:23:53 | <[exa]> | well people usually call it a dollar, given the pop use of the symbol :D |
| 17:24:36 | <lechner> | being in america i try to be respectful and inclusive |
| 17:25:13 | <[exa]> | ah okay :] |
| 17:26:06 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 265 seconds) |
| 17:26:33 | <lechner> | Hi, is it possible to have two statements in a case branch? (inside do) |
| 17:28:23 | <[exa]> | yeah, open another `do` ? |
| 17:29:23 | <[exa]> | or use some operators as with `do`, you can do e.g. `putStrLn "xxx" >> putStrLn "yyy"` in one line without `do` |
| 17:29:55 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 17:30:00 | <dminuoso> | lechner: Key thing to realize is that do-expressions are expressions! :) |
| 17:30:31 | <lechner> | except i have been told they are not that great |
| 17:30:45 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 17:30:54 | × | kadobanana quits (~mud@user/kadoban) (Remote host closed the connection) |
| 17:31:19 | → | kadobanana joins (~mud@user/kadoban) |
| 17:32:26 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-4-51.prtc.net) (Quit: Client closed) |
| 17:33:09 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds) |
| 17:33:40 | × | Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 268 seconds) |
| 17:34:24 | → | Guest984 joins (~Guest9@43.241.144.126) |
| 17:37:05 | → | pesada joins (~agua@177.79.106.52) |
| 17:38:39 | <flareon> | if i say `import Foo.Bar`, i should be able to access any function inside the module `Foo.Bar` (say Foo.Bar.Baz.Quux.hello) irrespective of whether i can actually say `import Foo.Bar.Baz.Quux`. am i correct? |
| 17:38:44 | × | agua quits (~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) (Ping timeout: 255 seconds) |
| 17:39:08 | <Ariakenom> | lechner: do? do is great! maybe someone told you that it's good to understand the >>= as well. that is a advice sometimes given to beginners. but there's no problem with do. |
| 17:40:39 | → | agua joins (~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) |
| 17:41:28 | <boxscape> | flareon: that sounds wrong to me |
| 17:42:36 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-4-188.prtc.net) |
| 17:44:40 | × | pesada quits (~agua@177.79.106.52) (Ping timeout: 272 seconds) |
| 17:44:43 | <lechner> | Haskell is such a joy! The code is concise, plus it does so much for type safety and detecting missing JSON fields. Thanks everyone! |
| 17:44:45 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 17:45:04 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 17:45:11 | <lechner> | probably faster than my current scripts, too |
| 17:45:56 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 17:46:14 | → | jiribenes joins (~jiribenes@rosa.jiribenes.com) |
| 17:47:05 | <boxscape> | flareon: importantly a function Foo.Bar.Baz.Quux.hello is *not* in the module Foo.Bar, it's in the module Foo.Bar.Baz.Quux |
| 17:48:03 | → | burnsidesLlama joins (~burnsides@client-8-82.eduroam.oxuni.org.uk) |
| 17:52:30 | → | ubert joins (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) |
| 17:52:51 | <flareon> | boxscape: module hierarchies do *not* ensure recursive imports. if i `import Foo.Bar`, i only get the functions in `Foo.Bar` and not any functions in `Foo.Bar.Quux`. am i correct? |
| 17:53:11 | <boxscape> | flareon: that's correct |
| 17:53:23 | × | Null_A quits (~null_a@2601:645:8700:2290:e9c6:7ad4:aa07:6319) () |
| 17:53:32 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 17:53:33 | <flareon> | boxscape: what purpose do module hierarchies serve then? |
| 17:53:43 | <boxscape> | flareon: often, you will find libraries where Foo.Bar reexports Foo.Bar.Quux though, so in those cases it happens to look like that |
| 17:54:04 | <flareon> | boxscape: but it's not guaranteed? |
| 17:55:02 | <boxscape> | flareon: right, it's not guaranteed. I would say the point of hierarchical module names is just to make it easier to organize your code in a sensible structure, without saying anything about exports or imports |
| 17:55:03 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 17:56:28 | <flareon> | boxscape: so technically, `Data.Map.Strict` could easily have been `Data.StrictMap` and nothing would change from the caller's point of view except for the name. the developer would have to put it in a different hierarchy in code. am i correct? |
| 17:56:45 | <boxscape> | that's right |
| 17:57:33 | <boxscape> | you could imagine a world where imports work like you suggested, but arguably it would be less expressive, since you couldn't get back the current behavior, but you can emulate that behavior currently by reexporting inner modules as I mentioned above |
| 17:57:45 | <flareon> | boxscape: that was profoundly helpful. i don't know if i missed it, but i didn't explicity read this written somewhere. thanks! |
| 17:57:59 | <boxscape> | welcome |
| 17:58:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:59:04 | <flareon> | boxscape: as a user, to be on the safe side, i should treat `Foo.Bar` and `Foo.Bar.Baz.Quux` as entirely different module with no relation to one another. right? |
| 17:59:11 | <tomsmeding> | for what it's worth, I believe python works the same way |
| 17:59:31 | <flareon> | tomsmeding: i see. |
| 17:59:42 | <tomsmeding> | flareon: no relation a priori, unless the docs of that particular module say otherwise :) |
| 18:00:19 | <boxscape> | flareon: yep, as tomsmeding said ideally look at the docs of Foo.Bar and if it has a line "module Foo.Bar.Baz.Quux" somewhere you know it reexports it |
| 18:00:21 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 18:00:43 | <boxscape> | for example: https://hackage.haskell.org/package/containers-0.6.5.1/docs/Data-Map.html |
| 18:00:51 | → | zeenk joins (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) |
| 18:00:52 | → | chris_ joins (~chris@81.96.113.213) |
| 18:00:54 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:00:56 | <boxscape> | says "module Data.Map.Lazy" as first "declaration" |
| 18:02:03 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 18:03:48 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 18:04:11 | <lechner> | Hi, do people here generally agree that standard modules should be qualified imports? Thanks! https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md#imports |
| 18:04:31 | <maerwald> | no one here agrees on anything |
| 18:04:36 | <Rembane> | +1 |
| 18:04:55 | → | ukari joins (~ukari@user/ukari) |
| 18:05:08 | → | cfricke joins (~cfricke@user/cfricke) |
| 18:05:12 | <boxscape> | lechner: note that the style guide doesn't say that - it says "use explicit import lists *or* qualified imports" |
| 18:05:13 | <tomsmeding> | why does that same guide in the very next codeblock use Socket and ByteString unqualified |
| 18:05:24 | <tomsmeding> | ah right |
| 18:05:44 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
| 18:05:47 | <lechner> | i see |
| 18:06:09 | → | pesada joins (~agua@2804:18:43:3e21:1:0:20af:708a) |
| 18:06:21 | <tomsmeding> | but what maerwald says :p |
| 18:06:23 | × | agua quits (~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) (Read error: Connection reset by peer) |
| 18:06:25 | <boxscape> | lechner: generally speaking people will use qualified imports for modules that define a lot of functions with the same name as functions in the Prelude, like a lot of the containers modules (Data.Map etc.) |
| 18:06:28 | × | Topsi quits (~Tobias@dyndsl-095-033-090-054.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 18:06:42 | → | agua joins (~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) |
| 18:06:51 | × | pesada quits (~agua@2804:18:43:3e21:1:0:20af:708a) (Read error: Connection reset by peer) |
| 18:06:55 | × | prite quits (~pritam@user/pritambaral) (Ping timeout: 246 seconds) |
| 18:07:01 | → | pesada joins (~agua@2804:18:43:3e21:1:0:20af:708a) |
| 18:07:11 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 18:07:28 | <boxscape> | (I don't mean to imply with that that people don't use qualified imports for other modules, but it's much less universal for other modules) |
| 18:07:42 | <lechner> | i actually like the idea but what are good short names? Things like BL are too cryptic for me |
| 18:07:45 | → | prite joins (~pritam@user/pritambaral) |
| 18:07:45 | × | flareon quits (~flareon@117.222.66.126) (Quit: leaving) |
| 18:08:16 | <maerwald> | I use my cats names |
| 18:08:18 | <tomsmeding> | for certain things like bytestrings, Data.Text, Data.Map, people use fairly standard shortened names |
| 18:08:25 | <boxscape> | lechner: how about BS.Lazy |
| 18:09:17 | <boxscape> | maerwald: I can only imagine that working well if you named your cats after Haskell modules |
| 18:09:27 | <maerwald> | of course I did |
| 18:10:08 | <maerwald> | CatString.Lazy |
| 18:10:27 | <boxscape> | nice |
| 18:10:35 | <boxscape> | lechner: here's a somewhat interesting example import list from the ghc codebase to give you an idea https://downloads.haskell.org/~ghc/9.0.1-alpha1/docs/html/libraries/ghc-boot-9.0.0.20200925/src/GHC-Unit-Database.html |
| 18:10:37 | → | flareon joins (~flareon@117.222.66.126) |
| 18:10:49 | <boxscape> | note also how they imported both Foldable and Traversable as the same name |
| 18:10:57 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 255 seconds) |
| 18:10:57 | × | agua quits (~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) (Ping timeout: 245 seconds) |
| 18:11:39 | × | silverwhitefish quits (~hidden@47.202.102.10) (Quit: One for all, all for One (2 Corinthians 5)) |
| 18:12:07 | → | silverwhitefish joins (~hidden@47.202.102.10) |
| 18:12:48 | ← | zyklotomic parts (~ethan@2604:a880:800:10::79f:8001) (WeeChat 2.8) |
| 18:12:52 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-4-188.prtc.net) (Ping timeout: 246 seconds) |
| 18:14:21 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) |
| 18:14:36 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 18:14:58 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 18:17:45 | → | fresheyeball joins (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) |
| 18:17:45 | × | azeem quits (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 18:18:28 | → | azeem joins (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) |
| 18:20:43 | → | gzj joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 18:20:57 | → | themc47 joins (~mc47@xmonad/TheMC47) |
| 18:21:16 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds) |
| 18:23:32 | → | favonia joins (~favonia@user/favonia) |
| 18:23:39 | × | mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 258 seconds) |
| 18:25:22 | → | zebrag joins (~chris@user/zebrag) |
| 18:27:00 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
| 18:27:53 | → | michalz joins (~michalz@185.246.204.50) |
| 18:29:14 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) |
| 18:29:32 | <lechner> | Hi, how can I import 'Rep' from System.ZMQ4.Monadic, please? |
| 18:31:23 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 18:31:58 | → | jlamothe joins (~jlamothe@198.251.60.157) |
| 18:32:48 | <flareon> | boxscape: i checked and it looks like all the exports of `Data.Map` are actually exports of `Data.Map.Lazy` which are done through exporting `Data.Map.Lazy` from `Data.Map`, similarly `Text.Parsec` exports `Text.Parsec.Char` from itself. but they do mention it in the documentation and corresponding source. thanks! |
| 18:32:51 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 18:33:47 | × | norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Quit: Leaving) |
| 18:35:58 | <flareon> | boxscape: but since neither `Data.Map.Lazy` nor `Text.Parsec.Char` are exported qualified one can access their functions directly from importing `Data.Map` and `Text.Parsec`. that and mindlessly checking imports through tab completion in the repl with `Prelude` imported led to my confusion. |
| 18:36:28 | <boxscape> | yeah, that's understandable |
| 18:37:15 | <boxscape> | (btw, you can only import qualified, not export qualified, though I believe there are some proposals around to allow something like that) |
| 18:40:31 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds) |
| 18:44:12 | × | azeem quits (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 18:44:37 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 18:44:51 | <flareon> | boxscape: i see. |
| 18:45:04 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 18:46:21 | → | azeem joins (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) |
| 18:47:36 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 18:47:40 | <lechner> | Hi, in order to avoid overlaps with accessors (which are in the global name space) I place JSON definitions in dedicated files named after the type, but referencing the type then results in repetition, as in Task.Task. Is there another way? |
| 18:47:47 | × | flareon quits (~flareon@117.222.66.126) (Quit: leaving) |
| 18:48:38 | <boxscape> | lechner: have one qualified import statement for the functions in the module and one just importing the type, as in `import Foo.Bar.Task (Task(..))` |
| 18:48:54 | <boxscape> | in addition to `import qualified Foo.Bar.Task as Task` |
| 18:49:03 | <boxscape> | (afk) |
| 18:50:58 | <boxscape> | or the first one should probably be `import Foo.Bar.Task (Task)` if you don't want to import the constructors unqualified |
| 18:51:26 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 18:55:00 | × | themc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 252 seconds) |
| 18:56:24 | × | drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Quit: ZNC 1.8.2 - https://znc.in) |
| 18:56:41 | <tomsmeding> | yeah, 'import qualified Data.Map.Strict as Map; import Data.Map.Strict (Map)' is quite a common pattern |
| 19:02:40 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2) |
| 19:02:52 | <dminuoso> | {-# LANGUAGE UnqualifiedTypeConstructors #-} could be a thing! |
| 19:03:25 | <[exa]> | lechner: it's also a quite common practice to name the accessors prefixed with the type; such as `taskName` and `taskType` etc |
| 19:03:33 | <dminuoso> | That language extension would do a very minimal thing and expose all qualified type constructors as unqualified too. |
| 19:03:40 | dminuoso | idly wonders whether someone else has thought of this before |
| 19:05:29 | <[exa]> | dminuoso: that sounds so cool that I really expect a finished list of things that it would break in ghc gitlab |
| 19:05:53 | <lechner> | boxscape tomsmeding [exa]: that worked well. thanks! |
| 19:07:10 | <boxscape> | dminuoso: I believe this is intended to solve the same problem with a different approach (more expressive export lists) https://github.com/goldfirere/ghc-proposals/blob/local-modules/proposals/0000-local-modules.rst |
| 19:07:31 | <dminuoso> | [exa]: Well, it doesn't really change language semantics. It seems, that files with a bunch of imports you just more easily get ambiguities. |
| 19:07:57 | × | haykam2 quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection) |
| 19:08:08 | <tomsmeding> | dminuoso: that sounds a bit too heavy-handed; it might work well when only importing container-like modules, but what if I have two modules that both define an Event data type and I resolve the ambiguity by importing them both qualified? |
| 19:08:10 | → | haykam1 joins (~haykam@static.100.2.21.65.clients.your-server.de) |
| 19:08:29 | <tomsmeding> | I guess then I should just not use that extension in said module :D |
| 19:08:32 | <dminuoso> | tomsmeding: Then refer to them with the qualifier. |
| 19:08:37 | <boxscape> | tomsmeding: that wouldn't bite you until you actually tried to use Event unqualified |
| 19:08:38 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds) |
| 19:08:42 | → | Deide joins (~Deide@217.155.19.23) |
| 19:08:42 | × | Deide quits (~Deide@217.155.19.23) (Changing host) |
| 19:08:42 | → | Deide joins (~Deide@user/deide) |
| 19:08:44 | <tomsmeding> | hm, right |
| 19:08:46 | <dminuoso> | Im not suggesting the type constructor would *only* be exposed unqualified. But in addition |
| 19:08:53 | × | bgamari quits (~bgamari@72.65.101.148) (Ping timeout: 258 seconds) |
| 19:09:04 | <tomsmeding> | that then begs the question, why only type constructors |
| 19:09:24 | <dminuoso> | Because that would suit my personal usage pattern. |
| 19:09:29 | <tomsmeding> | :p |
| 19:09:43 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 19:10:12 | <dminuoso> | Let's face it, the only reason people put in so much energy into GHC proposals, is because they have some personal interest (for whatever reason) in them. :p |
| 19:10:34 | <boxscape> | you could also imagine having two import lists for qualified import statements, one for qualified imports and one for unqualified |
| 19:10:48 | → | bgamari joins (~bgamari@72.65.101.148) |
| 19:11:00 | <boxscape> | (and some syntactic mechanism that allows you to omit either one or the other) |
| 19:11:06 | <tomsmeding> | perhaps you can make it a bit more generic by instead allowing new import syntax: e.g. 'import Data.Map.Strict (Map) andalsoqualified' |
| 19:11:11 | <tomsmeding> | where that clearly needs a better keyword name |
| 19:11:26 | tomsmeding | high-fives boxscape |
| 19:12:00 | <boxscape> | tomsmeding: how about `import Data.Map.Strict (Map) qualified (fromList)`, that meshes nicely with -XImportQualifiedPost |
| 19:12:10 | <dminuoso> | Uh |
| 19:12:16 | <dminuoso> | boxscape: That reads horrible! |
| 19:12:21 | <boxscape> | :( |
| 19:12:22 | <boxscape> | okay |
| 19:12:24 | <tomsmeding> | `import Data.Map.Strict (Map) qualified as Map`? |
| 19:12:25 | <dminuoso> | So the things to the left hand side are qualified? |
| 19:12:43 | <boxscape> | I did kind of forget about the as part you usually have for that import |
| 19:12:43 | <tomsmeding> | yeah this syntax reads completely ambiguous :p |
| 19:12:47 | <boxscape> | dminuoso: I would have said the things on the right :P |
| 19:12:51 | <boxscape> | but fair enough |
| 19:13:15 | <dminuoso> | boxscape: Plus, that defeats the entire point of ImportQualifiedPost in the first place. :P |
| 19:13:16 | <tomsmeding> | can you then also have ImportQualifiedPostPost that allows `import Data.Map.Strict (Map) (fromList) qualified` |
| 19:13:24 | <boxscape> | dminuoso: that is a good point |
| 19:13:52 | <tomsmeding> | reeks of () => () => from pattern synonyms |
| 19:13:58 | <boxscape> | tomsmeding: what I liked about what I wrote is that it allows you to omit either import list in a syntactically lightweight way |
| 19:14:13 | <boxscape> | which you can't have if the import lists are juxtaposed |
| 19:14:16 | <[exa]> | dminuoso: what about `import Some.Module (data)` ? |
| 19:14:49 | <tomsmeding> | boxscape: the PostPost part was jesting :p |
| 19:15:03 | <boxscape> | I did kind of expect that :) |
| 19:15:05 | <tomsmeding> | [exa]: `import Some.Module (Map)` is shorter :p |
| 19:15:20 | × | ubikium quits (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Read error: Connection reset by peer) |
| 19:15:20 | <dminuoso> | https://github.com/ghc-proposals/ghc-proposals/pull/340 |
| 19:15:34 | × | o1lo01ol1o quits (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Remote host closed the connection) |
| 19:15:36 | <dminuoso> | So this is in a similar design space |
| 19:15:46 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 19:16:54 | <boxscape> | the current proposal that replaced that is https://github.com/ghc-proposals/ghc-proposals/pull/270 which allows `import Data.Proxy type qualified as T` |
| 19:18:01 | <tomsmeding> | dminuoso: that proposal feels forced, kind of? |
| 19:18:21 | <tomsmeding> | especially when it starts talking about importing from an alias |
| 19:18:21 | <dminuoso> | Forced? |
| 19:19:06 | <tomsmeding> | will there always be just two categories of names |
| 19:19:26 | <dminuoso> | Well, actually this proposal gives a solution |
| 19:19:28 | <dminuoso> | Since you can do: |
| 19:19:45 | <dminuoso> | import qualified Data.Map.Strict as (_, M) |
| 19:19:59 | <dminuoso> | This proposal has my attention now. :) |
| 19:20:34 | <tomsmeding> | that wouldn't import the value names at all, right? Just the type names |
| 19:20:42 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 255 seconds) |
| 19:20:45 | <dminuoso> | boxscape: Ah. |
| 19:20:58 | <dminuoso> | tomsmeding: The proposal has actually been closed in favour of 270 |
| 19:21:03 | <tomsmeding> | or did you mean (M, _), in which case you still need another import for the Map type -- and at two imports you aren't better than the status quo |
| 19:21:21 | <dminuoso> | tomsmeding: In the proposal 340 that symtax would mean data level things unqualified, and type level things qualified under M |
| 19:21:47 | tomsmeding | read it as data level things not at all, but I probably read wrong |
| 19:21:57 | <dminuoso> | But at the end, I dont have strong feelings about syntax around import. |
| 19:22:08 | <dminuoso> | Double importing is a slight nuissance, but nothing that really changes the way I write code |
| 19:22:17 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 19:22:22 | <tomsmeding> | also I kind of think importing should not be the complex part of the language |
| 19:22:40 | → | ubikium joins (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) |
| 19:22:43 | <tomsmeding> | double-importing Map takes two lines but is quite clear in what it does |
| 19:22:56 | × | Guest984 quits (~Guest9@43.241.144.126) (Quit: Connection closed) |
| 19:23:52 | <dminuoso> | tomsmeding: Im not sure, phadej's most recent proposal about renaming has some merit. |
| 19:24:08 | <dminuoso> | Much of our module code is concerned with naming things, binding values to *names* |
| 19:24:08 | → | Null_A joins (~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) |
| 19:24:21 | <dminuoso> | It stands to reason that we get at least a slight bit of control when we bring identifiers into scope from other modules. |
| 19:24:38 | <dminuoso> | (Or, rather, we bind expressions to names) |
| 19:25:38 | <tomsmeding> | hm, true |
| 19:28:17 | <tomsmeding> | dminuoso: which proposal is that, that you're referring to? |
| 19:28:58 | <dminuoso> | https://github.com/ghc-proposals/ghc-proposals/pull/408 |
| 19:29:15 | <tomsmeding> | heh |
| 19:29:23 | <tomsmeding> | looks like backpack |
| 19:29:38 | <yushyin> | mixins? |
| 19:29:47 | <tomsmeding> | yeah |
| 19:29:53 | <tomsmeding> | just reminds me of that |
| 19:30:08 | <EvanR> | arkanoid: division by integer zero seems to be better handled as one of these things you probe to be impossible, if it happens anyway, throw an exception and fix the bug |
| 19:30:09 | <tomsmeding> | dminuoso: the first two code blocks under Motivation are the same :p |
| 19:30:17 | <EvanR> | prove* |
| 19:30:29 | <tomsmeding> | OH they aren't |
| 19:30:31 | <dminuoso> | newtype Fix = Fix { unFix :: f (Fix a) } |
| 19:30:33 | <dminuoso> | newtype Fix = Fix { unfix :: f (Fix a) } |
| 19:30:36 | <tomsmeding> | yes |
| 19:31:28 | shane_ | is now known as shane |
| 19:32:18 | <EvanR> | proving values can't be zero is out of scope of monads |
| 19:32:43 | <EvanR> | e.g. there's dependent types, or liquid types, or something like this |
| 19:33:38 | <tomsmeding> | dminuoso: I like that renaming proposal I think |
| 19:33:58 | <tomsmeding> | it's pretty inconsequential, which is good |
| 19:35:02 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 19:35:16 | <tomsmeding> | counterpoint to that we should have more control about import identifiers: if all we do is naming things, then it should be easy to figure out what a particular name refers to :p |
| 19:35:33 | <tomsmeding> | s/import identifiers/importing identifiers/ |
| 19:36:22 | × | alx741 quits (~alx741@186.178.109.32) (Ping timeout: 245 seconds) |
| 19:37:10 | × | gzj quits (~GZJ0X@199.193.127.138.16clouds.com) (Ping timeout: 252 seconds) |
| 19:39:36 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 19:41:52 | <dminuoso> | tomsmeding: Btw, when you didn't notice the difference, it reminds me of that error I got: |
| 19:41:57 | <dminuoso> | • No instance for (ParseFields (Nested Common)) |
| 19:41:59 | <dminuoso> | instance ParseField (Nested Common) where |
| 19:42:18 | <tomsmeding> | :D |
| 19:42:19 | <dminuoso> | I couldn't believe my eyes for quite a while until I realized what was going on. |
| 19:42:46 | <tomsmeding> | I venture that f vs F is still a bit more subtle in that position, but yes same thing :p |
| 19:42:47 | × | chexum quits (~chexum@gateway/tor-sasl/chexum) (Quit: -) |
| 19:46:41 | → | chexum joins (~chexum@gateway/tor-sasl/chexum) |
| 19:48:26 | → | mikail_ joins (~mikail@90.212.77.3) |
| 19:49:21 | → | alx741 joins (~alx741@181.196.68.89) |
| 19:50:27 | → | o1lo01ol1o joins (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) |
| 19:50:57 | × | mikail quits (~mikail@90.212.77.3) (Ping timeout: 245 seconds) |
| 19:52:31 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 19:52:53 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) |
| 19:54:46 | × | o1lo01ol1o quits (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Ping timeout: 252 seconds) |
| 19:55:16 | × | pfurla_ quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 258 seconds) |
| 19:57:21 | × | burnsidesLlama quits (~burnsides@client-8-82.eduroam.oxuni.org.uk) (Remote host closed the connection) |
| 19:57:57 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 19:58:39 | → | retroid_ joins (~retro@90.218.175.34) |
| 20:01:40 | → | xff0x joins (~xff0x@2001:1a81:5396:d100:2b35:b634:3ed0:60cf) |
| 20:02:17 | × | retro_ quits (~retro@90.218.175.34) (Ping timeout: 268 seconds) |
| 20:02:59 | → | retro_ joins (~retro@90.218.175.34) |
| 20:03:31 | × | retroid_ quits (~retro@90.218.175.34) (Ping timeout: 268 seconds) |
| 20:05:14 | × | juhp quits (~juhp@128.106.188.66) (Ping timeout: 258 seconds) |
| 20:06:03 | × | neceve quits (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 250 seconds) |
| 20:06:45 | → | juhp joins (~juhp@128.106.188.66) |
| 20:09:08 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 20:10:07 | → | hexfive joins (~eric@50.35.83.177) |
| 20:12:26 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 20:14:42 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 245 seconds) |
| 20:17:17 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection) |
| 20:17:27 | → | o1lo01ol1o joins (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) |
| 20:17:55 | → | shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 20:19:06 | → | KUrare joins (~KUrare@user/kurare) |
| 20:22:26 | → | burnside_ joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 20:22:26 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
| 20:23:59 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection) |
| 20:24:56 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 20:25:10 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds) |
| 20:26:00 | × | prite quits (~pritam@user/pritambaral) (Quit: Konversation terminated!) |
| 20:27:06 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
| 20:29:02 | <stevenxl> | Is there a function that tests that the elements in a list are equal w/o regard to order? |
| 20:29:14 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:29:26 | <Rembane> | stevenxl: f x = x == sort x |
| 20:29:31 | <stevenxl> | I guess I could use `all [x `elem` xs]` or something |
| 20:29:32 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
| 20:29:46 | × | Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 265 seconds) |
| 20:29:49 | <stevenxl> | That's probably a better implementation! |
| 20:31:23 | × | burnside_ quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
| 20:33:03 | <EvanR> | if it's a large number of elements... maybe a different data structure... Data.Set ? |
| 20:33:58 | → | safinaskar joins (~user@109-252-90-89.nat.spd-mgts.ru) |
| 20:34:01 | × | zeenk quits (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!) |
| 20:35:05 | <safinaskar> | i'm very frustrated. Nearly week ago i released some haskell code and nearly nobody answered me! |
| 20:35:09 | <safinaskar> | here is link: https://mail.haskell.org/pipermail/haskell-cafe/2021-July/134217.html |
| 20:35:16 | <safinaskar> | also check two hackage links at the end |
| 20:37:50 | × | mcglk quits (~mcglk@131.191.49.120) (Read error: Connection reset by peer) |
| 20:37:51 | → | mcglk_ joins (~mcglk@131.191.49.120) |
| 20:40:57 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 20:44:36 | → | lavaman joins (~lavaman@98.38.249.169) |
| 20:45:32 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) |
| 20:48:19 | <maerwald> | did you post on reddig? |
| 20:48:58 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 246 seconds) |
| 20:49:16 | <safinaskar> | maerwald: no. i am not sure i even registered |
| 20:49:27 | <maerwald> | haskell cafe is for old folks |
| 20:49:29 | <maerwald> | :p |
| 20:49:48 | <maerwald> | discourse is a bit quiet as well. I think reddit gets the most views |
| 20:50:09 | <EvanR> | there's also functional programming discord, I heard |
| 20:50:29 | <maerwald> | but then you have to hang out with the scala folks... |
| 20:50:43 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds) |
| 20:51:12 | <EvanR> | likely some scala zed going on there at least xD |
| 20:54:25 | × | ubikium quits (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 265 seconds) |
| 20:54:25 | × | Ariakenom quits (~Ariakenom@c83-255-154-140.bredband.tele2.se) (Ping timeout: 265 seconds) |
| 20:54:55 | → | ubikium joins (~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) |
| 20:55:22 | × | ubikium quits (~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) (Read error: Connection reset by peer) |
| 20:55:35 | → | ubikium joins (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) |
| 20:57:51 | → | acidjnk_new3 joins (~acidjnk@p200300d0c72b951301624b1129165e7b.dip0.t-ipconnect.de) |
| 20:59:44 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-4-118.prtc.net) |
| 21:03:30 | × | fresheyeball quits (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
| 21:03:36 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 21:06:01 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
| 21:07:09 | <stevenxl> | There was talk at the Haskell.Foundation about it hosting some kind of forum, but seems like our small community is already fractured. |
| 21:07:33 | <stevenxl> | You get into that XKCD standards comic territory |
| 21:08:19 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) |
| 21:08:22 | × | benin0369 quits (~benin@183.82.177.180) (Remote host closed the connection) |
| 21:09:38 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 21:10:09 | → | chisui joins (~chisui@200116b866e14b00954b747ecb7b95bf.dip.versatel-1u1.de) |
| 21:12:33 | → | jneira_ joins (~jneira_@28.red-80-28-169.staticip.rima-tde.net) |
| 21:13:42 | <chisui> | Hey, what is the difference between `Data.Category.Kleisli` from base and `Data.Profunctor.Types.Star` from profunctors? As far as I can see they do the exact same. |
| 21:13:57 | <maerwald> | stevenxl: isn't that discourse? |
| 21:14:28 | <stevenxl> | maerwald: No I think they decided against adding to the list of "Haskell communities". |
| 21:14:43 | <Hecate> | We don't have another forum |
| 21:14:49 | <Hecate> | We post everything on Discourse |
| 21:15:13 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds) |
| 21:15:19 | <Hecate> | we also have a Slack for ephemeral, real-time comms, but no archives, so everything ends up being an email and a Discourse post |
| 21:15:30 | <safinaskar> | stevenxl: i don't want to go to reddit, because i don't want to register |
| 21:15:47 | <safinaskar> | stevenxl: so, i will not go to any hypotetical new forum for the same reason |
| 21:16:00 | <stevenxl> | sounds good. |
| 21:16:04 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) |
| 21:16:23 | <safinaskar> | stevenxl: if there is possibility to post to forum using e-mail and automatically get answers via e-mail, i will happily write to that new hypotetical forum |
| 21:17:09 | <Hecate> | safinaskar: that's called a mailing-list but you also need to register :P |
| 21:17:32 | × | michalz quits (~michalz@185.246.204.50) (Remote host closed the connection) |
| 21:21:59 | × | Codaraxis quits (~Codaraxis@user/codaraxis) (Remote host closed the connection) |
| 21:22:22 | → | Codaraxis joins (~Codaraxis@user/codaraxis) |
| 21:22:27 | → | Ariakenom joins (~Ariakenom@c83-255-154-140.bredband.tele2.se) |
| 21:23:08 | × | azeem quits (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 21:28:26 | × | Null_A quits (~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) (Remote host closed the connection) |
| 21:29:03 | → | Null_A joins (~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) |
| 21:34:07 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds) |
| 21:35:10 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-4-118.prtc.net) (Ping timeout: 246 seconds) |
| 21:39:01 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) |
| 21:39:11 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 21:40:23 | × | Null_A quits (~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) (Remote host closed the connection) |
| 21:41:33 | → | Null_A joins (~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) |
| 21:45:39 | → | TranquilEcho joins (~grom@user/tranquilecho) |
| 21:45:40 | × | Null_A quits (~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) (Ping timeout: 246 seconds) |
| 21:46:01 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds) |
| 21:46:19 | <dibblego> | chisui: the Profunctor instance for Star is less constrained |
| 21:46:44 | × | fendor quits (~fendor@178.165.161.174.wireless.dyn.drei.com) (Remote host closed the connection) |
| 21:47:56 | → | Raugh joins (~mike@174.127.249.180) |
| 21:48:45 | × | hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 255 seconds) |
| 21:49:10 | <chisui> | dibblego: where is it less constrained? When looking at their instances they both look the same. |
| 21:50:03 | <dibblego> | Functor f => Profunctor (Star f) | Monad m => Profunctor (Kleisli m) |
| 21:50:30 | <chisui> | Ah ok, thank you |
| 21:51:23 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 21:54:51 | <chisui> | looking at the implementations the only difference is that they exchange `liftM` with `fmap`, but aren't these equivalent? (for as long as the Functor is also a Monad) |
| 21:55:21 | → | hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net) |
| 21:56:24 | <dibblego> | yes the implementation is the same |
| 21:56:37 | <dibblego> | there may be a more detailed reason, edwardk ? |
| 21:59:44 | <Raugh> | I'm trying to wrap my head around transformers and scotty. Why is this using a runReaterT (runConfigM m) config I don't get what def is doing here either |
| 21:59:52 | <Raugh> | https://github.com/scotty-web/scotty/blob/master/examples/reader.hs |
| 22:00:47 | <Raugh> | oh i get def now |
| 22:01:19 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
| 22:01:43 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 22:02:29 | → | zeenk joins (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) |
| 22:03:06 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 22:05:40 | × | safinaskar quits (~user@109-252-90-89.nat.spd-mgts.ru) (Ping timeout: 252 seconds) |
| 22:05:50 | → | dre joins (~dre@2001:8003:c932:c301:5158:163a:41f3:cc10) |
| 22:06:02 | × | mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 255 seconds) |
| 22:06:30 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 22:07:26 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 22:07:37 | → | safinaskar joins (~user@109-252-188-98.dynamic.spd-mgts.ru) |
| 22:08:46 | × | KUrare quits (~KUrare@user/kurare) (Ping timeout: 272 seconds) |
| 22:13:57 | ← | safinaskar parts (~user@109-252-188-98.dynamic.spd-mgts.ru) () |
| 22:14:16 | × | Ariakenom quits (~Ariakenom@c83-255-154-140.bredband.tele2.se) (Quit: Leaving) |
| 22:15:34 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 252 seconds) |
| 22:17:38 | → | Null_A joins (~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) |
| 22:18:25 | × | Null_A quits (~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) (Client Quit) |
| 22:19:14 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 22:21:09 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:25:08 | × | zeenk quits (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!) |
| 22:26:42 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:33:16 | → | gzj joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 22:33:30 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 265 seconds) |
| 22:34:13 | <Boarders> | Could someone remind me how you read the rest of a line of text (up until newline character) with megaparsec |
| 22:34:57 | <Boarders> | should I just use takeWhileP? |
| 22:35:58 | → | econo joins (uid147250@user/econo) |
| 22:37:59 | × | gzj quits (~GZJ0X@199.193.127.138.16clouds.com) (Ping timeout: 255 seconds) |
| 22:39:36 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 22:47:35 | → | retroid_ joins (~retro@90.218.175.34) |
| 22:47:48 | → | lainon joins (~lainon@146.229.79.120) |
| 22:50:54 | × | hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 265 seconds) |
| 22:51:15 | × | retro_ quits (~retro@90.218.175.34) (Ping timeout: 268 seconds) |
| 22:51:54 | × | ubikium quits (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Quit: Quit) |
| 22:52:51 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 22:56:11 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 268 seconds) |
| 22:57:19 | → | hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net) |
| 22:58:45 | → | pavonia joins (~user@user/siracusa) |
| 22:59:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:10:02 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection) |
| 23:10:07 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) |
| 23:16:40 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds) |
| 23:18:50 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
| 23:32:10 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:33:12 | × | lainon quits (~lainon@146.229.79.120) (Quit: Leaving) |
| 23:34:16 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 23:37:15 | <xsperry> | Boarders, off the top of my head: line = some (noneOf "\r\n") |
| 23:39:08 | <Boarders> | thanks! |
| 23:42:09 | × | mikail_ quits (~mikail@90.212.77.3) (Quit: Leaving) |
| 23:44:43 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) |
| 23:45:02 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 23:48:18 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-4-51.prtc.net) |
| 23:48:22 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 23:49:05 | × | dragestil quits (~quassel@user/dragestil) (Ping timeout: 255 seconds) |
| 23:50:16 | × | acidjnk_new3 quits (~acidjnk@p200300d0c72b951301624b1129165e7b.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 23:52:45 | → | lavaman joins (~lavaman@98.38.249.169) |
| 23:54:21 | × | hendursaga quits (~weechat@user/hendursaga) (Quit: hendursaga) |
| 23:54:50 | → | jmorris joins (uid433911@id-433911.stonehaven.irccloud.com) |
| 23:56:07 | → | hendursaga joins (~weechat@user/hendursaga) |
| 23:56:44 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds) |
| 23:59:03 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 23:59:20 | × | shutdown_-h_now quits (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Ping timeout: 256 seconds) |
All times are in UTC on 2021-07-15.