2021-04-07 00:00:07 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) (Remote host closed the connection) |
2021-04-07 00:00:32 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) |
2021-04-07 00:00:39 +0200 | __monty__ | (~toonn@unaffiliated/toonn) (Quit: leaving) |
2021-04-07 00:01:01 +0200 | myShoggoth | (~myShoggot@75.164.73.93) |
2021-04-07 00:01:02 +0200 | zebrag | (~inkbottle@aaubervilliers-651-1-244-162.w83-200.abo.wanadoo.fr) |
2021-04-07 00:01:05 +0200 | NGravity | (csp@gateway/shell/xshellz/x-yvbxxozqugoitghs) |
2021-04-07 00:02:54 +0200 | ericsagn1 | (~ericsagne@2405:6580:0:5100:a729:cf9f:aaab:a664) (Ping timeout: 245 seconds) |
2021-04-07 00:03:52 +0200 | lambda | (~xiretza@mail.xiretza.xyz) (Ping timeout: 276 seconds) |
2021-04-07 00:06:46 +0200 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
2021-04-07 00:07:04 +0200 | notzmv | (~zmv@unaffiliated/zmv) |
2021-04-07 00:07:58 +0200 | pavonia | (~user@unaffiliated/siracusa) |
2021-04-07 00:10:05 +0200 | ArsenArsen | (~Arsen@fsf/member/ArsenArsen) (Changing host) |
2021-04-07 00:10:05 +0200 | ArsenArsen | (~Arsen@managarm/dev/ArsenArsen) |
2021-04-07 00:14:05 +0200 | royal_screwup219 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 00:15:24 +0200 | ericsagn1 | (~ericsagne@2405:6580:0:5100:b937:4ffa:f3c4:aca7) |
2021-04-07 00:15:34 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 00:15:41 +0200 | kristijonas | (~kristijon@78-56-32-39.static.zebra.lt) (Ping timeout: 240 seconds) |
2021-04-07 00:19:06 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds) |
2021-04-07 00:20:47 +0200 | javran | (~javran@108-201-186-97.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds) |
2021-04-07 00:21:26 +0200 | kristijonas | (~kristijon@78-56-32-39.static.zebra.lt) |
2021-04-07 00:25:45 +0200 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
2021-04-07 00:27:27 +0200 | michalz | (~user@185.246.204.46) (Remote host closed the connection) |
2021-04-07 00:30:11 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-07 00:30:47 +0200 | ddellacosta | (~ddellacos@86.106.143.174) |
2021-04-07 00:30:49 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-07 00:30:50 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-07 00:31:49 +0200 | ddellac__ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-07 00:32:20 +0200 | Desmond373 | (b49673ba@180.150.115.186) |
2021-04-07 00:33:18 +0200 | sveit | (~sveit@2001:19f0:ac01:247:5400:ff:fe5c:689f) |
2021-04-07 00:33:50 +0200 | simplegauss | (~simplegau@2001:19f0:ac01:247:5400:ff:fe5c:689f) |
2021-04-07 00:34:10 +0200 | egorbelibov | (~65676f72@2001:8a0:5708:2a00:e0c3:c7c:460b:c7eb) (Remote host closed the connection) |
2021-04-07 00:34:25 +0200 | royal_screwup219 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-04-07 00:34:25 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-04-07 00:34:44 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 00:35:46 +0200 | ddellac__ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
2021-04-07 00:36:07 +0200 | lotuseater | (~user@p200300e78705e200e5bac9463b911ab3.dip0.t-ipconnect.de) (Quit: ERC (IRC client for Emacs 27.1)) |
2021-04-07 00:38:56 +0200 | sdrodge | (~sdrodge@unaffiliated/sdrodge) (Ping timeout: 246 seconds) |
2021-04-07 00:38:58 +0200 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-04-07 00:39:06 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2021-04-07 00:39:40 +0200 | Tario | (~Tario@201.192.165.173) |
2021-04-07 00:43:15 +0200 | Deide | (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
2021-04-07 00:44:45 +0200 | cyjia15 | (6779d067@103.121.208.103) |
2021-04-07 00:45:32 +0200 | cyjia15 | (6779d067@103.121.208.103) (Client Quit) |
2021-04-07 00:45:36 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:9469:29ae:2372:7bd6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-07 00:49:55 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-04-07 00:51:19 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds) |
2021-04-07 00:54:22 +0200 | sdrodge | (~sdrodge@unaffiliated/sdrodge) |
2021-04-07 00:55:22 +0200 | rprije | (~rprije@59-102-63-15.tpgi.com.au) |
2021-04-07 00:58:02 +0200 | cheater | (~user@unaffiliated/cheater) (Read error: Connection reset by peer) |
2021-04-07 00:58:31 +0200 | cheater | (~user@unaffiliated/cheater) |
2021-04-07 00:59:41 +0200 | Desmond373 | (b49673ba@180.150.115.186) (Quit: Connection closed) |
2021-04-07 01:01:33 +0200 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-04-07 01:02:16 +0200 | mouseghost | (~draco@wikipedia/desperek) (Quit: mew wew) |
2021-04-07 01:04:11 +0200 | stree | (~stree@68.36.8.116) (Ping timeout: 240 seconds) |
2021-04-07 01:05:19 +0200 | hiroaki | (~hiroaki@2a02:908:4b18:8c40:cdf8:a3f:92b1:70de) (Ping timeout: 260 seconds) |
2021-04-07 01:05:25 +0200 | vv8 | (~egp_@128-71-69-136.broadband.corbina.ru) |
2021-04-07 01:09:46 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 01:13:43 +0200 | haskellstudent | (~quassel@213-225-9-45.nat.highway.a1.net) (Ping timeout: 260 seconds) |
2021-04-07 01:13:58 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2021-04-07 01:14:05 +0200 | notzmv | (~zmv@unaffiliated/zmv) (Ping timeout: 265 seconds) |
2021-04-07 01:17:35 +0200 | stree | (~stree@68.36.8.116) |
2021-04-07 01:18:18 +0200 | CMCDragonkai2 | (~Thunderbi@120.17.224.123) |
2021-04-07 01:19:30 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 01:19:32 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
2021-04-07 01:23:03 +0200 | crestfallen | (~john@128.32.176.159) (Ping timeout: 260 seconds) |
2021-04-07 01:25:39 +0200 | zebrag | (~inkbottle@aaubervilliers-651-1-244-162.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-07 01:26:01 +0200 | zebrag | (~inkbottle@aaubervilliers-651-1-244-162.w83-200.abo.wanadoo.fr) |
2021-04-07 01:27:45 +0200 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2021-04-07 01:30:50 +0200 | vicfred | (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving) |
2021-04-07 01:35:50 +0200 | emmanuel_erc | (~user@cpe-74-71-106-64.nyc.res.rr.com) (Ping timeout: 265 seconds) |
2021-04-07 01:44:13 +0200 | mach1speed | (~textual@S0106f0b4d2c39cee.va.shawcable.net) |
2021-04-07 01:45:26 +0200 | p8m | (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 260 seconds) |
2021-04-07 01:46:23 +0200 | hypercube | (~hypercube@75.186.121.128) (Ping timeout: 260 seconds) |
2021-04-07 01:48:09 +0200 | p8m | (p8m@gateway/vpn/protonvpn/p8m) |
2021-04-07 01:48:10 +0200 | BonesJoh2son65 | (~wheetseek@pool-173-75-8-46.pitbpa.fios.verizon.net) |
2021-04-07 01:48:33 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-04-07 01:48:52 +0200 | <BonesJoh2son65> | part |
2021-04-07 01:48:53 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 01:48:55 +0200 | BonesJoh2son65 | (~wheetseek@pool-173-75-8-46.pitbpa.fios.verizon.net) () |
2021-04-07 01:49:49 +0200 | <Axman6> | ADG1089: Did you want to give us more context? Mayve your app should be spending 15% of its time in looking up in hashmaps, maybe it's the wrong data type entirely |
2021-04-07 01:54:03 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 268 seconds) |
2021-04-07 01:56:11 +0200 | Sorny | (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 240 seconds) |
2021-04-07 01:59:07 +0200 | Tario | (~Tario@199.58.83.9) |
2021-04-07 02:01:06 +0200 | <ADG1089> | on another note, i am writing a do notation, how can i return if the output of a monadic computation is 0? |
2021-04-07 02:01:28 +0200 | <Axman6> | we're going to need more information than that |
2021-04-07 02:01:39 +0200 | <ADG1089> | something like `{do; x<-getVal :: IO Int; if x == 0 then return else continue} |
2021-04-07 02:01:47 +0200 | <monochrom> | "return 0"? I don't understand the question. |
2021-04-07 02:01:57 +0200 | <ADG1089> | :t guard |
2021-04-07 02:01:58 +0200 | <lambdabot> | Alternative f => Bool -> f () |
2021-04-07 02:02:00 +0200 | <Axman6> | what value do you want to rerturn? |
2021-04-07 02:02:07 +0200 | <Axman6> | return* |
2021-04-07 02:02:16 +0200 | <monochrom> | OK, high probability that "return ()" is what you want. |
2021-04-07 02:02:53 +0200 | <ADG1089> | If x is 0 I want to return () otherwise >>= the next steps |
2021-04-07 02:03:13 +0200 | <Axman6> | you can literally do x <- foo; if x == 0 then return () else do ... |
2021-04-07 02:03:14 +0200 | <dibblego> | unless (x == 0) nextSteps |
2021-04-07 02:03:24 +0200 | <monochrom> | If I know the type of "continue", I can give a 100%-certainty answer. |
2021-04-07 02:03:31 +0200 | Tario | (~Tario@199.58.83.9) (Read error: Connection reset by peer) |
2021-04-07 02:04:06 +0200 | Tario | (~Tario@201.192.165.173) |
2021-04-07 02:04:53 +0200 | <monochrom> | "unless" is in Control.Monad if you like it. |
2021-04-07 02:05:22 +0200 | <monochrom> | But it's just a canned version of "if ... then return () else ..." |
2021-04-07 02:08:16 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-04-07 02:09:28 +0200 | CMCDragonkai2 | (~Thunderbi@120.17.224.123) (Ping timeout: 268 seconds) |
2021-04-07 02:09:31 +0200 | ADG1089 | (~aditya@122.163.139.43) (Remote host closed the connection) |
2021-04-07 02:11:36 +0200 | usr25 | (~usr25@unaffiliated/usr25) (Read error: Connection reset by peer) |
2021-04-07 02:14:55 +0200 | cads | (~cads@ip-64-72-99-232.lasvegas.net) |
2021-04-07 02:17:36 +0200 | renzhi | (~renzhi@2607:fa49:653f:a800::4223) |
2021-04-07 02:20:02 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 02:20:04 +0200 | mrchampion | (~mrchampio@38.18.109.23) (Read error: Connection reset by peer) |
2021-04-07 02:21:37 +0200 | <pie_> | whats the current way to interface haskell and python? |
2021-04-07 02:22:35 +0200 | Aquazi | (uid312403@gateway/web/irccloud.com/x-bmhbjzvaxfjgfshr) (Quit: Connection closed for inactivity) |
2021-04-07 02:23:37 +0200 | mrchampion | (~mrchampio@38.18.109.23) |
2021-04-07 02:23:43 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Ping timeout: 260 seconds) |
2021-04-07 02:23:45 +0200 | Guest96189 | (~textual@mskresolve-a.mskcc.org) (Ping timeout: 260 seconds) |
2021-04-07 02:24:30 +0200 | aerona | (~aerona@2600:6c54:4600:f300:17d9:d4ff:325b:67dc) (Quit: Leaving) |
2021-04-07 02:25:08 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds) |
2021-04-07 02:25:39 +0200 | zebrag | (~inkbottle@aaubervilliers-651-1-244-162.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-07 02:26:01 +0200 | zebrag | (~inkbottle@aaubervilliers-651-1-244-162.w83-200.abo.wanadoo.fr) |
2021-04-07 02:26:06 +0200 | <pie_> | ok this looks recent enough https://libredd.it/r/haskell/comments/ec81iq/best_way_to_call_python_36_code_from_from_haskell/ |
2021-04-07 02:26:14 +0200 | <pie_> | though thatts in the other direction |
2021-04-07 02:26:42 +0200 | <Axman6> | not sure there is a particularly well known solution for doing that |
2021-04-07 02:27:36 +0200 | Codaraxis_ | (~Codaraxis@141.98.255.144) |
2021-04-07 02:29:15 +0200 | <pie_> | *nod* |
2021-04-07 02:29:21 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2021-04-07 02:29:49 +0200 | Codaraxis | (Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 268 seconds) |
2021-04-07 02:32:32 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-04-07 02:33:06 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2021-04-07 02:40:07 +0200 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 265 seconds) |
2021-04-07 02:40:45 +0200 | mmmattyx | (uid17782@gateway/web/irccloud.com/x-kuttqhjrmgrkynne) (Quit: Connection closed for inactivity) |
2021-04-07 02:40:59 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2021-04-07 02:44:49 +0200 | Foritus | (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator") |
2021-04-07 02:46:03 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9510b1ed14260384c0cf.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
2021-04-07 02:46:08 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 02:48:08 +0200 | rajivr | (uid269651@gateway/web/irccloud.com/x-bfdpumpohvpxzdht) |
2021-04-07 02:51:05 +0200 | Techcable | (~Techcable@168.235.93.147) (Quit: ZNC - https://znc.in) |
2021-04-07 02:51:26 +0200 | viluon | (uid453725@gateway/web/irccloud.com/x-vxyigueamtfqricd) (Quit: Connection closed for inactivity) |
2021-04-07 02:55:49 +0200 | Techcable | (~Techcable@168.235.93.147) |
2021-04-07 03:00:55 +0200 | solvr | (57e3c46d@87.227.196.109) |
2021-04-07 03:06:34 +0200 | drbean_ | (~drbean@TC210-63-209-95.static.apol.com.tw) |
2021-04-07 03:07:38 +0200 | <solvr> | "Almost all classical data structures require mutability, and for a good reason - it gives us far cheaper resource use than destroy-and-create does. [...] Purely functional data structures are really cool, but they're cool like a dancing bear is cool. I.e. it's not impressive that the bear dances well, but the fact the bear dances at all." |
2021-04-07 03:08:52 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 03:09:19 +0200 | vicfred | (vicfred@gateway/vpn/mullvad/vicfred) |
2021-04-07 03:10:57 +0200 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-04-07 03:12:03 +0200 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-04-07 03:12:53 +0200 | <wrunt> | nonsense |
2021-04-07 03:13:17 +0200 | <wrunt> | purely functional data structures don't require destroy-and-create |
2021-04-07 03:13:41 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2021-04-07 03:13:43 +0200 | <Axman6> | yeah that's complete nonsense, particularly in the concurrent world we live in. mutation makes concurrency extremely difficult |
2021-04-07 03:14:00 +0200 | <dibblego> | More importantly, why is that nonsense here in this channel? |
2021-04-07 03:15:56 +0200 | <Axman6> | need to share a hashmap between any number of threads which may all read and write arbitrarily? IORef (HashMap Key Value) is infinitely easier to reason about than HashTable Key Value which uses mutation, with the former being able to produce arbitrarily complex, consistent mutations whith the latter making that almost impossible without resorting to locks |
2021-04-07 03:16:00 +0200 | <pjb> | wrunt: the destroy is in the garbage collector. |
2021-04-07 03:16:19 +0200 | <solvr> | Don't functional data structures require destroy and create. |
2021-04-07 03:16:35 +0200 | <Axman6> | no |
2021-04-07 03:17:08 +0200 | <dibblego> | mutable data structures do though |
2021-04-07 03:17:17 +0200 | <pjb> | Immutability renders array virtually useless. Most sophisticated algorithms are designed arround array and array mutation. Basically you can take all Knuth and throw it to the trash can with purely functional programming languages… |
2021-04-07 03:17:27 +0200 | <Axman6> | and the fact they do not makes them infinitely more usable, you can efficiently retain the entire history of a structure with the only extra allocations being the minimal difference between each version. this comes for free |
2021-04-07 03:18:45 +0200 | <solvr> | Yes it's for free. Except the part where it's not "free" in terms of memory or CPU resources /s |
2021-04-07 03:18:50 +0200 | <Axman6> | to get that sort of behaviour with mutable structures, you have to work very hard to store all the modifications and have a way to run them in reverse. for us, an undo tree of changes to some state is just [SomeState] |
2021-04-07 03:18:56 +0200 | <pjb> | minimal differences doesn't improve things: you still have to either copy all the rest, or shadow the data structure behind a O(n) chain of differences. |
2021-04-07 03:19:38 +0200 | <Axman6> | pjb: not sure what you mean, consequtive versions of the structure will share the majority of their structure |
2021-04-07 03:19:43 +0200 | <pjb> | And even if O(log32(n)) is good enough for must uses, it still is not O(1)… |
2021-04-07 03:20:10 +0200 | <solvr> | Axman6, regarding the "concurrent world we live in". Having lots of shared state between concurrent structures is actually a poor factoring. |
2021-04-07 03:20:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-07 03:20:25 +0200 | <Axman6> | but also some necessary |
2021-04-07 03:20:47 +0200 | <Axman6> | usually the solution it so push that sharing into an even more complex system, like a database |
2021-04-07 03:21:02 +0200 | <dibblego> | I swear this discussion was had 20 years ago, everyone learned, and we all moved on. |
2021-04-07 03:21:11 +0200 | pie_ | is learning |
2021-04-07 03:21:35 +0200 | xff0x | (~xff0x@2001:1a81:5274:b300:73fd:d48e:9253:e66b) (Ping timeout: 260 seconds) |
2021-04-07 03:22:12 +0200 | <solvr> | dibblego, we didn't learn a thing. |
2021-04-07 03:22:40 +0200 | <solvr> | dibblego, if we had, we'd probably be using Erlang offshoots now, which combine OOP and FP into a single system, more or less |
2021-04-07 03:23:11 +0200 | xff0x | (~xff0x@2001:1a81:52ae:6200:6f5d:6ce6:85f6:1960) |
2021-04-07 03:24:14 +0200 | <Axman6> | there was a paper ages ago, I thing written by SPJ et al. which looked at the implementation of lock free structures and compared their performance. The highest performance implementation ended up being an immutable structure wrapped by an IORef, because all updates ended up being an atomic compare and swap, and the evaluation of the changes could be shared between all threads trivially |
2021-04-07 03:25:14 +0200 | <dibblego> | yeah that bit disappoints me, the not learning thing |
2021-04-07 03:25:16 +0200 | <solvr> | Axman6, performance can only be judged in context. So I'm not sure "highest performance" tells us a lot without context. |
2021-04-07 03:25:23 +0200 | <dibblego> | Axman6: there were also papers before that |
2021-04-07 03:25:39 +0200 | <Axman6> | solvr: read the paper then |
2021-04-07 03:25:52 +0200 | <solvr> | Axman6, you didn't even link a paper :) |
2021-04-07 03:25:56 +0200 | stree | (~stree@68.36.8.116) (Ping timeout: 268 seconds) |
2021-04-07 03:26:27 +0200 | Foritus | (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) |
2021-04-07 03:27:10 +0200 | <dibblego> | better than read a paper: write a JIT hotspot compiler, then come tell me about the performance improvements from all those mutable data structures |
2021-04-07 03:27:12 +0200 | <Axman6> | I think it was https://simonmar.github.io/bib/papers/concurrent-data.pdf |
2021-04-07 03:27:14 +0200 | <solvr> | Axman6, highest performing algorithms are often about choosing boundaries between shared and non-shared state, including across threads. |
2021-04-07 03:27:46 +0200 | <solvr> | Axman6, so imagining a world where everything is shared between threads is just an artificial restriction that's already way worse than what's possible |
2021-04-07 03:28:04 +0200 | <Axman6> | I never claimed that is a world we should imagine |
2021-04-07 03:28:32 +0200 | <solvr> | Axman6, sure but we do keep coming back to things like sharing state, lock-free structures and so on |
2021-04-07 03:28:36 +0200 | <solvr> | All of this is about shared state |
2021-04-07 03:28:37 +0200 | <Axman6> | but sharing between threads is often a very natural way to build concurrent apps which can reduce resource usage |
2021-04-07 03:29:37 +0200 | <solvr> | Axman6, it's not very natural. Encapsulation and message-passing is even more natural, I'd argue. Like you and me now, in this chat. We're not sharing a lock-free brain. We're exchanging messages and keeping our state local. |
2021-04-07 03:30:11 +0200 | <Axman6> | so you trhing that a web server which supports caching should have every thread maintain its own cache? |
2021-04-07 03:30:59 +0200 | <solvr> | I think that's a very specific statement, without context. So I can't tell what this hypothetical server should do. But some of its cache would be local yes. |
2021-04-07 03:31:20 +0200 | <solvr> | You CPU also has lots of cache that's device local, CPU local, core local, and so on |
2021-04-07 03:31:28 +0200 | <solvr> | It's like a tree. |
2021-04-07 03:31:33 +0200 | <Axman6> | to each thread? why not share the cache between all threads? the |
2021-04-07 03:31:41 +0200 | <Axman6> | I am very aware of that |
2021-04-07 03:31:48 +0200 | renzhi | (~renzhi@2607:fa49:653f:a800::4223) (Ping timeout: 246 seconds) |
2021-04-07 03:31:57 +0200 | <solvr> | Well ask yourself why. |
2021-04-07 03:33:17 +0200 | <Axman6> | much of my major at university was in high performance computing... I understand the affects of caches and memory hierarchies |
2021-04-07 03:33:48 +0200 | <Axman6> | anyway, do you have some argument you're trying to make or just troll? You've come in here making controvercial, demonstratably false claims, did you have a point to make? |
2021-04-07 03:34:37 +0200 | <solvr> | Axman6 it wasn't my statement, it was Brian Goetz in this talk: |
2021-04-07 03:34:38 +0200 | <solvr> | https://www.youtube.com/watch?v=HSk5fdKbd3o |
2021-04-07 03:34:51 +0200 | <solvr> | Where he actually points out OOP+FP are quite complementary |
2021-04-07 03:34:51 +0200 | <Axman6> | controversial* |
2021-04-07 03:35:53 +0200 | <solvr> | I think it's a good talk, and he mentions Erlang as a mental model a few times. |
2021-04-07 03:35:58 +0200 | <solvr> | It's a great mental model IMHO. |
2021-04-07 03:36:24 +0200 | <solvr> | FP excels in closed systems. OOP is better as the metaphor between those closed systems |
2021-04-07 03:36:53 +0200 | <solvr> | Do we need threads in a closed system... sure. Not always, but sure. |
2021-04-07 03:36:59 +0200 | gnumonic | (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) |
2021-04-07 03:37:02 +0200 | <solvr> | But OOP is also naturally concurrent. |
2021-04-07 03:37:07 +0200 | <solvr> | Especially the actor model. |
2021-04-07 03:37:57 +0200 | <dibblego> | oh gawd |
2021-04-07 03:38:33 +0200 | <Axman6> | I wouldn't conflate OOP and the actor model, at least as far as most people understand OOP today. they are certainly related, and in many the actor model much better adhears to the original ideas of OOP, but when you start talking about Java we're way off from where I would like to be |
2021-04-07 03:38:41 +0200 | stree | (~stree@68.36.8.116) |
2021-04-07 03:40:38 +0200 | <solvr> | Java is not strictly OOP, hasn't been for a long time. It's mixed paradigm. Can do FP, can do procedural, can do actors, can do "OOP as abstract data structures" which is probably what you don't like. |
2021-04-07 03:41:30 +0200 | <solvr> | The thing about immutability is that it's great when you want it. |
2021-04-07 03:41:42 +0200 | <solvr> | But not as something forced upon you. |
2021-04-07 03:43:29 +0200 | <Axman6> | who says it's being forced on anyone? |
2021-04-07 03:43:34 +0200 | <c_wraith> | Which is why Haskell has mutable stuff |
2021-04-07 03:43:41 +0200 | <monochrom> | What is the purpose of this discussion? |
2021-04-07 03:44:00 +0200 | <c_wraith> | To attack a straw man unrelated to any real language, probably |
2021-04-07 03:44:33 +0200 | <monochrom> | Am I right in that dibblego's question was never answered? |
2021-04-07 03:45:54 +0200 | <dibblego> | It appears: To hold and express an opinion on a subject, without having to come to understand the subject, and with peer support of the position. This is disappointing :( |
2021-04-07 03:46:28 +0200 | <monochrom> | Yeah. That's what's wrong with social media. |
2021-04-07 03:46:47 +0200 | <monochrom> | https://www.smbc-comics.com/comic/app-3 applies. |
2021-04-07 03:46:49 +0200 | <dibblego> | right, remember when #haskell was not social media? *jumps in joy* |
2021-04-07 03:47:17 +0200 | <monochrom> | New mission for #haskell: Avoid social media success at all costs. >:) |
2021-04-07 03:47:31 +0200 | <dibblego> | I support this mission |
2021-04-07 03:48:33 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:ccca:5598:c03f:71de) |
2021-04-07 03:49:49 +0200 | <solvr> | I just want a happy middleground where fp/oop/imperative/relational co-exist in one shared paradigm. |
2021-04-07 03:50:45 +0200 | <monochrom> | Have you even studied the expression problem? which puts a bound on how well two things can coexist. |
2021-04-07 03:52:11 +0200 | zebrag | (~inkbottle@aaubervilliers-651-1-244-162.w83-200.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2021-04-07 03:52:29 +0200 | <monochrom> | I am unsympathetic to hiding behind the façade of "discussions and debates" when one hasn't done their share of due diligence, and instead merely exhibit the shallow news reporter behaviour of "I heard this from somewhere, what do you think?", which is a sorry excuse for "discussions and debates". |
2021-04-07 03:53:06 +0200 | <solvr> | monochrom, one of the biggest problems to resolve in programming is scaling the complexity of a system while keeping performance and defects in check |
2021-04-07 03:53:33 +0200 | <solvr> | monochrom, to think about complex systems as a single "expression" would be to miss their nature entirely |
2021-04-07 03:53:57 +0200 | <monochrom> | Are you done? |
2021-04-07 03:54:06 +0200 | Axman6 | is trying to find where monochrom claimed that |
2021-04-07 03:54:35 +0200 | <solvr> | Well if monochrom doesn't claim that, then the expression problem doesn't apply |
2021-04-07 03:54:45 +0200 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-04-07 03:55:03 +0200 | <Axman6> | it clearly applies, what on earth are you talking about |
2021-04-07 03:55:39 +0200 | <monochrom> | I want to tell you about a formalism that I call the Markov-Mealy chain. |
2021-04-07 03:56:00 +0200 | glguy | pulls up a chair |
2021-04-07 03:56:03 +0200 | <monochrom> | It simply means a cross of a Markov chain and a Mealy machine. >:) |
2021-04-07 03:56:51 +0200 | <solvr> | The expression problem is about extensibility in fixed boundaries. A system is a hierarchy of collections of boundaries. |
2021-04-07 03:57:19 +0200 | <solvr> | Case in point, every FP is implemented on imperative procedural machines. |
2021-04-07 03:57:26 +0200 | <solvr> | No expression problem somehow |
2021-04-07 03:57:27 +0200 | <monochrom> | But I can't be the first one to think up this hybrid. Do you know of a more standard name? |
2021-04-07 03:57:48 +0200 | <dibblego> | FWIW, I once read something from Brian Goetz — it was a friend of mine spending hundreds of comments trying to teach him the Maybe data type. That was the last time. |
2021-04-07 03:58:28 +0200 | <solvr> | dibblego, oh yeah, he doesn't understand the Maybe type. Sure. |
2021-04-07 03:58:40 +0200 | <Axman6> | starting off with the meme that people don't want to use monads... when they literally use monads every single day of their lives didn't help his argument |
2021-04-07 03:58:52 +0200 | <dibblego> | haha you read the same thread :) |
2021-04-07 03:59:59 +0200 | Alleria | (~textual@2603-7000-3040-0000-c5e8-81b5-bd49-f2bd.res6.spectrum.com) |
2021-04-07 04:00:22 +0200 | Alleria | Guest59918 |
2021-04-07 04:00:28 +0200 | <solvr> | Axman6, just because IO for ex. is a monad in Haskell, doesn't make IO a monad in Java. |
2021-04-07 04:00:46 +0200 | <Axman6> | doesn't it? |
2021-04-07 04:00:54 +0200 | <monochrom> | Nothing makes a monad in Java. There is no monad there. |
2021-04-07 04:01:01 +0200 | <solvr> | No it absolutely doesn't. you confuse your mental map with the actual thing. |
2021-04-07 04:01:10 +0200 | <dibblego> | Yes it is. |
2021-04-07 04:01:15 +0200 | <Axman6> | they couldn't even make Optional a law abiding monad in Java -_- |
2021-04-07 04:01:29 +0200 | <monochrom> | But don't read this as a criticism on Java. Java has other strengths, but not shoehorning monads. |
2021-04-07 04:01:45 +0200 | <dibblego> | http://www.functionaljava.org/javadoc/4.8.1/functionaljava/fj/data/IOW.html |
2021-04-07 04:02:01 +0200 | <dibblego> | witness for the monad is carried; see if for yourself, or don't |
2021-04-07 04:03:16 +0200 | <solvr> | Axman6, behold as Optional works while not being a "law abiding monad" |
2021-04-07 04:03:29 +0200 | <solvr> | Axman6, likewise for Promises in JS and so on |
2021-04-07 04:03:33 +0200 | <Axman6> | "works" for some poor definition of works |
2021-04-07 04:03:50 +0200 | <solvr> | Axman6 "poor" for some subjective definition of poor |
2021-04-07 04:03:57 +0200 | <glguy> | How does all this tie back to #haskell? |
2021-04-07 04:03:57 +0200 | <Axman6> | who would want to represent Just null anyway |
2021-04-07 04:04:31 +0200 | Guest59918 | (~textual@2603-7000-3040-0000-c5e8-81b5-bd49-f2bd.res6.spectrum.com) (Ping timeout: 250 seconds) |
2021-04-07 04:06:33 +0200 | Tario | (~Tario@201.192.165.173) |
2021-04-07 04:06:42 +0200 | <dibblego> | it doesn't work — that is why I just deleted it today, out of a java project |
2021-04-07 04:06:43 +0200 | <Axman6> | I _think_ the original argument was something along the lines of "immutable by default is wrong", which is clearly nonsense. but if it were true, we're all wrong, and we should feel wrong |
2021-04-07 04:07:19 +0200 | juri__ | (~juri@212.86.35.156) |
2021-04-07 04:08:06 +0200 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2021-04-07 04:09:09 +0200 | <solvr> | It was not the original argument. |
2021-04-07 04:09:39 +0200 | <solvr> | But let's say that immutable by default would be less of a nonsense if we poured and burned RAM in our computers like you pour and burn gas in your car. |
2021-04-07 04:09:58 +0200 | <dibblego> | no, let's not say that please — this is #haskell |
2021-04-07 04:10:24 +0200 | <Axman6> | the opening sentense of your quote is trivially wrong, so it's hard to see how you're operating from a solid foundation of the facts of whatever point it is you're trying to make |
2021-04-07 04:10:30 +0200 | juri_ | (~juri@79.140.114.222) (Ping timeout: 265 seconds) |
2021-04-07 04:10:45 +0200 | <monochrom> | Could we all just stop this please. |
2021-04-07 04:11:45 +0200 | <olligobber> | so I looked at how the Q monad works, and so I wrote my N type: `newtype N = N {runN :: forall n. Num n => n}', and even gave it a Num instance |
2021-04-07 04:12:13 +0200 | <Axman6> | Where's the Q monad come from? |
2021-04-07 04:12:13 +0200 | <olligobber> | this feels like some sort of dark magic |
2021-04-07 04:12:20 +0200 | <olligobber> | Templat Haksell |
2021-04-07 04:12:38 +0200 | <olligobber> | https://hackage.haskell.org/package/template-haskell-2.17.0.0/docs/Language-Haskell-TH.html |
2021-04-07 04:12:50 +0200 | <olligobber> | it's defined as `newtype Q a = Q { unQ :: forall m. Quasi m => m a }' |
2021-04-07 04:12:55 +0200 | <Axman6> | Thought you were talking about that quantum computation monad |
2021-04-07 04:13:18 +0200 | <olligobber> | nah |
2021-04-07 04:13:34 +0200 | <monochrom> | What does Num have to do with Q? |
2021-04-07 04:13:54 +0200 | <glguy> | olligobber, made his 'N' in the style of 'Q' |
2021-04-07 04:13:55 +0200 | <olligobber> | Q is defined as the Quasi type, so I made N the Num type |
2021-04-07 04:14:24 +0200 | <olligobber> | N can do anything any Num can, and then later you runN to get a particular value out |
2021-04-07 04:14:43 +0200 | <olligobber> | correction, N can do anything all Nums can |
2021-04-07 04:14:45 +0200 | <glguy> | olligobber, It's a bit the other way around though, N can *only* do things Num can |
2021-04-07 04:14:49 +0200 | <olligobber> | yeah |
2021-04-07 04:15:14 +0200 | <olligobber> | it feels wrong somehow |
2021-04-07 04:15:20 +0200 | <glguy> | % newtype N = N {runN :: forall n. Num n => n} |
2021-04-07 04:15:20 +0200 | shachaf | (~shachaf@unaffiliated/shachaf) (Remote host closed the connection) |
2021-04-07 04:15:20 +0200 | <yahb> | glguy: |
2021-04-07 04:15:55 +0200 | <olligobber> | especially when you look at the instances of Quasi and it only gives IO (which is incomplete) and Q (which is ...) |
2021-04-07 04:16:03 +0200 | <Axman6> | I wish yahb would say something when defining things, like "It is defined" |
2021-04-07 04:16:15 +0200 | <olligobber> | % runN (1 + 2 :: N) |
2021-04-07 04:16:15 +0200 | <yahb> | olligobber: ; <interactive>:60:9: error:; * Could not deduce (Num N) arising from a use of `+'; from the context: Num n bound by the inferred type of it :: Num n => n at <interactive>:60:1-17; * In the first argument of `runN', namely `(1 + 2 :: N)'; In the expression: runN (1 + 2 :: N); In an equation for `it': it = runN (1 + 2 :: N) |
2021-04-07 04:16:20 +0200 | <olligobber> | oh right |
2021-04-07 04:16:21 +0200 | <olligobber> | um |
2021-04-07 04:16:28 +0200 | <olligobber> | % instance Num N where { N x + N y = N $ x + y; N x * N y = N $ x * y; abs (N x) = N (abs x); signum (N x) = N (signum x); fromInteger = N . fromInteger; negate (N x) = N (negate x)} |
2021-04-07 04:16:28 +0200 | <yahb> | olligobber: ; <interactive>:61:136: error:; * Couldn't match type `Integer' with `forall n. Num n => n'; Expected: Integer -> N; Actual: (forall n. Num n => n) -> N; * In the first argument of `(.)', namely `N'; In the expression: N . fromInteger; In an equation for `fromInteger': fromInteger = N . fromInteger |
2021-04-07 04:16:38 +0200 | <olligobber> | wrong one |
2021-04-07 04:16:41 +0200 | <olligobber> | % instance Num N where { N x + N y = N $ x + y; N x * N y = N $ x * y; abs (N x) = N (abs x); signum (N x) = N (signum x); fromInteger n = N (fromInteger n); negate (N x) = N (negate x)} |
2021-04-07 04:16:41 +0200 | <yahb> | olligobber: |
2021-04-07 04:16:50 +0200 | <olligobber> | % runN (1 + 2 * 3 :: N) |
2021-04-07 04:16:50 +0200 | <yahb> | olligobber: 7 |
2021-04-07 04:17:35 +0200 | <glguy> | % let x = N 10 * N 20 in (runN x :: Int, runN x :: Integer) |
2021-04-07 04:17:35 +0200 | <yahb> | glguy: (200,200) |
2021-04-07 04:17:36 +0200 | <Axman6> | % :t it |
2021-04-07 04:17:36 +0200 | <yahb> | Axman6: (Int, Integer) |
2021-04-07 04:17:50 +0200 | <glguy> | c-c-c-combo-breaker |
2021-04-07 04:18:00 +0200 | <Axman6> | ... surprised that worked (even it if wasn't the expression I wanted the type for) |
2021-04-07 04:18:01 +0200 | <Axman6> | ... surprised that worked (even it if wasn't the expression I wanted the type for) |
2021-04-07 04:18:03 +0200 | <Axman6> | uh |
2021-04-07 04:18:40 +0200 | <olligobber> | % let x = 2^65 in (runN x :: Int, runN x :: Integer) |
2021-04-07 04:18:40 +0200 | <yahb> | olligobber: (0,36893488147419103232) |
2021-04-07 04:19:09 +0200 | <glguy> | olligobber, maybe it would be less confusing if you made a struct for Num operations |
2021-04-07 04:19:13 +0200 | <glguy> | and then reimplemented your type as |
2021-04-07 04:19:28 +0200 | <glguy> | newtype N = N (forall a. NumOps a -> a) |
2021-04-07 04:19:43 +0200 | <olligobber> | maybe |
2021-04-07 04:20:03 +0200 | <glguy> | pull the type classes out of the mix; less magic |
2021-04-07 04:20:17 +0200 | shachaf | (~shachaf@unaffiliated/shachaf) |
2021-04-07 04:20:18 +0200 | <olligobber> | yeah, but I like magic |
2021-04-07 04:20:29 +0200 | <glguy> | Is the goal to understand or be amazed? :) |
2021-04-07 04:20:30 +0200 | <monochrom> | olligobber: If you think of the suite of the methods of Num as a signature of an algebra, then "forall n. Num n => n" are expressions buildable from using only that signature. Similarly for Q. |
2021-04-07 04:21:04 +0200 | <olligobber> | are there actually other Quasi instances? or does haskell just use Q and magic happens? |
2021-04-07 04:21:07 +0200 | <monochrom> | perhaps s/from using only that signature/from only that algebra/ |
2021-04-07 04:21:53 +0200 | <glguy> | % :info Language.Haskell.TH.Syntax.Quasi |
2021-04-07 04:21:53 +0200 | <yahb> | glguy: type Quasi :: (* -> *) -> Constraint; class (MonadIO m, MonadFail m) => Quasi m where; qNewName :: String -> m Name; qReport :: Bool -> String -> m (); qRecover :: m a -> m a -> m a; qLookupName :: Bool -> String -> m (Maybe Name); qReify :: Name -> m Info; qReifyFixity :: Name -> m (Maybe Language.Haskell.TH.Fixity); qReifyType :: Name -> m Language.Haskell.TH.Type; qReifyInstances :: Name |
2021-04-07 04:22:06 +0200 | <glguy> | instance Quasi Q -- Defined in ‘Language.Haskell.TH.Syntax’ |
2021-04-07 04:22:06 +0200 | <glguy> | instance Quasi IO -- Defined in ‘Language.Haskell.TH.Syntax’ |
2021-04-07 04:22:35 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Ping timeout: 265 seconds) |
2021-04-07 04:23:23 +0200 | <monochrom> | Another one: "forall r. r -> (Int -> r) -> r" is equivalent to Maybe Int |
2021-04-07 04:23:31 +0200 | <olligobber> | oh, I know that one |
2021-04-07 04:23:52 +0200 | <monochrom> | And I can convert that to a need-type-class form too. |
2021-04-07 04:24:23 +0200 | <monochrom> | class M r where nothing :: r; just :: Int -> r |
2021-04-07 04:24:28 +0200 | hexfive | (~hexfive@50.35.83.177) (Quit: i must go. my people need me.) |
2021-04-07 04:24:35 +0200 | <monochrom> | Then I have "forall r. M r => r" |
2021-04-07 04:24:58 +0200 | <olligobber> | huh |
2021-04-07 04:24:58 +0200 | todda7 | (~torstein@athedsl-09242.home.otenet.gr) (Ping timeout: 240 seconds) |
2021-04-07 04:25:38 +0200 | <monochrom> | This is what glguy was saying. |
2021-04-07 04:25:54 +0200 | <olligobber> | oh... |
2021-04-07 04:26:02 +0200 | <olligobber> | the magic is fading away |
2021-04-07 04:26:17 +0200 | <olligobber> | but still, what Quasi monad does haskell use at compile time? |
2021-04-07 04:26:34 +0200 | <monochrom> | As Feymann said, I don't think there is a conflict between understanding and amazement. |
2021-04-07 04:26:52 +0200 | carlomagno | (~cararell@148.87.23.11) (Quit: Leaving.) |
2021-04-07 04:27:04 +0200 | <monochrom> | The equivalence between the class version and the parameter version is beautiful |
2021-04-07 04:27:22 +0200 | <glguy> | olligobber, probably this one |
2021-04-07 04:27:29 +0200 | <glguy> | compiler/typecheck/TcSplice.hs |
2021-04-07 04:27:29 +0200 | <glguy> | 846:instance TH.Quasi TcM where |
2021-04-07 04:27:36 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 268 seconds) |
2021-04-07 04:27:56 +0200 | <olligobber> | wait, so Num can be a type? like `forall a. ((a -> a -> a) -> (a -> a -> a) -> (a -> a) -> (a -> (a,a)) -> (Integer -> a) -> (a -> a)) -> a |
2021-04-07 04:28:00 +0200 | <glguy> | or:libraries/ghci/GHCi/TH.hs |
2021-04-07 04:28:01 +0200 | <glguy> | 163:instance TH.Quasi GHCiQ where |
2021-04-07 04:28:29 +0200 | <olligobber> | aww, I was hoping it just used Q and somehow extracted what it needed from the universal type |
2021-04-07 04:28:58 +0200 | <monochrom> | For Q and Quasi, what you're seeing is dependency inversion, i.e., both user and implementer code to the common interface Quasi, don't assume anything more concrete on either side (would be too much coupling) |
2021-04-07 04:28:59 +0200 | <olligobber> | I don't get why it uses Q Exp instead of Quasi m => m Exp though |
2021-04-07 04:29:21 +0200 | <glguy> | olligobber, actually they like the type synonym ExpQ |
2021-04-07 04:29:41 +0200 | <glguy> | probably just because doing it the way you said would be needlessly noisy |
2021-04-07 04:30:10 +0200 | <monochrom> | The newtype wrapper is more convenient when passing around as parameter. |
2021-04-07 04:30:17 +0200 | <olligobber> | hmm |
2021-04-07 04:30:57 +0200 | <olligobber> | I guess you rarely have a concrete type satisfying Quasi on the user's end, so using Q is more convenient |
2021-04-07 04:31:02 +0200 | <monochrom> | Relieves user from needing RankNTypes when you have "Q a -> Q a -> ..." instead of "(forall m. ...) -> (forall m. ...) -> ..." |
2021-04-07 04:31:27 +0200 | <olligobber> | but with a class like Num you have plenty of types satisfying Num, so N would be inconvenient |
2021-04-07 04:31:50 +0200 | <glguy> | The issue with Num is that there are a bunch of non-Num operations you've likely to want to use |
2021-04-07 04:32:01 +0200 | <olligobber> | I was imagining Q a -> Q a -> Q a would be replaced by Quasi m => m a -> m a -> m a, but I guess those types aren't identical |
2021-04-07 04:32:09 +0200 | <glguy> | also it's more efficient to know what type things are being done at |
2021-04-07 04:32:38 +0200 | <glguy> | they aren't identical, but practially the later would be what you'd need |
2021-04-07 04:33:21 +0200 | <olligobber> | oh, and I made a useless type |
2021-04-07 04:33:33 +0200 | <olligobber> | newtype S = S {runS :: forall s. Show s => s} |
2021-04-07 04:33:40 +0200 | <monochrom> | :) |
2021-04-07 04:33:41 +0200 | <olligobber> | I don't think it has any values |
2021-04-07 04:33:59 +0200 | <olligobber> | except undefined |
2021-04-07 04:34:04 +0200 | <olligobber> | and error stuff |
2021-04-07 04:35:41 +0200 | RusAlex | (~Chel@unaffiliated/rusalex) (Ping timeout: 240 seconds) |
2021-04-07 04:36:39 +0200 | <olligobber> | the thing is, something of type N -> N cannot be turned into Num n => n -> n |
2021-04-07 04:36:50 +0200 | <olligobber> | so it's somehow stronger |
2021-04-07 04:37:06 +0200 | <monochrom> | For "forall r. C r => r" to have values, you want the class C to have some methods being smart constructors. |
2021-04-07 04:37:07 +0200 | <olligobber> | it guarantees that whatever you give it has to be a number and nothing but |
2021-04-07 04:37:34 +0200 | <monochrom> | For example my M class has two smart constructors, nothing and just. |
2021-04-07 04:37:41 +0200 | <monochrom> | For example Num has fromInteger. |
2021-04-07 04:37:48 +0200 | <olligobber> | yeah |
2021-04-07 04:38:17 +0200 | <monochrom> | You know what, since that's the only constructor, "forall n. Num n => n" is equivalent to Integer. |
2021-04-07 04:38:33 +0200 | <olligobber> | try |
2021-04-07 04:38:35 +0200 | <olligobber> | true |
2021-04-07 04:38:49 +0200 | <olligobber> | so it's like the initial object in a way |
2021-04-07 04:38:51 +0200 | <glguy> | monochrom, doesn't olligobber's 2^65 example show that that's not quite true? |
2021-04-07 04:39:13 +0200 | <glguy> | it's the journey, not the destination |
2021-04-07 04:39:33 +0200 | <olligobber> | nah, if you replace runN with fromInteger you get the same result |
2021-04-07 04:39:47 +0200 | RusAlex | (~Chel@unaffiliated/rusalex) |
2021-04-07 04:40:03 +0200 | <glguy> | % let x = 2^65 in (runN x :: Int, runN x :: Integer) |
2021-04-07 04:40:03 +0200 | <yahb> | glguy: (0,36893488147419103232) |
2021-04-07 04:40:18 +0200 | <glguy> | so clearly x couldn't be represented with a mere Integer |
2021-04-07 04:40:20 +0200 | <olligobber> | % let x = 2^65 in (fromInteger x :: Int, fromInteger x :: Integer) |
2021-04-07 04:40:20 +0200 | <yahb> | olligobber: (0,36893488147419103232) |
2021-04-07 04:40:26 +0200 | <olligobber> | looks the same to me |
2021-04-07 04:41:28 +0200 | <glguy> | % let x = signum (2^65) in (runN x :: Int, runN x :: Integer) |
2021-04-07 04:41:28 +0200 | <yahb> | glguy: (0,1) |
2021-04-07 04:41:33 +0200 | <glguy> | ok, now do yours |
2021-04-07 04:41:48 +0200 | <olligobber> | % let x = signum (2^65) in (fromInteger x :: Int, fromInteger x :: Integer) |
2021-04-07 04:41:49 +0200 | <yahb> | olligobber: (1,1) |
2021-04-07 04:41:52 +0200 | <olligobber> | ooh |
2021-04-07 04:42:02 +0200 | <olligobber> | they are different |
2021-04-07 04:42:18 +0200 | <olligobber> | that makes sense actually |
2021-04-07 04:42:23 +0200 | <olligobber> | huh |
2021-04-07 04:42:58 +0200 | <olligobber> | it feels kinda weird now that Integer isn't N... |
2021-04-07 04:44:43 +0200 | <olligobber> | but yeah, now if I ask for a monoid, I could either mean `Monoid m => m -> ()` or `(forall m. Monoid m => m) -> ()`, and they are different things... |
2021-04-07 04:44:55 +0200 | <monochrom> | Darn. I see. |
2021-04-07 04:47:42 +0200 | <monochrom> | I should have applied what I learned formally, not intuitively. |
2021-04-07 04:48:07 +0200 | <glguy> | data N = Plus N N | Minus N N | Times N N | Negate N | Abs N | Signum N | FromInteger Integer |
2021-04-07 04:48:17 +0200 | <monochrom> | Yeah, that. |
2021-04-07 04:48:20 +0200 | <glguy> | olligobber's N is a complicated way to write that |
2021-04-07 04:48:47 +0200 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-04-07 04:49:04 +0200 | <glguy> | and since "The Haskell Report defines no laws for Num. [...]" |
2021-04-07 04:49:11 +0200 | <monochrom> | Just mechanically translate the forall-type to ADT. Do not think. Do not pass Go. Do not collect $200. |
2021-04-07 04:49:17 +0200 | <glguy> | we don't have to worry about any limitations in how to evaluate one of those :) |
2021-04-07 04:53:30 +0200 | theDon | (~td@94.134.91.185) (Ping timeout: 268 seconds) |
2021-04-07 04:54:49 +0200 | theDon | (~td@muedsl-82-207-238-149.citykom.de) |
2021-04-07 04:55:18 +0200 | drbean_ | (~drbean@TC210-63-209-95.static.apol.com.tw) (Ping timeout: 240 seconds) |
2021-04-07 04:56:38 +0200 | FinnElija | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
2021-04-07 04:56:38 +0200 | finn_elija | Guest29980 |
2021-04-07 04:56:38 +0200 | FinnElija | finn_elija |
2021-04-07 04:57:40 +0200 | trcm | (~trcm@103.153.243.79) |
2021-04-07 04:57:58 +0200 | kiweun | (~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) |
2021-04-07 04:59:33 +0200 | Guest29980 | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds) |
2021-04-07 05:00:28 +0200 | berberman_ | (~berberman@unaffiliated/berberman) |
2021-04-07 05:01:22 +0200 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 258 seconds) |
2021-04-07 05:01:47 +0200 | myShoggoth | (~myShoggot@75.164.73.93) (Remote host closed the connection) |
2021-04-07 05:02:10 +0200 | myShoggoth | (~myShoggot@75.164.73.93) |
2021-04-07 05:03:18 +0200 | ddellacosta | (~ddellacos@86.106.143.174) (Remote host closed the connection) |
2021-04-07 05:03:29 +0200 | ddellacosta | (~ddellacos@86.106.143.174) |
2021-04-07 05:04:05 +0200 | ddellacosta | (~ddellacos@86.106.143.174) (Remote host closed the connection) |
2021-04-07 05:07:41 +0200 | myShoggoth | (~myShoggot@75.164.73.93) (Ping timeout: 268 seconds) |
2021-04-07 05:09:56 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 05:13:59 +0200 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in) |
2021-04-07 05:14:25 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 252 seconds) |
2021-04-07 05:16:48 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 05:18:10 +0200 | <olligobber> | % newtype The c = The { some :: forall x. c x => x } |
2021-04-07 05:18:10 +0200 | <yahb> | olligobber: |
2021-04-07 05:18:26 +0200 | <olligobber> | % some (The $ 1 + 2 :: The Num) |
2021-04-07 05:18:26 +0200 | <yahb> | olligobber: 3 |
2021-04-07 05:18:46 +0200 | <olligobber> | % some (The mempty :: The Monoid) |
2021-04-07 05:18:46 +0200 | <yahb> | olligobber: () |
2021-04-07 05:18:51 +0200 | <olligobber> | awesome |
2021-04-07 05:19:43 +0200 | <Axman6> | % % some (The mempty :: The Monoid) :: [Int] |
2021-04-07 05:19:43 +0200 | <yahb> | Axman6: ; <interactive>:75:1: error: parse error on input `%' |
2021-04-07 05:19:48 +0200 | <Axman6> | % some (The mempty :: The Monoid) :: [Int] |
2021-04-07 05:19:48 +0200 | <yahb> | Axman6: [] |
2021-04-07 05:20:55 +0200 | <monochrom> | "free algebras for all" >:) |
2021-04-07 05:21:01 +0200 | <olligobber> | yeah |
2021-04-07 05:21:17 +0200 | <monochrom> | pun intended in "for all" |
2021-04-07 05:21:18 +0200 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
2021-04-07 05:24:54 +0200 | <nshepperd> | the monoid, the myth, the legend |
2021-04-07 05:25:49 +0200 | <olligobber> | oh god |
2021-04-07 05:25:58 +0200 | <olligobber> | % class (a x, b x) => (/\) a b x |
2021-04-07 05:25:58 +0200 | <yahb> | olligobber: ; <interactive>:77:1: error:; * Potential superclass cycle for `/\'; one of whose superclass constraints is headed by a type variable: `a x'; Use UndecidableSuperClasses to accept this; * In the class declaration for `/\' |
2021-04-07 05:26:16 +0200 | <olligobber> | % :set -XUndecidableSuperClasses |
2021-04-07 05:26:16 +0200 | <yahb> | olligobber: |
2021-04-07 05:26:20 +0200 | <olligobber> | % class (a x, b x) => (/\) a b x |
2021-04-07 05:26:20 +0200 | <yahb> | olligobber: |
2021-04-07 05:26:29 +0200 | <olligobber> | % instance (a x, b x) => (/\) a b x |
2021-04-07 05:26:29 +0200 | <yahb> | olligobber: |
2021-04-07 05:26:42 +0200 | <olligobber> | % some (The 1 :: The (Num /\ Show)) :: Int |
2021-04-07 05:26:42 +0200 | <yahb> | olligobber: 1 |
2021-04-07 05:26:44 +0200 | cgfuh | (~cgfuh@181.167.191.58) (Quit: WeeChat 3.0) |
2021-04-07 05:27:15 +0200 | <olligobber> | % some (The $ 1 + read "1" :: The (Num /\ Read)) :: Int |
2021-04-07 05:27:15 +0200 | <yahb> | olligobber: 2 |
2021-04-07 05:27:17 +0200 | <Axman6> | Using Fira Code in my terminal means that /\ shows up as a single ligature, and that makes me happy |
2021-04-07 05:27:22 +0200 | <olligobber> | same |
2021-04-07 05:27:37 +0200 | <olligobber> | actually my terminal doesn't do ligatures, but my text editor does |
2021-04-07 05:29:11 +0200 | <Axman6> | get a better terminal |
2021-04-07 05:29:20 +0200 | <olligobber> | but im lazy |
2021-04-07 05:29:29 +0200 | <Axman6> | I understand |
2021-04-07 05:30:21 +0200 | slycelote[m] | (slycelotem@gateway/shell/matrix.org/x-gzalokaoqcjbolje) |
2021-04-07 05:30:51 +0200 | <olligobber> | % let x = (The $ 1 + read "1.5" :: The (Num /\ Read)) in (some x :: Float, some x :: Int) |
2021-04-07 05:30:51 +0200 | <yahb> | olligobber: (2.5,*** Exception: Prelude.read: no parse |
2021-04-07 05:30:58 +0200 | slycelote[m] | (slycelotem@gateway/shell/matrix.org/x-gzalokaoqcjbolje) () |
2021-04-07 05:31:05 +0200 | slycelote[m] | (slycelotem@gateway/shell/matrix.org/x-gzalokaoqcjbolje) |
2021-04-07 05:31:19 +0200 | <olligobber> | cursed |
2021-04-07 05:32:03 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) |
2021-04-07 05:32:19 +0200 | kiweun | (~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2021-04-07 05:34:08 +0200 | <nshepperd> | % instance (forall a. c a => Semigroup a) => Semigroup (The c) where { (<>) a b = The (a <> b) } |
2021-04-07 05:34:08 +0200 | <yahb> | nshepperd: ; <interactive>:84:10: error:; * Variable `c' occurs more often in the constraint `c a' than in the instance head `Semigroup a'; (Use UndecidableInstances to permit this); * In the quantified constraint `forall a. c a => Semigroup a'; In the instance declaration for `Semigroup (The c)' |
2021-04-07 05:34:51 +0200 | <olligobber> | wtf is that oh god |
2021-04-07 05:35:04 +0200 | <olligobber> | % :set -XUndecidableInstances |
2021-04-07 05:35:04 +0200 | <yahb> | olligobber: |
2021-04-07 05:35:09 +0200 | <olligobber> | % instance (forall a. c a => Semigroup a) => Semigroup (The c) where { (<>) a b = The (a <> b) } |
2021-04-07 05:35:10 +0200 | <yahb> | olligobber: ; <interactive>:86:10: error:; * Could not deduce: c (The c) arising from a use of `GHC.Base.$dmsconcat'; from the context: forall a. c a => Semigroup a bound by the instance declaration at <interactive>:86:10-60; * In the expression: GHC.Base.$dmsconcat @(The c); In an equation for `GHC.Base.sconcat': GHC.Base.sconcat = GHC.Base.$dmsconcat @(The c); In the instance declaration |
2021-04-07 05:35:22 +0200 | <nshepperd> | wat |
2021-04-07 05:35:27 +0200 | <olligobber> | infinite loop? |
2021-04-07 05:35:46 +0200 | <nshepperd> | oh, typo |
2021-04-07 05:36:00 +0200 | <nshepperd> | % instance (forall a. c a => Semigroup a) => Semigroup (The c) where { (<>) a b = The (some a <> some b) } |
2021-04-07 05:36:00 +0200 | <yahb> | nshepperd: ; <interactive>:87:10: error:; * Could not deduce: c (The c) arising from a use of `GHC.Base.$dmsconcat'; from the context: forall a. c a => Semigroup a bound by the instance declaration at <interactive>:87:10-60; * In the expression: GHC.Base.$dmsconcat @(The c); In an equation for `GHC.Base.sconcat': GHC.Base.sconcat = GHC.Base.$dmsconcat @(The c); In the instance declaration |
2021-04-07 05:36:43 +0200 | <nshepperd> | i dunno |
2021-04-07 05:36:57 +0200 | <olligobber> | that typo should have caused a runtime (when we call <>) error rather than a compile time (when we define the instance) error |
2021-04-07 05:37:13 +0200 | <olligobber> | I think because Semigroup a => Semigroup a it's infinite looping? |
2021-04-07 05:37:47 +0200 | <olligobber> | % instance Semigroup (The Semigroup) where { a <> b = The (some a <> some b) } |
2021-04-07 05:37:47 +0200 | <yahb> | olligobber: |
2021-04-07 05:38:43 +0200 | <olligobber> | % :t (<>) @(The Semigroup) |
2021-04-07 05:38:43 +0200 | <yahb> | olligobber: The Semigroup -> The Semigroup -> The Semigroup |
2021-04-07 05:38:44 +0200 | <nshepperd> | seems like that quantified constraint is trickier than expected |
2021-04-07 05:40:30 +0200 | myShoggoth | (~myShoggot@75.164.73.93) |
2021-04-07 05:40:44 +0200 | <nshepperd> | might need a separate class to extract the Semigroup constraint from a tree of /\ so that you can make semigroup instances for any such The |
2021-04-07 05:41:15 +0200 | <hololeap> | % :t fmap @(The Functor) |
2021-04-07 05:41:15 +0200 | <yahb> | hololeap: ; <interactive>:1:8: error:; * Expected kind `* -> *', but `The Functor' has kind `*'; * In the type `(The Functor)'; In the expression: fmap @(The Functor); <interactive>:1:12: error:; * Couldn't match kind `* -> *' with `*'; Expected kind `* -> Constraint', but `Functor' has kind `(* -> *) -> Constraint'; * In the first argument of `The', namely `Functor'; In the type ` |
2021-04-07 05:46:26 +0200 | stree | (~stree@68.36.8.116) (Ping timeout: 240 seconds) |
2021-04-07 05:48:57 +0200 | <olligobber> | % newtype The1 c a = The1 { some1 :: forall f. c f => f x } |
2021-04-07 05:48:57 +0200 | <yahb> | olligobber: ; <interactive>:91:55: error: Not in scope: type variable `x' |
2021-04-07 05:49:03 +0200 | <olligobber> | % newtype The1 c a = The1 { some1 :: forall f. c f => f a } |
2021-04-07 05:49:03 +0200 | <yahb> | olligobber: |
2021-04-07 05:49:47 +0200 | <olligobber> | % :k The1 Functor |
2021-04-07 05:49:48 +0200 | <yahb> | olligobber: * -> * |
2021-04-07 05:49:50 +0200 | <olligobber> | hmm |
2021-04-07 05:50:30 +0200 | <olligobber> | % instance Functor (The1 Functor) where fmap f x = The1 (fmap f (some x)) |
2021-04-07 05:50:30 +0200 | <yahb> | olligobber: ; <interactive>:94:69: error:; * Couldn't match expected type: The c0; with actual type: The1 Functor a; * In the first argument of `some', namely `x'; In the second argument of `fmap', namely `(some x)'; In the first argument of `The1', namely `(fmap f (some x))'; * Relevant bindings include; x :: The1 Functor a (bound at <interactive>:94:46); f :: |
2021-04-07 05:50:48 +0200 | <olligobber> | % instance Functor (The1 Functor) where fmap f x = The1 (fmap f (some1 x)) |
2021-04-07 05:50:48 +0200 | <yahb> | olligobber: |
2021-04-07 05:50:55 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-04-07 05:51:02 +0200 | <olligobber> | % :t fmap @(The1 Functor) |
2021-04-07 05:51:02 +0200 | <yahb> | olligobber: (a -> b) -> The1 Functor a -> The1 Functor b |
2021-04-07 05:51:07 +0200 | <olligobber> | lol |
2021-04-07 05:51:23 +0200 | s00pcan | (~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 260 seconds) |
2021-04-07 05:53:05 +0200 | s00pcan | (~chris@107.181.165.217) |
2021-04-07 05:53:49 +0200 | <olligobber> | well, if anyone asks for a functor that isn't applicative, I now have the worst answer |
2021-04-07 05:57:40 +0200 | vgtw | (~vgtw@gateway/tor-sasl/vgtw) (Remote host closed the connection) |
2021-04-07 05:57:59 +0200 | vgtw | (~vgtw@gateway/tor-sasl/vgtw) |
2021-04-07 05:58:18 +0200 | alx741 | (~alx741@181.196.68.238) (Quit: alx741) |
2021-04-07 05:58:34 +0200 | Wuzzy | (~Wuzzy@p5790e46d.dip0.t-ipconnect.de) (Quit: Wuzzy) |
2021-04-07 05:58:58 +0200 | jj2021 | (~JJ@072-181-126-124.res.spectrum.com) |
2021-04-07 05:59:03 +0200 | stree | (~stree@68.36.8.116) |
2021-04-07 06:03:11 +0200 | <olligobber> | % fmap @(The1 Functor) show $ The1 $ pure 1 :: [String] |
2021-04-07 06:03:11 +0200 | <yahb> | olligobber: ; <interactive>:97:1: error:; * Couldn't match expected type: [String]; with actual type: The1 Functor String; * In the expression: fmap @(The1 Functor) show $ The1 $ pure 1 :: [String]; In an equation for `it': it = fmap @(The1 Functor) show $ The1 $ pure 1 :: [String] |
2021-04-07 06:03:23 +0200 | <olligobber> | % some1 $ fmap @(The1 Functor) show $ The1 $ pure 1 :: [String] |
2021-04-07 06:03:23 +0200 | <yahb> | olligobber: ; <interactive>:98:44: error:; * Could not deduce (Applicative f) arising from a use of `pure'; from the context: Functor f; bound by a type expected by the context:; forall (f :: * -> *). Functor f => f Integer; at <interactive>:98:44-49; Possible fix:; add (Applicative f) to the context of; a type expected by the context:; fo |
2021-04-07 06:03:49 +0200 | <olligobber> | % some1 $ fmap @(The1 Functor) show (The1 $ pure 1 :: The1 Applicative) :: [String] |
2021-04-07 06:03:49 +0200 | <yahb> | olligobber: ; <interactive>:99:53: error:; * Expecting one more argument to `The1 Applicative'; Expected a type, but `The1 Applicative' has kind `* -> *'; * In an expression type signature: The1 Applicative; In the third argument of `fmap', namely `(The1 $ pure 1 :: The1 Applicative)'; In the second argument of `($)', namely `fmap @(The1 Functor) show (The1 $ pure 1 :: The1 Applicative)' |
2021-04-07 06:03:57 +0200 | <olligobber> | % some1 $ fmap @(The1 Functor) show (The1 $ pure 1 :: The1 Applicative Int) :: [String] |
2021-04-07 06:03:57 +0200 | <yahb> | olligobber: ; <interactive>:100:36: error:; * Couldn't match type `Applicative' with `Functor'; Expected: The1 Functor Int; Actual: The1 Applicative Int; * In the third argument of `fmap', namely `(The1 $ pure 1 :: The1 Applicative Int)'; In the second argument of `($)', namely `fmap @(The1 Functor) show (The1 $ pure 1 :: The1 Applicative Int)'; In the expression: some1 $ fmap @(The |
2021-04-07 06:04:28 +0200 | <olligobber> | % some1 $ some1 $ fmap @(The1 Functor) show (The1 (The1 $ pure 1 :: The1 Applicative Int)) :: [String] |
2021-04-07 06:04:28 +0200 | <yahb> | olligobber: ; <interactive>:101:1: error:; * Could not deduce: c0 [] arising from a use of `some1'; * In the expression: some1 $ some1 $ fmap @(The1 Functor) show (The1 (The1 $ pure 1 :: The1 Applicative Int)) :: [String]; In an equation for `it': it = some1 $ some1 $ fmap @(The1 Functor) show (The1 (The1 $ pure 1 :: The1 Applicative Int)) :: [String]; <interactive>:101:9: error:; * Ambiguous typ |
2021-04-07 06:04:44 +0200 | <olligobber> | lol |
2021-04-07 06:05:22 +0200 | <olligobber> | seems The1 Functor is kinda useless? |
2021-04-07 06:06:28 +0200 | <olligobber> | yeah, you can only give fmap @(The1 Functor) values if they exist for all functors, but no values exist for all functors, since Const Void is a functor |
2021-04-07 06:06:32 +0200 | <olligobber> | great |
2021-04-07 06:08:00 +0200 | hypercube | (~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) |
2021-04-07 06:09:23 +0200 | average | (uid473595@gateway/web/irccloud.com/x-nfxnbiiogmdlamqs) (Quit: Connection closed for inactivity) |
2021-04-07 06:09:53 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-04-07 06:10:41 +0200 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2021-04-07 06:11:06 +0200 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) |
2021-04-07 06:14:12 +0200 | hypercube | (~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Ping timeout: 246 seconds) |
2021-04-07 06:14:26 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-07 06:15:16 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-04-07 06:18:07 +0200 | <gnumonic> | Are there any libraries that allow for (for lack of a better description) "type-level records?" I'm working with singletons and kind-indexed GADTs and the number of type(kind) parameters is getting kinda ugly |
2021-04-07 06:19:23 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds) |
2021-04-07 06:19:54 +0200 | hypercube | (~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) |
2021-04-07 06:22:31 +0200 | <gnumonic> | I guess I could just use nested promoted tuples but that's like... also kind of ugly. |
2021-04-07 06:23:03 +0200 | waleee-cl | (uid373333@gateway/web/irccloud.com/x-nfsshumoaduyxswb) (Quit: Connection closed for inactivity) |
2021-04-07 06:24:31 +0200 | bitmapper | (uid464869@gateway/web/irccloud.com/x-fmeoowlskniejelz) (Quit: Connection closed for inactivity) |
2021-04-07 06:24:33 +0200 | hypercube | (~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Ping timeout: 258 seconds) |
2021-04-07 06:24:43 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-07 06:24:43 +0200 | justanotheruser | (justanothe@gateway/vpn/protonvpn/justanotheruser) |
2021-04-07 06:27:05 +0200 | Eprom | (~Eprom@185.169.233.10) (Remote host closed the connection) |
2021-04-07 06:27:35 +0200 | hypercube | (hypercube@gateway/vpn/protonvpn/hypercube) |
2021-04-07 06:31:44 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) |
2021-04-07 06:34:24 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2021-04-07 06:41:59 +0200 | molehillish | (~molehilli@2600:8800:8d06:1800:6d47:e2d7:e78c:8f4) |
2021-04-07 06:53:55 +0200 | Tario | (~Tario@201.192.165.173) (Ping timeout: 260 seconds) |
2021-04-07 06:54:53 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-07 06:57:29 +0200 | <hololeap> | gnumonic: have you looked at the vinyl package? |
2021-04-07 06:57:47 +0200 | <hololeap> | i haven't really used it but that sounds like its synopsis |
2021-04-07 06:58:16 +0200 | <Axman6> | vinyl is good for records |
2021-04-07 06:59:02 +0200 | tanuki | (~quassel@173.168.178.1) (Ping timeout: 246 seconds) |
2021-04-07 06:59:16 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds) |
2021-04-07 07:00:05 +0200 | <hololeap> | i got lost looking at the docs, tbh, ARec vs Rec... i got lost in they type shenanigans |
2021-04-07 07:00:13 +0200 | Alleria | (~textual@2603-7000-3040-0000-c5e8-81b5-bd49-f2bd.res6.spectrum.com) |
2021-04-07 07:00:36 +0200 | Alleria | Guest36071 |
2021-04-07 07:03:50 +0200 | <hololeap> | and i still don't know what a "universe" is |
2021-04-07 07:04:39 +0200 | Guest36071 | (~textual@2603-7000-3040-0000-c5e8-81b5-bd49-f2bd.res6.spectrum.com) (Ping timeout: 260 seconds) |
2021-04-07 07:05:10 +0200 | <hololeap> | is that anything before the final (->) at the type level? |
2021-04-07 07:06:54 +0200 | <hololeap> | like everything inside the first level of parens: (*) -> * or (* -> *) -> * or ((* -> *) -> *) -> * |
2021-04-07 07:07:52 +0200 | <gnumonic> | Hm. That might work. I'll have to play with it and see. I don't want kind-indexed records of values though (which is what vinyl looks like from the examples but it still might work). I need, uh, like kind-indexed records of kinds? My use case is sorta weird I think |
2021-04-07 07:10:25 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 07:10:34 +0200 | <gnumonic> | Right now i have things like: data SomeThing :: Property1 -> Property2 -> Property3 -> Property 4 (etc) -> Type and it's suuuppeerr annoying if I find I need to add a property. And the number of SingI constraints I have to type is also cumbersome |
2021-04-07 07:11:30 +0200 | <gnumonic> | It'd be nice to just have one composite property that contains all the other ones that I can type-level-lens into. It's not essential but I'd like my type signatures to not be twice as long as my functions :P |
2021-04-07 07:12:10 +0200 | tanuki | (~quassel@173.168.178.1) |
2021-04-07 07:12:26 +0200 | Kaiepi | (~Kaiepi@47.54.252.148) (Ping timeout: 240 seconds) |
2021-04-07 07:13:07 +0200 | lawt | (~lawt@c-73-151-3-92.hsd1.ca.comcast.net) (Read error: Connection reset by peer) |
2021-04-07 07:15:06 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2021-04-07 07:15:12 +0200 | <hololeap> | gnumonic: what is a "Property"? what kind does it have? |
2021-04-07 07:17:51 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) |
2021-04-07 07:18:58 +0200 | <gnumonic> | Well, each of the properties has a different kind. I might as well explain the use case: I'm making an engine for a trading-card game, and the "properties" are attributes of the cards (spell/creature/etc). The point of all this is to write type-level predicates so the compiler yells at me if I try to make a card that "doesn't make sense" |
2021-04-07 07:20:33 +0200 | aVikingTrex | (789a2138@120.154.33.56) |
2021-04-07 07:20:55 +0200 | <hololeap> | can you give an example of this? this sounds like something you could do safely at a lower level |
2021-04-07 07:22:24 +0200 | <hololeap> | i'm not sure GHC supports a list of kinds, which is what i think you would need to implement this |
2021-04-07 07:22:45 +0200 | tanuki | (~quassel@173.168.178.1) (Ping timeout: 252 seconds) |
2021-04-07 07:23:02 +0200 | jj2021 | (~JJ@072-181-126-124.res.spectrum.com) (Remote host closed the connection) |
2021-04-07 07:23:20 +0200 | <hololeap> | so going down a level might be what you need |
2021-04-07 07:26:28 +0200 | <hololeap> | if you're looking to tag a card with a type-level string, this is easy. data Card (n :: Symbol) where ... |
2021-04-07 07:26:39 +0200 | <hololeap> | i'm not sure what more you would need at the type level |
2021-04-07 07:27:39 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-07 07:31:15 +0200 | myShoggoth | (~myShoggot@75.164.73.93) (Ping timeout: 260 seconds) |
2021-04-07 07:32:08 +0200 | aishstha | (1b2212e8@27.34.18.232) |
2021-04-07 07:32:28 +0200 | <aishstha> | hi |
2021-04-07 07:32:34 +0200 | <hololeap> | but even this gets weird if you need a collection of cards with different names |
2021-04-07 07:32:39 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds) |
2021-04-07 07:33:05 +0200 | <aishstha> | which is the best resource to get started with haskell learning? any recommendation |
2021-04-07 07:33:21 +0200 | <hololeap> | @where lyah |
2021-04-07 07:33:21 +0200 | <lambdabot> | http://www.learnyouahaskell.com/ |
2021-04-07 07:33:22 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-04-07 07:33:33 +0200 | <hololeap> | that's a good starting place for most people |
2021-04-07 07:34:03 +0200 | <hololeap> | if you have a specialized background, feel free to let us know |
2021-04-07 07:34:59 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:ccca:5598:c03f:71de) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-07 07:36:46 +0200 | dpl | (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds) |
2021-04-07 07:37:30 +0200 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
2021-04-07 07:39:36 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-04-07 07:40:48 +0200 | b0o | (~b0o@178.239.168.171) |
2021-04-07 07:42:52 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
2021-04-07 07:47:25 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 07:48:32 +0200 | <aishstha> | Thanks @hololeap ! I have 4 years of experience in javascript programming language |
2021-04-07 07:49:00 +0200 | Varis | (~Tadas@unaffiliated/varis) |
2021-04-07 07:49:46 +0200 | <aishstha> | what could be haskell porject for beginner like me ? in haskell |
2021-04-07 07:49:55 +0200 | Rudd0 | (~Rudd0@185.189.115.108) (Ping timeout: 260 seconds) |
2021-04-07 07:50:07 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2021-04-07 07:50:35 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-04-07 07:50:58 +0200 | <aishstha> | 1. from which I can learn from and |
2021-04-07 07:50:59 +0200 | <aishstha> | 2. create on my own. for example in JS, ppl start with todo application |
2021-04-07 07:51:10 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-04-07 07:51:33 +0200 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2021-04-07 07:53:07 +0200 | <wrunt> | aishstha: since you know js, a good starting point may be to write a backend for a simple web application (such as a todo application) in haskell, with the frontend in html/js. |
2021-04-07 07:55:01 +0200 | <wrunt> | later you can rewrite the frontend in haskell too, compiling to js with ghcjs :) |
2021-04-07 07:56:12 +0200 | lawt | (~lawt@c-73-151-3-92.hsd1.ca.comcast.net) |
2021-04-07 07:56:45 +0200 | <aishstha> | wow, didn't knew that we would be able to build API from Haskell and write frontend in haskell. I'll surely work on API for now. thankyou so much for heads up!:D |
2021-04-07 07:58:09 +0200 | <hololeap> | aishstha: this is probably a controversial opinion, but you might want to try Elm as a bridge between Javascript and Haskell |
2021-04-07 07:58:15 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-04-07 07:58:33 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2021-04-07 07:58:41 +0200 | <wrunt> | aishstha: No problem. Yes, I'm playing around with exactly that now, using Obelisk (https://github.com/obsidiansystems/obelisk). It's nice to be able to share the same data structures on the front and back ends. I wouldn't recommend starting out with Obelisk though, as it's the deep end of the pool. |
2021-04-07 08:00:23 +0200 | <aishstha> | thankyou both:) |
2021-04-07 08:01:48 +0200 | <aVikingTrex> | I am tossing up between Haskell or FSharp for making a mobile app, is there any libraries that allow for this in haskell? |
2021-04-07 08:04:54 +0200 | <wrunt> | well the abovementioned obelisk does compile to Android and iOS apps using webkit (as well as having an AWS deployment option), but that's not a native mobile app. |
2021-04-07 08:05:26 +0200 | mariatsji | (~mariatsji@155.84-234-177.customer.lyse.net) |
2021-04-07 08:06:15 +0200 | <aVikingTrex> | Oh interesting! Ill take a look |
2021-04-07 08:06:41 +0200 | stree | (~stree@68.36.8.116) (Ping timeout: 240 seconds) |
2021-04-07 08:06:41 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-04-07 08:06:50 +0200 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
2021-04-07 08:08:10 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-07 08:08:44 +0200 | <Axman6> | native enough though, imo |
2021-04-07 08:09:15 +0200 | <mariatsji> | anyone know how to tell stack that an extra-dep (tar.gz) has some haddock in it? |
2021-04-07 08:11:25 +0200 | <aVikingTrex> | What is the difference between native and 'native enough'? I was thinking that not being a native app just means it was a web app? |
2021-04-07 08:11:36 +0200 | <Axman6> | aishstha: I would not recommend trying to jump into making some sort of app right away when learning Haskell, there's a lot you need to learn (and unlearn) which are important before getting frustrated that Haskell isn't Language X that yyou've used. Haskell is _extremely_ different to JS |
2021-04-07 08:12:34 +0200 | shad0w_ | (a0ca25b1@160.202.37.177) |
2021-04-07 08:12:36 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds) |
2021-04-07 08:12:40 +0200 | <shad0w_> | Hi |
2021-04-07 08:12:48 +0200 | <aishstha> | okay Axman6 |
2021-04-07 08:12:52 +0200 | <Axman6> | Hello shad0w_ |
2021-04-07 08:13:03 +0200 | <wrunt> | aVikingTrex: it's a native app that runs an embedded browser that runs your web app |
2021-04-07 08:13:05 +0200 | <shad0w_> | where can i go to find which GHC version uses what version of Base ? |
2021-04-07 08:13:43 +0200 | <wrunt> | aVikingTrex: I'm unclear at this early stage whether obelisk's backend is on the phone or on your web app server though (or whether both are possible). |
2021-04-07 08:14:09 +0200 | <Axman6> | https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history looks like it has what you want shad0w_ |
2021-04-07 08:14:31 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-07 08:14:34 +0200 | xff0x | (~xff0x@2001:1a81:52ae:6200:6f5d:6ce6:85f6:1960) (Ping timeout: 258 seconds) |
2021-04-07 08:14:39 +0200 | <aVikingTrex> | wrunt Sounds electron-y |
2021-04-07 08:15:14 +0200 | <aVikingTrex> | Just having a read through the read.me now anyway. Looks like a cool project. |
2021-04-07 08:15:34 +0200 | <shad0w_> | Axman6: perfect. |
2021-04-07 08:15:39 +0200 | <shad0w_> | Thanks alot. |
2021-04-07 08:16:02 +0200 | <wrunt> | aVikingTrex: yeah, but see my caveat about it being the deep end. It uses some fancy type-level stuff, is pretty new, and has very little documentation. |
2021-04-07 08:16:07 +0200 | <Axman6> | all good |
2021-04-07 08:16:22 +0200 | xff0x | (~xff0x@2001:1a81:52c6:f900:b4b3:1e00:bd22:9f8d) |
2021-04-07 08:18:00 +0200 | <aVikingTrex> | wrunt Thanks for the heads up. I may go down the fsharp route for now as its more familiar territory. On a side note, ive finished the book "Get Programming with Haskell" and I have worked through the "fp-course" on github. Any recommendations on where to learn from next? |
2021-04-07 08:18:02 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-04-07 08:18:30 +0200 | <Axman6> | time to make some apps! |
2021-04-07 08:19:11 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-04-07 08:19:25 +0200 | <Axman6> | sounds like you've reached the point where you'll run into problems specific to whatever type of app you decide to make, and something like this channel would be a better resource to guide your learning than any particular resource |
2021-04-07 08:20:19 +0200 | stree | (~stree@68.36.8.116) |
2021-04-07 08:20:34 +0200 | FinnElija | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
2021-04-07 08:20:34 +0200 | finn_elija | Guest46027 |
2021-04-07 08:20:34 +0200 | FinnElija | finn_elija |
2021-04-07 08:20:47 +0200 | <aVikingTrex> | Axman6: Time to make some apps, indeed =D |
2021-04-07 08:21:14 +0200 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2021-04-07 08:21:39 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-04-07 08:22:27 +0200 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2021-04-07 08:22:45 +0200 | Guest46027 | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds) |
2021-04-07 08:25:04 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-04-07 08:29:57 +0200 | mariatsji | (~mariatsji@155.84-234-177.customer.lyse.net) () |
2021-04-07 08:30:02 +0200 | shad0w_ | (a0ca25b1@160.202.37.177) (Ping timeout: 240 seconds) |
2021-04-07 08:30:37 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-04-07 08:31:31 +0200 | oish | (~charlie@228.25.169.217.in-addr.arpa) |
2021-04-07 08:31:46 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
2021-04-07 08:34:06 +0200 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds) |
2021-04-07 08:34:52 +0200 | v01d4lph4 | (~v01d4lph4@223.177.183.124) |
2021-04-07 08:34:59 +0200 | v01d4lph4 | (~v01d4lph4@223.177.183.124) (Remote host closed the connection) |
2021-04-07 08:35:33 +0200 | v01d4lph4 | (~v01d4lph4@223.177.183.124) |
2021-04-07 08:36:39 +0200 | ericsagn1 | (~ericsagne@2405:6580:0:5100:b937:4ffa:f3c4:aca7) (Ping timeout: 246 seconds) |
2021-04-07 08:42:39 +0200 | ddellacosta | (~ddellacos@86.106.143.109) |
2021-04-07 08:44:02 +0200 | aishstha | (1b2212e8@27.34.18.232) (Ping timeout: 240 seconds) |
2021-04-07 08:44:20 +0200 | molehillish | (~molehilli@2600:8800:8d06:1800:6d47:e2d7:e78c:8f4) (Remote host closed the connection) |
2021-04-07 08:45:31 +0200 | mkDoku | (~TheMule@aftr-37-201-195-134.unity-media.net) |
2021-04-07 08:47:08 +0200 | molehillish | (~molehilli@2600:8800:8d06:1800:6d47:e2d7:e78c:8f4) |
2021-04-07 08:47:19 +0200 | ddellacosta | (~ddellacos@86.106.143.109) (Ping timeout: 260 seconds) |
2021-04-07 08:49:13 +0200 | ericsagn1 | (~ericsagne@2405:6580:0:5100:ef73:96e:9562:7f87) |
2021-04-07 08:53:30 +0200 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-hmqewdshtgoiujbp) |
2021-04-07 08:55:09 +0200 | Kaiepi | (~Kaiepi@47.54.252.148) |
2021-04-07 09:00:07 +0200 | <solvr> | . |
2021-04-07 09:00:11 +0200 | ajc | (~ajc@69.231.232.79) (Ping timeout: 240 seconds) |
2021-04-07 09:03:37 +0200 | michalz | (~user@185.246.204.39) |
2021-04-07 09:05:20 +0200 | hypercube | (hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 265 seconds) |
2021-04-07 09:05:46 +0200 | dpl | (~dpl@77-121-78-163.chn.volia.net) |
2021-04-07 09:07:10 +0200 | hypercube | (hypercube@gateway/vpn/protonvpn/hypercube) |
2021-04-07 09:07:22 +0200 | coot | (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) |
2021-04-07 09:07:46 +0200 | kiltzman | (~k1ltzman@195.189.99.96) (Ping timeout: 240 seconds) |
2021-04-07 09:07:46 +0200 | RoguePointer | (~jigen@unaffiliated/roguepointer) (Ping timeout: 240 seconds) |
2021-04-07 09:08:03 +0200 | kiltzman | (~k1ltzman@195.189.99.96) |
2021-04-07 09:08:43 +0200 | dsrt^ | (dsrt@ip98-184-89-2.mc.at.cox.net) () |
2021-04-07 09:08:45 +0200 | RoguePointer | (~jigen@94.177.235.178) |
2021-04-07 09:08:45 +0200 | RoguePointer | (~jigen@94.177.235.178) (Changing host) |
2021-04-07 09:08:45 +0200 | RoguePointer | (~jigen@unaffiliated/roguepointer) |
2021-04-07 09:09:31 +0200 | Sorny | (~Sornaensi@077213203030.dynamic.telenor.dk) |
2021-04-07 09:11:17 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 09:11:17 +0200 | Aquazi | (uid312403@gateway/web/irccloud.com/x-gutayqhfktjbgela) |
2021-04-07 09:11:22 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) |
2021-04-07 09:11:55 +0200 | MichaelFreeman | (2d136c0c@45-19-108-12.lightspeed.tukrga.sbcglobal.net) |
2021-04-07 09:12:51 +0200 | <MichaelFreeman> | Hi. I tried to save a file in VS Code as Haskell, and it became .hsig file. How do I make it save as .hs file? |
2021-04-07 09:13:24 +0200 | <Axman6> | Save As and rename it, or in the file list (cmd-B) right click on it and rename it |
2021-04-07 09:14:05 +0200 | <Uniaika> | yeah it's a Backpack stuff |
2021-04-07 09:14:50 +0200 | <MichaelFreeman> | So it is normal it saves as hsig and I should just manually rename it to hs? |
2021-04-07 09:15:09 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 09:15:22 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 260 seconds) |
2021-04-07 09:15:29 +0200 | <Axman6> | I wouldn't say normal, I would say annoying - was the language set to Haskell? |
2021-04-07 09:15:46 +0200 | gnumonic | (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2021-04-07 09:15:49 +0200 | <MichaelFreeman> | Yes, when I save I chose "Haskell". It's np, I was just wondering if I set things up wrong |
2021-04-07 09:16:06 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2021-04-07 09:17:10 +0200 | <Uniaika> | well that's weird, because .hsig files serve a very specific purpose |
2021-04-07 09:17:15 +0200 | <Uniaika> | they're not "normal code" |
2021-04-07 09:17:35 +0200 | vs^ | (vs@ip98-184-89-2.mc.at.cox.net) |
2021-04-07 09:18:03 +0200 | Sornaensis | (~Sornaensi@79.142.232.102) |
2021-04-07 09:18:04 +0200 | Varis | (~Tadas@unaffiliated/varis) |
2021-04-07 09:18:15 +0200 | <MichaelFreeman> | I see. Maybe I messed up on my installation then. I go to File>Save As>Save as type: Haskell. Then result is .hsig file. I see the option for Literate Haskell and that gets me .lhs file. None of the options I found result in .hs file |
2021-04-07 09:18:23 +0200 | thc202 | (~thc202@unaffiliated/thc202) |
2021-04-07 09:19:01 +0200 | <Axman6> | nah that just seems to be what VS code does, must be a problem with the Haskell extension |
2021-04-07 09:19:37 +0200 | <MichaelFreeman> | Ah okay ty for the explanation:) it was driving me nuts so I had to join IRC lol |
2021-04-07 09:20:55 +0200 | Sorny | (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 260 seconds) |
2021-04-07 09:21:23 +0200 | ddellacosta | (~ddellacos@86.106.143.57) |
2021-04-07 09:21:35 +0200 | <Uniaika> | MichaelFreeman: open a ticker at the extension's issue tracker :) |
2021-04-07 09:21:39 +0200 | <Uniaika> | it's not you |
2021-04-07 09:24:45 +0200 | gnumonic | (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) |
2021-04-07 09:26:42 +0200 | ddellacosta | (~ddellacos@86.106.143.57) (Ping timeout: 268 seconds) |
2021-04-07 09:27:31 +0200 | mikoto-chan | (~anass@gateway/tor-sasl/mikoto-chan) |
2021-04-07 09:27:38 +0200 | mikoto-chan | (~anass@gateway/tor-sasl/mikoto-chan) (Client Quit) |
2021-04-07 09:27:50 +0200 | mikoto-chan | (~anass@gateway/tor-sasl/mikoto-chan) |
2021-04-07 09:28:08 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 09:29:38 +0200 | raym | (~ray@45.64.220.78) |
2021-04-07 09:29:42 +0200 | aVikingTrex | (789a2138@120.154.33.56) (Ping timeout: 240 seconds) |
2021-04-07 09:31:30 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
2021-04-07 09:32:06 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) |
2021-04-07 09:32:43 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
2021-04-07 09:32:47 +0200 | typetetris | (uid275937@gateway/web/irccloud.com/x-remmslgdlkipcjiq) |
2021-04-07 09:32:56 +0200 | kiweun | (~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) |
2021-04-07 09:34:10 +0200 | kmein | (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao) |
2021-04-07 09:34:28 +0200 | kmein | (~weechat@static.173.83.99.88.clients.your-server.de) |
2021-04-07 09:34:34 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) |
2021-04-07 09:35:02 +0200 | motersen_ | motersen |
2021-04-07 09:37:19 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
2021-04-07 09:37:43 +0200 | kiweun | (~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds) |
2021-04-07 09:37:52 +0200 | molehillish | (~molehilli@2600:8800:8d06:1800:6d47:e2d7:e78c:8f4) (Remote host closed the connection) |
2021-04-07 09:38:06 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) |
2021-04-07 09:39:24 +0200 | srk | (~sorki@unaffiliated/srk) |
2021-04-07 09:40:54 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) |
2021-04-07 09:41:21 +0200 | <solvr> | In Haskell can I model a change to a big array by putting a small array of "changes" in front of it, which shadows entries in the big array |
2021-04-07 09:41:28 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
2021-04-07 09:42:47 +0200 | <Uniaika> | solvr: if your "array" allows for duplicates, it's not a good idea :P |
2021-04-07 09:42:48 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) |
2021-04-07 09:43:38 +0200 | <solvr> | Uniaika, let's say I have a list of 1 million items. |
2021-04-07 09:43:48 +0200 | <solvr> | Uniaika, I also have a map where I map index > value |
2021-04-07 09:44:10 +0200 | <solvr> | Uniaika when I need to read a value I first check the map. If it's there I read from there, if not, I go back to the array |
2021-04-07 09:44:13 +0200 | <solvr> | the list |
2021-04-07 09:44:19 +0200 | haskellstudent | (~quassel@213-225-9-45.nat.highway.a1.net) |
2021-04-07 09:44:32 +0200 | <solvr> | Uniaika, this allows me to keep changes cheap without redoing the whole list |
2021-04-07 09:44:52 +0200 | <Uniaika> | are you describing a cache? |
2021-04-07 09:45:23 +0200 | <solvr> | Uniaika it has similar topology as a cache, but accessing the main array is not slower. Rather, it just has "old" state |
2021-04-07 09:45:26 +0200 | <solvr> | That's not valid |
2021-04-07 09:45:38 +0200 | <solvr> | The updates are encoded in the map |
2021-04-07 09:46:05 +0200 | <Uniaika> | btw, you're using "array" and "list" interchangeably, but I assume you realise the differences between those two data-structures ? |
2021-04-07 09:46:12 +0200 | <solvr> | Sorry, habit |
2021-04-07 09:46:36 +0200 | <Uniaika> | no need to be sorry, I just wanted more precisions :P |
2021-04-07 09:46:50 +0200 | <Uniaika> | 1 million items in an array can be expensive ;) |
2021-04-07 09:47:00 +0200 | <solvr> | :) |
2021-04-07 09:48:11 +0200 | MrRedstoner | (c29af484@194.154.244.132) |
2021-04-07 09:49:10 +0200 | <MichaelFreeman> | Uniaika Sorry I am a complete noob. Where do I type do this in VS Code? Execute in the root of your project the command `haskell-language-server --debug .` |
2021-04-07 09:49:42 +0200 | yoneda | (~mike@193.206.102.122) (Quit: leaving) |
2021-04-07 09:49:45 +0200 | <Uniaika> | solvr: do you wish to keep an initial state and only encode / store changes then? or just periodically update the array and keep the map as a fresher source of data? |
2021-04-07 09:50:05 +0200 | <Uniaika> | MichaelFreeman: https://github.com/haskell/vscode-haskell/issues |
2021-04-07 09:50:29 +0200 | <solvr> | Uniaika, essentially I'm trying to avoid modify/rebuild the array frequently. |
2021-04-07 09:51:02 +0200 | <MrRedstoner> | So I just installed haskell per https://www.haskell.org/platform/windows.html and running "cabal v2-repl" in a fresh cmd.exe I get "cabal.exe: The program 'ghc' version >=7.0.1 is required but it could not be found." Thing is, in C:\ProgramData\chocolatey\bin\ where the cabal executable is there are also ghc-9.0.1.exe and ghci-9.0.1.exe and the |
2021-04-07 09:51:03 +0200 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2021-04-07 09:51:03 +0200 | <MrRedstoner> | directory is in PATH. So I have no idea why it doesn't work for me |
2021-04-07 09:51:06 +0200 | <solvr> | Uniaika, also probably keep it around for other parallel code reading its state as-is without the new "transactional" changes |
2021-04-07 09:51:31 +0200 | <MichaelFreeman> | Ty I was in the wrong place ^^ |
2021-04-07 09:55:54 +0200 | <Uniaika> | solvr: ever thought of doing some hash consing and having a pointer table? |
2021-04-07 09:56:00 +0200 | kritzefitz | (~kritzefit@p548c9398.dip0.t-ipconnect.de) |
2021-04-07 09:56:14 +0200 | ddellacosta | (~ddellacos@86.106.143.148) |
2021-04-07 09:58:41 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
2021-04-07 09:59:38 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) |
2021-04-07 10:00:50 +0200 | v01d4lph4 | (~v01d4lph4@223.177.183.124) (Remote host closed the connection) |
2021-04-07 10:00:52 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
2021-04-07 10:01:16 +0200 | ddellacosta | (~ddellacos@86.106.143.148) (Ping timeout: 260 seconds) |
2021-04-07 10:01:49 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) |
2021-04-07 10:01:49 +0200 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer) |
2021-04-07 10:03:09 +0200 | mkDoku | (~TheMule@aftr-37-201-195-134.unity-media.net) (Quit: Lost terminal) |
2021-04-07 10:03:58 +0200 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) |
2021-04-07 10:04:00 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
2021-04-07 10:04:08 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) |
2021-04-07 10:04:10 +0200 | gitgood | (~gitgood@80-44-12-39.dynamic.dsl.as9105.com) (Remote host closed the connection) |
2021-04-07 10:05:59 +0200 | Codaraxis | (Codaraxis@gateway/vpn/mullvad/codaraxis) |
2021-04-07 10:07:08 +0200 | hendursa1 | (~weechat@gateway/tor-sasl/hendursaga) |
2021-04-07 10:08:39 +0200 | Codaraxis_ | (~Codaraxis@141.98.255.144) (Ping timeout: 265 seconds) |
2021-04-07 10:09:33 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds) |
2021-04-07 10:10:22 +0200 | MrRedstoner | (c29af484@194.154.244.132) (Quit: Connection closed) |
2021-04-07 10:13:14 +0200 | <solvr> | Uniaika, probably |
2021-04-07 10:14:46 +0200 | jakalx | (~jakalx@base.jakalx.net) ("Error from remote client") |
2021-04-07 10:15:25 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-04-07 10:16:17 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 10:17:09 +0200 | v01d4lph4 | (~v01d4lph4@223.177.183.124) |
2021-04-07 10:17:59 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
2021-04-07 10:18:16 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) |
2021-04-07 10:21:26 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-07 10:21:38 +0200 | malumore | (~malumore@151.62.125.43) |
2021-04-07 10:21:59 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
2021-04-07 10:22:00 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 10:22:06 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) |
2021-04-07 10:22:11 +0200 | v01d4lph4 | (~v01d4lph4@223.177.183.124) (Ping timeout: 268 seconds) |
2021-04-07 10:23:41 +0200 | oish | (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 240 seconds) |
2021-04-07 10:24:36 +0200 | <solvr> | Can I have multiple independent logical Haskell "processes" that communicate with each other using monads etc.? |
2021-04-07 10:24:52 +0200 | <solvr> | I mean I can literally have multiple processes, but I mean something more like Erlang |
2021-04-07 10:26:43 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
2021-04-07 10:27:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-04-07 10:27:29 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 10:28:17 +0200 | stree | (~stree@68.36.8.116) (Ping timeout: 252 seconds) |
2021-04-07 10:29:15 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2021-04-07 10:30:09 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-07 10:30:11 +0200 | <dibblego> | Uniaika: advise, ignore |
2021-04-07 10:31:08 +0200 | v01d4lph4 | (~v01d4lph4@223.177.183.124) |
2021-04-07 10:31:42 +0200 | fendor | (~fendor@178.165.131.170.wireless.dyn.drei.com) |
2021-04-07 10:32:11 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2021-04-07 10:33:20 +0200 | <Uniaika> | hahaha |
2021-04-07 10:33:34 +0200 | <Uniaika> | solvr: no you can't have something like Erlang, you'll have to do things more manually |
2021-04-07 10:33:48 +0200 | <Uniaika> | I personally found UnagiChan very nice (all things considered) |
2021-04-07 10:33:50 +0200 | <Uniaika> | dibblego: :P |
2021-04-07 10:33:58 +0200 | jluttine | (~jluttine@85-23-66-6.bb.dnainternet.fi) (Ping timeout: 240 seconds) |
2021-04-07 10:34:09 +0200 | <dibblego> | we had a round of this inanity earlier today — I'll ban if it continues |
2021-04-07 10:35:07 +0200 | <Uniaika> | ah |
2021-04-07 10:35:08 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds) |
2021-04-07 10:35:10 +0200 | <Uniaika> | very well then |
2021-04-07 10:35:16 +0200 | <dmwit> | Yes, you can store an array and its changes. The cost is that indexing becomes O(changelog length). Yes, you can have multiple independent logical "processes", it is called threading and it's a newish technology, only been around about 30 years or so. |
2021-04-07 10:35:53 +0200 | lawt | (~lawt@c-73-151-3-92.hsd1.ca.comcast.net) (Remote host closed the connection) |
2021-04-07 10:35:58 +0200 | kuribas | (~user@ptr-25vy0i7wi7nt82wi9fp.18120a2.ip6.access.telenet.be) |
2021-04-07 10:36:30 +0200 | b0o | (~b0o@178.239.168.171) (Remote host closed the connection) |
2021-04-07 10:37:29 +0200 | vv8 | (~egp_@128-71-69-136.broadband.corbina.ru) (Remote host closed the connection) |
2021-04-07 10:38:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-04-07 10:38:24 +0200 | supercoven | (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) |
2021-04-07 10:38:56 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 10:41:01 +0200 | stree | (~stree@68.36.8.116) |
2021-04-07 10:41:52 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-07 10:43:34 +0200 | guilhermeblanco | (~guilherme@185.204.1.185) |
2021-04-07 10:48:30 +0200 | <solvr> | dminuoso, threading isn't what I had in mind. |
2021-04-07 10:48:39 +0200 | <solvr> | dmwit * |
2021-04-07 10:49:39 +0200 | __minoru__shirae | (~shiraeesh@5.101.59.224) |
2021-04-07 10:50:28 +0200 | CrabMan | (phi-matrix@gateway/shell/matrix.org/x-lhuyyowodqgbbhrc) (Ping timeout: 248 seconds) |
2021-04-07 10:50:28 +0200 | toasty_avocado[m | (toastyavoc@gateway/shell/matrix.org/x-fodvrwdskrlczeao) (Ping timeout: 248 seconds) |
2021-04-07 10:50:28 +0200 | verlet64_ | (sid261276@gateway/web/irccloud.com/x-uqhhgyipieuslvmq) (Ping timeout: 248 seconds) |
2021-04-07 10:50:28 +0200 | cbarrett | (sid192934@adium/cbarrett) (Ping timeout: 248 seconds) |
2021-04-07 10:50:28 +0200 | mcfilib | (sid302703@gateway/web/irccloud.com/x-cghskpdzyxvcqslm) (Ping timeout: 248 seconds) |
2021-04-07 10:50:38 +0200 | mcfilib | (sid302703@gateway/web/irccloud.com/x-juvammsyvplemvln) |
2021-04-07 10:50:59 +0200 | affinespaces | (sid327561@gateway/web/irccloud.com/x-rjgjrlilmkubkxmw) (Ping timeout: 248 seconds) |
2021-04-07 10:51:00 +0200 | blackriversoftwa | (sid364914@gateway/web/irccloud.com/x-elfvrucbyuzljosj) (Ping timeout: 248 seconds) |
2021-04-07 10:51:00 +0200 | betawaffle | (sid2730@gateway/web/irccloud.com/x-xklkobbintwtttud) (Ping timeout: 248 seconds) |
2021-04-07 10:51:00 +0200 | ^[ | (sid43445@ircpuzzles/2015/april-fools/sixth/zgrep) (Ping timeout: 248 seconds) |
2021-04-07 10:51:00 +0200 | PotatoGim | (sid99505@gateway/web/irccloud.com/x-yjqtuqlvecuserrl) (Ping timeout: 248 seconds) |
2021-04-07 10:51:00 +0200 | melkor | (~melkor@2a02:2b88:2:1::5b34:1) (Ping timeout: 248 seconds) |
2021-04-07 10:51:08 +0200 | <merijn> | Uniaika: To be fair, you *can* have something like erlang. You just have to build all the things first :p |
2021-04-07 10:51:18 +0200 | melkor | (~melkor@2a02:2b88:2:1::5b34:1) |
2021-04-07 10:51:32 +0200 | siraben | (sirabenmat@gateway/shell/matrix.org/x-rwrxnmwjnxipkdxm) (Ping timeout: 248 seconds) |
2021-04-07 10:51:32 +0200 | lisq | (~quassel@lis.moe) (Ping timeout: 248 seconds) |
2021-04-07 10:51:32 +0200 | stylewarning | (stylewarni@gateway/web/irccloud.com/x-waxurshkiqdvpdgd) (Ping timeout: 248 seconds) |
2021-04-07 10:51:32 +0200 | ProofTechnique | (sid79547@gateway/web/irccloud.com/x-yarfypultqitkxyl) (Ping timeout: 248 seconds) |
2021-04-07 10:51:32 +0200 | dsal | (sid13060@gateway/web/irccloud.com/x-xpwuybgiyaqhwhal) (Ping timeout: 248 seconds) |
2021-04-07 10:51:32 +0200 | nikola1 | (~nikola@2a03:b0c0:2:d0::dc2:c001) (Ping timeout: 248 seconds) |
2021-04-07 10:51:32 +0200 | mikeplus64 | (~mike@unaffiliated/mikeplus64) (Ping timeout: 248 seconds) |
2021-04-07 10:51:38 +0200 | <Uniaika> | merijn: hahaha |
2021-04-07 10:51:41 +0200 | <merijn> | The foundation to build most of the Erlang patterns exist in GHC. We just don't have something like the OTP actually implementing the nice high level stuff |
2021-04-07 10:51:48 +0200 | <Uniaika> | merijn: goodbye, I don't have twenty years to pour into that :P |
2021-04-07 10:52:04 +0200 | kadobanana | (kadoban9he@gateway/shell/matrix.org/x-mbsahwnxhqdezbol) (Ping timeout: 248 seconds) |
2021-04-07 10:52:04 +0200 | PtxDK | (~quassel@2a01:7c8:aac3:591:5054:ff:fe3d:cac6) (Ping timeout: 248 seconds) |
2021-04-07 10:52:08 +0200 | <merijn> | I do, I just don't have the money ;) |
2021-04-07 10:52:27 +0200 | PtxDK | (~quassel@2a01:7c8:aac3:591:5054:ff:fe3d:cac6) |
2021-04-07 10:52:33 +0200 | <solvr> | "The biggest functional programs tend to be much smaller than the biggest OOP programs" |
2021-04-07 10:52:33 +0200 | lisq | (~quassel@lis.moe) |
2021-04-07 10:52:46 +0200 | cbarrett | (sid192934@adium/cbarrett) |
2021-04-07 10:52:52 +0200 | affinespaces | (sid327561@gateway/web/irccloud.com/x-icxdwokgcwqtfedf) |
2021-04-07 10:52:53 +0200 | PotatoGim | (sid99505@gateway/web/irccloud.com/x-dzlvgtubsxazdshr) |
2021-04-07 10:52:57 +0200 | betawaffle | (sid2730@gateway/web/irccloud.com/x-bspashiqwxfauqlr) |
2021-04-07 10:53:11 +0200 | ^[ | (sid43445@ircpuzzles/2015/april-fools/sixth/zgrep) |
2021-04-07 10:53:15 +0200 | <solvr> | This is why every FP needs "something like Erlang" |
2021-04-07 10:53:18 +0200 | nikola1 | (~nikola@2a03:b0c0:2:d0::dc2:c001) |
2021-04-07 10:53:20 +0200 | ProofTechnique | (sid79547@gateway/web/irccloud.com/x-icnhdahhvfdpvqrx) |
2021-04-07 10:53:21 +0200 | blackriversoftwa | (sid364914@gateway/web/irccloud.com/x-nqkjcymscowwdvxo) |
2021-04-07 10:54:03 +0200 | <kuribas> | cloudhaskell? |
2021-04-07 10:54:08 +0200 | oish | (~charlie@228.25.169.217.in-addr.arpa) |
2021-04-07 10:54:23 +0200 | stylewarning | (stylewarni@gateway/web/irccloud.com/x-ndqjmblwfxhbhjaa) |
2021-04-07 10:54:23 +0200 | dsal | (sid13060@gateway/web/irccloud.com/x-geyuvypaleievkbk) |
2021-04-07 10:55:02 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) |
2021-04-07 10:55:51 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-04-07 10:56:02 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-04-07 10:57:15 +0200 | <merijn> | Cloudhaskell is very different, imo |
2021-04-07 10:57:21 +0200 | Franciman | (~francesco@host-87-20-23-243.retail.telecomitalia.it) |
2021-04-07 10:58:08 +0200 | __monty__ | (~toonn@unaffiliated/toonn) |
2021-04-07 10:59:29 +0200 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-hmqewdshtgoiujbp) (Quit: Connection closed for inactivity) |
2021-04-07 11:00:07 +0200 | Alleria | (~textual@2603-7000-3040-0000-c5e8-81b5-bd49-f2bd.res6.spectrum.com) |
2021-04-07 11:00:13 +0200 | timCF | (~i.tkachuk@200-149-20-81.sta.estpak.ee) |
2021-04-07 11:00:31 +0200 | Alleria | Guest65126 |
2021-04-07 11:00:32 +0200 | sedeki | (~textual@unaffiliated/sedeki) |
2021-04-07 11:01:07 +0200 | jluttine | (~jluttine@85-23-66-6.bb.dnainternet.fi) |
2021-04-07 11:02:45 +0200 | mikeplus64 | (~mike@2406:d500:6:1:216:3cff:fe36:651) |
2021-04-07 11:02:45 +0200 | mikeplus64 | (~mike@2406:d500:6:1:216:3cff:fe36:651) (Changing host) |
2021-04-07 11:02:45 +0200 | mikeplus64 | (~mike@unaffiliated/mikeplus64) |
2021-04-07 11:03:03 +0200 | solvr | (57e3c46d@87.227.196.109) (Quit: Connection closed) |
2021-04-07 11:03:30 +0200 | CrabMan | (phi-matrix@gateway/shell/matrix.org/x-ywlomtmrmvdmngay) |
2021-04-07 11:03:50 +0200 | <timCF> | Hello! Any users of gold linker instead of standard ld in Haskell projects? I'm getting very strange situation - I have a packages A and B. Package B depends on A. I'm using gold linker in both (through ghc flags in package.yaml and cabal files). Package A is a library, no problems with builds and tests. But when I'm trying to compile package B which depends on A - I'm getting linker error |
2021-04-07 11:03:52 +0200 | verlet64_ | (sid261276@gateway/web/irccloud.com/x-qzcgtsnaanuchemn) |
2021-04-07 11:03:56 +0200 | <timCF> | "binutils-2.31.1/bin/ld.gold: --hash-size=31: unknown options". In cases where I'm using gold linker only in package B - it works fine. Any suggestions what is going on? I'm using GHC 8.6.5 |
2021-04-07 11:04:29 +0200 | shalokshalom | (~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106) (Quit: https://quassel-irc.org - Komfortabler Chat. Überall.) |
2021-04-07 11:04:46 +0200 | Guest65126 | (~textual@2603-7000-3040-0000-c5e8-81b5-bd49-f2bd.res6.spectrum.com) (Ping timeout: 258 seconds) |
2021-04-07 11:05:31 +0200 | arahael1 | (~arahael@203.221.197.144) |
2021-04-07 11:05:58 +0200 | <merijn> | timCF: Presumably because GHC isn't aware you are using gold and thus passing options it doesn't know/understand? |
2021-04-07 11:06:17 +0200 | <merijn> | How are you making it use gold? |
2021-04-07 11:07:08 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-07 11:07:22 +0200 | arahael | (~arahael@121-44-10-207.tpgi.com.au) (Ping timeout: 260 seconds) |
2021-04-07 11:08:11 +0200 | kritzefitz | (~kritzefit@p548c9398.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-04-07 11:09:09 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:e8b5:adb7:6f5d:778c) |
2021-04-07 11:10:22 +0200 | kozowu | (uid44796@gateway/web/irccloud.com/x-roldfjkcrdyqvqea) |
2021-04-07 11:12:08 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds) |
2021-04-07 11:15:21 +0200 | <timCF> | merijn: I'm using `ghc-options: -optl-fuse-ld=gold` and `ld-options: -fuse-ld=gold`. It works in package A when I'm guilding it standalone, and I see how faster it is if compare with just ld. I have the same flags in package B, but linker fails with error I mentioned |
2021-04-07 11:16:00 +0200 | siraben | (sirabenmat@gateway/shell/matrix.org/x-mcznkywpxwnunewb) |
2021-04-07 11:17:34 +0200 | Mik01010101 | (511495c8@200-149-20-81.sta.estpak.ee) |
2021-04-07 11:19:27 +0200 | hypercube | (hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 260 seconds) |
2021-04-07 11:20:45 +0200 | kritzefitz | (~kritzefit@2003:5b:203b:200::10:49) |
2021-04-07 11:21:20 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9510b1ed14260384c0cf.dip0.t-ipconnect.de) |
2021-04-07 11:22:07 +0200 | RusAlex | (~Chel@unaffiliated/rusalex) (Ping timeout: 265 seconds) |
2021-04-07 11:24:08 +0200 | Feuermagier | (~Feuermagi@213.178.26.41) |
2021-04-07 11:24:35 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
2021-04-07 11:26:17 +0200 | vicfred | (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving) |
2021-04-07 11:26:26 +0200 | <[exa]> | Is there some GHC option that disables printing out the erroring code samples, and just prints out the error? |
2021-04-07 11:26:46 +0200 | <[exa]> | s/samples/parts |
2021-04-07 11:30:00 +0200 | <maerwald> | optl-fuse-gold has never worked for me, I always had to either change the binary symlink or the ghc config file |
2021-04-07 11:30:44 +0200 | <maerwald> | e.g. .ghcup/ghc/8.6.5/lib/ghc-8.6.5/settings |
2021-04-07 11:30:56 +0200 | kadobanana | (kadoban9he@gateway/shell/matrix.org/x-wrfgidxkulkzvtcl) |
2021-04-07 11:32:03 +0200 | cads | (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 260 seconds) |
2021-04-07 11:34:37 +0200 | toasty_avocado[m | (toastyavoc@gateway/shell/matrix.org/x-hpiftxyehqckftdi) |
2021-04-07 11:35:46 +0200 | sedeki | (~textual@unaffiliated/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
2021-04-07 11:35:47 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
2021-04-07 11:35:55 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) |
2021-04-07 11:39:16 +0200 | ddellacosta | (~ddellacos@86.106.143.200) |
2021-04-07 11:42:25 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 11:44:12 +0200 | ddellacosta | (~ddellacos@86.106.143.200) (Ping timeout: 268 seconds) |
2021-04-07 11:44:47 +0200 | RusAlex | (~Chel@unaffiliated/rusalex) |
2021-04-07 11:46:18 +0200 | Mik01010101 | (511495c8@200-149-20-81.sta.estpak.ee) (Quit: Connection closed) |
2021-04-07 11:47:07 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2021-04-07 11:48:05 +0200 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) |
2021-04-07 11:50:08 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) (Remote host closed the connection) |
2021-04-07 11:55:19 +0200 | supercoven_ | (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) |
2021-04-07 11:56:37 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-07 11:56:50 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-04-07 11:57:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 11:57:41 +0200 | howdoi | (uid224@gateway/web/irccloud.com/x-unpvrllwptrnqqhb) (Quit: Connection closed for inactivity) |
2021-04-07 11:58:26 +0200 | supercoven | (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Ping timeout: 240 seconds) |
2021-04-07 12:01:42 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) |
2021-04-07 12:02:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-07 12:02:36 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 12:03:41 +0200 | aVikingTrex | (789a2138@120.154.33.56) |
2021-04-07 12:03:57 +0200 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2021-04-07 12:04:42 +0200 | average | (uid473595@gateway/web/irccloud.com/x-emhfocwfjlhcyvsq) |
2021-04-07 12:05:09 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) |
2021-04-07 12:07:28 +0200 | Synthetica | (uid199651@gateway/web/irccloud.com/x-holtfbrhdrkajcob) |
2021-04-07 12:09:44 +0200 | Rudd0 | (~Rudd0@185.189.115.103) |
2021-04-07 12:14:39 +0200 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-yqepddmznaiakcld) |
2021-04-07 12:18:38 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) (Remote host closed the connection) |
2021-04-07 12:19:18 +0200 | ddellacosta | (~ddellacos@86.106.143.10) |
2021-04-07 12:19:59 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2021-04-07 12:20:20 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2021-04-07 12:24:28 +0200 | ddellacosta | (~ddellacos@86.106.143.10) (Ping timeout: 265 seconds) |
2021-04-07 12:26:19 +0200 | <fendor> | [exa], you mean these caret diagnostics that highlight the code? |
2021-04-07 12:27:18 +0200 | <[exa]> | yes |
2021-04-07 12:27:29 +0200 | <[exa]> | no idea what it's even called |
2021-04-07 12:28:36 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 12:29:52 +0200 | <merijn> | [exa]: there's a ton of flags to twiddle GHC's error output |
2021-04-07 12:30:08 +0200 | <merijn> | [exa]: I recommend browsing the GHC flag reference |
2021-04-07 12:30:10 +0200 | <[exa]> | I found just -ferror-spans |
2021-04-07 12:30:30 +0200 | <[exa]> | which does something different |
2021-04-07 12:30:46 +0200 | <[exa]> | like, I already went through the flags but failed, that's why I'm asking :] |
2021-04-07 12:32:31 +0200 | <merijn> | hmmm |
2021-04-07 12:32:36 +0200 | <merijn> | Maybe -dppr-user-length ? |
2021-04-07 12:32:53 +0200 | <merijn> | [exa]: If not, then you know what your first GHC contribution can be ;) |
2021-04-07 12:33:11 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2021-04-07 12:34:56 +0200 | <tomsmeding> | [exa]: | grep -v '^ *|' | grep -v '\^\^\^' |
2021-04-07 12:35:19 +0200 | <merijn> | tbh, more control over error output would be nice anyway |
2021-04-07 12:35:56 +0200 | <tomsmeding> | perhaps that will come with the internal diagnostics refactors that are currently going on |
2021-04-07 12:38:01 +0200 | <Gurkenglas> | I want to minimize a function with multiple inputs. Should I use Haskell? Does one use the same libraries for this that one uses to train a neural network? |
2021-04-07 12:39:24 +0200 | <merijn> | And the error reporting logic is (well, was a few years ago, at least) fairly hackable |
2021-04-07 12:39:48 +0200 | <merijn> | So I don't think "inhibit code sample from errors" would be a hard or controversial feature |
2021-04-07 12:40:18 +0200 | <merijn> | Gurkenglas: Well, depends a bit on "do you know *anything* about the function?" |
2021-04-07 12:41:01 +0200 | <tomsmeding> | Gurkenglas: does your function have a computable derivative (and do you have it written out or do you need automatic differentiation)? If so, would gradient descent be sufficient? Or would you want a genetic algorithm, or some other specific algorithm? Or do you want a batteries-included optimisation toolkit that figures it all out by itself? |
2021-04-07 12:41:12 +0200 | <merijn> | There's a whole numerical theory field of maths on analysing things and things like linear solver, derivatives, etc. |
2021-04-07 12:41:33 +0200 | <Gurkenglas> | tomsmeding, the latter |
2021-04-07 12:41:54 +0200 | <tomsmeding> | Gurkenglas: then find the toolkit, and choose the language that the toolkit supports :p |
2021-04-07 12:41:56 +0200 | <tomsmeding> | not the other way round |
2021-04-07 12:42:16 +0200 | <merijn> | Yeah, that |
2021-04-07 12:42:59 +0200 | <Gurkenglas> | merijn, each function is specified by a short definition, not necessarily constructive (because "min" is an allowed term in the hypothetical DSL). If the toolkit tries solving it analytically first thats fine |
2021-04-07 12:43:03 +0200 | <tomsmeding> | and note that which toolkit is best depends on the properties of your function |
2021-04-07 12:43:04 +0200 | <fendor> | [exa], maybe you want -fno-caret-diagnostics? |
2021-04-07 12:43:16 +0200 | lotuseater | (~user@p200300e787030b0000a24874ceb5ca88.dip0.t-ipconnect.de) |
2021-04-07 12:43:28 +0200 | <tomsmeding> | Gurkenglas: have you tried mathematica or wolfram-alpha? |
2021-04-07 12:43:41 +0200 | <Gurkenglas> | tomsmeding, surely there's a toolkit thats worse only by a constant than the others because it calls them? |
2021-04-07 12:43:42 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 12:43:45 +0200 | <tomsmeding> | or matlab or maple or |
2021-04-07 12:44:01 +0200 | johs | (sid246410@gateway/web/irccloud.com/x-vwtcqxowszipwyyc) () |
2021-04-07 12:44:19 +0200 | <tomsmeding> | Gurkenglas: no algorithm can minimise all functions optimally, which approach is best depends on what you know about your function |
2021-04-07 12:44:29 +0200 | <tomsmeding> | and note that a combination of algorithms is still an algorithm |
2021-04-07 12:44:50 +0200 | <merijn> | Something, something, No Free Lunch theorem |
2021-04-07 12:45:01 +0200 | <Gurkenglas> | Ideally, the approach would leave me able to help when the toolkit doesn't find an answer alone, and the language wouldn't drive me insane when I build a job on that. |
2021-04-07 12:45:34 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-07 12:46:00 +0200 | <Gurkenglas> | oh i suppose there is actually no better way to combine two toolkits than running them both if one makes absolutely no assumptions about the function (or set of functions) |
2021-04-07 12:46:37 +0200 | <tomsmeding> | Gurkenglas: the function that is 1 on Q and 0 on R\Q is also a function |
2021-04-07 12:46:45 +0200 | <tomsmeding> | "no assumptions" is strong :p |
2021-04-07 12:47:18 +0200 | <tomsmeding> | but, the point is, find the framework, and I know very little about actual real-world libraries :p |
2021-04-07 12:47:19 +0200 | <Gurkenglas> | tomsmeding, yea and some of the libraries would assume such functions forbidden and some wouldn't and the metatoolkit would presumably converge to using the one t hat doesn't |
2021-04-07 12:47:31 +0200 | <tomsmeding> | true |
2021-04-07 12:48:11 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2021-04-07 12:48:13 +0200 | <tomsmeding> | try mathematica, and if that doesn't work: determine what exactly is the component of your language that mathematica can't handle, and focus your search on that |
2021-04-07 12:48:56 +0200 | <tomsmeding> | all the "usual" stuff in analytical math is covered by mathematica |
2021-04-07 12:49:03 +0200 | stree | (~stree@68.36.8.116) (Ping timeout: 260 seconds) |
2021-04-07 12:50:02 +0200 | <fendor> | is `Eq b => b` less polymorphic than just `a`? |
2021-04-07 12:50:36 +0200 | <tomsmeding> | there are less types that fit |
2021-04-07 12:51:15 +0200 | <fendor> | yeah |
2021-04-07 12:52:27 +0200 | <merijn> | You don't know that :p |
2021-04-07 12:52:29 +0200 | timCF | (~i.tkachuk@200-149-20-81.sta.estpak.ee) (Quit: leaving) |
2021-04-07 12:52:46 +0200 | <Taneb> | If I have a function with type "forall a. a -> Bool", I know that it's constant |
2021-04-07 12:53:28 +0200 | <Taneb> | If I have a function with type "forall a. Eq a => a -> Bool", it could be constant, or it could be something like \x -> x == x, which might not be constant for some Eq instances |
2021-04-07 12:55:24 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-07 12:56:12 +0200 | carp | (5c17283b@host-92-23-40-59.as13285.net) |
2021-04-07 12:59:55 +0200 | <mniip> | well it is certainly of the form \x -> f (x == x), for some f :: Bool -> Bool |
2021-04-07 13:00:03 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 248 seconds) |
2021-04-07 13:00:11 +0200 | pavonia | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2021-04-07 13:00:31 +0200 | jacks2 | (~bc8134e3@199.204.85.195) |
2021-04-07 13:00:53 +0200 | <Taneb> | Yes |
2021-04-07 13:02:24 +0200 | Alleria | (~textual@mskresolve-a.mskcc.org) |
2021-04-07 13:02:34 +0200 | stree | (~stree@68.36.8.116) |
2021-04-07 13:02:47 +0200 | Alleria | Guest48425 |
2021-04-07 13:04:07 +0200 | <jacks2> | Taneb, what do you mean? \x -> x == x should always return True, assuming non-broken Eq instance |
2021-04-07 13:04:27 +0200 | <mniip> | that's an assumption |
2021-04-07 13:04:35 +0200 | <Taneb> | jacks2: I'm not assuming a non-broken Eq instance |
2021-04-07 13:04:40 +0200 | <Taneb> | > (\x -> x == x) (0/0) |
2021-04-07 13:04:41 +0200 | <lambdabot> | False |
2021-04-07 13:05:33 +0200 | <jacks2> | Taneb, I'm not sure I see the point in not assuming that. particularly when answering questions from someone new to haskell |
2021-04-07 13:05:56 +0200 | <Taneb> | jacks2: I don't think fendor's new to Haskell? I'm sure I've seen their username a lot before |
2021-04-07 13:08:30 +0200 | <fendor> | I am not new T_T just wanted to confirm it before going down a rabbit hole of wrong assumptions |
2021-04-07 13:10:12 +0200 | <jacks2> | broken Eq instances have nothing to do with Eq a being less polymorphic than a |
2021-04-07 13:10:14 +0200 | <merijn> | fendor: I mean, you're gonna need a definition of "more/less polymorphic" first |
2021-04-07 13:10:44 +0200 | <merijn> | People are all reacting from their gut idea of what "less polymorphic" means |
2021-04-07 13:10:49 +0200 | <merijn> | But that seems counterproductive |
2021-04-07 13:11:31 +0200 | <Taneb> | jacks2: I was justifying that forall a. a has different properties to forall a. Eq a |
2021-04-07 13:11:40 +0200 | <merijn> | Is "polymorphism" measured by the cardinality of the types that can "fit" (whatever that means) into a type variable? |
2021-04-07 13:11:43 +0200 | <Taneb> | *+ => a |
2021-04-07 13:12:13 +0200 | <merijn> | If yes, then you can't say anything about "Foo a => a" vs "a", because there's no reason Foo's cardinality *can't* include all possible types |
2021-04-07 13:12:21 +0200 | <merijn> | Consider "instance Foo a where ..." |
2021-04-07 13:12:29 +0200 | <fendor> | merijn, ghc manual didnt define it more detailed |
2021-04-07 13:12:33 +0200 | <merijn> | So clearly cardinality doesn't make sense |
2021-04-07 13:12:48 +0200 | <fendor> | https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/pragmas.html?highlight=specia… |
2021-04-07 13:12:51 +0200 | <merijn> | But I wouldn't know what else to use |
2021-04-07 13:13:34 +0200 | vs^ | (vs@ip98-184-89-2.mc.at.cox.net) () |
2021-04-07 13:14:19 +0200 | <merijn> | fendor: I'm not sure there's a hard definition of that terminology |
2021-04-07 13:14:33 +0200 | <merijn> | Ask in #ghc (and update the docs when you find out ;)) |
2021-04-07 13:15:01 +0200 | <fendor> | ok, will do! |
2021-04-07 13:17:47 +0200 | vv8 | (~egp_@128-71-69-136.broadband.corbina.ru) |
2021-04-07 13:18:24 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:e8b5:adb7:6f5d:778c) (Remote host closed the connection) |
2021-04-07 13:21:14 +0200 | __minoru__shirae | (~shiraeesh@5.101.59.224) (Ping timeout: 246 seconds) |
2021-04-07 13:22:47 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:c64:2029:5aee:a1f3) |
2021-04-07 13:28:09 +0200 | <joel135> | There's also the word "parametric". |
2021-04-07 13:29:12 +0200 | Iryon | (~Iryon@185-12-21-77.sigma.jaslo.pl) |
2021-04-07 13:32:24 +0200 | xff0x | (~xff0x@2001:1a81:52c6:f900:b4b3:1e00:bd22:9f8d) (Ping timeout: 246 seconds) |
2021-04-07 13:33:11 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:c64:2029:5aee:a1f3) (Remote host closed the connection) |
2021-04-07 13:33:24 +0200 | <tomsmeding> | merijn: well the set of types that can unify with 'forall a. Eq a => a' is certainly a subset of those that unify with 'forall a. a'; whether that subset is a _proper_ subset is irrelevant I'd say |
2021-04-07 13:33:30 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-07 13:33:36 +0200 | xff0x | (~xff0x@2001:1a81:52c6:f900:8bb9:4c7a:ec7:b51f) |
2021-04-07 13:34:09 +0200 | <tomsmeding> | whereas the inverse subset relation only holds if you further assume that there is an 'instance Eq a where' |
2021-04-07 13:34:51 +0200 | <tomsmeding> | but if you start assuming things about which instances exist, your "more polymorphic than" relation suddenly got a lot murkier |
2021-04-07 13:34:55 +0200 | __minoru__shirae | (~shiraeesh@5.101.59.224) |
2021-04-07 13:36:15 +0200 | <tomsmeding> | I'd say type scheme A is less polymorphic than type scheme B if for all sets possible of instance declarations in scope, any type that can fit in a hole of type A can also fit in a hole of type B |
2021-04-07 13:36:16 +0200 | <merijn> | tomsmeding: It's irrelevant if you treat define "more/less" as a subset relationship, yes. But not if you use cardinality |
2021-04-07 13:36:27 +0200 | <merijn> | tomsmeding: Hence my "you need to define more/less polymorphic first" |
2021-04-07 13:36:34 +0200 | <tomsmeding> | very true |
2021-04-07 13:37:43 +0200 | <tomsmeding> | though the cardinality definition makes no sense to me anyway |
2021-04-07 13:37:46 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
2021-04-07 13:38:07 +0200 | <tomsmeding> | what is the cardinality of the set of types that match 'a'? Is that bigger or smaller than the cardinality of the set of types matching '[a]'? |
2021-04-07 13:40:50 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 13:42:43 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Quit: WeeChat 3.1) |
2021-04-07 13:45:16 +0200 | <AWizzArd> | Which is "better" (i.e. faster) for compiling with GHC? |
2021-04-07 13:45:18 +0200 | <AWizzArd> | a) AMD Ryzen 9 5950X, Cores: 16 Threads: 32, Single Thread: 3,494 MOps/Sec or |
2021-04-07 13:45:21 +0200 | <AWizzArd> | b) AMD EPYC 7502P, Cores: 32 Threads: 64, Single Thread: 1,777 MOps/Sec |
2021-04-07 13:45:57 +0200 | Wuzzy | (~Wuzzy@p5790e46d.dip0.t-ipconnect.de) |
2021-04-07 13:46:47 +0200 | edwtjo | (~edwtjo@fsf/member/edwtjo) (Ping timeout: 246 seconds) |
2021-04-07 13:48:56 +0200 | MichaelFreeman | (2d136c0c@45-19-108-12.lightspeed.tukrga.sbcglobal.net) (Quit: Connection closed) |
2021-04-07 13:50:50 +0200 | <tdammers> | my guess would be a) |
2021-04-07 13:51:02 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-04-07 13:51:37 +0200 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
2021-04-07 13:51:55 +0200 | <tdammers> | twice as many threads at half the speed should theoretically be on par, but only if you can fully exhaust them all. for anything that doesn't max out on parallelism, the higher single-core speed is going to win. |
2021-04-07 13:52:34 +0200 | <tdammers> | though I have no idea how either machine would fare in terms of RAM, cache, disk I/O, and all that |
2021-04-07 13:53:01 +0200 | edwtjo | (~edwtjo@h-7-145.A213.priv.bahnhof.se) |
2021-04-07 13:53:01 +0200 | edwtjo | (~edwtjo@h-7-145.A213.priv.bahnhof.se) (Changing host) |
2021-04-07 13:53:01 +0200 | edwtjo | (~edwtjo@fsf/member/edwtjo) |
2021-04-07 13:53:49 +0200 | <AWizzArd> | I would also guess that fewer threads but with more performance each should be more useful. |
2021-04-07 13:53:58 +0200 | nrh^ | (nrh@ip98-184-89-2.mc.at.cox.net) |
2021-04-07 13:54:06 +0200 | rodriga | (~quassel@134.204.25.66) |
2021-04-07 13:55:25 +0200 | <fendor> | In my experience, building ghc rarely utilises all my 16 cores. So, a) sounds better to me, too |
2021-04-07 13:55:43 +0200 | <fendor> | *16 threads |
2021-04-07 13:57:51 +0200 | <rodriga> | Hmm is there a macro or something in Haskell that automatically finds callers, changes callers to thread arguments to their children, or to convert to Monads? |
2021-04-07 14:00:55 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-04-07 14:01:15 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 14:01:27 +0200 | urodna | (~urodna@unaffiliated/urodna) |
2021-04-07 14:04:04 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-04-07 14:05:37 +0200 | geekosaur | (82650c7a@130.101.12.122) |
2021-04-07 14:06:06 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds) |
2021-04-07 14:09:25 +0200 | m1dnight_ | (~m1dnight@188.ip-51-91-158.eu) (Quit: WeeChat 2.4) |
2021-04-07 14:09:41 +0200 | gnumonic | (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2021-04-07 14:10:22 +0200 | m1dnight_ | (~m1dnight@188.ip-51-91-158.eu) |
2021-04-07 14:11:11 +0200 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2021-04-07 14:11:42 +0200 | <merijn> | fendor: there's some work on parallelising GHC, I think? |
2021-04-07 14:12:28 +0200 | <merijn> | Biggest problem right now is that Cabal uses "ghc --make" so package builds aren't parallel as long as GHC isn't really parallel |
2021-04-07 14:12:44 +0200 | <fendor> | but ghc is parallel in compiling modules, right? |
2021-04-07 14:13:06 +0200 | <fendor> | *compiling modules that have no interdependency |
2021-04-07 14:13:23 +0200 | <fendor> | *compiling the module graph |
2021-04-07 14:13:50 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-07 14:13:59 +0200 | ericsagn1 | (~ericsagne@2405:6580:0:5100:ef73:96e:9562:7f87) (Ping timeout: 260 seconds) |
2021-04-07 14:15:32 +0200 | aVikingTrex | (789a2138@120.154.33.56) (Quit: Connection closed) |
2021-04-07 14:16:53 +0200 | todda7 | (~torstein@athedsl-09242.home.otenet.gr) |
2021-04-07 14:19:00 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds) |
2021-04-07 14:20:06 +0200 | rnat2 | (uid73555@gateway/web/irccloud.com/x-fvqffrxzjqvhxxzw) |
2021-04-07 14:21:41 +0200 | rprije | (~rprije@59-102-63-15.tpgi.com.au) (Ping timeout: 240 seconds) |
2021-04-07 14:22:01 +0200 | Deide | (~Deide@217.155.19.23) |
2021-04-07 14:25:19 +0200 | <merijn> | fendor: I'm not sure it is, tbh |
2021-04-07 14:25:33 +0200 | <merijn> | Not nearly as much as it could be, anyway |
2021-04-07 14:26:09 +0200 | ericsagn1 | (~ericsagne@2405:6580:0:5100:3653:fd0e:1076:1c7b) |
2021-04-07 14:26:58 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
2021-04-07 14:29:51 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-04-07 14:30:40 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection) |
2021-04-07 14:31:21 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-04-07 14:33:13 +0200 | __minoru__shirae | (~shiraeesh@5.101.59.224) (Ping timeout: 252 seconds) |
2021-04-07 14:34:03 +0200 | aishstha | (1b221163@27.34.17.99) |
2021-04-07 14:36:41 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 14:39:03 +0200 | bitmagie | (~Thunderbi@200116b806def70019cb251edf03c083.dip.versatel-1u1.de) |
2021-04-07 14:39:04 +0200 | ddellacosta | (~ddellacos@86.106.143.213) |
2021-04-07 14:39:30 +0200 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-yqepddmznaiakcld) (Quit: Connection closed for inactivity) |
2021-04-07 14:40:26 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-04-07 14:41:23 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 248 seconds) |
2021-04-07 14:42:46 +0200 | <fendor> | well, it builds a module graph, and prallelising compilation on this graph is not too complicated. But I also think that there might be bigger gains in parallel compilation of a module |
2021-04-07 14:43:13 +0200 | <fendor> | Or rather, I can imagine, as I have not really an idea whether it actually would benefit anything |
2021-04-07 14:43:23 +0200 | ddellacosta | (~ddellacos@86.106.143.213) (Ping timeout: 260 seconds) |
2021-04-07 14:45:01 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 14:46:03 +0200 | geekosaur | (82650c7a@130.101.12.122) (Ping timeout: 240 seconds) |
2021-04-07 14:46:45 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:5c9f:f9c:c668:a47e) |
2021-04-07 14:46:56 +0200 | carlomagno | (~cararell@148.87.23.13) |
2021-04-07 14:47:27 +0200 | ukari | (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
2021-04-07 14:48:00 +0200 | ukari | (~ukari@unaffiliated/ukari) |
2021-04-07 14:48:15 +0200 | <merijn> | fendor: You are right *in theory* |
2021-04-07 14:48:38 +0200 | <merijn> | But I don't think GHC is architected to really make use of that effectively yet |
2021-04-07 14:48:41 +0200 | bitmagie | (~Thunderbi@200116b806def70019cb251edf03c083.dip.versatel-1u1.de) (Quit: bitmagie) |
2021-04-07 14:49:11 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2021-04-07 14:49:24 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) |
2021-04-07 14:52:14 +0200 | geekosaur | (82650c7a@130.101.12.122) |
2021-04-07 14:52:23 +0200 | ADG1089 | (~aditya@223.226.239.183) |
2021-04-07 14:52:49 +0200 | <ADG1089> | @pl readArray arr r >>= \v -> writeArray arr r $ max v v' |
2021-04-07 14:52:49 +0200 | <lambdabot> | writeArray arr r . max v' =<< readArray arr r |
2021-04-07 14:53:02 +0200 | <ADG1089> | hmm, not worth it |
2021-04-07 14:55:08 +0200 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2021-04-07 14:56:43 +0200 | aishstha | (1b221163@27.34.17.99) (Ping timeout: 240 seconds) |
2021-04-07 14:57:14 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
2021-04-07 15:00:44 +0200 | <geekosaur> | @pl \arr r -> readArray arr r >>= \v -> writeArray arr r $ max v v' |
2021-04-07 15:00:44 +0200 | <lambdabot> | ap (ap . ((>>=) .) . readArray) (flip flip (max v') . ((.) .) . writeArray) |
2021-04-07 15:00:48 +0200 | <geekosaur> | oy |
2021-04-07 15:01:29 +0200 | solvr | (57e3c46d@87.227.196.109) |
2021-04-07 15:02:36 +0200 | <ADG1089> | holy fucking shit wtf that pl resulted in |
2021-04-07 15:03:31 +0200 | andreabedini | (~andreabed@8s8kj6nq8lb1xsln9frf.ip6.superloop.com) |
2021-04-07 15:04:39 +0200 | <merijn> | :p |
2021-04-07 15:04:44 +0200 | <merijn> | Don't trust @pl :p |
2021-04-07 15:04:59 +0200 | <mniip> | pl stands for perl |
2021-04-07 15:05:17 +0200 | <merijn> | pl stands for pointless, which is much funnier :p |
2021-04-07 15:06:51 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:5c9f:f9c:c668:a47e) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-07 15:07:32 +0200 | <ADG1089> | what does Foo.\.\.\ mean in prof? I am seeing this for chained monadic computations in do notation |
2021-04-07 15:07:54 +0200 | <geekosaur> | each \ is an unnamed lambda somewhere under Foo |
2021-04-07 15:08:16 +0200 | <geekosaur> | (unnamed lambda is redundant…) |
2021-04-07 15:08:38 +0200 | <ADG1089> | oh, that would be my lambda as last argument for forM_ |
2021-04-07 15:09:17 +0200 | cafce25 | (~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de) |
2021-04-07 15:09:42 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:5c9f:f9c:c668:a47e) |
2021-04-07 15:09:51 +0200 | <ADG1089> | is prof binaries slower if i don't pass RTS args? |
2021-04-07 15:10:08 +0200 | v01d4lph4 | (~v01d4lph4@223.177.183.124) (Remote host closed the connection) |
2021-04-07 15:10:15 +0200 | <ADG1089> | I think this is the case, just wanted to confirm |
2021-04-07 15:10:38 +0200 | <geekosaur> | perf disables most optimizations because they'd interfere with profiling, yes |
2021-04-07 15:10:58 +0200 | stree | (~stree@68.36.8.116) (Ping timeout: 260 seconds) |
2021-04-07 15:12:25 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 15:15:27 +0200 | feb6 | (67cb4855@103.203.72.85) |
2021-04-07 15:15:51 +0200 | <feb6> | Hey |
2021-04-07 15:17:58 +0200 | <geekosaur> | hello |
2021-04-07 15:19:29 +0200 | feb6 | (67cb4855@103.203.72.85) (Client Quit) |
2021-04-07 15:22:37 +0200 | dhouthoo | (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) |
2021-04-07 15:23:35 +0200 | stree | (~stree@68.36.8.116) |
2021-04-07 15:24:37 +0200 | barthandelous | (~cbrzezins@2600:1007:b01a:85d2:6685:eca8:992:2c72) |
2021-04-07 15:25:23 +0200 | <merijn> | ADG1089: They don't have to be, but it is not unlikely that they are |
2021-04-07 15:26:10 +0200 | <merijn> | ADG1089: (i.e. profiling binaries aren't *always* slower, but "my binaries are slower" is a common and known side-effect of profiling builds) |
2021-04-07 15:27:25 +0200 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
2021-04-07 15:27:43 +0200 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) () |
2021-04-07 15:28:05 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-07 15:28:38 +0200 | waleee-cl | (uid373333@gateway/web/irccloud.com/x-lyzlpexksowrzqil) |
2021-04-07 15:30:45 +0200 | averell | (~averell@unaffiliated/averell) (Quit: .) |
2021-04-07 15:32:51 +0200 | Tario | (~Tario@201.192.165.173) |
2021-04-07 15:33:00 +0200 | Franciman | (~francesco@host-87-20-23-243.retail.telecomitalia.it) (Quit: Leaving) |
2021-04-07 15:34:07 +0200 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
2021-04-07 15:41:42 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-07 15:42:05 +0200 | geekosaur | (82650c7a@130.101.12.122) (Quit: Connection closed) |
2021-04-07 15:44:10 +0200 | averell | (~averell@unaffiliated/averell) |
2021-04-07 15:45:05 +0200 | slack1256 | (~slack1256@201-223-70-219.baf.movistar.cl) |
2021-04-07 15:49:03 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-04-07 15:49:23 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 15:51:03 +0200 | <fendor> | why is `class (Foo a, Foo a) => Bar a where` not a warning? |
2021-04-07 15:51:31 +0200 | <sshine> | they unify? :-D |
2021-04-07 15:52:05 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-07 15:52:14 +0200 | <sshine> | I guess there's room for improvement. |
2021-04-07 15:52:24 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-07 15:54:14 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds) |
2021-04-07 15:56:46 +0200 | sz0 | (uid110435@gateway/web/irccloud.com/x-pwzpuvhtwmrmedza) |
2021-04-07 15:57:32 +0200 | mmmattyx | (uid17782@gateway/web/irccloud.com/x-zogxbflcfypzetqv) |
2021-04-07 15:59:00 +0200 | raym | (~ray@45.64.220.78) (Quit: leaving) |
2021-04-07 15:59:37 +0200 | juri__ | (~juri@212.86.35.156) (Read error: Connection reset by peer) |
2021-04-07 16:00:26 +0200 | malumore | (~malumore@151.62.125.43) (Ping timeout: 240 seconds) |
2021-04-07 16:00:54 +0200 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
2021-04-07 16:01:11 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds) |
2021-04-07 16:01:19 +0200 | juri_ | (~juri@212.86.35.156) |
2021-04-07 16:01:44 +0200 | oish | (~charlie@228.25.169.217.in-addr.arpa) (Quit: leaving) |
2021-04-07 16:01:52 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Quit: leaving) |
2021-04-07 16:03:21 +0200 | LiaoTao_ | (~LiaoTao@gateway/tor-sasl/liaotao) |
2021-04-07 16:03:25 +0200 | hexfive | (~hexfive@50.35.83.177) |
2021-04-07 16:03:46 +0200 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection) |
2021-04-07 16:04:53 +0200 | timCF | (~i.tkachuk@200-149-20-81.sta.estpak.ee) |
2021-04-07 16:05:19 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:5c9f:f9c:c668:a47e) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-07 16:10:51 +0200 | <timCF> | Hello! Seems like I do need some help with unlifting. I have a custom monad where I do fun all application code and functions. And I do need to compose them with some IO functions (in my case WAI wants handlers to run in IO). I came up with something like this `grpcServer = withRunInIO $ \run -> runServer $ handlers run` where handlers is list of WAI-like handlers which have to be run in IO. It looks like |
2021-04-07 16:10:57 +0200 | <timCF> | `handlers run = [run handler0, run handler1, ...]`. It compiles with zero or one handler. But in cases where there is more that one handler (handlers are accepting different types of requests and returning different types of responses) - it refuses to be compiled. How to fix that? |
2021-04-07 16:13:56 +0200 | <timCF> | It's not exactly like that, handlers are technically have the same high-level type, but some parts of them are specific and I do need to unlift these parts into IO |
2021-04-07 16:14:09 +0200 | stef204 | (~stef204@unaffiliated/stef-204/x-384198) |
2021-04-07 16:14:10 +0200 | malumore | (~malumore@151.62.125.43) |
2021-04-07 16:15:13 +0200 | <andreabedini> | timCF: I am very unfamiliar with unlifitng but to me it looks like the main problem you are having is putting things of different type into a list |
2021-04-07 16:15:19 +0200 | carp | (5c17283b@host-92-23-40-59.as13285.net) () |
2021-04-07 16:15:41 +0200 | <andreabedini> | timCF: what's the type of runServer? |
2021-04-07 16:16:07 +0200 | astroanax | (~astroanax@cosmic.voyage) (Read error: Connection reset by peer) |
2021-04-07 16:17:17 +0200 | rodriga | (~quassel@134.204.25.66) (Read error: Connection reset by peer) |
2021-04-07 16:17:30 +0200 | <timCF> | andreabedini: it's complicated -_- if simplified it's something like `runServer :: [ServerHandler] -> IO ()` |
2021-04-07 16:18:43 +0200 | Codaraxis_ | (Codaraxis@gateway/vpn/mullvad/codaraxis) |
2021-04-07 16:19:08 +0200 | <timCF> | andreabedini: items in list have to be the same type `ServerHandler`. And I though this function `run` for unlifting could be generic `m a -> IO a`. But seems like GHC does not agree |
2021-04-07 16:19:36 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-07 16:20:05 +0200 | <merijn> | timCF: You need a more polymorphic version |
2021-04-07 16:20:33 +0200 | <merijn> | timCF: You need: https://hackage.haskell.org/package/unliftio-core-0.2.0.1/docs/Control-Monad-IO-Unlift.html#v:with… |
2021-04-07 16:20:49 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-07 16:21:05 +0200 | <merijn> | oh, wait, maybe not that one |
2021-04-07 16:21:18 +0200 | Codaraxis | (Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 265 seconds) |
2021-04-07 16:21:31 +0200 | <merijn> | I think you can't use a lambda |
2021-04-07 16:22:00 +0200 | <merijn> | You need a Rank2 "runInIO", but rank2 types can't be inferred, so you can't have an unannotated lambda like that |
2021-04-07 16:22:17 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-07 16:22:26 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2021-04-07 16:23:15 +0200 | <timCF> | merijn: so I can't pass around `run` function and home that GHC will agree with polymorphic nature of it? |
2021-04-07 16:23:27 +0200 | <timCF> | merijn: * and hope |
2021-04-07 16:23:29 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-04-07 16:23:40 +0200 | <merijn> | timCF: No, you need to explicitly annotate that it's that polymorphic |
2021-04-07 16:23:54 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-04-07 16:24:25 +0200 | <merijn> | timCF: Rank2 is *theoretically* inferrible, but the implementation is so complicated that GHC does not do it. So any use of Rank2 polymorphism requires explicit type signatures |
2021-04-07 16:24:44 +0200 | <merijn> | timCF: Else GHC will infer a Rank1 type, which indeed doesn't type check |
2021-04-07 16:25:10 +0200 | <merijn> | (if I understand the example correctly, anyway) |
2021-04-07 16:25:47 +0200 | <merijn> | oh, wait, maybe withUnliftIO *does* solve it |
2021-04-07 16:26:03 +0200 | <merijn> | timCF: Your handlers all have the same 'm', but different 'a's? |
2021-04-07 16:26:05 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) (Ping timeout: 252 seconds) |
2021-04-07 16:26:16 +0200 | <timCF> | merijn: yes! |
2021-04-07 16:26:31 +0200 | <merijn> | timCF: Ok, then withUnliftIO probably will work |
2021-04-07 16:26:51 +0200 | <merijn> | You'd have to do "\(UnliftIO run) -> ..." then |
2021-04-07 16:27:17 +0200 | <merijn> | There you piggyback the polymorphic type off of the pattern match on UnliftIO |
2021-04-07 16:27:21 +0200 | <timCF> | merijn: thanks, I'll try it! Usually `withRunInIO` was enough. Time to learn some new unlifting |
2021-04-07 16:28:31 +0200 | <merijn> | timCF: withUnliftIO is basically the same, but it stuff the unlifting function in a datatype |
2021-04-07 16:34:44 +0200 | gxt | (~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection) |
2021-04-07 16:35:10 +0200 | gxt | (~gxt@gateway/tor-sasl/gxt) |
2021-04-07 16:36:45 +0200 | neysofu | (~neysofu@net-47-53-239-127.cust.vodafonedsl.it) |
2021-04-07 16:39:01 +0200 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2021-04-07 16:42:33 +0200 | barthandelous | (~cbrzezins@2600:1007:b01a:85d2:6685:eca8:992:2c72) ("WeeChat 3.1") |
2021-04-07 16:42:58 +0200 | andreabedini | (~andreabed@8s8kj6nq8lb1xsln9frf.ip6.superloop.com) (Quit: WeeChat 3.1) |
2021-04-07 16:44:18 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) |
2021-04-07 16:46:22 +0200 | <timCF> | merijn: do I need to enable any GHC extensions or write some magic forall to make this kind plymorphism happen? |
2021-04-07 16:46:29 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 16:48:02 +0200 | rodriga | (~quassel@134.204.25.66) |
2021-04-07 16:48:21 +0200 | hendursa1 | (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds) |
2021-04-07 16:48:45 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2021-04-07 16:50:06 +0200 | alx741 | (~alx741@181.196.68.238) |
2021-04-07 16:50:27 +0200 | leafiest | (~leafiest@165.227.53.12) |
2021-04-07 16:52:05 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-07 16:52:19 +0200 | <shapr> | Is there a Haskell command line argument parser that also generates bash/zsh completion? |
2021-04-07 16:52:24 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-07 16:52:28 +0200 | <Uniaika> | shapr: not that I know of |
2021-04-07 16:52:35 +0200 | <timCF> | merijn: nvm, `withUnliftIO` + pattern matching on `run` inside every handler works magically. So cool :) |
2021-04-07 16:52:39 +0200 | <Uniaika> | would love to see one appear though :-P |
2021-04-07 16:52:45 +0200 | <shapr> | yea, it would be so nice! |
2021-04-07 16:52:50 +0200 | <merijn> | shapr: optparse-applicative generates bash completion... |
2021-04-07 16:52:53 +0200 | shapr | adds it to list o fprojects |
2021-04-07 16:52:56 +0200 | <maerwald> | and zsh |
2021-04-07 16:52:56 +0200 | <shapr> | merijn: oh neat! |
2021-04-07 16:52:58 +0200 | <maerwald> | and fish |
2021-04-07 16:53:19 +0200 | <merijn> | shapr: https://github.com/pcapriotti/optparse-applicative/wiki/Bash-Completion |
2021-04-07 16:53:35 +0200 | Sorna | (~Sornaensi@79.142.232.102.static.router4.bolignet.dk) |
2021-04-07 16:54:44 +0200 | astroanax | (~astroanax@cosmic.voyage) |
2021-04-07 16:54:47 +0200 | astroanax | (~astroanax@cosmic.voyage) (Remote host closed the connection) |
2021-04-07 16:55:05 +0200 | timCF | (~i.tkachuk@200-149-20-81.sta.estpak.ee) (Quit: leaving) |
2021-04-07 16:55:37 +0200 | danso | (~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Quit: WeeChat 3.0) |
2021-04-07 16:55:44 +0200 | astroanax | (~astroanax@cosmic.voyage) |
2021-04-07 16:56:25 +0200 | astroanax | (~astroanax@cosmic.voyage) (Client Quit) |
2021-04-07 16:56:25 +0200 | ADG1089 | (~aditya@223.226.239.183) (Remote host closed the connection) |
2021-04-07 16:56:51 +0200 | Sornaensis | (~Sornaensi@79.142.232.102) (Ping timeout: 268 seconds) |
2021-04-07 16:56:54 +0200 | astroanax | (~astroanax@cosmic.voyage) |
2021-04-07 16:57:09 +0200 | slack1256 | (~slack1256@201-223-70-219.baf.movistar.cl) (Remote host closed the connection) |
2021-04-07 16:58:02 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) |
2021-04-07 16:58:12 +0200 | xintron | (~xintron@unaffiliated/xintron) |
2021-04-07 16:59:38 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-07 17:02:09 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:c0f9:65c3:e496:bb55) |
2021-04-07 17:03:26 +0200 | myShoggoth | (~myShoggot@75.164.73.93) |
2021-04-07 17:08:09 +0200 | renzhi | (~renzhi@2607:fa49:653f:a800::4223) |
2021-04-07 17:08:47 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Remote host closed the connection) |
2021-04-07 17:11:11 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
2021-04-07 17:12:56 +0200 | <mikoto-chan> | http://haskell.moe |
2021-04-07 17:13:10 +0200 | <mikoto-chan> | can we make this the new homepage? (seriously, who did this ...) |
2021-04-07 17:13:20 +0200 | <mikoto-chan> | sorry for off-topic |
2021-04-07 17:13:41 +0200 | <joel135> | LOL |
2021-04-07 17:14:06 +0200 | <maerwald> | what the... |
2021-04-07 17:14:13 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) |
2021-04-07 17:15:01 +0200 | Feuermagier | (~Feuermagi@213.178.26.41) (Remote host closed the connection) |
2021-04-07 17:15:28 +0200 | hypercube | (hypercube@gateway/vpn/protonvpn/hypercube) |
2021-04-07 17:15:30 +0200 | <shapr> | wow |
2021-04-07 17:16:06 +0200 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-04-07 17:16:22 +0200 | <SrPx> | the world really needs a great compile target for lazy functional languages |
2021-04-07 17:18:53 +0200 | <Uniaika> | the website is written in Elm |
2021-04-07 17:19:13 +0200 | <Uniaika> | this is a psyop from Evan Czaplicki |
2021-04-07 17:19:32 +0200 | <mikoto-chan> | SrPx: wdym? isn't Haskell converted to C--? |
2021-04-07 17:19:35 +0200 | rnat2 | (uid73555@gateway/web/irccloud.com/x-fvqffrxzjqvhxxzw) (Quit: Connection closed for inactivity) |
2021-04-07 17:19:43 +0200 | renzhi | (~renzhi@2607:fa49:653f:a800::4223) (Ping timeout: 260 seconds) |
2021-04-07 17:20:12 +0200 | mkDoku | (~TheMule@aftr-37-201-195-134.unity-media.net) |
2021-04-07 17:20:31 +0200 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds) |
2021-04-07 17:20:56 +0200 | <Uniaika> | C-- is just an IR |
2021-04-07 17:20:57 +0200 | jared-w | (uid405292@gateway/web/irccloud.com/x-rnbmhydgaqdkakar) (Ping timeout: 246 seconds) |
2021-04-07 17:21:09 +0200 | <mikoto-chan> | IR? |
2021-04-07 17:21:23 +0200 | lally | (sid388228@gateway/web/irccloud.com/x-gbqjirenobjcbvnf) (Read error: Connection reset by peer) |
2021-04-07 17:21:25 +0200 | <Uniaika> | intermediate representation |
2021-04-07 17:21:34 +0200 | <Uniaika> | it's neither written nor executed |
2021-04-07 17:21:35 +0200 | AndreasK | (sid320732@gateway/web/irccloud.com/x-eidzpdpfbfwjvsap) (Ping timeout: 258 seconds) |
2021-04-07 17:21:39 +0200 | Kronic | (sid480486@gateway/web/irccloud.com/x-sogthtpigifensav) (Ping timeout: 246 seconds) |
2021-04-07 17:21:52 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 17:21:58 +0200 | sz0 | (uid110435@gateway/web/irccloud.com/x-pwzpuvhtwmrmedza) (Ping timeout: 258 seconds) |
2021-04-07 17:22:00 +0200 | bradparker | (sid262931@gateway/web/irccloud.com/x-alrapzbsgpgzezql) (Ping timeout: 246 seconds) |
2021-04-07 17:22:02 +0200 | kritzefitz | (~kritzefit@2003:5b:203b:200::10:49) (Remote host closed the connection) |
2021-04-07 17:22:31 +0200 | ryjm | (sid383513@gateway/web/irccloud.com/x-rytbgkxcijotxbrx) (Ping timeout: 260 seconds) |
2021-04-07 17:22:42 +0200 | b20n | (sid115913@gateway/web/irccloud.com/x-cpvmpaurqzesjgkd) (Ping timeout: 246 seconds) |
2021-04-07 17:22:59 +0200 | eruditass | (uid248673@gateway/web/irccloud.com/x-klumzwpapdvaujzz) (Read error: Connection reset by peer) |
2021-04-07 17:23:03 +0200 | luite | (sid387799@gateway/web/irccloud.com/x-qxspjhytgxkdqwya) (Ping timeout: 246 seconds) |
2021-04-07 17:23:04 +0200 | AndreasK | (sid320732@gateway/web/irccloud.com/x-gcnznttjjbhixeuo) |
2021-04-07 17:23:07 +0200 | SrPx | (sid108780@gateway/web/irccloud.com/x-osyhmktkohqkykco) (Ping timeout: 258 seconds) |
2021-04-07 17:23:08 +0200 | cads | (~cads@ip-64-72-99-232.lasvegas.net) |
2021-04-07 17:23:18 +0200 | davetapley | (sid666@gateway/web/irccloud.com/x-eshsepxkfgbkcmsh) (Ping timeout: 240 seconds) |
2021-04-07 17:23:21 +0200 | benwr____ | (sid372383@gateway/web/irccloud.com/x-uenzuwtlldjmmcdm) (Read error: Connection reset by peer) |
2021-04-07 17:23:24 +0200 | aristid | (sid1599@gateway/web/irccloud.com/x-ysqngkztcmdqkqid) (Ping timeout: 246 seconds) |
2021-04-07 17:23:25 +0200 | cemerick | (sid54985@gateway/web/irccloud.com/x-txjnffnulowyownu) (Read error: Connection reset by peer) |
2021-04-07 17:23:30 +0200 | wpcarro | (sid397589@gateway/web/irccloud.com/x-bfzhxrazngrwpnxy) (Ping timeout: 258 seconds) |
2021-04-07 17:23:35 +0200 | Synthetica | (uid199651@gateway/web/irccloud.com/x-holtfbrhdrkajcob) (Ping timeout: 250 seconds) |
2021-04-07 17:23:53 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9510b1ed14260384c0cf.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
2021-04-07 17:23:55 +0200 | ReinH | (sid179972@gateway/web/irccloud.com/x-mdfvdtnchulmcuzi) (Ping timeout: 260 seconds) |
2021-04-07 17:24:00 +0200 | etrepum | (sid763@gateway/web/irccloud.com/x-vbtdfooevtgiicbj) (Read error: Connection reset by peer) |
2021-04-07 17:24:15 +0200 | eruditass | (uid248673@gateway/web/irccloud.com/x-evyqqistlgviwlwv) |
2021-04-07 17:24:27 +0200 | natim87 | (sid286962@gateway/web/irccloud.com/x-cwjpyjilrthqpfcl) (Ping timeout: 246 seconds) |
2021-04-07 17:24:27 +0200 | systemfault | (sid267009@gateway/web/irccloud.com/x-acclxkcklodfwdsx) (Ping timeout: 246 seconds) |
2021-04-07 17:24:34 +0200 | eruditass | (uid248673@gateway/web/irccloud.com/x-evyqqistlgviwlwv) (Excess Flood) |
2021-04-07 17:24:40 +0200 | etrepum | (sid763@gateway/web/irccloud.com/x-uvgwvvfyhdnxohap) |
2021-04-07 17:24:43 +0200 | jared-w | (uid405292@gateway/web/irccloud.com/x-keywjzriwtlueymw) |
2021-04-07 17:24:43 +0200 | ryjm | (sid383513@gateway/web/irccloud.com/x-iyuwdoaqqyplkeyd) |
2021-04-07 17:24:45 +0200 | b20n | (sid115913@gateway/web/irccloud.com/x-pctinassjooigaew) |
2021-04-07 17:24:48 +0200 | benwr____ | (sid372383@gateway/web/irccloud.com/x-ynyqxqvppapkphki) |
2021-04-07 17:24:51 +0200 | joshmeredith | (sid387798@gateway/web/irccloud.com/x-jeivykcxhjpbnbqo) (Ping timeout: 260 seconds) |
2021-04-07 17:24:51 +0200 | ReinH | (sid179972@gateway/web/irccloud.com/x-tsenbknuiamuoknp) |
2021-04-07 17:24:51 +0200 | cemerick | (sid54985@gateway/web/irccloud.com/x-vkgdxbrllbqgyihu) |
2021-04-07 17:24:52 +0200 | Synthetica | (uid199651@gateway/web/irccloud.com/x-igiuipnjkspialln) |
2021-04-07 17:24:55 +0200 | lally | (sid388228@gateway/web/irccloud.com/x-ohojcmfwatqrsdem) |
2021-04-07 17:24:59 +0200 | Kronic | (sid480486@gateway/web/irccloud.com/x-sohccpvegokjgbzc) |
2021-04-07 17:25:11 +0200 | bradparker | (sid262931@gateway/web/irccloud.com/x-vwcnradingzssljd) |
2021-04-07 17:25:22 +0200 | aristid | (sid1599@gateway/web/irccloud.com/x-xoxalrdohmfrqftu) |
2021-04-07 17:25:25 +0200 | d0liver | (sid363046@gateway/web/irccloud.com/x-mbcyzmiqngfpomhu) (Ping timeout: 258 seconds) |
2021-04-07 17:25:26 +0200 | luite | (sid387799@gateway/web/irccloud.com/x-xdgiulydxgunnqir) |
2021-04-07 17:25:34 +0200 | sz0 | (uid110435@gateway/web/irccloud.com/x-uimgiattmedzcfdn) |
2021-04-07 17:25:36 +0200 | eruditass | (uid248673@gateway/web/irccloud.com/x-mnvqqybakyalqldr) |
2021-04-07 17:25:45 +0200 | systemfault | (sid267009@gateway/web/irccloud.com/x-qisnszkdfwtomtbi) |
2021-04-07 17:25:52 +0200 | davetapley | (sid666@gateway/web/irccloud.com/x-yavshbynwfekjiwv) |
2021-04-07 17:25:54 +0200 | joshmeredith | (sid387798@gateway/web/irccloud.com/x-deyyeanvffjutikl) |
2021-04-07 17:26:19 +0200 | d0liver | (sid363046@gateway/web/irccloud.com/x-vlrurtoubbzrlqmk) |
2021-04-07 17:26:34 +0200 | wpcarro | (sid397589@gateway/web/irccloud.com/x-ecuoponltgnpdqvt) |
2021-04-07 17:26:40 +0200 | SrPx | (sid108780@gateway/web/irccloud.com/x-gxthtwnxdzlzvjtj) |
2021-04-07 17:26:55 +0200 | natim87 | (sid286962@gateway/web/irccloud.com/x-kcrciituhyzojhiq) |
2021-04-07 17:27:05 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 17:28:13 +0200 | ulidtko | (~ulidtko@194.54.80.38) (Remote host closed the connection) |
2021-04-07 17:28:19 +0200 | egorbelibov | (~65676f72@2001:8a0:5708:2a00:3d3b:5fca:52a6:2df1) |
2021-04-07 17:28:32 +0200 | fendor | (~fendor@178.165.131.170.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-04-07 17:28:34 +0200 | ulidtko | (~ulidtko@194.54.80.38) |
2021-04-07 17:28:34 +0200 | Axman5892 | (~Axman6@pdpc/supporter/student/Axman6) |
2021-04-07 17:28:42 +0200 | egorbelibov | (~65676f72@2001:8a0:5708:2a00:3d3b:5fca:52a6:2df1) (Remote host closed the connection) |
2021-04-07 17:28:44 +0200 | Axman6 | (~Axman6@pdpc/supporter/student/Axman6) (Remote host closed the connection) |
2021-04-07 17:28:51 +0200 | fendor | (~fendor@178.165.131.170.wireless.dyn.drei.com) |
2021-04-07 17:29:23 +0200 | berberman_ | (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-04-07 17:29:50 +0200 | berberman | (~berberman@unaffiliated/berberman) |
2021-04-07 17:30:27 +0200 | malumore | (~malumore@151.62.125.43) (Ping timeout: 248 seconds) |
2021-04-07 17:31:56 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-07 17:32:00 +0200 | stree | (~stree@68.36.8.116) (Ping timeout: 268 seconds) |
2021-04-07 17:32:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-07 17:33:49 +0200 | kiweun | (~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) |
2021-04-07 17:34:50 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:c0f9:65c3:e496:bb55) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-07 17:34:55 +0200 | malumore | (~malumore@151.62.125.43) |
2021-04-07 17:36:54 +0200 | mananamenos | (~mananamen@62.red-88-11-67.dynamicip.rima-tde.net) |
2021-04-07 17:37:44 +0200 | noexcept | (~noexcept@noexcept.org) (Read error: Connection reset by peer) |
2021-04-07 17:38:15 +0200 | noexcept | (~noexcept@noexcept.org) |
2021-04-07 17:38:27 +0200 | kiweun | (~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Ping timeout: 248 seconds) |
2021-04-07 17:40:35 +0200 | cads | (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 248 seconds) |
2021-04-07 17:44:42 +0200 | stree | (~stree@68.36.8.116) |
2021-04-07 17:45:05 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 17:46:01 +0200 | <mananamenos> | Hi, I'm in a IO's block and I some functions which return `IO (Maybe a)` and some which return `IO a`. Inside this do block block I have to extract those maybes, use case on then and in case the value is Nothing, I shorcut the whole do block returning. I end up with a very indented to the right code block which is hard to read and is annoying in general. One approach I tried is to wrap every operation in this do block |
2021-04-07 17:46:01 +0200 | <mananamenos> | ExceptT. With this approach I manually put every IO (Maybe a) giving associating also the Nothings with some message (Left part in ExceptT). This way I only have one case expression on the whole do block, extract the Left message, log it and return error or successfully return Right part. Is this approach somehow weird/wrong? Another way, which I'm considering in changing the body of all the functions returning `IO (Maybe |
2021-04-07 17:46:02 +0200 | <mananamenos> | a)` to `IO a` (is there is nothing I throw an error). I'm a bit confused of how to structure this the best way. |
2021-04-07 17:47:31 +0200 | neysofu | (~neysofu@net-47-53-239-127.cust.vodafonedsl.it) (Quit: leaving) |
2021-04-07 17:49:06 +0200 | esph | (~weechat@unaffiliated/esph) (Ping timeout: 260 seconds) |
2021-04-07 17:50:06 +0200 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-04-07 17:50:08 +0200 | hendursa1 | (~weechat@gateway/tor-sasl/hendursaga) |
2021-04-07 17:52:05 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-07 17:52:24 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-07 17:55:53 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-04-07 17:56:43 +0200 | notzmv | (~zmv@unaffiliated/zmv) |
2021-04-07 17:59:04 +0200 | cads | (~cads@ip-64-72-99-232.lasvegas.net) |
2021-04-07 18:00:04 +0200 | M53K5HUN_8[m] | (m53k5hun8m@gateway/shell/matrix.org/x-vnkcdqtkiyhfknsf) (Quit: Idle for 30+ days) |
2021-04-07 18:01:25 +0200 | v01d4lph4 | (~v01d4lph4@223.177.183.124) |
2021-04-07 18:02:26 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-07 18:02:47 +0200 | HannaM | (~quassel@p54849510.dip0.t-ipconnect.de) |
2021-04-07 18:03:01 +0200 | egorbelibov | (~65676f72@2001:8a0:5708:2a00:3d3b:5fca:52a6:2df1) |
2021-04-07 18:04:37 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
2021-04-07 18:05:55 +0200 | v01d4lph4 | (~v01d4lph4@223.177.183.124) (Ping timeout: 260 seconds) |
2021-04-07 18:09:15 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) (Ping timeout: 246 seconds) |
2021-04-07 18:11:07 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-07 18:13:33 +0200 | gxt | (~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds) |
2021-04-07 18:15:34 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-04-07 18:15:38 +0200 | gxt | (~gxt@gateway/tor-sasl/gxt) |
2021-04-07 18:15:55 +0200 | geekosaur | (82650c7a@130.101.12.122) |
2021-04-07 18:17:39 +0200 | <tomsmeding> | mananamenos: the ExceptT approach sounds like the right one |
2021-04-07 18:17:41 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds) |
2021-04-07 18:23:11 +0200 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
2021-04-07 18:23:11 +0200 | berberman_ | (~berberman@unaffiliated/berberman) |
2021-04-07 18:24:00 +0200 | berberman_ | (~berberman@unaffiliated/berberman) (Max SendQ exceeded) |
2021-04-07 18:24:38 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds) |
2021-04-07 18:24:54 +0200 | berberman | (~berberman@unaffiliated/berberman) |
2021-04-07 18:25:34 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-07 18:25:41 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 18:29:04 +0200 | stef204 | (~stef204@unaffiliated/stef-204/x-384198) (Quit: WeeChat 3.1) |
2021-04-07 18:33:02 +0200 | justanotheruser | (justanothe@gateway/vpn/protonvpn/justanotheruser) (Ping timeout: 260 seconds) |
2021-04-07 18:40:29 +0200 | jacks2 | (~bc8134e3@199.204.85.195) (Quit: CGI:IRC (Session timeout)) |
2021-04-07 18:46:30 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:c57c:ce7d:dcca:9af1) |
2021-04-07 18:46:49 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:c57c:ce7d:dcca:9af1) (Read error: Connection reset by peer) |
2021-04-07 18:48:14 +0200 | __minoru__shirae | (~shiraeesh@5.101.59.224) |
2021-04-07 18:51:48 +0200 | nrh^ | (nrh@ip98-184-89-2.mc.at.cox.net) () |
2021-04-07 18:52:05 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-07 18:52:24 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-07 18:53:04 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.8) |
2021-04-07 18:54:48 +0200 | Sorny | (~Sornaensi@077213203030.dynamic.telenor.dk) |
2021-04-07 18:55:36 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 18:56:01 +0200 | darkon | (~darkon@90.214.167.201) |
2021-04-07 18:57:54 +0200 | Sorna | (~Sornaensi@79.142.232.102.static.router4.bolignet.dk) (Ping timeout: 265 seconds) |
2021-04-07 18:59:36 +0200 | coot | (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-04-07 18:59:41 +0200 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 260 seconds) |
2021-04-07 19:00:06 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-04-07 19:00:32 +0200 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
2021-04-07 19:00:34 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2021-04-07 19:04:36 +0200 | vicfred | (~vicfred@unaffiliated/vicfred) |
2021-04-07 19:04:47 +0200 | coot | (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) |
2021-04-07 19:05:52 +0200 | justanotheruser | (justanothe@gateway/vpn/protonvpn/justanotheruser) |
2021-04-07 19:07:35 +0200 | kuribas | (~user@ptr-25vy0i7wi7nt82wi9fp.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-04-07 19:09:09 +0200 | hiroaki | (~hiroaki@2a02:908:4b18:8c40:1137:7482:fd5a:b039) |
2021-04-07 19:19:02 +0200 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
2021-04-07 19:20:50 +0200 | bitmapper | (uid464869@gateway/web/irccloud.com/x-nyysfddoxuidbcdr) |
2021-04-07 19:21:25 +0200 | <fresheyeball> | is there a way to to see the history of this IRC? |
2021-04-07 19:22:13 +0200 | <monochrom> | see topic |
2021-04-07 19:22:22 +0200 | sz0 | (uid110435@gateway/web/irccloud.com/x-uimgiattmedzcfdn) (Quit: Connection closed for inactivity) |
2021-04-07 19:23:26 +0200 | <fresheyeball> | monochrom: I don't understand |
2021-04-07 19:23:56 +0200 | <monochrom> | Use the /topic command, then look for the substring "Logs:", then look for the URL after. |
2021-04-07 19:24:04 +0200 | <fresheyeball> | oh cool |
2021-04-07 19:24:25 +0200 | <monochrom> | Recommended reading the whole thing entirely. |
2021-04-07 19:24:57 +0200 | <glguy> | yes, please read the whole log ;-) |
2021-04-07 19:25:07 +0200 | <monochrom> | haha |
2021-04-07 19:25:20 +0200 | <fresheyeball> | I think that would take some time |
2021-04-07 19:25:37 +0200 | <monochrom> | But please don't revive a conversation that ended more than an hour ago. |
2021-04-07 19:25:45 +0200 | <maerwald> | don't trust ppl on the internet |
2021-04-07 19:26:02 +0200 | <fresheyeball> | Well I got some really good help last night on #ghc, and now I can't remeber a thing |
2021-04-07 19:26:17 +0200 | <maerwald> | what did you do afterwards? |
2021-04-07 19:26:28 +0200 | <geekosaur> | #ghc is its own channel, and afaict has no logs |
2021-04-07 19:26:41 +0200 | notzmv | (~zmv@unaffiliated/zmv) (Ping timeout: 240 seconds) |
2021-04-07 19:26:50 +0200 | <maerwald> | I have #ghc logs |
2021-04-07 19:26:56 +0200 | <monochrom> | This is why I instruct my irc client to keep logs for a week, or maybe 10 days, I forgot. |
2021-04-07 19:27:24 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 19:27:33 +0200 | <maerwald> | You delete logs? |
2021-04-07 19:27:45 +0200 | <monochrom> | Yes |
2021-04-07 19:29:49 +0200 | <maerwald> | fresheyeball: https://paste.tomsmeding.com/sVgPvang |
2021-04-07 19:30:18 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:7409:794c:2926:5b5e) |
2021-04-07 19:31:29 +0200 | <maerwald> | fresheyeball: second part (from today, not yesterday) https://paste.tomsmeding.com/Co1LXasu |
2021-04-07 19:32:15 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
2021-04-07 19:32:18 +0200 | unlink_ | (~unlink2@p57b853bf.dip0.t-ipconnect.de) |
2021-04-07 19:32:41 +0200 | <fresheyeball> | maerwald: amazing! |
2021-04-07 19:32:50 +0200 | geekosaur | (82650c7a@130.101.12.122) (Quit: Connection closed) |
2021-04-07 19:33:06 +0200 | geekosaur | (82650c7a@130.101.12.122) |
2021-04-07 19:33:14 +0200 | <fresheyeball> | wait I need the rest of the conversation |
2021-04-07 19:33:28 +0200 | <fresheyeball> | oh you already sent it |
2021-04-07 19:33:35 +0200 | unlink2 | (~unlink2@p200300ebcf254d00a495fbc96206c979.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2021-04-07 19:33:58 +0200 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 240 seconds) |
2021-04-07 19:34:39 +0200 | Sheilong | (uid293653@gateway/web/irccloud.com/x-yckkwdautnlneayq) |
2021-04-07 19:36:59 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-04-07 19:40:03 +0200 | mkDoku | (~TheMule@aftr-37-201-195-134.unity-media.net) (Ping timeout: 248 seconds) |
2021-04-07 19:40:09 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-04-07 19:40:42 +0200 | geekosaur | (82650c7a@130.101.12.122) (Ping timeout: 240 seconds) |
2021-04-07 19:43:10 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 19:43:43 +0200 | gitgood | (~gitgood@80-44-12-39.dynamic.dsl.as9105.com) |
2021-04-07 19:46:43 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds) |
2021-04-07 19:47:09 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-04-07 19:51:23 +0200 | NinjaTrappeur | (~ninja@unaffiliated/ninjatrappeur) (Ping timeout: 260 seconds) |
2021-04-07 19:52:41 +0200 | stree | (~stree@68.36.8.116) (Ping timeout: 240 seconds) |
2021-04-07 19:53:29 +0200 | hypercube | (hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 265 seconds) |
2021-04-07 19:53:48 +0200 | rajivr | (uid269651@gateway/web/irccloud.com/x-bfdpumpohvpxzdht) (Quit: Connection closed for inactivity) |
2021-04-07 19:56:29 +0200 | geekosaur | (82650c7a@130.101.12.122) |
2021-04-07 19:57:37 +0200 | ukari | (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
2021-04-07 19:58:38 +0200 | ukari | (~ukari@unaffiliated/ukari) |
2021-04-07 19:59:29 +0200 | howdoi | (uid224@gateway/web/irccloud.com/x-ucsrbnmysyuxrtpn) |
2021-04-07 20:05:09 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
2021-04-07 20:06:02 +0200 | stree | (~stree@68.36.8.116) |
2021-04-07 20:10:12 +0200 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection) |
2021-04-07 20:10:58 +0200 | concept2 | (~concept2@unaffiliated/tubo) (Quit: See ya later!) |
2021-04-07 20:11:00 +0200 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) |
2021-04-07 20:11:27 +0200 | avn | (~avn@78-56-108-78.static.zebra.lt) |
2021-04-07 20:12:58 +0200 | typetetris | (uid275937@gateway/web/irccloud.com/x-remmslgdlkipcjiq) (Quit: Connection closed for inactivity) |
2021-04-07 20:13:39 +0200 | HannaM | (~quassel@p54849510.dip0.t-ipconnect.de) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-04-07 20:13:43 +0200 | Iryon | (~Iryon@185-12-21-77.sigma.jaslo.pl) (Remote host closed the connection) |
2021-04-07 20:14:05 +0200 | ericsagn1 | (~ericsagne@2405:6580:0:5100:3653:fd0e:1076:1c7b) (Ping timeout: 258 seconds) |
2021-04-07 20:15:12 +0200 | thriqon | (~thriqon@HSI-KBW-46-223-163-79.hsi.kabel-badenwuerttemberg.de) |
2021-04-07 20:17:30 +0200 | concept2 | (~concept2@unaffiliated/tubo) |
2021-04-07 20:19:09 +0200 | hypercube | (hypercube@gateway/vpn/protonvpn/hypercube) |
2021-04-07 20:19:58 +0200 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
2021-04-07 20:21:50 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-04-07 20:23:30 +0200 | deviantfero | (~deviantfe@190.150.27.58) (Quit: WeeChat 3.1) |
2021-04-07 20:23:49 +0200 | deviantfero | (~deviantfe@190.150.27.58) |
2021-04-07 20:24:59 +0200 | xff0x | (~xff0x@2001:1a81:52c6:f900:8bb9:4c7a:ec7:b51f) (Ping timeout: 260 seconds) |
2021-04-07 20:25:49 +0200 | chiki | (5819fc6f@111.red-88-25-252.staticip.rima-tde.net) |
2021-04-07 20:25:56 +0200 | ericsagn1 | (~ericsagne@2405:6580:0:5100:d2e3:b034:3303:1a96) |
2021-04-07 20:25:58 +0200 | Codaraxis | (Codaraxis@gateway/vpn/mullvad/codaraxis) |
2021-04-07 20:26:10 +0200 | xff0x | (~xff0x@141.98.255.145) |
2021-04-07 20:26:25 +0200 | nrh^ | (wear_a_mas@ip98-184-89-2.mc.at.cox.net) |
2021-04-07 20:26:44 +0200 | <chiki> | Hi. Is there a predefined function in Haskell to convert a Word8 into its hexadecimal representation? |
2021-04-07 20:27:08 +0200 | coot | (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-04-07 20:27:41 +0200 | justanotheruser | (justanothe@gateway/vpn/protonvpn/justanotheruser) (Ping timeout: 240 seconds) |
2021-04-07 20:28:18 +0200 | Codaraxis_ | (Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 240 seconds) |
2021-04-07 20:28:24 +0200 | <geekosaur> | :t showHex |
2021-04-07 20:28:25 +0200 | <lambdabot> | (Integral a, Show a) => a -> ShowS |
2021-04-07 20:28:29 +0200 | <geekosaur> | @index showHex |
2021-04-07 20:28:29 +0200 | <lambdabot> | Numeric |
2021-04-07 20:28:36 +0200 | <chiki> | oh, thanks! |
2021-04-07 20:28:56 +0200 | <xsperry> | there's also printf :) |
2021-04-07 20:29:01 +0200 | egorbelibov | (~65676f72@2001:8a0:5708:2a00:3d3b:5fca:52a6:2df1) (Remote host closed the connection) |
2021-04-07 20:29:01 +0200 | <srk> | or printf from Text.Printf ^^ |
2021-04-07 20:29:11 +0200 | deviantfero | (~deviantfe@190.150.27.58) (Ping timeout: 240 seconds) |
2021-04-07 20:30:53 +0200 | hexagenic | (~mattias@81-224-107-147-no71.tbcn.telia.com) |
2021-04-07 20:31:04 +0200 | <chiki> | printf seems overkill ^^ showHex will sufice |
2021-04-07 20:31:08 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-04-07 20:31:08 +0200 | deviantfero | (~deviantfe@190.150.27.58) |
2021-04-07 20:31:28 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 20:31:37 +0200 | <geekosaur> | just watch out for the ShowS |
2021-04-07 20:32:29 +0200 | NinjaTrappeur | (~ninja@unaffiliated/ninjatrappeur) |
2021-04-07 20:32:31 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal) |
2021-04-07 20:32:49 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-07 20:34:09 +0200 | chiki | (5819fc6f@111.red-88-25-252.staticip.rima-tde.net) () |
2021-04-07 20:34:56 +0200 | fendor_ | (~fendor@91.141.2.173.wireless.dyn.drei.com) |
2021-04-07 20:35:31 +0200 | xff0x | (~xff0x@141.98.255.145) (Ping timeout: 248 seconds) |
2021-04-07 20:36:41 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-07 20:36:58 +0200 | fendor | (~fendor@178.165.131.170.wireless.dyn.drei.com) (Ping timeout: 240 seconds) |
2021-04-07 20:37:22 +0200 | xff0x | (~xff0x@2001:1a81:52c6:f900:8bb9:4c7a:ec7:b51f) |
2021-04-07 20:37:31 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 20:40:06 +0200 | mursu | (~ngWalrus@46.101.150.54) (Ping timeout: 240 seconds) |
2021-04-07 20:41:37 +0200 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1) |
2021-04-07 20:41:53 +0200 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
2021-04-07 20:42:10 +0200 | pjb | (~t@2a01cb04063ec500d0cbc77584c6a81b.ipv6.abo.wanadoo.fr) (Quit: upgrading to Bug Sure :-/) |
2021-04-07 20:43:17 +0200 | noCheese | (~nocheese@unaffiliated/nocheese) (Ping timeout: 246 seconds) |
2021-04-07 20:45:31 +0200 | hexfive | (~hexfive@50.35.83.177) (Quit: i must go. my people need me.) |
2021-04-07 20:46:44 +0200 | Guest_29 | (a2ec0862@162-236-8-98.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 20:46:57 +0200 | coot | (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) |
2021-04-07 20:47:47 +0200 | Guest_29 | (a2ec0862@162-236-8-98.lightspeed.sntcca.sbcglobal.net) (Client Quit) |
2021-04-07 20:48:16 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-04-07 20:48:36 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 20:51:19 +0200 | mkDoku | (~TheMule@aftr-37-201-195-134.unity-media.net) |
2021-04-07 20:52:05 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-07 20:52:24 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-07 20:52:53 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:7409:794c:2926:5b5e) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-07 20:53:16 +0200 | solvr | (57e3c46d@87.227.196.109) (Quit: Connection closed) |
2021-04-07 20:53:30 +0200 | solvr | (57e3c46d@87.227.196.109) |
2021-04-07 20:53:40 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 268 seconds) |
2021-04-07 20:54:11 +0200 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 248 seconds) |
2021-04-07 20:56:17 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 20:57:14 +0200 | fendor_ | fendor |
2021-04-07 20:57:56 +0200 | <fendor> | can I define haddock documentation for a field in a data type? Assuming, no record syntax. |
2021-04-07 20:58:09 +0200 | <monochrom> | I think yes |
2021-04-07 20:58:23 +0200 | <monochrom> | Do you have access to haddock's manual? |
2021-04-07 20:59:04 +0200 | xhlr | (~xhlr@static.144.156.216.95.clients.your-server.de) () |
2021-04-07 20:59:23 +0200 | <fendor> | it is probably on the internet, so I assume so |
2021-04-07 20:59:26 +0200 | <monochrom> | https://haskell-haddock.readthedocs.io/en/latest/markup.html#constructors-and-record-fields |
2021-04-07 20:59:45 +0200 | <monochrom> | It also comes with GHC, on your hard disk |
2021-04-07 21:00:20 +0200 | <fendor> | that's hard to find though! |
2021-04-07 21:00:28 +0200 | <fendor> | on the harddisk, I mean |
2021-04-07 21:00:34 +0200 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-04-07 21:00:41 +0200 | <fendor> | ok great, I think I can find a bug report for HLS then |
2021-04-07 21:00:42 +0200 | <monochrom> | Look under <prefix>/share/doc for much goodies |
2021-04-07 21:00:45 +0200 | <fendor> | *file |
2021-04-07 21:01:01 +0200 | mkDoku | (~TheMule@aftr-37-201-195-134.unity-media.net) (Ping timeout: 260 seconds) |
2021-04-07 21:01:07 +0200 | minoru_shiraeesh | (~shiraeesh@109.166.57.223) |
2021-04-07 21:01:25 +0200 | <monochrom> | <prefix>/share/doc/ghc-<version>/html |
2021-04-07 21:01:31 +0200 | xhlr | (~xhlr@static.144.156.216.95.clients.your-server.de) |
2021-04-07 21:01:38 +0200 | __minoru__shirae | (~shiraeesh@5.101.59.224) (Ping timeout: 240 seconds) |
2021-04-07 21:02:01 +0200 | <monochrom> | GHC user's guide, library doc for libraries that come with GHC, haddock |
2021-04-07 21:03:11 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:7409:794c:2926:5b5e) |
2021-04-07 21:03:31 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 268 seconds) |
2021-04-07 21:04:05 +0200 | <fendor> | good to remember, thank you! |
2021-04-07 21:05:00 +0200 | <tomsmeding> | oooooh |
2021-04-07 21:05:05 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:7409:794c:2926:5b5e) (Client Quit) |
2021-04-07 21:05:07 +0200 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds) |
2021-04-07 21:05:29 +0200 | <geekosaur> | https://downloads.haskell.org/ghc/latest/docs/html/ |
2021-04-07 21:05:36 +0200 | <tomsmeding> | yay 'base' haddocks on my local disk |
2021-04-07 21:06:13 +0200 | <tomsmeding> | that will save hackage some bandwidth |
2021-04-07 21:06:47 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:7409:794c:2926:5b5e) |
2021-04-07 21:07:10 +0200 | <monochrom> | My reason for preferring local, comes-with-the-installation docs is that online docs are always the wrong version. |
2021-04-07 21:07:18 +0200 | fiedlr | (~fiedlr@83.148.33.254) |
2021-04-07 21:08:17 +0200 | <geekosaur> | oh good, ghcup does install them |
2021-04-07 21:08:52 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2021-04-07 21:08:54 +0200 | <fendor> | I agree, the first ghc manual link is almost always the wrong version |
2021-04-07 21:09:04 +0200 | <monochrom> | Only linux distros butcher the docs into separate "packages". |
2021-04-07 21:09:37 +0200 | <geekosaur> | you can replace "latest" with a specific version |
2021-04-07 21:09:46 +0200 | <monochrom> | ghcup and stack pick from official builds, but all official builds have docs built. |
2021-04-07 21:11:19 +0200 | coot | (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-04-07 21:12:50 +0200 | <mananamenos> | tomsmeding, thank you |
2021-04-07 21:14:47 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2021-04-07 21:17:36 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Read error: Connection reset by peer) |
2021-04-07 21:17:48 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:7409:794c:2926:5b5e) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-07 21:19:47 +0200 | <fiedlr> | Hi, did anyone try to build llvm-hs on macOS? My project always fails with > fatal error: too many errors emitted, stopping now [-ferror-limit=], > `gcc' failed in phase `C Compiler'. (Exit code: 1). I've tried --with-gcc pointing to the brew gcc, various cxx flags, but nothing helped. |
2021-04-07 21:20:04 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-07 21:20:54 +0200 | dcoutts | (~duncan@94.186.125.91.dyn.plus.net) (Remote host closed the connection) |
2021-04-07 21:21:01 +0200 | connrs | (~connrs@connolley.uk) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-04-07 21:21:17 +0200 | dcoutts | (~duncan@94.186.125.91.dyn.plus.net) |
2021-04-07 21:21:19 +0200 | <fiedlr> | It seems like it uses some old version of C++ but I have no idea why (most errors are caused that the compiler fails to recognize things like auto, constexpr and so on) |
2021-04-07 21:22:41 +0200 | connrs | (~connrs@connolley.uk) |
2021-04-07 21:23:29 +0200 | connrs | (~connrs@connolley.uk) (Client Quit) |
2021-04-07 21:24:08 +0200 | <tomsmeding> | fiedlr: can you manage to pinpoint which gcc is actually used during the build? |
2021-04-07 21:24:53 +0200 | connrs | (~connrs@connolley.uk) |
2021-04-07 21:24:54 +0200 | notzmv | (~zmv@unaffiliated/zmv) |
2021-04-07 21:25:05 +0200 | <tomsmeding> | e.g. by writing a script that spams 'ps aux | grep "gcc\|g++" | cut -d" " -f1' to get the current process ID of the compiler process, if any |
2021-04-07 21:25:28 +0200 | <tomsmeding> | and then getting the executable path of that thing in some macOS-specific way (on linux you'd use /proc/) |
2021-04-07 21:26:25 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 21:26:31 +0200 | <geekosaur> | you missed clang, which is kinda the point of llvm-hs |
2021-04-07 21:26:53 +0200 | <geekosaur> | in your grep |
2021-04-07 21:27:03 +0200 | <tomsmeding> | hah |
2021-04-07 21:27:49 +0200 | connrs | (~connrs@connolley.uk) (Client Quit) |
2021-04-07 21:28:02 +0200 | Sornaensis | (~Sornaensi@85.203.36.21) |
2021-04-07 21:28:12 +0200 | <tomsmeding> | on linux I'd say 'strace' the hell out of it, but in my experience mac's alternative, dtruss, more often doesn't work than does |
2021-04-07 21:28:29 +0200 | dcoutts | (~duncan@94.186.125.91.dyn.plus.net) (Remote host closed the connection) |
2021-04-07 21:28:49 +0200 | dcoutts | (~duncan@94.186.125.91.dyn.plus.net) |
2021-04-07 21:28:53 +0200 | connrs | (~connrs@connolley.uk) |
2021-04-07 21:29:37 +0200 | <geekosaur> | it works but you have to up a bunch of table sizes or it crashes |
2021-04-07 21:30:27 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds) |
2021-04-07 21:31:07 +0200 | Sorny | (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 265 seconds) |
2021-04-07 21:31:07 +0200 | kiltzman | (~k1ltzman@195.189.99.96) (Ping timeout: 265 seconds) |
2021-04-07 21:31:11 +0200 | <maerwald> | monochrom: mostly official builds :p |
2021-04-07 21:31:14 +0200 | <geekosaur> | on second thought why am I defending apple when I got torqued off at what they were doing to their ecosystem several years ago |
2021-04-07 21:31:43 +0200 | <monochrom> | :) |
2021-04-07 21:32:05 +0200 | <maerwald> | monochrom: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/ here are some semi-official builds (things that didn't make it through the GHC release process) |
2021-04-07 21:32:20 +0200 | <maerwald> | mostly alpine/freebsd |
2021-04-07 21:32:24 +0200 | <tomsmeding> | geekosaur: I don't see saying "it works if you do some random adjustments otherwise it crashes" as defending apple :p |
2021-04-07 21:32:25 +0200 | dcoutts | (~duncan@94.186.125.91.dyn.plus.net) (Remote host closed the connection) |
2021-04-07 21:32:50 +0200 | dcoutts | (~duncan@94.186.125.91.dyn.plus.net) |
2021-04-07 21:33:10 +0200 | <geekosaur> | well, I like dtrace. it's unfortunate that the defaults are a bit small regardless of platform |
2021-04-07 21:33:19 +0200 | juliuco | (~juliuco@213.177.196.21) |
2021-04-07 21:34:01 +0200 | <tomsmeding> | maybe I was bitten by not disabling SIP when I was on mac, then dtruss fails in the majority of cases where you'd like it to work |
2021-04-07 21:34:29 +0200 | <tomsmeding> | but I thought I remembered that it fails in far more cases than attributable to SIP; but I probably misremember |
2021-04-07 21:35:07 +0200 | connrs | (~connrs@connolley.uk) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-04-07 21:35:39 +0200 | ukari | (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
2021-04-07 21:36:02 +0200 | kiltzman | (~k1ltzman@5.206.224.243) |
2021-04-07 21:36:09 +0200 | connrs | (~connrs@connolley.uk) |
2021-04-07 21:36:16 +0200 | connrs | (~connrs@connolley.uk) (Client Quit) |
2021-04-07 21:36:50 +0200 | ukari | (~ukari@unaffiliated/ukari) |
2021-04-07 21:36:52 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2021-04-07 21:37:01 +0200 | <tomsmeding> | geekosaur: llvm-hs's cabal file looks like it uses vanilla hsc2hs, not something clang-specific; perhaps it doesn't particularly care about your C/C++ compiler, but just links to libllvm? |
2021-04-07 21:37:19 +0200 | connrs | (~connrs@connolley.uk) |
2021-04-07 21:37:49 +0200 | connrs | (~connrs@connolley.uk) (Client Quit) |
2021-04-07 21:37:51 +0200 | <geekosaur> | dunno |
2021-04-07 21:37:57 +0200 | thriqon | (~thriqon@HSI-KBW-46-223-163-79.hsi.kabel-badenwuerttemberg.de) () |
2021-04-07 21:38:10 +0200 | <geekosaur> | I'm just suspicious of a --with-gcc involved with an llvm-related package |
2021-04-07 21:38:46 +0200 | <fiedlr> | tomsmeding Thanks for the hint! Well I was lazy and just fired it myself at the right moment :-D It seems that --with-gcc is ignored and /Library/Developer/CommandLineTools/usr/bin/clang is used anyway. |
2021-04-07 21:38:50 +0200 | connrs | (~connrs@connolley.uk) |
2021-04-07 21:38:55 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds) |
2021-04-07 21:39:40 +0200 | <tomsmeding> | env PATH="/path/to/your/chosen/gcc:$PATH" cabal build |
2021-04-07 21:39:40 +0200 | <tomsmeding> | ? |
2021-04-07 21:40:04 +0200 | <geekosaur> | if this is hsc2hs failing then maybe it'd work (of course "gcc" from apple dev tools is a wrapper for clang) but complaining about constexpr sounds like it is compiling c++ code and wants a recentish clang++ |
2021-04-07 21:40:25 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 21:40:33 +0200 | connrs | (~connrs@connolley.uk) (Client Quit) |
2021-04-07 21:40:51 +0200 | dcoutts__ | (~duncan@94.186.125.91.dyn.plus.net) |
2021-04-07 21:41:14 +0200 | dcoutts | (~duncan@94.186.125.91.dyn.plus.net) (Read error: Connection reset by peer) |
2021-04-07 21:41:36 +0200 | connrs | (~connrs@connolley.uk) |
2021-04-07 21:43:36 +0200 | supercoven_ | (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Ping timeout: 260 seconds) |
2021-04-07 21:44:00 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit) |
2021-04-07 21:44:20 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 21:44:39 +0200 | Ranhir | (~Ranhir@157.97.53.139) (Ping timeout: 265 seconds) |
2021-04-07 21:44:58 +0200 | juliuco | (~juliuco@213.177.196.21) (Quit: juliuco) |
2021-04-07 21:45:07 +0200 | <fiedlr> | This apple dev tools clang is a pain in the neck. Every time. |
2021-04-07 21:46:56 +0200 | <tomsmeding> | you can put a brew clang before it in your PATH |
2021-04-07 21:48:34 +0200 | Lord_of_Life_ | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2021-04-07 21:48:35 +0200 | <fiedlr> | True, but I think brew doesn't shadow it by default for some reason... Even gcc is installed as gcc-10 |
2021-04-07 21:48:51 +0200 | <fiedlr> | That's why I haven't done it so far |
2021-04-07 21:48:58 +0200 | <fiedlr> | But idk, no idea |
2021-04-07 21:49:07 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 248 seconds) |
2021-04-07 21:50:21 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Read error: Connection reset by peer) |
2021-04-07 21:50:23 +0200 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 260 seconds) |
2021-04-07 21:50:56 +0200 | <tomsmeding> | brew does not change your path |
2021-04-07 21:51:38 +0200 | Lord_of_Life_ | Lord_of_Life |
2021-04-07 21:51:41 +0200 | Fabe | (~Faberyayo@ptr-g9pig2kcm602krccqi3.18120a2.ip6.access.telenet.be) |
2021-04-07 21:52:07 +0200 | <tomsmeding> | it's perhaps a bad idea to put /usr/local/bin in the front of your path to let everything from brew take precedence (though I believe I did that at some point), but you can create a different folder ($HOME/bin for example) in which you add symlinks to the brew things you want to have precedence, and then add _that_ folder to your pATH |
2021-04-07 21:52:48 +0200 | <tomsmeding> | fiedlr: did the temporary PATH override that I suggested work? |
2021-04-07 21:53:58 +0200 | <joel135> | If I have a monad for which the bind operation which takes a -> m b and outputs m a -> m b is an isomorphism, is this related to m being an idempotent monad? |
2021-04-07 21:54:24 +0200 | Fabe | (~Faberyayo@ptr-g9pig2kcm602krccqi3.18120a2.ip6.access.telenet.be) ("Leaving") |
2021-04-07 21:55:18 +0200 | molehillish | (~molehilli@2600:8800:8d06:1800:e032:860d:11aa:7812) |
2021-04-07 21:55:21 +0200 | <fiedlr> | tomsmeding: It didn't (I used stack though). |
2021-04-07 21:55:43 +0200 | Ranhir | (~Ranhir@157.97.53.139) |
2021-04-07 21:56:25 +0200 | <tomsmeding> | fiedlr: yeah the 'cabal build' was just a standin for whatever you're using |
2021-04-07 21:56:29 +0200 | hexagenic | (~mattias@81-224-107-147-no71.tbcn.telia.com) (Quit: WeeChat 1.9.1) |
2021-04-07 21:56:38 +0200 | <sm[m]> | I always put brew, nix etc. first in PATH on mac and haven't noticed any issues |
2021-04-07 21:56:40 +0200 | <tomsmeding> | fiedlr: can you post the entire build log to a pastebin? |
2021-04-07 21:58:05 +0200 | <fiedlr> | tomsmeding: I guess I really need that clang++? I know that brew doesn't change paths, I just meant the suffixes (gcc-10...). |
2021-04-07 21:58:32 +0200 | <fiedlr> | sm[m]: Ok I'll try :-D |
2021-04-07 21:58:34 +0200 | <tomsmeding> | ooo that might be a thing |
2021-04-07 21:58:48 +0200 | malumore | (~malumore@151.62.125.43) (Remote host closed the connection) |
2021-04-07 21:59:05 +0200 | malumore | (~malumore@151.62.125.43) |
2021-04-07 21:59:33 +0200 | <tomsmeding> | fiedlr: mkdir $HOME/bin; ln -vis $(which gcc-10) $HOME/bin/gcc; ln -vis $(WHICH g++-10) $HOME/bin/g++; env PATH="$HOME/bin:$PATH" stack build |
2021-04-07 21:59:47 +0200 | <tomsmeding> | perhaps do a similar thing with clang/clang++ if necessary, not sure if necessary |
2021-04-07 22:00:06 +0200 | <tomsmeding> | lol s/WHICH/which/ though that might not even matter on mac |
2021-04-07 22:01:31 +0200 | <maerwald> | sm[m]: interestingly I got an angry bug report saying ghcup should put itself LAST in PATH (like all tools should)... although this is false logic |
2021-04-07 22:01:43 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-07 22:01:46 +0200 | <maerwald> | order matters, no matter if you prepend or append |
2021-04-07 22:01:52 +0200 | <maerwald> | there will always be problems |
2021-04-07 22:02:40 +0200 | <maerwald> | but apparently there are conflicts with nix |
2021-04-07 22:03:01 +0200 | <maerwald> | so you probably want to put nix first |
2021-04-07 22:03:10 +0200 | connrs | (~connrs@connolley.uk) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-04-07 22:03:10 +0200 | <maerwald> | unless you don't |
2021-04-07 22:03:42 +0200 | coot | (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) |
2021-04-07 22:04:11 +0200 | connrs | (~connrs@connolley.uk) |
2021-04-07 22:04:58 +0200 | petersen | (~petersen@redhat/juhp) (Ping timeout: 240 seconds) |
2021-04-07 22:05:00 +0200 | <geekosaur> | fiedlr, given that it's LLVM, I'd check the LLVM version I wanted to link against and use its clang and clang++ |
2021-04-07 22:05:34 +0200 | <fiedlr> | This is the log https://pastebin.com/EnLNGmr6 |
2021-04-07 22:05:51 +0200 | geekosaur | (82650c7a@130.101.12.122) (Quit: Connection closed) |
2021-04-07 22:06:21 +0200 | dpl | (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 260 seconds) |
2021-04-07 22:06:35 +0200 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
2021-04-07 22:07:48 +0200 | petersen | (~petersen@redhat/juhp) |
2021-04-07 22:08:08 +0200 | <tomsmeding> | fiedlr: is that the full log? no configure output about llvm-hs beforehand? |
2021-04-07 22:08:14 +0200 | <fiedlr> | It's funny that I forgot I actually don't have brew clang and I'm running on some Apple's prehistoric version given that I can't update from Catalina |
2021-04-07 22:08:36 +0200 | <fiedlr> | Sorry, just the error log, wait a sec |
2021-04-07 22:08:41 +0200 | Benzi-Junior | (~BenziJuni@dsl-149-67-143.hive.is) (Ping timeout: 246 seconds) |
2021-04-07 22:08:47 +0200 | B-J | (~BenziJuni@88-149-64-251.du.xdsl.is) |
2021-04-07 22:09:13 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-04-07 22:09:54 +0200 | <tomsmeding> | "warning: alias declarations are a C++11 extension [-Wc++11-extensions]" |
2021-04-07 22:10:26 +0200 | <tomsmeding> | oh perhaps it's old enough that it doesn't know -std=c++11 and needs c++0x, but the cabal file has c++11 |
2021-04-07 22:10:51 +0200 | <tomsmeding> | fiedlr: you're not using nix by any chance? |
2021-04-07 22:11:09 +0200 | dhouthoo | (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0) |
2021-04-07 22:12:06 +0200 | <fiedlr> | Not that I'm aware of |
2021-04-07 22:12:26 +0200 | <tomsmeding> | then I hope you're not :p |
2021-04-07 22:12:37 +0200 | <fiedlr> | :-D |
2021-04-07 22:13:01 +0200 | <tomsmeding> | nix tends to be a complete pain in the behind for remote debugging, because it makes everything behave in different, unexpected ways |
2021-04-07 22:13:15 +0200 | <tomsmeding> | in my opinion :) |
2021-04-07 22:13:58 +0200 | stree | (~stree@68.36.8.116) (Ping timeout: 240 seconds) |
2021-04-07 22:15:25 +0200 | lawt | (~lawt@c-73-151-3-92.hsd1.ca.comcast.net) |
2021-04-07 22:15:28 +0200 | geekosaur | (82650c7a@130.101.12.122) |
2021-04-07 22:15:36 +0200 | <fiedlr> | Completed 2 action(s). |
2021-04-07 22:15:47 +0200 | solvr | (57e3c46d@87.227.196.109) (Quit: Connection closed) |
2021-04-07 22:15:58 +0200 | <fiedlr> | Hooray :-D :-D It was really the suffixes :-D :-D |
2021-04-07 22:16:12 +0200 | <tomsmeding> | :') |
2021-04-07 22:16:13 +0200 | <fiedlr> | Thanks tomsmeding and geekosaur for help! |
2021-04-07 22:16:21 +0200 | <fiedlr> | And sorry to waste your time |
2021-04-07 22:16:30 +0200 | <fiedlr> | I guess I should've dedicated it more time myself |
2021-04-07 22:16:35 +0200 | <tomsmeding> | cheers, that's why we hang around in this channel anyway :p |
2021-04-07 22:16:54 +0200 | <tomsmeding> | 'brew link' exists btw |
2021-04-07 22:17:06 +0200 | <tomsmeding> | not sure if that removes the suffixes, can't rememberr |
2021-04-07 22:20:41 +0200 | alx741 | (~alx741@181.196.68.238) (Ping timeout: 240 seconds) |
2021-04-07 22:20:51 +0200 | <fiedlr> | I'll def. check it out |
2021-04-07 22:21:13 +0200 | <L29Ah> | how am i supposed to send patches to something like https://hackage.haskell.org/package/bytestring-mmap |
2021-04-07 22:21:14 +0200 | <L29Ah> | ? |
2021-04-07 22:22:55 +0200 | <geekosaur> | fork it, dons isn't really maintaining anything any more and it hasn't been updated since 2011 |
2021-04-07 22:23:47 +0200 | L29Ah | is sad that hackage is polluted with mmap libraries, and neither of them does what i want |
2021-04-07 22:24:06 +0200 | <geekosaur> | and code.haskell.org is gone/archived |
2021-04-07 22:26:12 +0200 | <sclv> | L29Ah: if you want to take it over as maintainer dons has basically given carte blanche to people to do so |
2021-04-07 22:26:57 +0200 | <sclv> | i.e. hackage admins have been instructed to automatically grant any sane takeover request on any dons package |
2021-04-07 22:27:19 +0200 | stree | (~stree@68.36.8.116) |
2021-04-07 22:28:05 +0200 | <L29Ah> | thanks |
2021-04-07 22:28:38 +0200 | MrMobius | (~MrMobius@208.58.206.154) (Ping timeout: 268 seconds) |
2021-04-07 22:28:43 +0200 | recon_- | (~quassel@2602:febc:0:b6::6ca2) (Ping timeout: 276 seconds) |
2021-04-07 22:28:54 +0200 | recon_- | (~quassel@2602:febc:0:b6::6ca2) |
2021-04-07 22:32:46 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 240 seconds) |
2021-04-07 22:33:32 +0200 | geekosaur | (82650c7a@130.101.12.122) (Quit: Connection closed) |
2021-04-07 22:34:34 +0200 | molehillish | (~molehilli@2600:8800:8d06:1800:e032:860d:11aa:7812) (Remote host closed the connection) |
2021-04-07 22:35:29 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 22:36:24 +0200 | recon_- | (~quassel@2602:febc:0:b6::6ca2) (Quit: No Ping reply in 180 seconds.) |
2021-04-07 22:37:38 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-04-07 22:37:45 +0200 | recon_- | (~quassel@2602:febc:0:b6::6ca2) |
2021-04-07 22:38:26 +0200 | <fiedlr> | tomsmeding: It's possible that I'm just dumb but I'm not sure if brew link helps in this regard. I would just need to check for every one of these problematic packages and create my own symlinks that I would have shadow the apple ones in my PATH. But this is already way too OT for this channel. |
2021-04-07 22:39:01 +0200 | alx741 | (~alx741@181.196.68.139) |
2021-04-07 22:41:14 +0200 | <fiedlr> | At least it worked here :-) |
2021-04-07 22:41:46 +0200 | notzmv | (~zmv@unaffiliated/zmv) (Ping timeout: 260 seconds) |
2021-04-07 22:41:55 +0200 | rodriga | (~quassel@134.204.25.66) (Ping timeout: 248 seconds) |
2021-04-07 22:45:13 +0200 | kadoban_ | (~mud@unaffiliated/kadoban) |
2021-04-07 22:47:54 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:b987:3c7c:2ab7:7849) |
2021-04-07 22:48:00 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-07 22:48:26 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 22:49:08 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 22:49:49 +0200 | <fiedlr> | Haskell related: I'm still wondering why stack ignored --with-gcc? |
2021-04-07 22:49:58 +0200 | mananamenos | (~mananamen@62.red-88-11-67.dynamicip.rima-tde.net) (Ping timeout: 240 seconds) |
2021-04-07 22:50:07 +0200 | srk | (~sorki@unaffiliated/srk) (Ping timeout: 260 seconds) |
2021-04-07 22:50:22 +0200 | <fiedlr> | Ok never mind :-D |
2021-04-07 22:50:39 +0200 | guilhermeblanco | (~guilherme@185.204.1.185) (Remote host closed the connection) |
2021-04-07 22:52:05 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-07 22:52:24 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-07 22:52:24 +0200 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 246 seconds) |
2021-04-07 22:52:29 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:b987:3c7c:2ab7:7849) (Ping timeout: 250 seconds) |
2021-04-07 22:52:32 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2021-04-07 22:53:22 +0200 | hiroaki | (~hiroaki@2a02:908:4b18:8c40:1137:7482:fd5a:b039) (Remote host closed the connection) |
2021-04-07 22:53:47 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit) |
2021-04-07 22:54:07 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-04-07 22:54:09 +0200 | crestfallen | (~john@128.32.176.159) |
2021-04-07 22:56:29 +0200 | notzmv | (~zmv@unaffiliated/zmv) |
2021-04-07 22:57:11 +0200 | mananamenos | (~mananamen@62.red-88-11-67.dynamicip.rima-tde.net) |
2021-04-07 22:57:13 +0200 | hiroaki | (~hiroaki@2a02:908:4b18:8c40:bdf7:105d:7ce:39c2) |
2021-04-07 22:58:59 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 248 seconds) |
2021-04-07 22:59:12 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-07 22:59:31 +0200 | lawt | (~lawt@c-73-151-3-92.hsd1.ca.comcast.net) (Ping timeout: 248 seconds) |
2021-04-07 23:00:50 +0200 | notzmv | (~zmv@unaffiliated/zmv) (Ping timeout: 246 seconds) |
2021-04-07 23:01:09 +0200 | mikoto-chan | (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
2021-04-07 23:03:07 +0200 | <siers> | is there a lens setter that takes an effectful value? Setter s t a b -> f b -> s -> f t |
2021-04-07 23:06:38 +0200 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 240 seconds) |
2021-04-07 23:06:39 +0200 | dinciorip | (~dincio@5.170.5.195) |
2021-04-07 23:06:58 +0200 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
2021-04-07 23:07:20 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9506d42010f0580cba17.dip0.t-ipconnect.de) |
2021-04-07 23:07:56 +0200 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Quit: leaving) |
2021-04-07 23:07:57 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
2021-04-07 23:08:27 +0200 | <glguy> | \l x -> traverseOf l (\_ -> x) :: LensLike f s t a b -> f b -> s -> f t |
2021-04-07 23:08:46 +0200 | <siers> | yeah, I did write that for now, but I was wondering whether that operator is defined already |
2021-04-07 23:09:04 +0200 | <siers> | I guess it wouldn't be so surprising, if it wasn't |
2021-04-07 23:09:07 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) |
2021-04-07 23:11:37 +0200 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2021-04-07 23:13:09 +0200 | RusAlex | (~Chel@unaffiliated/rusalex) (Ping timeout: 252 seconds) |
2021-04-07 23:14:12 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer) |
2021-04-07 23:15:38 +0200 | mananamenos | (~mananamen@62.red-88-11-67.dynamicip.rima-tde.net) (Ping timeout: 240 seconds) |
2021-04-07 23:21:04 +0200 | Sorna | (~Sornaensi@077213203030.dynamic.telenor.dk) |
2021-04-07 23:22:10 +0200 | molehillish | (~molehilli@2600:8800:8d06:1800:e032:860d:11aa:7812) |
2021-04-07 23:24:13 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds) |
2021-04-07 23:24:17 +0200 | Sornaensis | (~Sornaensi@85.203.36.21) (Ping timeout: 246 seconds) |
2021-04-07 23:26:54 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-07 23:27:47 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds) |
2021-04-07 23:30:00 +0200 | <fresheyeball> | I am trying to write a pre-processor |
2021-04-07 23:30:08 +0200 | <fresheyeball> | and just stumbling at hello world |
2021-04-07 23:30:25 +0200 | <fresheyeball> | I added `executable generate-html-dsl` to my cabal file |
2021-04-07 23:30:34 +0200 | <fresheyeball> | and wrote a reasonable hello world main function for it |
2021-04-07 23:30:55 +0200 | <fresheyeball> | then I have a file with `{-# OPTIONS_GHC -F -pgmF generate-html-dsl #-}` |
2021-04-07 23:31:02 +0200 | <fresheyeball> | the exe builds and runs fine |
2021-04-07 23:31:16 +0200 | <fresheyeball> | but the library now fails with `ghc: could not execute: generate-html-dsl` |
2021-04-07 23:31:29 +0200 | <fresheyeball> | and no hints as to why |
2021-04-07 23:31:31 +0200 | malumore | (~malumore@151.62.125.43) (Ping timeout: 260 seconds) |
2021-04-07 23:31:40 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-07 23:32:16 +0200 | dwt | (~dwt@2601:2c6:8080:618:e121:3ef9:65e4:167e) |
2021-04-07 23:34:41 +0200 | pmuir | (~pmuir@185.204.1.185) |
2021-04-07 23:35:23 +0200 | molehillish | (~molehilli@2600:8800:8d06:1800:e032:860d:11aa:7812) (Remote host closed the connection) |
2021-04-07 23:35:37 +0200 | molehillish | (~molehilli@2600:8800:8d06:1800:e032:860d:11aa:7812) |
2021-04-07 23:35:39 +0200 | RusAlex | (~Chel@unaffiliated/rusalex) |
2021-04-07 23:37:11 +0200 | Sorna | (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 240 seconds) |
2021-04-07 23:37:15 +0200 | lawt | (~lawt@c-73-151-3-92.hsd1.ca.comcast.net) |
2021-04-07 23:37:52 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
2021-04-07 23:40:16 +0200 | pjb | (~t@2a01cb04063ec50068b13f06583044a1.ipv6.abo.wanadoo.fr) |
2021-04-07 23:40:35 +0200 | Guest48425 | (~textual@mskresolve-a.mskcc.org) (Ping timeout: 248 seconds) |
2021-04-07 23:41:50 +0200 | lemmih | (~lemmih@2406:3003:2072:44:8211:8912:237:8e05) (Remote host closed the connection) |
2021-04-07 23:42:07 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-04-07 23:42:10 +0200 | lemmih | (~lemmih@2406:3003:2072:44:194c:74d8:3073:4082) |
2021-04-07 23:44:00 +0200 | Sheilong | (uid293653@gateway/web/irccloud.com/x-yckkwdautnlneayq) (Quit: Connection closed for inactivity) |
2021-04-07 23:46:34 +0200 | hiroaki_ | (~hiroaki@2a02:908:4b18:8c40:bdf7:105d:7ce:39c2) |
2021-04-07 23:47:08 +0200 | notzmv | (~zmv@unaffiliated/zmv) |
2021-04-07 23:49:18 +0200 | noCheese | (~nocheese@2a01:4f8:211:39b::30:1) |
2021-04-07 23:49:18 +0200 | noCheese | (~nocheese@2a01:4f8:211:39b::30:1) (Changing host) |
2021-04-07 23:49:18 +0200 | noCheese | (~nocheese@unaffiliated/nocheese) |
2021-04-07 23:50:03 +0200 | kozowu | (uid44796@gateway/web/irccloud.com/x-roldfjkcrdyqvqea) (Quit: Connection closed for inactivity) |
2021-04-07 23:50:18 +0200 | dwt | (~dwt@2601:2c6:8080:618:e121:3ef9:65e4:167e) (Quit: Leaving) |
2021-04-07 23:50:29 +0200 | noCheese | (~nocheese@unaffiliated/nocheese) (Client Quit) |
2021-04-07 23:51:49 +0200 | Althar | (5e039f1a@94.3.159.26) |
2021-04-07 23:52:04 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-07 23:52:24 +0200 | <Althar> | Hello all, I was hoping someone could help me understand what is probably a trivial issue |
2021-04-07 23:52:24 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-07 23:52:49 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:4d74:8eef:fc60:8feb) |
2021-04-07 23:52:57 +0200 | <Althar> | I have a type, such that : 'type ResourceOpT r m a = StateT (ResourceCache r) m a' |
2021-04-07 23:53:04 +0200 | noCheese | (~nocheese@static.52.177.251.148.clients.your-server.de) |
2021-04-07 23:53:04 +0200 | noCheese | (~nocheese@static.52.177.251.148.clients.your-server.de) (Changing host) |
2021-04-07 23:53:04 +0200 | noCheese | (~nocheese@unaffiliated/nocheese) |
2021-04-07 23:53:07 +0200 | notzmv | (~zmv@unaffiliated/zmv) (Ping timeout: 260 seconds) |
2021-04-07 23:53:18 +0200 | <Althar> | Why is it that 'instance (MonadIO m) => Logger ( StateT s m )' works |
2021-04-07 23:53:30 +0200 | <Althar> | but not 'instance (MonadIO m) => Logger ( ResourceOpT r m )' |
2021-04-07 23:53:33 +0200 | <Althar> | aren't they equivalent? |
2021-04-07 23:53:50 +0200 | dwt | (~dwt@2601:2c6:8080:618:e121:3ef9:65e4:167e) |
2021-04-07 23:54:09 +0200 | notzmv | (~zmv@unaffiliated/zmv) |
2021-04-07 23:55:06 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-04-07 23:56:32 +0200 | <Althar> | In my case, having the instance be defined for StateT is an even better abstraction but I am curious why the more specific instance (so to speak) complains that 'should have 3 arguments, but has been given 2' |
2021-04-07 23:56:55 +0200 | <Althar> | In case it wasn't obvious, I am still learning |
2021-04-07 23:58:40 +0200 | dwt | (~dwt@2601:2c6:8080:618:e121:3ef9:65e4:167e) (Quit: Leaving) |