| 2021-06-21 00:01:10 +0000 | lbseale | (~lbseale@user/ep1ctetus) |
| 2021-06-21 00:01:27 +0000 | lbseale | (~lbseale@user/ep1ctetus) (Client Quit) |
| 2021-06-21 00:12:38 +0000 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 2021-06-21 00:18:14 +0000 | ph88 | (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) (Ping timeout: 265 seconds) |
| 2021-06-21 00:19:21 +0000 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 2021-06-21 00:20:01 +0000 | unyu | (~pyon@user/pyon) |
| 2021-06-21 00:20:43 +0000 | lbseale | (~lbseale@user/ep1ctetus) |
| 2021-06-21 00:21:26 +0000 | hmmmas | (~chenqisu1@183.217.200.246) |
| 2021-06-21 00:23:33 +0000 | chomwitt | (~Pitsikoko@2a02:587:dc0b:ff00:c813:70d9:31b2:b1b9) (Ping timeout: 265 seconds) |
| 2021-06-21 00:25:53 +0000 | lbseale | (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
| 2021-06-21 00:26:28 +0000 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
| 2021-06-21 00:34:06 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 00:37:25 +0000 | fef | (~thedawn@user/thedawn) |
| 2021-06-21 00:39:44 +0000 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:28e5:866c:bfd1:85d2) (Read error: Connection reset by peer) |
| 2021-06-21 00:41:00 +0000 | hegstal | (~hegstal@2a02:c7f:7604:8a00:3573:4e54:4d99:437f) (Remote host closed the connection) |
| 2021-06-21 00:43:05 +0000 | yaroot | (~yaroot@6.3.30.125.dy.iij4u.or.jp) (Quit: The Lounge - https://thelounge.chat) |
| 2021-06-21 00:43:27 +0000 | machinedgod | (~machinedg@24.105.81.50) |
| 2021-06-21 00:43:49 +0000 | yaroot | (~yaroot@6.3.30.125.dy.iij4u.or.jp) |
| 2021-06-21 00:55:39 +0000 | sheepduck | (~sheepduck@user/sheepduck) |
| 2021-06-21 00:57:32 +0000 | <dsal> | "I can't quite figure out how to express my ACL stuff as a property test." *figured it out* *found bug in ACL code* *found bug in manual ACL test that allowed bug* |
| 2021-06-21 00:59:34 +0000 | <monochrom> | "It's bugs all the way down" >:) |
| 2021-06-21 01:03:13 +0000 | MQ-17J | (~MQ-17J@8.6.144.186) (Ping timeout: 265 seconds) |
| 2021-06-21 01:03:14 +0000 | jasonu | (~user@166.70.242.157) |
| 2021-06-21 01:07:35 +0000 | <cdsmith> | I want the first thread to call initClassIfNeeded for a given class to run a setup action, and other threads that call with the same class block until that thread finishes initializing. My solution at https://github.com/cdsmith/HMock/blob/main/src/Test/HMock/Internal/MockT.hs#L98 uses two TVars and like 25 lines of code. Is there an easier way? |
| 2021-06-21 01:07:37 +0000 | hammond2 | (~abner@gateway02.insomnia247.nl) |
| 2021-06-21 01:08:30 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-06-21 01:10:03 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 01:10:54 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2021-06-21 01:12:01 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2021-06-21 01:12:28 +0000 | jakalx | (~jakalx@base.jakalx.net) () |
| 2021-06-21 01:12:33 +0000 | saolof | (~olofs@90-227-86-119-no542.tbcn.telia.com) (Quit: Leaving) |
| 2021-06-21 01:13:51 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2021-06-21 01:18:50 +0000 | GIANTWORLDKEEPER | (~pjetcetal@2.95.227.207) |
| 2021-06-21 01:21:33 +0000 | mikail | (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) (Ping timeout: 265 seconds) |
| 2021-06-21 01:25:54 +0000 | <jasonu> | Hi everyone, I'm a Haskell noob who is just about to finish up working through Graham Hutton's book "Programming in Haskell" 2nd Edition. I'm looking for a good second book to further my skills. I was thinking about "Book of " |
| 2021-06-21 01:27:03 +0000 | <jasonu> | Oops. I was thinking about "Book of Monads" or perhaps "Haskell in Depth". Any comments or suggestions from the community. I'm also open to project ideas. |
| 2021-06-21 01:30:20 +0000 | mpt | (~tom@2a02:908:1862:49e0::3) |
| 2021-06-21 01:35:31 +0000 | xff0x | (~xff0x@2001:1a81:5381:2000:e1b5:6bc2:be6a:4590) (Ping timeout: 268 seconds) |
| 2021-06-21 01:37:19 +0000 | xff0x | (~xff0x@2001:1a81:53cb:7800:33aa:1278:7cdb:992c) |
| 2021-06-21 01:39:50 +0000 | mnrmnaugh | (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) (Leaving) |
| 2021-06-21 01:39:55 +0000 | mnrmnaughmnrgle | (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) |
| 2021-06-21 01:39:55 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 265 seconds) |
| 2021-06-21 01:42:19 +0000 | mnrmnaughmnrgle | (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) (Remote host closed the connection) |
| 2021-06-21 01:42:39 +0000 | mnrmnaugh | (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) |
| 2021-06-21 01:42:51 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-06-21 01:44:46 +0000 | vicfred | (~vicfred@user/vicfred) |
| 2021-06-21 01:46:26 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-06-21 01:46:30 +0000 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
| 2021-06-21 01:48:34 +0000 | hammond2 | (~abner@gateway02.insomnia247.nl) (Changing host) |
| 2021-06-21 01:48:34 +0000 | hammond2 | (~abner@user/hammond2) |
| 2021-06-21 01:48:55 +0000 | hammond2 | hammond_ |
| 2021-06-21 01:49:36 +0000 | hammond_ | proscan |
| 2021-06-21 01:50:18 +0000 | proscan | hammond_ |
| 2021-06-21 01:50:56 +0000 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) |
| 2021-06-21 02:01:34 +0000 | fef | (~thedawn@user/thedawn) |
| 2021-06-21 02:01:36 +0000 | _73 | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Remote host closed the connection) |
| 2021-06-21 02:01:51 +0000 | _73 | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
| 2021-06-21 02:02:43 +0000 | <Axman6> | jasonu: project recommendations is always hard, that mostly depends on what you're interested in |
| 2021-06-21 02:04:12 +0000 | teaSlurper | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-06-21 02:05:54 +0000 | trent1 | (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 240 seconds) |
| 2021-06-21 02:08:01 +0000 | <_73> | Type1 = `ContT PS.ProgramState (ExceptT Error (State PS.ProgramState)) Value`. `Type2 = ExceptT Error (State PS.ProgramState) Value`. I am having trouble understanding what I have gained by adding the extra ContT monad to my transformer stack. I was able to rewrite all of my code to use Type1, simply by doing `f = ContT $ \k -> do ... next <- k $ ValueConstructer a; pure next`. It is not clear to me though what advantage I gain from |
| 2021-06-21 02:08:01 +0000 | <_73> | using Type1 versus Type2. I have only done this because a book I am reading using continuations and I want to try to map my project closer to this book. |
| 2021-06-21 02:09:06 +0000 | teaSlurper | (~chris@81.96.113.213) |
| 2021-06-21 02:13:45 +0000 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 265 seconds) |
| 2021-06-21 02:13:56 +0000 | <Axman6> | Why did you make the change in the first place? |
| 2021-06-21 02:14:31 +0000 | <jasonu> | Axman6: I'm interested in using Haskell for webdev. |
| 2021-06-21 02:15:28 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-06-21 02:15:45 +0000 | <_73> | Axman6: Experimental mostly |
| 2021-06-21 02:16:06 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds) |
| 2021-06-21 02:18:03 +0000 | vicfred_ | (~vicfred@fixed-187-191-48-110.totalplay.net) |
| 2021-06-21 02:20:15 +0000 | vicfred_ | (~vicfred@fixed-187-191-48-110.totalplay.net) (Client Quit) |
| 2021-06-21 02:21:02 +0000 | vicfred | (~vicfred@user/vicfred) (Ping timeout: 265 seconds) |
| 2021-06-21 02:23:14 +0000 | <Axman6> | jasonu: writing web servers in haskell is pretty fun, I personally really like using Servant as it lets me move a lot of the definition of the interface into types, which brings a lot of advantages (thinkg like automatic swagger docs, JS api generation etc.) |
| 2021-06-21 02:29:33 +0000 | <Axman6> | things* |
| 2021-06-21 02:32:11 +0000 | <jasonu> | Axman6: I've looked into Servant and it seems quite powerful, but I think I'm not at that level I have a weak grasp of Monads. I still need to learn about State, Monad Transformers and half a dozen other things. |
| 2021-06-21 02:34:03 +0000 | mpt | (~tom@2a02:908:1862:49e0::3) (Ping timeout: 265 seconds) |
| 2021-06-21 02:36:33 +0000 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
| 2021-06-21 02:36:33 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (zinc.libera.chat (Nickname regained by services))) |
| 2021-06-21 02:36:33 +0000 | finn_elija | FinnElija |
| 2021-06-21 02:37:49 +0000 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 2021-06-21 02:44:33 +0000 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 2021-06-21 02:46:47 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3-dev) |
| 2021-06-21 02:47:08 +0000 | slack1256 | (~slack1256@181.203.98.105) (Ping timeout: 265 seconds) |
| 2021-06-21 02:48:26 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Read error: Connection reset by peer) |
| 2021-06-21 02:50:07 +0000 | <Cajun> | janonu: i read that book too! its very good; i moved onto Parallel and Concurrent Programming in Haskell and i recommend it |
| 2021-06-21 02:50:17 +0000 | <Cajun> | jasonu * typo |
| 2021-06-21 02:51:28 +0000 | <Cajun> | but you cant really approach it without firmly understanding the language, so make sure you understand the second part of Programming in Haskell as thats crucial |
| 2021-06-21 02:52:16 +0000 | <Cajun> | sadly the textbook lacks as many examples as Hutton's, but its still a great introduction to parallelization |
| 2021-06-21 02:53:59 +0000 | <jasonu> | Thanks Cajun. I do plan to read that one as well...sometime. |
| 2021-06-21 02:54:03 +0000 | <_73> | jasonu: I wrote a website in haskell as a intermediate haskell noob. I did not understand monads or transformers. That project helped me a lot to learn these concepts though. I used Yesod because it comes with a book. |
| 2021-06-21 02:54:51 +0000 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
| 2021-06-21 02:56:45 +0000 | trent1 | (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 2021-06-21 02:57:17 +0000 | td_ | (~td@94.134.91.60) (Ping timeout: 265 seconds) |
| 2021-06-21 02:57:54 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-06-21 02:58:07 +0000 | Jonno_FTW | (~come@api.carswap.me) (Changing host) |
| 2021-06-21 02:58:07 +0000 | Jonno_FTW | (~come@user/jonno-ftw/x-0835346) |
| 2021-06-21 02:59:05 +0000 | td_ | (~td@94.134.91.150) |
| 2021-06-21 03:01:10 +0000 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 2021-06-21 03:02:54 +0000 | <sm[m]> | jasonu: time to work on some projects! |
| 2021-06-21 03:04:45 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 03:05:57 +0000 | altern | (~altern@altern.corbina.com.ua) (Ping timeout: 265 seconds) |
| 2021-06-21 03:06:03 +0000 | <jasonu> | _73: I kinda want something to help fill in gaps in my knowledge while doing project work. The Yesod book looks like it could lead to a good project rather quickly. |
| 2021-06-21 03:07:19 +0000 | <jasonu> | sm[m]: Yeah, writing code is the only way to learn, and at some point you just have to dive in. |
| 2021-06-21 03:08:13 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-06-21 03:08:24 +0000 | yd502 | (~yd502@180.168.212.6) |
| 2021-06-21 03:13:58 +0000 | fef | (~thedawn@user/thedawn) (Ping timeout: 244 seconds) |
| 2021-06-21 03:18:09 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2021-06-21 03:22:17 +0000 | <sm[m]> | Yesod is great. I've got a foss yesod app if you'd like to try and contribute to an existing code base |
| 2021-06-21 03:22:17 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-06-21 03:22:46 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2021-06-21 03:23:48 +0000 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
| 2021-06-21 03:24:42 +0000 | ukari | (~ukari@user/ukari) |
| 2021-06-21 03:24:59 +0000 | <sm[m]> | yesod apps aren't the easiest place to start, but tweaking a working app can be rewarding |
| 2021-06-21 03:26:00 +0000 | wanagnuj | (~wanagnuj@101.95.97.158) |
| 2021-06-21 03:26:01 +0000 | wanagnuj | (~wanagnuj@101.95.97.158) (Client Quit) |
| 2021-06-21 03:26:40 +0000 | MQ-17J | (~MQ-17J@8.6.144.186) |
| 2021-06-21 03:27:16 +0000 | wanagnuj | (~wanagnuj@101.95.97.158) |
| 2021-06-21 03:27:18 +0000 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection) |
| 2021-06-21 03:28:10 +0000 | wanagnuj | (~wanagnuj@101.95.97.158) (Client Quit) |
| 2021-06-21 03:28:43 +0000 | wanagnuj | (~wanagnuj@101.95.97.158) |
| 2021-06-21 03:29:08 +0000 | wanagnuj | (~wanagnuj@101.95.97.158) (Client Quit) |
| 2021-06-21 03:30:41 +0000 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 258 seconds) |
| 2021-06-21 03:34:56 +0000 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 2021-06-21 03:35:36 +0000 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
| 2021-06-21 03:36:49 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds) |
| 2021-06-21 03:36:50 +0000 | Lord_of_Life_ | Lord_of_Life |
| 2021-06-21 03:39:26 +0000 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 2021-06-21 03:39:49 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-06-21 03:47:02 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds) |
| 2021-06-21 03:47:12 +0000 | alx741 | (~alx741@181.196.68.152) (Quit: alx741) |
| 2021-06-21 03:47:54 +0000 | econo | (uid147250@user/econo) |
| 2021-06-21 03:59:49 +0000 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 258 seconds) |
| 2021-06-21 04:00:02 +0000 | Sgeo_ | (~Sgeo@ool-18b9875e.dyn.optonline.net) |
| 2021-06-21 04:00:02 +0000 | jasonu` | (~user@166.70.242.157) |
| 2021-06-21 04:00:12 +0000 | phma_ | (phma@2001:5b0:210d:d028:dead:9920:575e:b71e) |
| 2021-06-21 04:00:23 +0000 | wroathe_ | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-06-21 04:00:28 +0000 | yd502_ | (~yd502@180.168.212.6) |
| 2021-06-21 04:00:51 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2021-06-21 04:00:55 +0000 | tzh_ | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 2021-06-21 04:01:30 +0000 | eggplant_ | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) |
| 2021-06-21 04:02:05 +0000 | bontaq` | (~user@ool-18e47f8d.dyn.optonline.net) |
| 2021-06-21 04:02:28 +0000 | ikex1 | (ash@user/ikex) |
| 2021-06-21 04:02:33 +0000 | fiddlerwoaroof_ | (~fiddlerwo@user/fiddlerwoaroof) |
| 2021-06-21 04:02:36 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 04:02:49 +0000 | Feuermagier_ | (~Feuermagi@2a02:2488:4211:3400:5def:8486:9e4:b49a) |
| 2021-06-21 04:02:54 +0000 | nurupo_ | (~nurupo.ga@user/nurupo) |
| 2021-06-21 04:03:05 +0000 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 244 seconds) |
| 2021-06-21 04:03:08 +0000 | tomsmeding_ | (~tomsmedin@2a03:b0c0:0:1010::767:3001) |
| 2021-06-21 04:03:08 +0000 | econo_ | (uid147250@user/econo) |
| 2021-06-21 04:03:19 +0000 | hnOsmium0001_ | (uid453710@id-453710.stonehaven.irccloud.com) |
| 2021-06-21 04:03:26 +0000 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 2021-06-21 04:03:58 +0000 | howdy` | (~user@2001:8003:2432:d501:1ea:381d:5464:1a19) |
| 2021-06-21 04:04:28 +0000 | moet | (~moet@172.58.27.142) (Ping timeout: 265 seconds) |
| 2021-06-21 04:04:29 +0000 | Ferdiran1 | (~somebody@2001:4c78:2012:5000::2) |
| 2021-06-21 04:04:44 +0000 | np | (~nerdypepp@user/nerdypepper) |
| 2021-06-21 04:04:47 +0000 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
| 2021-06-21 04:04:47 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (copper.libera.chat (Nickname regained by services))) |
| 2021-06-21 04:04:47 +0000 | finn_elija | FinnElija |
| 2021-06-21 04:04:57 +0000 | ezzieygu1wuf | (~Unknown@user/ezzieyguywuf) |
| 2021-06-21 04:05:03 +0000 | trent2 | (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 2021-06-21 04:05:05 +0000 | euandreh_ | (~euandreh@2804:14c:33:9fe5:ee71:32ea:12e0:378c) |
| 2021-06-21 04:05:12 +0000 | jonatan_ | (~nate@h77-53-70-163.cust.a3fiber.se) |
| 2021-06-21 04:05:18 +0000 | td__ | (~td@94.134.91.150) |
| 2021-06-21 04:05:29 +0000 | amirouche` | (~amirouche@user/amirouche) |
| 2021-06-21 04:05:31 +0000 | xff0x_ | (~xff0x@2001:1a81:53cb:7800:33aa:1278:7cdb:992c) |
| 2021-06-21 04:06:05 +0000 | moet | (~moet@172.58.27.142) |
| 2021-06-21 04:06:11 +0000 | derelict_ | (~derelict@user/derelict) |
| 2021-06-21 04:07:07 +0000 | RemiYuko | (~licht@user/akechishiro) |
| 2021-06-21 04:07:32 +0000 | teaSlurper | (~chris@81.96.113.213) |
| 2021-06-21 04:09:34 +0000 | jackhill_ | (~jackhill@kalessin.dragonsnail.net) |
| 2021-06-21 04:09:36 +0000 | econo | (uid147250@user/econo) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | yd502 | (~yd502@180.168.212.6) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | td_ | (~td@94.134.91.150) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | trent1 | (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | xff0x | (~xff0x@2001:1a81:53cb:7800:33aa:1278:7cdb:992c) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | jakalx | (~jakalx@base.jakalx.net) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | jasonu | (~user@166.70.242.157) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | nerdypepper | (~nerdypepp@user/nerdypepper) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | ikex | (ash@user/ikex) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | tomsmeding | (~tomsmedin@tomsmeding.com) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | jackhill | (~jackhill@kalessin.dragonsnail.net) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | aveltras[m] | (~aveltrasm@2001:470:69fc:105::3ef9) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | Sgeo | (~Sgeo@user/sgeo) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | nurupo | (~nurupo.ga@user/nurupo) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | bontaq | (~user@ool-18e47f8d.dyn.optonline.net) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | phma | (phma@2001:5b0:210d:d028:dead:9920:575e:b71e) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | euandreh | (~euandreh@2804:14c:33:9fe5:c617:f0e4:6f11:e3af) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | howdy | (~user@2001:8003:2432:d501:71e9:d3d3:3664:52d2) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | img | (~img@user/img) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | derelict | (~derelict@user/derelict) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | rawles | (~o@sputnik.rawles.net) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | jonatan | (~nate@h77-53-70-163.cust.a3fiber.se) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | amirouche | (~amirouche@user/amirouche) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | AkechiShiro | (~licht@user/akechishiro) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | Ferdirand | (~somebody@2001:4c78:2012:5000::2) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | fiddlerwoaroof | (~fiddlerwo@user/fiddlerwoaroof) (*.net *.split) |
| 2021-06-21 04:09:36 +0000 | econo_ | econo |
| 2021-06-21 04:09:37 +0000 | nurupo_ | nurupo |
| 2021-06-21 04:09:37 +0000 | ikex1 | ikex |
| 2021-06-21 04:09:41 +0000 | hnOsmium0001_ | hnOsmium0001 |
| 2021-06-21 04:09:45 +0000 | wroathe_ | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving) |
| 2021-06-21 04:09:59 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-06-21 04:10:52 +0000 | phma_ | phma |
| 2021-06-21 04:11:52 +0000 | sheepduck | (~sheepduck@user/sheepduck) (Quit: Leaving) |
| 2021-06-21 04:12:03 +0000 | sheepduck | (~sheepduck@user/sheepduck) |
| 2021-06-21 04:12:12 +0000 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 265 seconds) |
| 2021-06-21 04:16:36 +0000 | hmmmas | (~chenqisu1@183.217.200.246) (Quit: Leaving.) |
| 2021-06-21 04:16:43 +0000 | img | (~img@user/img) |
| 2021-06-21 04:17:08 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-06-21 04:18:36 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-06-21 04:19:27 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 265 seconds) |
| 2021-06-21 04:20:01 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2021-06-21 04:20:08 +0000 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 258 seconds) |
| 2021-06-21 04:23:09 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds) |
| 2021-06-21 04:25:29 +0000 | vonfry | (~user@240e:688:3:1010:5942:1e2c:6233:6863) |
| 2021-06-21 04:32:40 +0000 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving) |
| 2021-06-21 04:33:32 +0000 | <jackdk> | I stumbled across the following type while trying to write a trace function for an evaluator for a language I'm working on `data Trace m a = Done a | Step a (m (Trace m a))`. It looks like `Free m a` with an additional value - does it have a canonical name? |
| 2021-06-21 04:34:26 +0000 | wei2912 | (~wei2912@112.199.250.21) |
| 2021-06-21 04:37:23 +0000 | <dibblego> | Ap Either (Cofree f) |
| 2021-06-21 04:39:12 +0000 | sheepduck | (~sheepduck@user/sheepduck) (Quit: Leaving) |
| 2021-06-21 04:46:47 +0000 | <jackdk> | Ap? |
| 2021-06-21 04:47:05 +0000 | <jackdk> | the only Ap I know is in Data.Monoid and has the wrong kind |
| 2021-06-21 04:47:13 +0000 | <dibblego> | newtype Ap f g a = Ap (f a (g a)) |
| 2021-06-21 04:47:39 +0000 | jasonu` | (~user@166.70.242.157) (Remote host closed the connection) |
| 2021-06-21 04:47:51 +0000 | jasonu` | (~user@166.70.242.157) |
| 2021-06-21 04:48:57 +0000 | <dibblego> | I don't know what it is; almost NonEmptyList |
| 2021-06-21 04:49:16 +0000 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Ping timeout: 258 seconds) |
| 2021-06-21 04:51:41 +0000 | aveltras[m] | (~aveltrasm@2001:470:69fc:105::3ef9) |
| 2021-06-21 04:52:45 +0000 | jasonu` | (~user@166.70.242.157) (Ping timeout: 268 seconds) |
| 2021-06-21 04:54:44 +0000 | yd502_ | (~yd502@180.168.212.6) (Ping timeout: 265 seconds) |
| 2021-06-21 05:00:08 +0000 | ChanServ | (ChanServ@services.libera.chat) (shutting down) |
| 2021-06-21 05:00:11 +0000 | cheater | (~Username@user/cheater) (Remote host closed the connection) |
| 2021-06-21 05:01:17 +0000 | bilegeek | (~bilegeek@2600:1008:b017:63a6:c26d:d119:faaa:a6d7) (Quit: Leaving) |
| 2021-06-21 05:05:04 +0000 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
| 2021-06-21 05:08:45 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 2021-06-21 05:11:54 +0000 | finsternis | (~X@23.226.237.192) (Remote host closed the connection) |
| 2021-06-21 05:14:42 +0000 | azeem | (~azeem@dynamic-adsl-94-34-49-60.clienti.tiscali.it) (Remote host closed the connection) |
| 2021-06-21 05:14:44 +0000 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Remote host closed the connection) |
| 2021-06-21 05:14:45 +0000 | fabfianda | (~fabfianda@net-109-116-251-109.cust.vodafonedsl.it) (Remote host closed the connection) |
| 2021-06-21 05:14:55 +0000 | ChanServ | (ChanServ@services.libera.chat) |
| 2021-06-21 05:14:55 +0000 | osmium.libera.chat | +o ChanServ |
| 2021-06-21 05:15:40 +0000 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-06-21 05:16:01 +0000 | azeem | (~azeem@dynamic-adsl-94-34-49-60.clienti.tiscali.it) |
| 2021-06-21 05:16:23 +0000 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 2021-06-21 05:17:06 +0000 | vonfry | (~user@240e:688:3:1010:5942:1e2c:6233:6863) (Quit: ERC (IRC client for Emacs 27.2)) |
| 2021-06-21 05:17:47 +0000 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 2021-06-21 05:20:17 +0000 | <Axman6> | have there been any proposals for a monadic case syntax? something like case! (something foo bar :: m BaZ) of Baz x -> ...; Quux y -> ...; which would be equivalent to something foo bar >>= \case ... |
| 2021-06-21 05:21:17 +0000 | <shachaf> | I'd probably rather see the (<- x) syntax. |
| 2021-06-21 05:21:28 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-06-21 05:21:44 +0000 | <Axman6> | what would that look like? |
| 2021-06-21 05:21:48 +0000 | <nshepperd> | would it really be an improvement over >>= \case? |
| 2021-06-21 05:21:53 +0000 | <shachaf> | https://github.com/ghc-proposals/ghc-proposals/pull/64 |
| 2021-06-21 05:23:49 +0000 | <Axman6> | hmm, that's cute, though the question about ordering of evaluation is a good one, I'd hate to have to write flip foo (<- y) (<- x) z to get y to run before x just because foo was definied in the "wrong" order |
| 2021-06-21 05:24:03 +0000 | <Axman6> | but, I would probably use it a lot if it were available |
| 2021-06-21 05:24:10 +0000 | <shachaf> | Then don't, just do it the same way you do in C. |
| 2021-06-21 05:24:17 +0000 | <nshepperd> | i would only use it when ordering doesn't matter |
| 2021-06-21 05:24:34 +0000 | <shachaf> | You write f(g(), h()), but if you care about the order, you write "int x = g(); int y = h(); f(x, y);" |
| 2021-06-21 05:24:47 +0000 | yd502_ | (~yd502@180.168.212.6) |
| 2021-06-21 05:25:30 +0000 | <nshepperd> | to enforce this, ghc should desugar the bindings into different possible orderings on different days of the week |
| 2021-06-21 05:25:51 +0000 | yd502_ | (~yd502@180.168.212.6) (Client Quit) |
| 2021-06-21 05:26:18 +0000 | <shachaf> | Anyway, it solves your case issue. |
| 2021-06-21 05:28:08 +0000 | <nshepperd> | https://github.com/ghc-proposals/ghc-proposals/pull/64#issuecomment-318910111 yikes |
| 2021-06-21 05:28:11 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-06-21 05:29:13 +0000 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
| 2021-06-21 05:29:35 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-06-21 05:33:31 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
| 2021-06-21 05:35:01 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-06-21 05:35:25 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 05:55:07 +0000 | teaSlurper | (~chris@81.96.113.213) |
| 2021-06-21 05:55:46 +0000 | zeenk | (~zeenk@82.76.113.130) |
| 2021-06-21 05:56:02 +0000 | Morrow_ | (~MorrowM_@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds) |
| 2021-06-21 06:02:06 +0000 | bontaq` | (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 258 seconds) |
| 2021-06-21 06:03:47 +0000 | <Rembane> | tomsmeding_: I can totally see why those parts feel odd to you. It just struck me! There's another paper where they reason about generating highly recursive types in a more structured way: https://octopi.chalmers.se/2018/11/11/dragen/ |
| 2021-06-21 06:03:48 +0000 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Read error: Connection reset by peer) |
| 2021-06-21 06:04:07 +0000 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 2021-06-21 06:04:17 +0000 | MQ-17J | (~MQ-17J@8.6.144.186) (Ping timeout: 268 seconds) |
| 2021-06-21 06:04:36 +0000 | MQ-17J | (~MQ-17J@8.9.230.29) |
| 2021-06-21 06:05:40 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-06-21 06:06:54 +0000 | tput | (~tim@S0106a84e3fe54613.ed.shawcable.net) (Ping timeout: 264 seconds) |
| 2021-06-21 06:07:24 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-06-21 06:08:28 +0000 | michalz | (~michalz@185.246.204.40) |
| 2021-06-21 06:09:23 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-06-21 06:10:42 +0000 | Feuermagier_ | (~Feuermagi@2a02:2488:4211:3400:5def:8486:9e4:b49a) (Quit: Leaving) |
| 2021-06-21 06:14:25 +0000 | Meh | (~Meh@202.14.120.214) |
| 2021-06-21 06:14:33 +0000 | qbt | (~edun@user/edun) |
| 2021-06-21 06:14:48 +0000 | Meh | Guest3331 |
| 2021-06-21 06:14:50 +0000 | Guest3331 | (~Meh@202.14.120.214) (Client Quit) |
| 2021-06-21 06:14:56 +0000 | awth13 | (~user@user/awth13) |
| 2021-06-21 06:16:08 +0000 | Meh | (~Meh@202.14.120.214) |
| 2021-06-21 06:16:32 +0000 | Meh | Guest5827 |
| 2021-06-21 06:16:55 +0000 | teaSlurper | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-06-21 06:17:21 +0000 | Guest5827 | (~Meh@202.14.120.214) (Client Quit) |
| 2021-06-21 06:17:23 +0000 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
| 2021-06-21 06:19:05 +0000 | MQ-17J | (~MQ-17J@8.9.230.29) (Ping timeout: 268 seconds) |
| 2021-06-21 06:20:50 +0000 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
| 2021-06-21 06:21:17 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-06-21 06:21:45 +0000 | teaSlurper | (~chris@81.96.113.213) |
| 2021-06-21 06:22:25 +0000 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Ping timeout: 258 seconds) |
| 2021-06-21 06:22:43 +0000 | Guest9 | (~Guest9@43.250.158.40) |
| 2021-06-21 06:23:29 +0000 | unyu | (~pyon@user/pyon) (Quit: WeeChat 3.2) |
| 2021-06-21 06:25:42 +0000 | teaSlurper | (~chris@81.96.113.213) (Read error: Connection reset by peer) |
| 2021-06-21 06:26:00 +0000 | teaSlurper | (~chris@81.96.113.213) |
| 2021-06-21 06:31:00 +0000 | leeb_ | (~leeb@KD111239158072.au-net.ne.jp) |
| 2021-06-21 06:33:55 +0000 | leeb | (~leeb@KD111239153103.au-net.ne.jp) (Ping timeout: 258 seconds) |
| 2021-06-21 06:34:52 +0000 | unyu | (~pyon@user/pyon) |
| 2021-06-21 06:35:50 +0000 | trent2 | (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 268 seconds) |
| 2021-06-21 06:35:59 +0000 | unyu | (~pyon@user/pyon) (Client Quit) |
| 2021-06-21 06:38:56 +0000 | deshalb | (~deshalb@user/deshalb) |
| 2021-06-21 06:40:00 +0000 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 2021-06-21 06:40:49 +0000 | niko | o |
| 2021-06-21 06:43:21 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9f46:523f:c74b:90e0) |
| 2021-06-21 06:43:30 +0000 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 258 seconds) |
| 2021-06-21 06:45:16 +0000 | MQ-17J | (~MQ-17J@8.9.230.29) |
| 2021-06-21 06:48:18 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 2021-06-21 06:52:36 +0000 | chele | (~chele@user/chele) |
| 2021-06-21 06:54:13 +0000 | Morrow_ | (~MorrowM_@147.161.13.127) |
| 2021-06-21 07:01:27 +0000 | moet_ | (~moet@172.58.19.92) |
| 2021-06-21 07:04:18 +0000 | chomwitt | (~Pitsikoko@2a02:587:dc0b:ff00:c813:70d9:31b2:b1b9) |
| 2021-06-21 07:04:35 +0000 | moet | (~moet@172.58.27.142) (Ping timeout: 258 seconds) |
| 2021-06-21 07:06:52 +0000 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 2021-06-21 07:08:22 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-21 07:08:39 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2021-06-21 07:11:42 +0000 | Morrow | (~MorrowM_@147.161.13.127) |
| 2021-06-21 07:12:06 +0000 | <Unhammer> | hm, why isn't takeEnd part of Data.Sequence |
| 2021-06-21 07:12:07 +0000 | MQ-17J | (~MQ-17J@8.9.230.29) (Ping timeout: 268 seconds) |
| 2021-06-21 07:14:35 +0000 | Morrow_ | (~MorrowM_@147.161.13.127) (Ping timeout: 268 seconds) |
| 2021-06-21 07:14:56 +0000 | moet | (~moet@172.58.38.233) |
| 2021-06-21 07:15:28 +0000 | <Unhammer> | guess it'd be something like Seq.foldrWithIndex (\_ e (!c,a)->if c<n then (c+1, e:<|a) else (c,a)) |
| 2021-06-21 07:16:23 +0000 | <maerwald[m]> | That looks like a proposal similarly brittle and confusing like ApplicativeDo |
| 2021-06-21 07:16:28 +0000 | moet_ | (~moet@172.58.19.92) (Ping timeout: 258 seconds) |
| 2021-06-21 07:20:48 +0000 | <nshepperd> | Unhammer: takeEnd? why not just use Seq.drop (Seq.length xs - n) |
| 2021-06-21 07:23:03 +0000 | <nshepperd> | The length is cached so that should be about as fast as it can get |
| 2021-06-21 07:23:56 +0000 | <nshepperd> | it is odd that the module doesn't have takeEnd and dropEnd for convenience though |
| 2021-06-21 07:26:04 +0000 | tomsmeding_ | tomsmeding |
| 2021-06-21 07:27:35 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 07:28:24 +0000 | <tomsmeding> | Rembane: thanks for the reference! will read later :) |
| 2021-06-21 07:28:39 +0000 | <tomsmeding> | Sweden is active in this area it seems |
| 2021-06-21 07:31:51 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 268 seconds) |
| 2021-06-21 07:33:04 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-06-21 07:34:30 +0000 | nschoe | (~quassel@178.251.84.79) |
| 2021-06-21 07:35:07 +0000 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) |
| 2021-06-21 07:35:34 +0000 | pera | (~pera@154.red-79-155-45.dynamicip.rima-tde.net) |
| 2021-06-21 07:35:58 +0000 | pera | Guest8323 |
| 2021-06-21 07:37:24 +0000 | teaSlurper | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-06-21 07:37:24 +0000 | hmmmas | (~chenqisu1@183.217.200.246) |
| 2021-06-21 07:38:32 +0000 | gnoo | (~gnoo@user/gnoo) |
| 2021-06-21 07:39:49 +0000 | <Unhammer> | nshepperd, I assuming Seq.drop would "start from the beginning", but now I see the docs say O(log(min(i,n−i))) which I guess means it does the smart thing and picks the end it's closest to :) |
| 2021-06-21 07:39:54 +0000 | <Unhammer> | *I was assuming |
| 2021-06-21 07:40:30 +0000 | <nshepperd> | it uses a clever thing similar to binary search |
| 2021-06-21 07:40:41 +0000 | <Unhammer> | Thanks (though I still think it'd be nice to have takeEnd/dropEnd there for convenience) |
| 2021-06-21 07:41:09 +0000 | <nshepperd> | hence the logarithmic time |
| 2021-06-21 07:41:43 +0000 | deshalb | (~deshalb@user/deshalb) (Ping timeout: 268 seconds) |
| 2021-06-21 07:41:45 +0000 | <int-e> | it's kind of intrinsic to the measured finger trees |
| 2021-06-21 07:46:25 +0000 | cfricke | (~cfricke@user/cfricke) |
| 2021-06-21 07:46:42 +0000 | ubert | (~Thunderbi@p200300ecdf259dd4ad9b8920565e1743.dip0.t-ipconnect.de) |
| 2021-06-21 07:48:40 +0000 | beka | (~beka@104.193.170-244.PUBLIC.monkeybrains.net) (Ping timeout: 258 seconds) |
| 2021-06-21 07:49:07 +0000 | Morrow | (~MorrowM_@147.161.13.127) (Ping timeout: 268 seconds) |
| 2021-06-21 07:50:19 +0000 | <Unhammer> | nah I could easily write a bad drop function that goes slowly from the start |
| 2021-06-21 07:50:47 +0000 | gehmehgeh | (~user@user/gehmehgeh) |
| 2021-06-21 07:51:01 +0000 | <Unhammer> | I've got lots of experience with taking performant data structures and making them go slowly |
| 2021-06-21 07:51:27 +0000 | berberman | (~berberman@user/berberman) (Ping timeout: 244 seconds) |
| 2021-06-21 07:52:11 +0000 | berberman | (~berberman@user/berberman) |
| 2021-06-21 07:52:31 +0000 | tzh_ | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 2021-06-21 07:52:49 +0000 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 2021-06-21 07:53:49 +0000 | hmmmas | (~chenqisu1@183.217.200.246) (Quit: Leaving.) |
| 2021-06-21 07:57:53 +0000 | fm | (~fm@user/fm) (Quit: fm) |
| 2021-06-21 08:00:54 +0000 | octeep | (~octeep@n219077212239.netvigator.com) (Ping timeout: 264 seconds) |
| 2021-06-21 08:01:16 +0000 | acid | (~acid@user/acid) (Ping timeout: 244 seconds) |
| 2021-06-21 08:02:20 +0000 | acid | (~acid@user/acid) |
| 2021-06-21 08:03:40 +0000 | Guest8323 | (~pera@154.red-79-155-45.dynamicip.rima-tde.net) (Quit: leaving) |
| 2021-06-21 08:03:54 +0000 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
| 2021-06-21 08:03:56 +0000 | octeep | (~octeep@42-2-220-152.static.netvigator.com) |
| 2021-06-21 08:04:30 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-06-21 08:06:16 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 08:06:22 +0000 | elf_fortrez | (~elf_fortr@adsl-64-237-239-58.prtc.net) |
| 2021-06-21 08:06:40 +0000 | hendursa1 | (~weechat@user/hendursaga) |
| 2021-06-21 08:08:04 +0000 | Guest9 | (~Guest9@43.250.158.40) (Ping timeout: 265 seconds) |
| 2021-06-21 08:08:52 +0000 | jneira | (~jneira@212.8.115.226) (Client Quit) |
| 2021-06-21 08:09:10 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-06-21 08:09:20 +0000 | <int-e> | Unhammer: but if you do the natural thing, which is to look at the current node in the fingertree and its parts (each of which has a known length), and skip over all the parts that are shorter than your target length... you'll almost automatically end up with that complexity. |
| 2021-06-21 08:09:30 +0000 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
| 2021-06-21 08:09:57 +0000 | lemmih | (~lemmih@2406:3003:2072:44:925e:d7ab:50d2:4457) (Remote host closed the connection) |
| 2021-06-21 08:10:15 +0000 | lemmih | (~lemmih@2406:3003:2072:44:9bcd:6adc:313d:18f9) |
| 2021-06-21 08:10:24 +0000 | <int-e> | And that was my point: you get that complexity even if you don't try to look at the finger tree from the "shorter" end. |
| 2021-06-21 08:13:30 +0000 | hegstal | (~hegstal@2a02:c7f:7604:8a00:7fb:5bd8:2599:2fdb) |
| 2021-06-21 08:17:32 +0000 | allbery_b | (~geekosaur@xmonad/geekosaur) |
| 2021-06-21 08:17:32 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 2021-06-21 08:17:44 +0000 | jumper149 | (~jumper149@80.240.31.34) |
| 2021-06-21 08:18:23 +0000 | Sgeo_ | (~Sgeo@ool-18b9875e.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2021-06-21 08:18:49 +0000 | maroloccio | (~marolocci@186.210.216.126) |
| 2021-06-21 08:19:13 +0000 | hegstal | (~hegstal@2a02:c7f:7604:8a00:7fb:5bd8:2599:2fdb) (Remote host closed the connection) |
| 2021-06-21 08:19:56 +0000 | hegstal | (~hegstal@2a02:c7f:7604:8a00:2a76:42b9:78db:d162) |
| 2021-06-21 08:20:24 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-06-21 08:22:38 +0000 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
| 2021-06-21 08:23:00 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-06-21 08:24:08 +0000 | fendor | (~fendor@178.115.131.43.wireless.dyn.drei.com) |
| 2021-06-21 08:25:02 +0000 | jneira | (~jneira@212.8.115.226) (Client Quit) |
| 2021-06-21 08:25:05 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds) |
| 2021-06-21 08:25:18 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-06-21 08:26:51 +0000 | maroloccio1 | (~marolocci@189.15.9.54) |
| 2021-06-21 08:29:22 +0000 | maroloccio | (~marolocci@186.210.216.126) (Ping timeout: 246 seconds) |
| 2021-06-21 08:31:04 +0000 | eggplant_ | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Remote host closed the connection) |
| 2021-06-21 08:31:48 +0000 | <merijn> | Unhammer: Don't we all? ;) |
| 2021-06-21 08:31:59 +0000 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
| 2021-06-21 08:33:48 +0000 | kuribas | (~user@ptr-25vy0i7yslxo8ej7h6j.18120a2.ip6.access.telenet.be) |
| 2021-06-21 08:35:29 +0000 | <siraben> | finger trees <3 |
| 2021-06-21 08:36:10 +0000 | <siraben> | are there structures that can be used to replace mutable graphs in imperative languages? problems involving mutable graphs are usually quite difficult in Haskell |
| 2021-06-21 08:37:22 +0000 | <merijn> | The answer is always arrays :p |
| 2021-06-21 08:37:25 +0000 | qrpnxz | (abc4f95c31@user/qrpnxz) (Quit: Gateway shutdown) |
| 2021-06-21 08:37:41 +0000 | qrpnxz | (~qrpnxz@user/qrpnxz) |
| 2021-06-21 08:37:47 +0000 | <merijn> | If there is one lesson I have taken away from HPC it's that arrays are the universal HPC data structure :p |
| 2021-06-21 08:37:54 +0000 | <tomsmeding> | re:finger trees: just want to post this very nice explanation of them for those who haven't seen it yet https://www.cs.tufts.edu/~nr/cs257/archive/koen-claessen/finger-trees.pdf |
| 2021-06-21 08:38:14 +0000 | <merijn> | And if you're not using arrays...well, better figure out a way to start :p |
| 2021-06-21 08:38:45 +0000 | <EvanR> | "everything is arrays", this is where conal comes to knock some sense into us |
| 2021-06-21 08:39:34 +0000 | <merijn> | EvanR: Naah, that's APL talking |
| 2021-06-21 08:39:48 +0000 | <merijn> | HPC isn't "everything is arrays", but "everything *should be* arrays" :p |
| 2021-06-21 08:39:49 +0000 | involans | (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) |
| 2021-06-21 08:40:49 +0000 | <EvanR> | is this because architecture is built to cache, prefetch, stream, and SIMD operate on arrays |
| 2021-06-21 08:41:22 +0000 | <merijn> | Like that one time I had a perfectly optimal, single pass O(n log n) algorithm and I made it 7x faster, by adding a double pass on top of it and replacing heaps with a single massive array :p |
| 2021-06-21 08:41:26 +0000 | <merijn> | EvanR: Pretty much |
| 2021-06-21 08:41:51 +0000 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
| 2021-06-21 08:42:19 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-06-21 08:42:28 +0000 | <merijn> | EvanR: O(n) where you are basically linearly going over a massive array will almost always beat some fancy optimal data structure where you have dynamic allocations, pointer chasing, etc. |
| 2021-06-21 08:42:37 +0000 | <int-e> | merijn: it's embarrasing how often the stupidest approach is the fastest because CPUs coevolve with stupid algorithms (if you want to be cynical about it ;-) ) |
| 2021-06-21 08:42:51 +0000 | <siraben> | merijn: Data.Array is enough or should I use Data.Vector? |
| 2021-06-21 08:42:57 +0000 | <siraben> | Hm, always arrays? aaaa |
| 2021-06-21 08:43:11 +0000 | <merijn> | siraben: tbh, either are a massive improvement overy lists |
| 2021-06-21 08:43:17 +0000 | <int-e> | siraben: yes, arrays, especially if you get sequential access to them |
| 2021-06-21 08:43:24 +0000 | <merijn> | siraben: Personally I prefer Vector for 1D |
| 2021-06-21 08:43:32 +0000 | <int-e> | or the arrays are small enough to (mostly) fit into the cache |
| 2021-06-21 08:43:38 +0000 | <merijn> | siraben: Array is more flexible (as it allows custom indexing schemes) |
| 2021-06-21 08:43:45 +0000 | <shachaf> | int-e: Do you think CPUs could do much better? |
| 2021-06-21 08:43:48 +0000 | <siraben> | Yeah I already avoid lists whenever doing random access, but arrays are awkward enough that sometimes I just resort to Map (Int,Int) a |
| 2021-06-21 08:43:58 +0000 | <merijn> | siraben: tbh, Map is surprisingly performant |
| 2021-06-21 08:44:01 +0000 | <siraben> | multidimensional arrays, that is |
| 2021-06-21 08:44:18 +0000 | <merijn> | siraben: Like, I've had Map with millions of elements doing lookups in tight loops and it performs pretty well |
| 2021-06-21 08:44:53 +0000 | <siraben> | I see |
| 2021-06-21 08:44:57 +0000 | <merijn> | Of course, there's also the matter of "does performance matter here?" |
| 2021-06-21 08:45:19 +0000 | kayprish | (~kayprish@46.240.143.86) (Read error: Connection reset by peer) |
| 2021-06-21 08:45:22 +0000 | <merijn> | Like, if your code is doing disk/network IO there's basically no point in optimising compute to be faster than the time you're waiting for IO anyway |
| 2021-06-21 08:45:44 +0000 | <merijn> | (well, there's some if the machine is shared or whatever, but you get what I mean) |
| 2021-06-21 08:46:03 +0000 | <EvanR> | it's like drive faster so we can get to the red light sooner |
| 2021-06-21 08:46:22 +0000 | <merijn> | EvanR: Now I'm imagining "green waves" for compute xD |
| 2021-06-21 08:46:39 +0000 | <int-e> | shachaf: I don't know. Maybe RAM is not the right abstraction for advanced algorithms :P |
| 2021-06-21 08:47:00 +0000 | jneira | (~jneira@212.8.115.226) (Client Quit) |
| 2021-06-21 08:47:01 +0000 | <kuribas> | merijn: wouldn't it be better to combine arrays with other structures (like trees or lists)? |
| 2021-06-21 08:47:19 +0000 | moet | (~moet@172.58.38.233) (Ping timeout: 258 seconds) |
| 2021-06-21 08:47:20 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-06-21 08:47:21 +0000 | <merijn> | kuribas: In what scenario? |
| 2021-06-21 08:47:22 +0000 | <siraben> | merijn: yeah, this is in solving algorithmic type problems |
| 2021-06-21 08:47:22 +0000 | <EvanR> | array mapped trie |
| 2021-06-21 08:47:24 +0000 | <kuribas> | merijn: for example, chunked lists for time series. |
| 2021-06-21 08:47:28 +0000 | <siraben> | e.g. AOC, Codeforces, etc. |
| 2021-06-21 08:47:31 +0000 | <siraben> | Google Code Jam |
| 2021-06-21 08:47:56 +0000 | <siraben> | I have a conservative template for these types of problems |
| 2021-06-21 08:47:57 +0000 | <siraben> | https://github.com/siraben/haoc-2020/blob/master/template.hs |
| 2021-06-21 08:48:15 +0000 | <merijn> | kuribas: Why would a chunked list be better than just an array? |
| 2021-06-21 08:48:20 +0000 | <siraben> | but in particular I should avoid other libraries whenever possible, even Data.Vector isn't always on the autograder |
| 2021-06-21 08:48:34 +0000 | <siraben> | merijn: cache reasons? |
| 2021-06-21 08:48:37 +0000 | <kuribas> | merijn: less copying |
| 2021-06-21 08:48:47 +0000 | <merijn> | kuribas: That only applies if you mutate |
| 2021-06-21 08:48:59 +0000 | <kuribas> | merijn: also if you need to store them |
| 2021-06-21 08:49:02 +0000 | <kuribas> | and retrieve |
| 2021-06-21 08:49:02 +0000 | <siraben> | IIRC, the kind of linked lists one learns in undergrad CS is woefully slow compared to unrolled link lists |
| 2021-06-21 08:49:16 +0000 | <siraben> | s/link/linked/ |
| 2021-06-21 08:49:25 +0000 | <merijn> | siraben: Right, but Haskell lists are the dreadful type ;) |
| 2021-06-21 08:49:38 +0000 | <siraben> | yeah |
| 2021-06-21 08:49:40 +0000 | <kuribas> | siraben: for code contests it's rarely the language or implementation that matters, usually just the algorithmic complexity. |
| 2021-06-21 08:49:41 +0000 | <siraben> | but lists aren't always so bad, IME |
| 2021-06-21 08:50:01 +0000 | <siraben> | if you do a single pass and use folds correctly, they can be quite performant |
| 2021-06-21 08:50:11 +0000 | <siraben> | kuribas: yeah |
| 2021-06-21 08:50:12 +0000 | <EvanR> | because they get compiled away entirely? xD |
| 2021-06-21 08:50:18 +0000 | <int-e> | Haskell's lists are so convenient though... I usually start out with lists and then replace them by some kind of array (Data.Vector is an array in that view) if performance becomes an issue. |
| 2021-06-21 08:50:19 +0000 | <siraben> | it is annoying to do these problems when I wish I could "just" mutate a structure |
| 2021-06-21 08:50:24 +0000 | <EvanR> | no list is definitely fast |
| 2021-06-21 08:50:28 +0000 | <siraben> | that I know I'm handling in a linear way, so in-place should be fine |
| 2021-06-21 08:50:29 +0000 | <maerwald[m]> | If you're lucky that fusion triggers you mean |
| 2021-06-21 08:50:37 +0000 | <siraben> | maerwald: yeah |
| 2021-06-21 08:50:44 +0000 | <siraben> | IntSet and IntMap are really fast, IME |
| 2021-06-21 08:50:50 +0000 | dka_ | (~code-is-a@ns3059207.ip-193-70-33.eu) |
| 2021-06-21 08:50:54 +0000 | <kuribas> | siraben: leverage lazyness? |
| 2021-06-21 08:51:02 +0000 | <siraben> | probably I've use IntMap much more than laziness |
| 2021-06-21 08:51:07 +0000 | <kuribas> | siraben: I find most of these problems have nice elegant lazy solution |
| 2021-06-21 08:51:12 +0000 | <siraben> | s/use/used/ s/laziness/arrays/ |
| 2021-06-21 08:51:15 +0000 | <int-e> | And of course there's all those cases where you use lists intermittently and rely on fusion for them to mostly disappear. |
| 2021-06-21 08:51:34 +0000 | <siraben> | kuribas: lol https://github.com/siraben/haoc-2020/blob/master/day3.hs |
| 2021-06-21 08:51:38 +0000 | <merijn> | siraben: Well, it depends on how you define "bad" :) |
| 2021-06-21 08:51:47 +0000 | <siraben> | `part2 i = let (a, b, c, d, e, _) = foldl' f (0, 0, 0, 0, 0, 1) (tail i) in a * b * c * d * e` "oops" |
| 2021-06-21 08:51:52 +0000 | <merijn> | siraben: Like I said, not everything actually needs "high performance" |
| 2021-06-21 08:52:11 +0000 | <merijn> | And there's no point investing effort into optimising something that doesn't need optimisation |
| 2021-06-21 08:52:21 +0000 | <siraben> | merijn: yeah of course, I'm also interested in how to get the fastest possible especially for toy problems |
| 2021-06-21 08:52:29 +0000 | <siraben> | in practice it may not matter when I/O, network is far slower |
| 2021-06-21 08:52:31 +0000 | dka_ | (~code-is-a@ns3059207.ip-193-70-33.eu) (Remote host closed the connection) |
| 2021-06-21 08:52:48 +0000 | <siraben> | reducing branches actually does wonders |
| 2021-06-21 08:52:55 +0000 | dka | (~code-is-a@ns3059207.ip-193-70-33.eu) |
| 2021-06-21 08:52:59 +0000 | <merijn> | siraben: So of course lists are convenient when the performance of something isn't immediately crucial. Especially since GHC has quite some effort on optimising list transformations |
| 2021-06-21 08:53:40 +0000 | hegstal | (~hegstal@2a02:c7f:7604:8a00:2a76:42b9:78db:d162) (Remote host closed the connection) |
| 2021-06-21 08:53:54 +0000 | <EvanR> | any time casual performance concerns come up, I remind everyone the internet is based on PHP and ruby on rails |
| 2021-06-21 08:54:01 +0000 | jespada | (~jespada@90.254.247.46) |
| 2021-06-21 08:54:07 +0000 | <kuribas> | and Python! |
| 2021-06-21 08:54:08 +0000 | <siraben> | merijn: ok, here's a good example, how can I avoid V.cons here? |
| 2021-06-21 08:54:08 +0000 | <siraben> | https://github.com/siraben/morans/blob/bb1e65b26d83188ea81b6509e7d340d8af94ee48/morans.hs#L55 |
| 2021-06-21 08:54:25 +0000 | <siraben> | it needs to be performant since this is a neural net in haskell |
| 2021-06-21 08:54:37 +0000 | <siraben> | I got the running time down from 45 s to around 22s |
| 2021-06-21 08:54:44 +0000 | <siraben> | just by translating the code to vectors |
| 2021-06-21 08:54:49 +0000 | <int-e> | siraben: kiss: https://paste.debian.net/1201880/ |
| 2021-06-21 08:54:50 +0000 | <siraben> | but V.cons is linear in the size of the vector >.< |
| 2021-06-21 08:55:11 +0000 | <merijn> | siraben: You're just constructing a new result vector from some input, right? |
| 2021-06-21 08:55:12 +0000 | <Taneb> | siraben: can you turn it into a scan rather than a fold? |
| 2021-06-21 08:55:35 +0000 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 2021-06-21 08:55:39 +0000 | <EvanR> | instead of consing, you could use an endo builder |
| 2021-06-21 08:55:47 +0000 | <Taneb> | Ending with a vector of tuples which is easy to make into a tuple of vectors |
| 2021-06-21 08:55:49 +0000 | <siraben> | hm, it would be awesome if hlint had support for laws that require some precondition to be true, such as the foldl/scanl law |
| 2021-06-21 08:56:00 +0000 | <kuribas> | merijn: why would a chunked list be slower than one bug chunk (for large enough chunks). |
| 2021-06-21 08:56:01 +0000 | <merijn> | siraben: There are in-place construction functions for vector |
| 2021-06-21 08:56:14 +0000 | <EvanR> | instead of copying into new vectors each time, you build a thing you can iterate through later |
| 2021-06-21 08:56:48 +0000 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:315a:5813:efa5:bde0) |
| 2021-06-21 08:56:49 +0000 | <merijn> | siraben: I'd say you want something like generate instead: https://hackage.haskell.org/package/vector-0.12.3.0/docs/Data-Vector-Fusion-Stream-Monadic.html#v:… |
| 2021-06-21 08:57:32 +0000 | <siraben> | int-e: yes, that's similar to my initial solution, I managed to get down from 39 μs to 26 μs by using bytestring and some strictness |
| 2021-06-21 08:57:46 +0000 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
| 2021-06-21 08:58:06 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-06-21 08:58:24 +0000 | <merijn> | siraben: So instead of folding, running basically an indexed loop on the original vector, something like: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/StepAggregate.hs#L112-L116 |
| 2021-06-21 08:58:42 +0000 | <siraben> | ah, interesting, I could try that |
| 2021-06-21 08:58:46 +0000 | <siraben> | ooh, VS.unsafeIndex |
| 2021-06-21 08:59:03 +0000 | <merijn> | siraben: unsafeIndex skips bounds checking |
| 2021-06-21 08:59:15 +0000 | <merijn> | So great way to segfault your code if you don't know what you're doing ;) |
| 2021-06-21 08:59:30 +0000 | <siraben> | yeah, how much difference does it make? |
| 2021-06-21 08:59:39 +0000 | <merijn> | Very little |
| 2021-06-21 08:59:40 +0000 | <EvanR> | all you need is a proof you're in bounds |
| 2021-06-21 08:59:49 +0000 | <siraben> | this would be the type of stuff that refinement types (or full blown dep types) could help with |
| 2021-06-21 08:59:54 +0000 | <merijn> | but I'm using this in a tight loop where I do millions (maybe billions) of lookups :p |
| 2021-06-21 08:59:55 +0000 | <siraben> | EvanR: right |
| 2021-06-21 09:00:12 +0000 | <merijn> | So a billion times very little helps ;) |
| 2021-06-21 09:00:14 +0000 | <EvanR> | a real proof can be difficult to actually get and maintain |
| 2021-06-21 09:00:22 +0000 | <siraben> | I think the GOL type problems in AOC were more performance sensitive as well |
| 2021-06-21 09:00:29 +0000 | <int-e> | siraben: I tend not to optimize anything that runs in under a second when using runghc :) |
| 2021-06-21 09:00:44 +0000 | <merijn> | siraben: Anyway, the key point here is that generate basically allocates an empty vector and fills in every element with "Int -> a" (where the Int is the index) |
| 2021-06-21 09:01:06 +0000 | <siraben> | int-e: fair enough, as kuribas said, algorithmic efficiency can matter more even in CP problems |
| 2021-06-21 09:01:08 +0000 | <merijn> | siraben: So you can construct your result array "in place" if you can reformulate your fold into a function from index to a value |
| 2021-06-21 09:01:10 +0000 | <siraben> | merijn: yeah |
| 2021-06-21 09:01:21 +0000 | <merijn> | That will save all the cons copying |
| 2021-06-21 09:01:26 +0000 | <siraben> | the recursion pattern is a bit weird here |
| 2021-06-21 09:01:32 +0000 | <siraben> | in my function `revaz` |
| 2021-06-21 09:01:53 +0000 | <siraben> | because it calls the function zLayer defined as `zLayer as (bs, wvs) = V.zipWith (+) bs $ V.sum . V.zipWith (*) as <$> wvs` |
| 2021-06-21 09:02:01 +0000 | <siraben> | so in that sense, it's already quadratic |
| 2021-06-21 09:02:58 +0000 | mc47 | (~mc47@xmonad/TheMC47) |
| 2021-06-21 09:03:14 +0000 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 2021-06-21 09:03:38 +0000 | mc47 | (~mc47@xmonad/TheMC47) |
| 2021-06-21 09:05:05 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-06-21 09:06:53 +0000 | ocramz | (~user@c80-216-51-213.bredband.tele2.se) |
| 2021-06-21 09:07:01 +0000 | <ocramz> | hullo! |
| 2021-06-21 09:07:31 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-06-21 09:07:47 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-06-21 09:08:56 +0000 | yoctocell | (~user@h87-96-130-155.cust.a3fiber.se) |
| 2021-06-21 09:08:59 +0000 | <ocramz> | ghc-lib versus ghc-as-a-library : can I write a GHC plugin by importing only ghc-lib ? or, yes it does typecheck and the interface is the same as ghc library, but would it work when used by code that compiles against the ghc library ? |
| 2021-06-21 09:09:45 +0000 | yoctocell | (~user@h87-96-130-155.cust.a3fiber.se) (Remote host closed the connection) |
| 2021-06-21 09:09:56 +0000 | azeem | (~azeem@dynamic-adsl-94-34-49-60.clienti.tiscali.it) (Ping timeout: 258 seconds) |
| 2021-06-21 09:09:59 +0000 | chomwitt | (~Pitsikoko@2a02:587:dc0b:ff00:c813:70d9:31b2:b1b9) (Ping timeout: 244 seconds) |
| 2021-06-21 09:10:10 +0000 | yoctocell | (~user@h87-96-130-155.cust.a3fiber.se) |
| 2021-06-21 09:10:43 +0000 | azeem | (~azeem@176.200.214.195) |
| 2021-06-21 09:11:10 +0000 | <kuribas> | merijn: I also remember some article where they implemented search using a hybrid tree and linear search on arrays. |
| 2021-06-21 09:11:37 +0000 | <kuribas> | merijn: that was on CPU though. GPU's are another beast. |
| 2021-06-21 09:12:21 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
| 2021-06-21 09:12:32 +0000 | hmmmas | (~chenqisu1@183.217.200.246) |
| 2021-06-21 09:14:04 +0000 | hexo | (~hexo@user/hexo) (Quit: Leaving) |
| 2021-06-21 09:14:07 +0000 | xsperry | (~as@user/xsperry) (Ping timeout: 244 seconds) |
| 2021-06-21 09:15:13 +0000 | maroloccio1 | (~marolocci@189.15.9.54) (Ping timeout: 246 seconds) |
| 2021-06-21 09:16:22 +0000 | <kuribas> | RE poor error handling in haskell, my PR to cassava for providing a decent error message (which should have been there), has been just sitting there for several weeks now. |
| 2021-06-21 09:17:14 +0000 | <kuribas> | This kind of sloppiness in core libraries just goes against all ideas of haskell being more rigorous. |
| 2021-06-21 09:17:56 +0000 | <kuribas> | It's like just an obsession for type level programming, GADTs etc, but then ignoring low hanging fruit. |
| 2021-06-21 09:18:10 +0000 | <ocramz> | cassava has been in a sorry state for a while now. I guess CSV is seen as low priority by the intelligentsia |
| 2021-06-21 09:18:43 +0000 | <ocramz> | (whereas the rest of the world lives inside excel tables and csv dumps) |
| 2021-06-21 09:18:49 +0000 | <kuribas> | ocramz: :-( We use CSV for everthing... |
| 2021-06-21 09:18:57 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-06-21 09:18:59 +0000 | <ocramz> | I know, anybody doing data work uses csv |
| 2021-06-21 09:20:25 +0000 | <merijn> | If only there was some way to just take the existing work and improve it directly yourself... ;) |
| 2021-06-21 09:20:42 +0000 | <ocramz> | btw kuribas, I've had a good experience with csv-conduit ( https://hackage.haskell.org/package/csv-conduit ) for parsing , and serializing by hand with bytestring/text builders |
| 2021-06-21 09:20:53 +0000 | <merijn> | Then you could just pay programmers to make it to your liking, imagine that! |
| 2021-06-21 09:21:42 +0000 | <ocramz> | merijn, it's not about open source entitlement. we all do our share of OSS. but if a maintainer is not responsive and doesn't allow external help, then it's a problem |
| 2021-06-21 09:21:56 +0000 | <kuribas> | this |
| 2021-06-21 09:23:05 +0000 | <kuribas> | I am not even blaming the maintainer, he may be very busy or something, just saying it's a problem that reflects badly on the language. |
| 2021-06-21 09:23:24 +0000 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
| 2021-06-21 09:23:40 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-06-21 09:23:46 +0000 | <merijn> | Right, but if the maintainer is too busy you ask if you can be co-maintainer and if not you fork? |
| 2021-06-21 09:24:43 +0000 | chronon | (~chronon@user/chronon) |
| 2021-06-21 09:25:23 +0000 | <ocramz> | that would work if Hackage had a hierarchical name space, which is part of the social contract of our particular corner of open source |
| 2021-06-21 09:25:36 +0000 | <kuribas> | merijn: forking is possible, but not very convenient, and certainly doesn't reflect well on haskell. |
| 2021-06-21 09:25:56 +0000 | <ocramz> | e.g. kuribas.cassava is actively maintained, use that |
| 2021-06-21 09:25:59 +0000 | kenran | (~kenran@b2b-37-24-119-190.unitymedia.biz) |
| 2021-06-21 09:26:14 +0000 | <merijn> | Sure it's not convenient, but what else do you propose? |
| 2021-06-21 09:27:09 +0000 | chexum | (~chexum@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 2021-06-21 09:27:09 +0000 | gnoo | (~gnoo@user/gnoo) (Remote host closed the connection) |
| 2021-06-21 09:27:09 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 2021-06-21 09:27:09 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 2021-06-21 09:27:09 +0000 | HotblackDesiato | (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection) |
| 2021-06-21 09:27:09 +0000 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 2021-06-21 09:27:09 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2021-06-21 09:27:09 +0000 | hendursa1 | (~weechat@user/hendursaga) (Remote host closed the connection) |
| 2021-06-21 09:27:13 +0000 | <kuribas> | I can ask to be co-maintainer... |
| 2021-06-21 09:28:27 +0000 | <merijn> | Like, these discussions are always about how lack of maintenance reflects on the library/community and how things "should" be professional, but in the end there's literally just 1 solution and that is "pay people enough to prioritise their open source work" |
| 2021-06-21 09:29:02 +0000 | <ocramz> | OR allow co-maintainers, as kuribas proposed one line above |
| 2021-06-21 09:29:21 +0000 | <merijn> | ocramz: I proposed that even earlier, but in effect that is still the same solution |
| 2021-06-21 09:29:33 +0000 | <merijn> | since, presumably, you are getting paid by your job to do that maintenance |
| 2021-06-21 09:29:57 +0000 | <ocramz> | many write OSS in their spare time |
| 2021-06-21 09:30:07 +0000 | <kuribas> | merijn: reviewing PRs shouldn't be that much work... |
| 2021-06-21 09:30:14 +0000 | __monty__ | (~toonn@user/toonn) |
| 2021-06-21 09:30:19 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
| 2021-06-21 09:30:25 +0000 | <merijn> | ocramz: If you do, then you should realise why people might not have the time to prioritise |
| 2021-06-21 09:30:26 +0000 | <Taneb> | ocramz: if it's their spare time, they have no obligation on how to spend that time |
| 2021-06-21 09:30:31 +0000 | HotblackDesiato | (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
| 2021-06-21 09:30:33 +0000 | <merijn> | kuribas: Who cares if it's much work or not |
| 2021-06-21 09:30:35 +0000 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
| 2021-06-21 09:30:45 +0000 | hmmmas | (~chenqisu1@183.217.200.246) (Quit: Leaving.) |
| 2021-06-21 09:31:00 +0000 | gehmehgeh | (~user@user/gehmehgeh) |
| 2021-06-21 09:31:05 +0000 | <kuribas> | we should care for core libraries. |
| 2021-06-21 09:31:07 +0000 | <ocramz> | I feel we're talking past each other here |
| 2021-06-21 09:31:33 +0000 | <merijn> | Some of my stuff still doesn't support GHC 9.0, because after 1.5 year of stuck at home in lockdown I can't find the energy to work on it in my spare time |
| 2021-06-21 09:31:35 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) |
| 2021-06-21 09:32:02 +0000 | <kuribas> | couldn't that be something for haskell consultancy companies? They get paid to sell haskell, so it is in their interest to have decent libraries. |
| 2021-06-21 09:32:19 +0000 | <ocramz> | since the Hackage namespace is write-only, and flat, IMO once you upload a new package it shoudl become part of the commons, and it should be easy by design to let new maintainers in, both in the repo and as hackage uploaders |
| 2021-06-21 09:32:35 +0000 | chexum | (~chexum@gateway/tor-sasl/chexum) |
| 2021-06-21 09:32:44 +0000 | <ocramz> | without complex bargaining, or ego battles |
| 2021-06-21 09:32:46 +0000 | <merijn> | ocramz: That seems like a good way to get people to not upload code at all |
| 2021-06-21 09:32:49 +0000 | hendursa1 | (~weechat@user/hendursaga) |
| 2021-06-21 09:32:55 +0000 | gnoo | (~gnoo@user/gnoo) |
| 2021-06-21 09:33:20 +0000 | <merijn> | ocramz: I mean, you don't have to bargain, it's open source, you can simply fork it with a different name and use/advertise that? |
| 2021-06-21 09:33:25 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2021-06-21 09:33:51 +0000 | <kuribas> | ocramz: wasn't their some drama a while ago about exactly that? Someone doing changes against the authors wishes. |
| 2021-06-21 09:34:01 +0000 | <ocramz> | because by forking we have two similar things, one of which is left to bitrot |
| 2021-06-21 09:34:19 +0000 | <ocramz> | kuribas : yeah |
| 2021-06-21 09:34:22 +0000 | <kuribas> | I thought there was already a process for abandoned projects. |
| 2021-06-21 09:34:22 +0000 | <Taneb> | kristjansson: cassava/Cassava? |
| 2021-06-21 09:34:48 +0000 | <Taneb> | kuribas* sorry |
| 2021-06-21 09:34:48 +0000 | <ocramz> | yeah |
| 2021-06-21 09:35:10 +0000 | <kuribas> | but I am not even talking about obscore/abandoned projects, I am talking about libraries considered core, like Cassava, Aeson, ... |
| 2021-06-21 09:35:21 +0000 | <ocramz> | this duplication is technically feasible but frankly sucks, because it shows that it was not possible to reach a civil agreement |
| 2021-06-21 09:35:21 +0000 | <merijn> | I mean, I wouldn't consider either of those core |
| 2021-06-21 09:35:36 +0000 | <kuribas> | merijn: what do you use for JSON then? |
| 2021-06-21 09:35:44 +0000 | <merijn> | kuribas: I don't use JSON |
| 2021-06-21 09:35:49 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Ping timeout: 244 seconds) |
| 2021-06-21 09:35:53 +0000 | <kuribas> | merijn: good for you :) |
| 2021-06-21 09:35:59 +0000 | <ocramz> | kuribas: aeson, same thing |
| 2021-06-21 09:36:15 +0000 | <merijn> | Here's the key problem in "these core libraries", I doubt you'll find much agreement community wide on what is "core" |
| 2021-06-21 09:36:43 +0000 | <merijn> | Anything GHC depends on, sure. containers and vector also. I think people will already start disagreeing on unordered-containers |
| 2021-06-21 09:36:56 +0000 | <kuribas> | merijn: Cassava is the standard for CSV, Aeson for JSON, or am I wrong? |
| 2021-06-21 09:37:07 +0000 | <merijn> | kuribas: Define "standard" |
| 2021-06-21 09:37:10 +0000 | <ocramz> | merijn : a simple graph centrality argument willl show why cassava can be considered as "core" : https://packdeps.haskellers.com/reverse/cassava |
| 2021-06-21 09:37:18 +0000 | <kuribas> | merijn: as in, what everyone uses? |
| 2021-06-21 09:37:28 +0000 | elf_fortrez | (~elf_fortr@adsl-64-237-239-58.prtc.net) (Quit: Client closed) |
| 2021-06-21 09:37:38 +0000 | <Taneb> | kuribas: that's community-accepted rather than standard. <blink> was supported by all commonly used browsers many years ago |
| 2021-06-21 09:37:53 +0000 | <merijn> | ocramz: I mean, that's 96 packages, most of which I never even heard off... |
| 2021-06-21 09:38:02 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2021-06-21 09:38:14 +0000 | <Taneb> | And, like, there are alternatives for both cassava and aeson, that do get used |
| 2021-06-21 09:38:15 +0000 | <ocramz> | "I haven't heard of a thing" is not a good argument why a thing is not important |
| 2021-06-21 09:38:37 +0000 | <merijn> | ocramz: I mean, vector has 1900 reverse dependencies |
| 2021-06-21 09:38:54 +0000 | <merijn> | 5300 for containers |
| 2021-06-21 09:39:06 +0000 | <merijn> | Those are orders of magnitude "more core" than cassava |
| 2021-06-21 09:39:16 +0000 | <ocramz> | all of these should be core, so what |
| 2021-06-21 09:39:18 +0000 | <Taneb> | ocramz: so, why should someone lose control of something they've created because it gets popular? That's what I understand of what you're proposing |
| 2021-06-21 09:39:39 +0000 | elf_fortrez | (~elf_fortr@adsl-64-237-239-58.prtc.net) |
| 2021-06-21 09:39:40 +0000 | <merijn> | Taneb: Well, he proposed they should lose control because they made it public on Hackage |
| 2021-06-21 09:39:47 +0000 | <merijn> | Taneb: That's slightly different |
| 2021-06-21 09:39:53 +0000 | <merijn> | But I still don't think it's a great idea |
| 2021-06-21 09:40:30 +0000 | <ocramz> | the (current?) architecture of cabal/hackage forces this particular state of things |
| 2021-06-21 09:40:38 +0000 | <merijn> | ocramz: I'm not saying it's not important. I'm saying it's not important enough to take away from owners |
| 2021-06-21 09:40:54 +0000 | <merijn> | How so? |
| 2021-06-21 09:40:58 +0000 | <ocramz> | whereas forking is ..? |
| 2021-06-21 09:41:01 +0000 | <kuribas> | merijn: cassava :: 565 DLs, csv :: 181 Dls (last upload 2010) csv-conduit :: 119 DLs |
| 2021-06-21 09:41:19 +0000 | <kuribas> | https://hackage.haskell.org/packages/search?terms=csv |
| 2021-06-21 09:41:31 +0000 | <merijn> | ocramz: Making a new thing with a different name and distinct new person in charge |
| 2021-06-21 09:41:58 +0000 | <Taneb> | kuribas: groups, 823 downloads in the past 30 days. I don't think anyone's suggested that groups should be standard |
| 2021-06-21 09:42:07 +0000 | <merijn> | Taneb: Lots of bot downloads |
| 2021-06-21 09:42:15 +0000 | <merijn> | kuribas: Those are number per version, btw |
| 2021-06-21 09:42:48 +0000 | dhil | (~dhil@195.213.192.47) |
| 2021-06-21 09:42:58 +0000 | maroloccio | (~marolocci@189.15.9.54) |
| 2021-06-21 09:43:24 +0000 | <Taneb> | And I think a lot of people get their packages from stackage or nixpkgs or similar not-Hackage sources these days and that won't count for those download stats |
| 2021-06-21 09:43:35 +0000 | teaSlurper | (~chris@81.96.113.213) |
| 2021-06-21 09:44:11 +0000 | <kuribas> | Just showing that Cassava is by far the most popular CSV parser, and Aeson for JSON... |
| 2021-06-21 09:44:19 +0000 | <kuribas> | prove me wrong... |
| 2021-06-21 09:44:24 +0000 | <merijn> | Right, but I wasn't arguing popularity |
| 2021-06-21 09:44:33 +0000 | <Taneb> | I don't think anyone was arguing that they weren't |
| 2021-06-21 09:45:21 +0000 | <merijn> | I wasn't arguing "those aren't core, because they're not the most popular" I was arguing "they aren't core, because their usage isn't nearly universal enough" |
| 2021-06-21 09:45:45 +0000 | <ocramz> | idk feels like we've hit ideological brick walls here. You upload a BSD package to the commons, plant a flag, and then impede its evolution |
| 2021-06-21 09:45:59 +0000 | <tomsmeding> | kuribas: just as a data point on people disagreeing about the definition of "core": anything that cannot be compiled in 2 GB of RAM is something that I personally would never want as "core" :p |
| 2021-06-21 09:45:59 +0000 | <ocramz> | this, to me, is backwards |
| 2021-06-21 09:46:00 +0000 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) (Quit: Client closed) |
| 2021-06-21 09:46:22 +0000 | <tomsmeding> | (hint, aeson) |
| 2021-06-21 09:46:39 +0000 | <tomsmeding> | vector barely passes iirc |
| 2021-06-21 09:47:05 +0000 | <ocramz> | tomsmeding: that's a pretty arbitrary bar but ok |
| 2021-06-21 09:47:11 +0000 | <merijn> | ocramz: Well, Hackage is open source and welcomes more contributions if you have better ideas |
| 2021-06-21 09:47:33 +0000 | <merijn> | ocramz: Who gets to decide when/who gets to steal a package, though? |
| 2021-06-21 09:47:39 +0000 | <ocramz> | "steal" |
| 2021-06-21 09:47:41 +0000 | <Taneb> | ocramz: the flag you plant is just a name |
| 2021-06-21 09:47:55 +0000 | <kuribas> | I am fine with using something else that Aeson or Cassava, but there isn't much, is there? |
| 2021-06-21 09:48:08 +0000 | <tomsmeding> | ocramz: true :) |
| 2021-06-21 09:48:11 +0000 | <ocramz> | you literally placed in the middle of the town square, with your name written on a post it |
| 2021-06-21 09:48:30 +0000 | <Taneb> | It's a pretty large town square |
| 2021-06-21 09:48:36 +0000 | <merijn> | ocramz: I have package foo, person X wants to basically completely change the direction of my package |
| 2021-06-21 09:48:44 +0000 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
| 2021-06-21 09:48:48 +0000 | <merijn> | ocramz: At which point is this progress vs ruining? |
| 2021-06-21 09:48:51 +0000 | <merijn> | Who is the arbiter? |
| 2021-06-21 09:49:15 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-06-21 09:49:19 +0000 | <ocramz> | case by case basis. If you let it bitrot for two years and it doesn't build with the latest compilers then it's not ruining it's evolving |
| 2021-06-21 09:49:29 +0000 | <ocramz> | oh, Hackage-wide CI would be nice too |
| 2021-06-21 09:49:35 +0000 | <ocramz> | getting there though |
| 2021-06-21 09:49:36 +0000 | <kuribas> | maybe we should have a "core" CSV and JSON parser, which is handled by a committee, like the standard libraries? |
| 2021-06-21 09:49:41 +0000 | allbery_b | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-06-21 09:49:48 +0000 | <merijn> | ocramz: Who decides the case-by-case basis? |
| 2021-06-21 09:50:17 +0000 | <merijn> | kuribas: That's a great way to slow down development, not speed up |
| 2021-06-21 09:50:18 +0000 | <Taneb> | kuribas: that doesn't feel like a solution to the underlying problem |
| 2021-06-21 09:50:28 +0000 | <merijn> | kuribas: Now that CLC has to agree to any API changes... |
| 2021-06-21 09:51:06 +0000 | elf_fortrez | (~elf_fortr@adsl-64-237-239-58.prtc.net) (Quit: Client closed) |
| 2021-06-21 09:51:06 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-06-21 09:51:40 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-06-21 09:52:10 +0000 | <ocramz> | merijn: idk the next candidate maintainer? |
| 2021-06-21 09:52:18 +0000 | <kuribas> | python comes with csv and json out of the box. |
| 2021-06-21 09:52:26 +0000 | <ocramz> | the alternatives here are 1. bitrot 2. doing something about it |
| 2021-06-21 09:52:53 +0000 | <ocramz> | anyway kuribas : use csv-conduit and text , and be merry |
| 2021-06-21 09:52:57 +0000 | <merijn> | What if people do not agree whether a library is bitrotting? |
| 2021-06-21 09:52:58 +0000 | <Taneb> | kuribas: I'm not convinced that Python is the best language for Haskell to imitate |
| 2021-06-21 09:53:29 +0000 | <ocramz> | merijn : I don't understand what's your angle besides fabricating objections |
| 2021-06-21 09:53:38 +0000 | <merijn> | kuribas: And as soon as something moves into python's core libraries it stops changing and >60% of the core libraries are now deprecated/recommended against by now |
| 2021-06-21 09:53:53 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-06-21 09:54:15 +0000 | <merijn> | ocramz: My angle is: People are gonna people and people *are* gonna try to take over stufff and you can't just handwave this stuff without having a solid and well-defined process for how to handle edge cases |
| 2021-06-21 09:54:29 +0000 | <merijn> | ocramz: Your suggestion currently is just "we should let people take over packages" |
| 2021-06-21 09:54:42 +0000 | <ocramz> | kuribas : come chat on the datahaskell gitter if you want to do something for Hs data stuff http://gitter.im/dataHaskell/Lobby |
| 2021-06-21 09:54:59 +0000 | <merijn> | ocramz: My counter-argument is: there is absolutely no sensible/feasible process for doing that and I don't think one can exist |
| 2021-06-21 09:55:12 +0000 | <ocramz> | I think one should exist instead |
| 2021-06-21 09:55:13 +0000 | <merijn> | ocramz: You are free to convince me by proposing a process that seems fair and feasible |
| 2021-06-21 09:55:22 +0000 | <Taneb> | For what it's worth, there _is_ a process for taking over a package on Hackage: https://wiki.haskell.org/Taking_over_a_package |
| 2021-06-21 09:55:54 +0000 | <ocramz> | aka "howling into the void" |
| 2021-06-21 09:55:57 +0000 | <merijn> | Taneb: Right, but ocramz wants a process that lets you take over packages even if maintainers are not absent, just no merging what people want |
| 2021-06-21 09:56:09 +0000 | <merijn> | That's a massive can of worms |
| 2021-06-21 09:56:31 +0000 | <merijn> | And you better have a solid and fair process. And I don't think one (can) exist |
| 2021-06-21 09:57:05 +0000 | <merijn> | So the only way to convince me that "taking over packages" is a good idea is by proposing a process that might work. |
| 2021-06-21 09:57:29 +0000 | <merijn> | Until such a process is defined I am opposed to the whole idea |
| 2021-06-21 09:57:47 +0000 | brandonh | (~brandonh@151.68.85.160) |
| 2021-06-21 09:58:37 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 09:58:57 +0000 | <ocramz> | I think instead it's about taking this very tenuous notion of OSS "ownership", in the specific incarnation on the Hackage namespace, to its logical conclusion |
| 2021-06-21 10:00:08 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 10:00:23 +0000 | <merijn> | ocramz: Ownership and personal pride are the only thing keeping non-commercial OSS alive |
| 2021-06-21 10:02:11 +0000 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
| 2021-06-21 10:02:17 +0000 | <ocramz> | what about building on the shoulders of giants? using, hopefully, working dependencies? not reinventing the wheel every 6 months? those are also things we all take for granted |
| 2021-06-21 10:02:41 +0000 | <ocramz> | yet, take work besides pride and ownership in your little pretty garden |
| 2021-06-21 10:03:07 +0000 | <merijn> | ocramz: Building on the shoulder of giants is great. If those giants are starving and burned out |
| 2021-06-21 10:03:14 +0000 | ukari | (~ukari@user/ukari) |
| 2021-06-21 10:04:22 +0000 | chele | (~chele@user/chele) (Ping timeout: 258 seconds) |
| 2021-06-21 10:05:55 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) |
| 2021-06-21 10:08:31 +0000 | cheater | (~Username@user/cheater) |
| 2021-06-21 10:09:36 +0000 | chele | (~chele@user/chele) |
| 2021-06-21 10:10:08 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Ping timeout: 250 seconds) |
| 2021-06-21 10:12:09 +0000 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
| 2021-06-21 10:12:45 +0000 | ukari | (~ukari@user/ukari) |
| 2021-06-21 10:13:42 +0000 | <kuribas> | merijn: for me OSS is more about solving something that hasn't been solved yet (satisfactory), and making it public so it can help other people. |
| 2021-06-21 10:14:15 +0000 | <__monty__> | That's the fun part of FOSS, not the sustainable part though. |
| 2021-06-21 10:14:28 +0000 | <merijn> | kuribas: And you don't take any pride in your solutions? |
| 2021-06-21 10:14:31 +0000 | <__monty__> | All your newfangled gadgets need to be maintained to remain useful. |
| 2021-06-21 10:14:39 +0000 | <kuribas> | merijn: I do :) |
| 2021-06-21 10:14:51 +0000 | <merijn> | kuribas: Right, so that's part of the reason people like sharing their stuff |
| 2021-06-21 10:14:56 +0000 | <kuribas> | __monty__: indeed. Maintaining is boring |
| 2021-06-21 10:15:05 +0000 | <merijn> | kuribas: And if you take that away from them, why even share your stuff? |
| 2021-06-21 10:15:37 +0000 | <kuribas> | merijn: how is taking over a project taking away the pride? |
| 2021-06-21 10:15:49 +0000 | <Taneb> | kuribas: ...how isn't it? |
| 2021-06-21 10:16:02 +0000 | <merijn> | kuribas: If you're still working on it and someone takes it over, that wouldn't affect you? |
| 2021-06-21 10:16:15 +0000 | <merijn> | (against your will) |
| 2021-06-21 10:16:20 +0000 | <Taneb> | I'd certainly be upset if someone said that I was doing something I'd created wrong and they were going to take over and do it their way |
| 2021-06-21 10:16:30 +0000 | <merijn> | We already have a policy for taking over abandonned packages |
| 2021-06-21 10:16:32 +0000 | <kuribas> | merijn: If I am working on it, yes. If I don't have time for it, no. |
| 2021-06-21 10:17:08 +0000 | <merijn> | kuribas: And how long before it qualifies as "I don't have time"? |
| 2021-06-21 10:17:23 +0000 | <merijn> | kuribas: Like, you don't have time for 6 months before you plan to continue on a project |
| 2021-06-21 10:17:26 +0000 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 2021-06-21 10:17:31 +0000 | <merijn> | Should someone be able to take it away? |
| 2021-06-21 10:18:19 +0000 | <kuribas> | merijn: in that case, they could fork the project, work on it, and after 6 months I'll incorporate changes I like. |
| 2021-06-21 10:18:22 +0000 | ocramz | (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 250 seconds) |
| 2021-06-21 10:18:38 +0000 | <kuribas> | But if the project is used by many people, maybe even better if someone else just takes it over. |
| 2021-06-21 10:18:47 +0000 | <kuribas> | for those months |
| 2021-06-21 10:18:54 +0000 | <merijn> | kuribas: And who decides that? |
| 2021-06-21 10:20:13 +0000 | <merijn> | If many people/companies rely on a project, well, that sounds like there's a lot of people who could be paying to prioritise that project! |
| 2021-06-21 10:21:32 +0000 | <merijn> | "Oh, but it's open source, we shouldn't have to pay! We just want to casually burn out maintainers and get the most of our tragedy of the commons!" |
| 2021-06-21 10:21:48 +0000 | <kuribas> | In my projects where I gave other people ownership or co-maintainership, I have not yet been disappointed. |
| 2021-06-21 10:22:02 +0000 | <Taneb> | But you chose to give other people ownership or co-maintainership |
| 2021-06-21 10:22:06 +0000 | <Taneb> | And you chose who |
| 2021-06-21 10:22:14 +0000 | <merijn> | kuribas: That's fine, but then it's *you* in control and deciding if/who gets maintainership |
| 2021-06-21 10:22:24 +0000 | <merijn> | kuribas: That's is fundamentally different from having it imposed on you |
| 2021-06-21 10:22:49 +0000 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection) |
| 2021-06-21 10:22:50 +0000 | <kuribas> | merijn: yeah, having it imposed isn't nice. |
| 2021-06-21 10:23:21 +0000 | <merijn> | The older I get, the more my opinion on 100% of open source maintainership converges on "fuck you, pay me" |
| 2021-06-21 10:24:01 +0000 | <merijn> | Or, I guess "free software" but "free as in puppies" |
| 2021-06-21 10:24:06 +0000 | <kuribas> | merijn: that's fair. If I am in a company using haskell, they would have a budget for this stuff. |
| 2021-06-21 10:24:14 +0000 | <merijn> | i.e. "You'll have to pay to get it fixed" |
| 2021-06-21 10:24:33 +0000 | <merijn> | I don't know who I got that quote from, but I love it more and more :) |
| 2021-06-21 10:24:50 +0000 | tauli[m] | (~tauliacme@2001:470:69fc:105::755) |
| 2021-06-21 10:25:09 +0000 | <kuribas> | merijn: if I get passed the "haskell is an academic language which is not for practical use, as it doesn't even have libraries for common usecases." |
| 2021-06-21 10:26:22 +0000 | <kuribas> | merijn: the only thing a company cares about is that the net benefit is positive. |
| 2021-06-21 10:27:02 +0000 | <merijn> | Sure |
| 2021-06-21 10:27:15 +0000 | <merijn> | But also, I don't care what companies think about stuff I do |
| 2021-06-21 10:27:31 +0000 | ocramz | (~user@c80-216-51-213.bredband.tele2.se) |
| 2021-06-21 10:27:49 +0000 | <merijn> | And neither should anyone else who isn't actively being paid to care |
| 2021-06-21 10:27:54 +0000 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
| 2021-06-21 10:28:40 +0000 | <merijn> | anyway, lunch |
| 2021-06-21 10:29:49 +0000 | ham | (~ham4@user/ham) (Read error: Connection reset by peer) |
| 2021-06-21 10:32:58 +0000 | sa | (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 244 seconds) |
| 2021-06-21 10:33:06 +0000 | ham | (~ham4@user/ham) |
| 2021-06-21 10:33:07 +0000 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (Client Quit) |
| 2021-06-21 10:34:06 +0000 | sa | (sid1055@id-1055.tinside.irccloud.com) |
| 2021-06-21 10:34:15 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-06-21 10:34:20 +0000 | teaSlurper | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-06-21 10:34:24 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-06-21 10:37:25 +0000 | nschoe | (~quassel@178.251.84.79) (Ping timeout: 265 seconds) |
| 2021-06-21 10:39:26 +0000 | Hafydd | (~Hafydd@user/hafydd) (Quit: WeeChat 3.0) |
| 2021-06-21 10:39:27 +0000 | teaSlurper | (~chris@81.96.113.213) |
| 2021-06-21 10:40:31 +0000 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
| 2021-06-21 10:40:34 +0000 | <ocramz> | kuribas: completely agree with your pov. besides, having a mechanism for adding active maintainers (who are either interested in evolving a library or have the means to ask others do so) is precisely a way for everybody to _avoid_ burnout |
| 2021-06-21 10:41:03 +0000 | jakesyl | (sid56879@id-56879.stonehaven.irccloud.com) (Ping timeout: 272 seconds) |
| 2021-06-21 10:41:18 +0000 | <kuribas> | to be clear, I am not advocating forcing projects away from the creators :) |
| 2021-06-21 10:41:38 +0000 | <ocramz> | I said adding, in fact |
| 2021-06-21 10:41:59 +0000 | <ocramz> | or letting new patches be incorporated, or whatever. Moving the project forward |
| 2021-06-21 10:42:50 +0000 | <ocramz> | the "package takeover" process, involving multiple rounds of email, copy-pasted conversations in the mailing lists, months wasted, is one of the most comically inefficient ways of doing this |
| 2021-06-21 10:43:30 +0000 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 250 seconds) |
| 2021-06-21 10:43:50 +0000 | jakesyl | (sid56879@id-56879.stonehaven.irccloud.com) |
| 2021-06-21 10:44:23 +0000 | <kuribas> | ocramz: I would only do this for projects with widespread use. |
| 2021-06-21 10:44:33 +0000 | <ocramz> | sure |
| 2021-06-21 10:44:58 +0000 | <ocramz> | a voting process! like, if more than N people ask for this, click |
| 2021-06-21 10:45:22 +0000 | <ocramz> | surely we don't need sMaRt CoNtRaCtS to pull this shit off |
| 2021-06-21 10:45:57 +0000 | ubert | (~Thunderbi@p200300ecdf259dd4ad9b8920565e1743.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 2021-06-21 10:49:19 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-06-21 10:52:05 +0000 | zeenk | (~zeenk@82.76.113.130) (Quit: Konversation terminated!) |
| 2021-06-21 10:53:20 +0000 | <Taneb> | What's the justification for the "is strictly more specific than" bit of resolving overlapping instances? |
| 2021-06-21 10:54:38 +0000 | <__monty__> | Because that gives a unique match? Whereas the = in >= wouldn't? |
| 2021-06-21 10:55:10 +0000 | <hpc> | ^ |
| 2021-06-21 10:55:18 +0000 | teaSlurper | (~chris@81.96.113.213) |
| 2021-06-21 10:55:23 +0000 | <hpc> | when you aren't able to resolve the match in some unambiguous way, you get incoherent instances |
| 2021-06-21 10:55:41 +0000 | <hpc> | although not quite "unique", but "unambiguous" |
| 2021-06-21 10:56:12 +0000 | <hpc> | the specificity requirement gives ghc a way to consistently pick the same instance in similar situationns |
| 2021-06-21 10:59:33 +0000 | <Taneb> | Why is it relevant when all-but-one of the candidate instances is marked as overlappable? |
| 2021-06-21 11:00:43 +0000 | mpt | (~tom@2a02:908:1862:49e0::3) |
| 2021-06-21 11:04:43 +0000 | ocramz | (~user@c80-216-51-213.bredband.tele2.se) (ERC (IRC client for Emacs 27.2)) |
| 2021-06-21 11:05:57 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-06-21 11:06:03 +0000 | brandonh_ | (~brandonh@151.68.85.160) |
| 2021-06-21 11:06:58 +0000 | brandonh | (~brandonh@151.68.85.160) (Ping timeout: 252 seconds) |
| 2021-06-21 11:07:11 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) |
| 2021-06-21 11:07:21 +0000 | zot | (sid449795@id-449795.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-06-21 11:07:33 +0000 | brandonh_ | (~brandonh@151.68.85.160) (Client Quit) |
| 2021-06-21 11:07:41 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 2021-06-21 11:08:20 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 11:09:56 +0000 | azeem | (~azeem@176.200.214.195) (Ping timeout: 250 seconds) |
| 2021-06-21 11:11:42 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Ping timeout: 264 seconds) |
| 2021-06-21 11:13:40 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-06-21 11:13:45 +0000 | azeem | (~azeem@176.201.29.233) |
| 2021-06-21 11:14:21 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 11:14:34 +0000 | mpt | (~tom@2a02:908:1862:49e0::3) (Ping timeout: 268 seconds) |
| 2021-06-21 11:15:39 +0000 | polux4 | (~polux@51.15.169.172) |
| 2021-06-21 11:16:31 +0000 | polux | (~polux@51.15.169.172) (Ping timeout: 272 seconds) |
| 2021-06-21 11:16:31 +0000 | polux4 | polux |
| 2021-06-21 11:16:43 +0000 | samebchase | (~samebchas@51.15.68.182) (Ping timeout: 272 seconds) |
| 2021-06-21 11:16:49 +0000 | samebchase | (~samebchas@51.15.68.182) |
| 2021-06-21 11:16:50 +0000 | deshalb | (~deshalb@user/deshalb) |
| 2021-06-21 11:16:56 +0000 | MasseR | (~MasseR@51.15.143.128) (Ping timeout: 268 seconds) |
| 2021-06-21 11:17:02 +0000 | alp | (~alp@user/alp) (Ping timeout: 268 seconds) |
| 2021-06-21 11:17:09 +0000 | haveo | (~haveo@sl35.iuwt.fr) (Ping timeout: 272 seconds) |
| 2021-06-21 11:17:16 +0000 | haveo | (~haveo@sl35.iuwt.fr) |
| 2021-06-21 11:17:36 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 252 seconds) |
| 2021-06-21 11:17:55 +0000 | MasseR | (~MasseR@51.15.143.128) |
| 2021-06-21 11:18:10 +0000 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:315a:5813:efa5:bde0) (Ping timeout: 250 seconds) |
| 2021-06-21 11:18:51 +0000 | stevenxl | (~stevenlei@174.128.182.199) |
| 2021-06-21 11:19:45 +0000 | Hafydd | (~Hafydd@user/hafydd) |
| 2021-06-21 11:20:11 +0000 | <merijn> | It's funny that people think "package take-over process is comically inefficient" is a bug as opposed to "intended by design" |
| 2021-06-21 11:20:40 +0000 | <merijn> | It's almost as if it's something we want to discourage... |
| 2021-06-21 11:21:23 +0000 | <Las[m]> | I have a Haskell program that segfaults somewhere, and I'm trying to get a stack trace for that. I'm compiling with -g and -O1, but inspecting the dump with gdb and running `bt` just gives me garbage. How can I debug this? |
| 2021-06-21 11:21:55 +0000 | <Las[m]> | The Haskell program uses raw pointers all over the place unfortunately |
| 2021-06-21 11:22:20 +0000 | <merijn> | RIP |
| 2021-06-21 11:22:31 +0000 | srk | (~sorki@user/srk) (Remote host closed the connection) |
| 2021-06-21 11:22:49 +0000 | srk | (~sorki@user/srk) |
| 2021-06-21 11:22:52 +0000 | <merijn> | -g just gives you c symbols for the RTS |
| 2021-06-21 11:22:57 +0000 | <merijn> | not the compiled Haskell |
| 2021-06-21 11:23:16 +0000 | <merijn> | GHC has (experimentalish) support for DWARF, but I don't think -g enables that atm? |
| 2021-06-21 11:23:34 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2021-06-21 11:25:39 +0000 | <Las[m]> | FWIW I get some mangled symbol name, can I somehow use that? |
| 2021-06-21 11:25:57 +0000 | <Las[m]> | I used the -ddump thing to get some dumps but I can't find the symbol name there |
| 2021-06-21 11:26:27 +0000 | <merijn> | Las[m]: https://www.haskell.org/ghc/blog/20200403-dwarf-1.html |
| 2021-06-21 11:26:30 +0000 | <Las[m]> | > Emit debug information in object code. Currently only DWARF debug information is supported on x86-64 and i386. Currently debug levels 0 through 3 are accepted, with 0 disabling debug information production and higher numbers producing richer output. If ⟨n⟩ is omitted, level 2 is assumed. |
| 2021-06-21 11:26:32 +0000 | <lambdabot> | <hint>:1:24: error: parse error on input ‘in’ |
| 2021-06-21 11:26:41 +0000 | <Las[m]> | it's not supported on my platform... |
| 2021-06-21 11:26:45 +0000 | <merijn> | ah |
| 2021-06-21 11:26:47 +0000 | <Las[m]> | (aarch64-linux) |
| 2021-06-21 11:27:05 +0000 | <merijn> | Then you might be, as we experts say, "fucked" >.> |
| 2021-06-21 11:27:12 +0000 | <Las[m]> | can I use the mangled symbol name then somehow to at least find out where it happened? |
| 2021-06-21 11:27:38 +0000 | <merijn> | No clue, tbh |
| 2021-06-21 11:28:03 +0000 | <merijn> | tbh, at this point binary searching your code by throwing Debug.Trace prints everywhere might be the fastest/most accurate to figure out what fails and where |
| 2021-06-21 11:28:10 +0000 | <tomsmeding> | what _is_ the mangled symbol name? |
| 2021-06-21 11:28:24 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-06-21 11:28:52 +0000 | <Las[m]> | I need to generate the coredump again for that since it was purged after a reboot |
| 2021-06-21 11:29:34 +0000 | <tomsmeding> | just curious, no need to expend effort :) |
| 2021-06-21 11:30:37 +0000 | is7s | (~is7s@2a01:4b00:895f:3d00:ddd:ae00:86d4:d79c) (Quit: Client closed) |
| 2021-06-21 11:30:41 +0000 | maroloccio | (~marolocci@189.15.9.54) (Quit: Client closed) |
| 2021-06-21 11:30:46 +0000 | alp | (~alp@163.172.83.213) |
| 2021-06-21 11:31:01 +0000 | <Las[m]> | it says `c2Xrz_info$def` |
| 2021-06-21 11:31:32 +0000 | <tomsmeding> | right, I have no idea :p |
| 2021-06-21 11:31:37 +0000 | <merijn> | Sounds like an info pointer |
| 2021-06-21 11:31:59 +0000 | <Las[m]> | what does that mean? |
| 2021-06-21 11:32:16 +0000 | <merijn> | Las[m]: info pointers are internal meta information for GHC about datatypes |
| 2021-06-21 11:32:25 +0000 | <Las[m]> | ah |
| 2021-06-21 11:32:27 +0000 | <merijn> | and closures |
| 2021-06-21 11:32:49 +0000 | <merijn> | Like "is this thunk already evaluated?" "how big is the result?" etc. |
| 2021-06-21 11:33:02 +0000 | <merijn> | "where is the code for this?" |
| 2021-06-21 11:33:38 +0000 | <Las[m]> | I think I'll have to go the Debug.Trace route like you said... |
| 2021-06-21 11:33:44 +0000 | mpt | (~tom@2a02:908:1862:49e0::3) |
| 2021-06-21 11:36:30 +0000 | wei2912 | (~wei2912@112.199.250.21) (Quit: Lost terminal) |
| 2021-06-21 11:38:47 +0000 | haveo | (~haveo@sl35.iuwt.fr) (Quit: leaving) |
| 2021-06-21 11:42:13 +0000 | haveo | (~haveo@sl35.iuwt.fr) |
| 2021-06-21 11:46:49 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-06-21 11:47:30 +0000 | azeem | (~azeem@176.201.29.233) (Ping timeout: 265 seconds) |
| 2021-06-21 11:53:33 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-06-21 11:53:46 +0000 | azeem | (~azeem@176.201.29.233) |
| 2021-06-21 11:56:26 +0000 | brandonh | (~brandonh@151.68.5.207) |
| 2021-06-21 12:01:44 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 2021-06-21 12:01:56 +0000 | mpt | (~tom@2a02:908:1862:49e0::3) (Ping timeout: 250 seconds) |
| 2021-06-21 12:03:56 +0000 | <maerwald[m]> | Is there a tool to vendor 3rd party deps (not on hackage) into the library component so I can upload it on hackage? |
| 2021-06-21 12:04:27 +0000 | <merijn> | maerwald[m]: Eh "copy and paste the source into your repo"? :p |
| 2021-06-21 12:04:34 +0000 | <merijn> | maerwald[m]: iow, no |
| 2021-06-21 12:04:51 +0000 | <maerwald[m]> | Yeah, that, adjust modules in cabsl file |
| 2021-06-21 12:04:56 +0000 | <maerwald[m]> | And all the jazz |
| 2021-06-21 12:05:16 +0000 | <maerwald[m]> | Seems this can be automated |
| 2021-06-21 12:05:34 +0000 | <merijn> | Sure, just a Small Matter of Programming (TM) :) |
| 2021-06-21 12:06:25 +0000 | <maerwald[m]> | OCD lock-in... 3 months later... "done... so back to what I was working on... what was I working on?" |
| 2021-06-21 12:06:34 +0000 | machinedgod | (~machinedg@24.105.81.50) |
| 2021-06-21 12:07:03 +0000 | <merijn> | maerwald[m]: That never happens to me >.> |
| 2021-06-21 12:08:10 +0000 | <merijn> | maerwald[m]: Can't convince the 3rd party to make a Hackage release? |
| 2021-06-21 12:08:22 +0000 | <maerwald[m]> | No |
| 2021-06-21 12:09:14 +0000 | <maerwald[m]> | My tar patches haven't been merged since 1.5 years and the other library smells like NMU needed too |
| 2021-06-21 12:09:22 +0000 | <maerwald[m]> | No time for that nonsense |
| 2021-06-21 12:09:38 +0000 | <merijn> | Doesn't vanessa actively maintain a tar library? |
| 2021-06-21 12:10:01 +0000 | <merijn> | At least, she's the only person I see shitposting about tar being terrible more than you :p |
| 2021-06-21 12:10:12 +0000 | <maerwald[m]> | Yes, I'm using that |
| 2021-06-21 12:10:21 +0000 | <maerwald[m]> | But it doesn't build everywhere |
| 2021-06-21 12:10:27 +0000 | <maerwald[m]> | Thanks to c2hs |
| 2021-06-21 12:10:46 +0000 | <merijn> | She's not including your patches? |
| 2021-06-21 12:11:10 +0000 | <maerwald[m]> | No no |
| 2021-06-21 12:11:16 +0000 | <maerwald[m]> | She's maintaining libarchive |
| 2021-06-21 12:11:34 +0000 | <maerwald[m]> | That works well for platforms where c2hs is not broken |
| 2021-06-21 12:12:18 +0000 | <merijn> | I'd argue that c2hs is broken everywhere xD |
| 2021-06-21 12:12:32 +0000 | <merijn> | It just happens to work sometimes :p |
| 2021-06-21 12:13:21 +0000 | <maerwald[m]> | For the others I need tar, which I had initially forked to bytestring based filepaths, but when supporting windows, this would require implementing AFPP first or some light wrapper. So I'm back to using a patched branch of upstream haskell tar, which is more or less unmaintained. |
| 2021-06-21 12:14:50 +0000 | <maerwald[m]> | So I don't care to fix any on that, just want to be able to make a hackage release. |
| 2021-06-21 12:16:05 +0000 | <maerwald[m]> | So need a tool that vendors all deps into the codebas and call it a day, haha |
| 2021-06-21 12:16:11 +0000 | <maerwald[m]> | Don't care |
| 2021-06-21 12:16:47 +0000 | <maerwald[m]> | Not much different from using PVP bounds |
| 2021-06-21 12:18:03 +0000 | Morrow | (~Morrow@37.142.145.18) |
| 2021-06-21 12:18:57 +0000 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:8de:a8d1:83fb:c4a6) |
| 2021-06-21 12:19:01 +0000 | <merijn> | maerwald[m]: So, how about just copying the source tree into a separate subdir, copying the library entry from the original cabal file and making it an internal library in your package? |
| 2021-06-21 12:19:13 +0000 | <merijn> | Still *some* manual work, but not a lot |
| 2021-06-21 12:19:23 +0000 | lbseale | (~lbseale@user/ep1ctetus) |
| 2021-06-21 12:19:33 +0000 | <maerwald[m]> | For tar yes... the other is a transitive dep |
| 2021-06-21 12:19:42 +0000 | <adamse> | how about uploading your fork to hackage under a new name? |
| 2021-06-21 12:20:00 +0000 | <maerwald[m]> | That's gonna be fun |
| 2021-06-21 12:20:14 +0000 | <merijn> | I'm sure Hecate has tons of recommendations on yak herding and shaving implements :p |
| 2021-06-21 12:20:39 +0000 | derelict_ | derelict |
| 2021-06-21 12:20:39 +0000 | <maerwald[m]> | Hackage should have had fork support |
| 2021-06-21 12:21:13 +0000 | <merijn> | maerwald[m]: Fortunately, hackage is open source! So now you have yet another yak! :D |
| 2021-06-21 12:21:16 +0000 | <maerwald[m]> | You can have 'username/pkg' and still have an unqualified 'pkg' |
| 2021-06-21 12:21:24 +0000 | pbrisbin | (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net) |
| 2021-06-21 12:21:53 +0000 | dajoer | (~david@softbank126065252160.bbtec.net) |
| 2021-06-21 12:21:56 +0000 | <maerwald[m]> | Unqualified pkg's would go through trustees, potentially or so |
| 2021-06-21 12:22:18 +0000 | Morrow | (~Morrow@37.142.145.18) (Ping timeout: 250 seconds) |
| 2021-06-21 12:22:27 +0000 | dajoer | (~david@softbank126065252160.bbtec.net) (Changing host) |
| 2021-06-21 12:22:27 +0000 | dajoer | (~david@user/gvx) |
| 2021-06-21 12:22:38 +0000 | <merijn> | maerwald[m]: There was an idea to make a "PVP opt-in" layer on top of "raw hackage", but not sure if that's going anywhere now that hvr is busy |
| 2021-06-21 12:22:52 +0000 | <maerwald[m]> | Right, let me write a proposal first... but no, I value my mental health more |
| 2021-06-21 12:23:05 +0000 | Morrow | (~Morrow@31.154.96.164) |
| 2021-06-21 12:24:21 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-06-21 12:28:48 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
| 2021-06-21 12:29:07 +0000 | fendor_ | (~fendor@77.119.129.45.wireless.dyn.drei.com) |
| 2021-06-21 12:32:13 +0000 | <Hecate> | maerwald[m] I will forcefully kidnap you and put you in a train for a thermal station if you take on another project :< |
| 2021-06-21 12:32:30 +0000 | <maerwald[m]> | xD |
| 2021-06-21 12:33:07 +0000 | <maerwald[m]> | I have 8 healthy fingers left |
| 2021-06-21 12:33:29 +0000 | <maerwald[m]> | Should get me through at least 2 more projects |
| 2021-06-21 12:34:02 +0000 | <int-e> | but fingers are not a renewable resource? |
| 2021-06-21 12:34:05 +0000 | int-e | is scared |
| 2021-06-21 12:34:46 +0000 | <maerwald[m]> | Oh, I thought they regrow after a couple of years |
| 2021-06-21 12:35:04 +0000 | <int-e> | they. don't. |
| 2021-06-21 12:35:14 +0000 | <maerwald[m]> | Shouldn't have cut them off I guess... hrmm |
| 2021-06-21 12:36:30 +0000 | <hrnz> | o.o |
| 2021-06-21 12:36:33 +0000 | psydroid | psydroid[m] |
| 2021-06-21 12:37:46 +0000 | GIANTWORLDKEEPER | (~pjetcetal@2.95.227.207) (Read error: Connection reset by peer) |
| 2021-06-21 12:38:01 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-06-21 12:38:05 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-06-21 12:39:00 +0000 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 2021-06-21 12:39:22 +0000 | cheater | (~Username@user/cheater) |
| 2021-06-21 12:41:14 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2021-06-21 12:42:27 +0000 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
| 2021-06-21 12:43:26 +0000 | ukari | (~ukari@user/ukari) |
| 2021-06-21 12:44:41 +0000 | <maerwald[m]> | https://github.com/biegunka/terminal-size/pulls |
| 2021-06-21 12:44:43 +0000 | <maerwald[m]> | Looks abandoned |
| 2021-06-21 12:45:13 +0000 | <merijn> | lemme check what I'm using |
| 2021-06-21 12:45:27 +0000 | gehmehgeh | (~user@user/gehmehgeh) |
| 2021-06-21 12:46:08 +0000 | <maerwald[m]> | This is a transitive dep though |
| 2021-06-21 12:46:19 +0000 | <merijn> | Ah, I use terminal-size |
| 2021-06-21 12:46:41 +0000 | <maerwald[m]> | It has a pretty humongous bug on darwin |
| 2021-06-21 12:47:01 +0000 | <merijn> | It does? |
| 2021-06-21 12:47:06 +0000 | <merijn> | I haven't noticed anything so far? |
| 2021-06-21 12:47:24 +0000 | <maerwald[m]> | `ccall` is impossible to get right on darwin |
| 2021-06-21 12:47:35 +0000 | <maerwald[m]> | https://github.com/biegunka/terminal-size/pull/16 |
| 2021-06-21 12:47:48 +0000 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 252 seconds) |
| 2021-06-21 12:48:49 +0000 | <maerwald[m]> | It causes segfaults, occuring in random places, randomly changing |
| 2021-06-21 12:49:16 +0000 | <maerwald[m]> | Who knows how many more of those hidden bugs darwin users face |
| 2021-06-21 12:49:33 +0000 | <merijn> | Which macs is it segfaulting on? |
| 2021-06-21 12:50:00 +0000 | <merijn> | I've been using it since 2016 and I haven't had any segfaults (that weren't my own fault) so far |
| 2021-06-21 12:50:15 +0000 | <maerwald[m]> | The verdict was you have to compare the generated code to be sure, but even then it's a moving target. An OSX update might break your FFI code |
| 2021-06-21 12:50:28 +0000 | <maerwald[m]> | Aarch64 darwin |
| 2021-06-21 12:51:30 +0000 | cheater | (~Username@user/cheater) (Ping timeout: 258 seconds) |
| 2021-06-21 12:51:55 +0000 | cheater | (~Username@user/cheater) |
| 2021-06-21 12:52:28 +0000 | <stevenxl> | Does anyone here do any Haskell tutoring - paid, not free. Essentially, I have a Haskell program that is giving me a type error, and I want to walk through how we got to that type error. I'm thinking this won't take more than 1 hr, but maybe 2. Again, happy to pay for someone's time to understand what is going on at a deeper level. |
| 2021-06-21 12:54:46 +0000 | <merijn> | stevenxl: The Haskell reddit and haskell-cafe mailing list will probably give you comments for free ;) |
| 2021-06-21 12:55:59 +0000 | <maerwald[m]> | Also, should indicate whether this is type level errors or normal haskell |
| 2021-06-21 12:56:06 +0000 | Morrow | (~Morrow@31.154.96.164) (Ping timeout: 250 seconds) |
| 2021-06-21 12:56:06 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 250 seconds) |
| 2021-06-21 12:56:58 +0000 | <maerwald[m]> | 1-2 hours sounds like this might be a 1500 lines type error after diving too deep into type families |
| 2021-06-21 12:57:32 +0000 | brandonh | (~brandonh@151.68.5.207) (Quit: brandonh) |
| 2021-06-21 12:58:25 +0000 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
| 2021-06-21 12:58:58 +0000 | jolly | (~jolly@208.180.97.158) |
| 2021-06-21 12:59:13 +0000 | MQ-17J | (~MQ-17J@8.21.10.15) |
| 2021-06-21 13:00:59 +0000 | alx741 | (~alx741@181.196.68.152) |
| 2021-06-21 13:01:06 +0000 | maroloccio | (~marolocci@189.15.9.54) |
| 2021-06-21 13:01:22 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2021-06-21 13:02:10 +0000 | psydroid[m] | psydroid |
| 2021-06-21 13:02:25 +0000 | fendor_ | (~fendor@77.119.129.45.wireless.dyn.drei.com) (Ping timeout: 265 seconds) |
| 2021-06-21 13:02:36 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-06-21 13:02:43 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-06-21 13:02:52 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-06-21 13:05:21 +0000 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
| 2021-06-21 13:06:02 +0000 | finsternis | (~X@23.226.237.192) |
| 2021-06-21 13:08:03 +0000 | lbseale_ | (~lbseale@user/ep1ctetus) |
| 2021-06-21 13:08:49 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-06-21 13:09:12 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) |
| 2021-06-21 13:09:23 +0000 | nschoe | (~quassel@178.251.84.79) |
| 2021-06-21 13:11:14 +0000 | <stevenxl> | maerwald[m]: It is very plain-vanilla Haskell. The top-level value is of type `Spec` from HSpec, and there are like 2 or 3 non-library functions, mostly dealing with a Reader for DB actions. |
| 2021-06-21 13:11:47 +0000 | <stevenxl> | merijn: Thanks. I'll give that a shot, but still interested in a more hands-on approach. |
| 2021-06-21 13:11:49 +0000 | lbseale | (~lbseale@user/ep1ctetus) (Ping timeout: 258 seconds) |
| 2021-06-21 13:11:52 +0000 | <merijn> | oh |
| 2021-06-21 13:12:07 +0000 | <merijn> | HSpec has super cryptic type errors due to its over-reliance on typeclasses |
| 2021-06-21 13:12:08 +0000 | <dminuoso> | stevenxl: If you're willing to send me a box of candy, we can do it tonight! |
| 2021-06-21 13:12:11 +0000 | <stevenxl> | I guess there is a type-family involved in terms of `HSpec`. I think `Arg` is an associated type family. |
| 2021-06-21 13:12:14 +0000 | <dminuoso> | That's all I ask. :p |
| 2021-06-21 13:12:16 +0000 | <merijn> | Which is one of the reasons I dislike hspec |
| 2021-06-21 13:13:06 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 2021-06-21 13:13:15 +0000 | <stevenxl> | dminuoso: I'm down! M |
| 2021-06-21 13:13:26 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Ping timeout: 250 seconds) |
| 2021-06-21 13:13:39 +0000 | <dminuoso> | Perfect, I'll be around 10pm CEST |
| 2021-06-21 13:13:57 +0000 | <stevenxl> | :+1 |
| 2021-06-21 13:15:03 +0000 | wei2912 | (~wei2912@112.199.250.21) |
| 2021-06-21 13:15:05 +0000 | <merijn> | dminuoso: I'm gonna make you debug my shite and sent you salmiak licorice as "reward" :p |
| 2021-06-21 13:15:59 +0000 | <Boomerang> | Salmiak licorice is great! Not sure why the quotes are necessary ^^ |
| 2021-06-21 13:16:06 +0000 | <dminuoso> | Yes, indeed! |
| 2021-06-21 13:16:59 +0000 | <maerwald[m]> | Promotion of drugs :p |
| 2021-06-21 13:17:34 +0000 | <merijn> | Boomerang: I agree, most of the world does not |
| 2021-06-21 13:18:04 +0000 | <merijn> | There's this invisible border running through the middle of Europe above which licorice is considered amazing and below which it's considered human torture ;) |
| 2021-06-21 13:18:08 +0000 | <dminuoso> | stevenxl: Oh I just realized, Ill probably be around 8pm already for an hour. If that works with you, we can start a bit earlier. |
| 2021-06-21 13:18:45 +0000 | <dminuoso> | merijn: Personally I think mixing licorice with salmiak is an offense. |
| 2021-06-21 13:19:02 +0000 | <stevenxl> | dminuoso: :-). I'll set my alarm for 8PM CEST. |
| 2021-06-21 13:19:05 +0000 | <merijn> | Starting somewhere around belgium running through the middle of Germany and then heading more north while approaching the baltics |
| 2021-06-21 13:19:40 +0000 | <merijn> | I'm not sure if licorice is big in the Baltics |
| 2021-06-21 13:19:58 +0000 | <Boomerang> | It is! :D |
| 2021-06-21 13:20:33 +0000 | <merijn> | Insert "Esti can into Nordics" joke :p |
| 2021-06-21 13:21:06 +0000 | <Boomerang> | Well the baltic states I don't know. But nordic countries/scandinavia definitely |
| 2021-06-21 13:21:34 +0000 | <merijn> | Yeah, that I know |
| 2021-06-21 13:23:24 +0000 | cheater | (~Username@user/cheater) (Ping timeout: 250 seconds) |
| 2021-06-21 13:23:57 +0000 | cheater | (~Username@user/cheater) |
| 2021-06-21 13:25:31 +0000 | kenran | (~kenran@b2b-37-24-119-190.unitymedia.biz) (Quit: WeeChat info:version) |
| 2021-06-21 13:26:55 +0000 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 2021-06-21 13:31:12 +0000 | azeem | (~azeem@176.201.29.233) (Ping timeout: 250 seconds) |
| 2021-06-21 13:31:29 +0000 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) |
| 2021-06-21 13:32:18 +0000 | curiousgay | (~quassel@178.217.208.8) (Read error: Connection reset by peer) |
| 2021-06-21 13:33:00 +0000 | chomwitt | (~Pitsikoko@athedsl-351576.home.otenet.gr) |
| 2021-06-21 13:33:09 +0000 | curiousgay | (~quassel@178.217.208.8) |
| 2021-06-21 13:34:21 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 13:35:06 +0000 | cheater | (~Username@user/cheater) (Ping timeout: 250 seconds) |
| 2021-06-21 13:35:28 +0000 | cheater | (~Username@user/cheater) |
| 2021-06-21 13:35:53 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 13:37:23 +0000 | azeem | (~azeem@176.201.29.233) |
| 2021-06-21 13:37:45 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2021-06-21 13:38:40 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 13:38:43 +0000 | brandonh | (~brandonh@151.34.95.83) |
| 2021-06-21 13:40:13 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 13:40:44 +0000 | curiousgay | (~quassel@178.217.208.8) (Read error: Connection reset by peer) |
| 2021-06-21 13:43:04 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-06-21 13:47:51 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
| 2021-06-21 13:51:34 +0000 | cheater | (~Username@user/cheater) (Ping timeout: 250 seconds) |
| 2021-06-21 13:52:05 +0000 | cheater | (~Username@user/cheater) |
| 2021-06-21 13:55:33 +0000 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
| 2021-06-21 13:56:04 +0000 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 2021-06-21 13:56:46 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-06-21 13:56:46 +0000 | azeem | (~azeem@176.201.29.233) (Ping timeout: 250 seconds) |
| 2021-06-21 13:57:11 +0000 | shimin | (~liushimin@2001:250:5806:3dad:c501:9418:6d95:abfa) |
| 2021-06-21 13:57:19 +0000 | azeem | (~azeem@176.201.29.233) |
| 2021-06-21 13:57:49 +0000 | xkuru | (~xkuru@user/xkuru) |
| 2021-06-21 13:58:09 +0000 | shimin | (~liushimin@2001:250:5806:3dad:c501:9418:6d95:abfa) () |
| 2021-06-21 13:59:40 +0000 | shimin | (~liushimin@2001:250:5806:3dad:c501:9418:6d95:abfa) |
| 2021-06-21 14:00:08 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-21 14:00:55 +0000 | fendor_ | (~fendor@77.119.129.45.wireless.dyn.drei.com) |
| 2021-06-21 14:00:58 +0000 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 268 seconds) |
| 2021-06-21 14:02:42 +0000 | is7s | (~is7s@2a01:4b00:895f:3d00:3d61:e4ff:2003:3c7) |
| 2021-06-21 14:03:32 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2021-06-21 14:05:39 +0000 | justBull | (~justache@user/justache) (Remote host closed the connection) |
| 2021-06-21 14:06:36 +0000 | justBull | (~justache@user/justache) |
| 2021-06-21 14:08:12 +0000 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) |
| 2021-06-21 14:08:47 +0000 | <kuribas> | Why does MaybeT has: (Functor m, Monad m) => Applicative (MaybeT m) |
| 2021-06-21 14:08:55 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2021-06-21 14:08:57 +0000 | <kuribas> | instaed of Applicative m => Applicative (MaybeT m) ? |
| 2021-06-21 14:09:45 +0000 | <kuribas> | seems perfectly doable with applicative. |
| 2021-06-21 14:09:58 +0000 | <kuribas> | unless you want short-circuiting? |
| 2021-06-21 14:10:02 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2021-06-21 14:10:33 +0000 | <kuribas> | (guess I answered my own question) |
| 2021-06-21 14:10:41 +0000 | <Taneb> | kuribas: I think the short circuting is a pretty big part of why you'd use it |
| 2021-06-21 14:10:42 +0000 | <nshepperd> | it has to short circuit to match the monad instance |
| 2021-06-21 14:10:55 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2021-06-21 14:11:07 +0000 | <nshepperd> | and also because that's what it's for i guess lol |
| 2021-06-21 14:11:08 +0000 | <kuribas> | Taneb: yeah |
| 2021-06-21 14:11:50 +0000 | fendor__ | (~fendor@91.141.3.62.wireless.dyn.drei.com) |
| 2021-06-21 14:12:02 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2021-06-21 14:12:24 +0000 | <_73> | what do you guys mean by short-circuiting? |
| 2021-06-21 14:12:30 +0000 | shimin | (~liushimin@2001:250:5806:3dad:c501:9418:6d95:abfa) () |
| 2021-06-21 14:12:50 +0000 | <_73> | Just the behavior of the Maybe monad? |
| 2021-06-21 14:12:56 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2021-06-21 14:13:37 +0000 | <kuribas> | _73: "Foo <$> eff1 <*> eff2" => eff2 is not executed if eff1 returns Nothing. |
| 2021-06-21 14:14:04 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2021-06-21 14:14:06 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds) |
| 2021-06-21 14:14:26 +0000 | fendor | (~fendor@178.115.131.43.wireless.dyn.drei.com) (Ping timeout: 265 seconds) |
| 2021-06-21 14:14:54 +0000 | <_73> | ok I understand |
| 2021-06-21 14:14:56 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2021-06-21 14:15:22 +0000 | fluffyballoon | (~fluffybal@199.204.58.62) |
| 2021-06-21 14:15:33 +0000 | <lortabac> | I have an IO action and a mutable variable update that must be executed atomically. What is the best way to do it? |
| 2021-06-21 14:15:49 +0000 | chexum | (~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds) |
| 2021-06-21 14:16:00 +0000 | <lortabac> | I saw that some people use an IORef and unsafeInterleaveIO in this case |
| 2021-06-21 14:16:04 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2021-06-21 14:16:23 +0000 | <lortabac> | or maybe I should use an MVar |
| 2021-06-21 14:16:57 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2021-06-21 14:17:20 +0000 | anon1 | (~anon@94.140.141.53) |
| 2021-06-21 14:17:33 +0000 | <kuribas> | lortabac: you mean update the variable if the IO action didn't throw? |
| 2021-06-21 14:18:01 +0000 | <lortabac> | no, I mean that the variable should not be modified during the IO action |
| 2021-06-21 14:18:04 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2021-06-21 14:18:19 +0000 | <kuribas> | lortabac: atomicModifyIORef then? |
| 2021-06-21 14:18:35 +0000 | <Hecate> | lortabac: did you check the "Applicability" section here: https://hackage.haskell.org/package/base-4.15.0.0/docs/Control-Concurrent-MVar.html ? |
| 2021-06-21 14:18:55 +0000 | jackhill_ | jackhill |
| 2021-06-21 14:18:57 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2021-06-21 14:19:04 +0000 | <lortabac> | atomicModifyIORef only works with a pure function, doesn't it? it requires unsafeInterleaveIO AFAIK |
| 2021-06-21 14:20:05 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2021-06-21 14:20:25 +0000 | <kuribas> | lortabac: I am not sure unsafeInterleaveIO will do what you want. |
| 2021-06-21 14:20:53 +0000 | <kuribas> | better use an MVar then |
| 2021-06-21 14:20:58 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2021-06-21 14:21:49 +0000 | <kuribas> | because it doesn't say atomicModifyIORef locks the variable while evaluating the function. |
| 2021-06-21 14:21:49 +0000 | <lortabac> | kuribas: unsafeInterleaveIO defers the IO action until the result is used in the function passed to atomicModifyIORef |
| 2021-06-21 14:22:05 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2021-06-21 14:22:33 +0000 | <lortabac> | anyway, the idea is not mine, I just saw this trick a couple of times |
| 2021-06-21 14:22:42 +0000 | <kuribas> | lortabac: sounds like a very bad idea. |
| 2021-06-21 14:22:45 +0000 | <kuribas> | just use an MVar |
| 2021-06-21 14:23:22 +0000 | <lortabac> | you are right, I'll use an MVar |
| 2021-06-21 14:24:05 +0000 | <lortabac> | even if it turns out that the trick works reliably, it's still hard to understand for other people who read the code |
| 2021-06-21 14:24:36 +0000 | <kuribas> | lortabac: even if it works reliably now, the docs don't say it would work in the future. |
| 2021-06-21 14:25:05 +0000 | <lortabac> | yes I agree |
| 2021-06-21 14:25:50 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 14:26:17 +0000 | <lortabac> | Hecate: thanks I've just read that section, it seems that MVar are good for my use case |
| 2021-06-21 14:30:08 +0000 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) (Quit: Leaving) |
| 2021-06-21 14:31:31 +0000 | <anon1> | hey, how do i extend https://wiki.haskell.org/Roll_your_own_IRC_bot so it can connect over TLS? |
| 2021-06-21 14:35:09 +0000 | <exarkun> | anon1: it's not exactly based on that wiki page but https://git.sr.ht/~jcalderone/DevBot/tree/main/item/src/Net.hs#L339 |
| 2021-06-21 14:36:11 +0000 | fendor_ | (~fendor@77.119.129.45.wireless.dyn.drei.com) (Ping timeout: 265 seconds) |
| 2021-06-21 14:36:34 +0000 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 2021-06-21 14:36:40 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 265 seconds) |
| 2021-06-21 14:37:44 +0000 | Morrow | (~MorrowM_@147.161.9.198) |
| 2021-06-21 14:39:05 +0000 | shimin | (~liushimin@2001:250:5806:3dad:c501:9418:6d95:abfa) |
| 2021-06-21 14:39:29 +0000 | <anon1> | exarkun: thanks a lot |
| 2021-06-21 14:40:21 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-06-21 14:43:04 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-21 14:43:49 +0000 | Sgeo | (~Sgeo@user/sgeo) |
| 2021-06-21 14:44:29 +0000 | <teaSlurper> | is polymorphism in haskell heavily about pattern matching? |
| 2021-06-21 14:44:37 +0000 | moet | (~moet@172.58.75.87) |
| 2021-06-21 14:45:11 +0000 | <c_wraith> | they're not especially related |
| 2021-06-21 14:45:37 +0000 | <dminuoso> | Mmm. Ad-hoc polymorphism is type-level pattern matching. |
| 2021-06-21 14:46:09 +0000 | <dminuoso> | Perhaps we can think of typeclasses as setting up a type level `case-of`, and instances providing match clauses? |
| 2021-06-21 14:47:14 +0000 | GIANTWORLDKEEPER | (~pjetcetal@2.95.227.207) |
| 2021-06-21 14:47:28 +0000 | <teaSlurper> | ok, i'll keep reading. am start to get to that now in the "school of music" haskell book |
| 2021-06-21 14:47:30 +0000 | jamestmartin | (james@jtmar.me) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
| 2021-06-21 14:47:40 +0000 | <teaSlurper> | polymorphism concepts |
| 2021-06-21 14:48:01 +0000 | ystael | (~ystael@user/ystael) (Read error: Connection reset by peer) |
| 2021-06-21 14:48:56 +0000 | <dminuoso> | teaSlurper: At the core, a polymorphic value is one whose type mentions a type variable. The user/caller/consumer must choose a type for every such type variable (satisfying the constraints, if any) |
| 2021-06-21 14:49:00 +0000 | <dminuoso> | % :t id |
| 2021-06-21 14:49:00 +0000 | <yahb> | dminuoso: a -> a |
| 2021-06-21 14:49:20 +0000 | ystael | (~ystael@user/ystael) |
| 2021-06-21 14:49:26 +0000 | <dminuoso> | The user of `id` has somehow decide/choose the types. This choice is usually done implicitly by the argument you provide it (or by a type signature) |
| 2021-06-21 14:49:37 +0000 | <c_wraith> | I suppose there's some amount of type-level pattern-matching even in parametric polymorphism. Unification in general is a form of pattern matching. But it's not matching against data constructors, which is usually what is meant by pattern-matching in Haskell |
| 2021-06-21 14:49:48 +0000 | <dminuoso> | c_wraith: better, its matching against type constructors! |
| 2021-06-21 14:49:50 +0000 | <dminuoso> | :-) |
| 2021-06-21 14:51:59 +0000 | bitmapper | (uid464869@id-464869.tooting.irccloud.com) |
| 2021-06-21 14:52:06 +0000 | moet | (~moet@172.58.75.87) (Ping timeout: 252 seconds) |
| 2021-06-21 14:53:15 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-06-21 14:53:48 +0000 | fluffyballoon | (~fluffybal@199.204.58.62) (Quit: Client closed) |
| 2021-06-21 14:54:03 +0000 | fendor_ | (~fendor@77.119.129.45.wireless.dyn.drei.com) |
| 2021-06-21 14:55:11 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-06-21 14:57:33 +0000 | wei2912 | (~wei2912@112.199.250.21) (Quit: Lost terminal) |
| 2021-06-21 14:58:54 +0000 | <teaSlurper> | thx |
| 2021-06-21 14:58:55 +0000 | <anon1> | quit |
| 2021-06-21 14:58:56 +0000 | <teaSlurper> | both |
| 2021-06-21 14:58:56 +0000 | anon1 | (~anon@94.140.141.53) (Quit: WeeChat 3.2) |
| 2021-06-21 14:59:15 +0000 | turlando | (~turlando@user/turlando) |
| 2021-06-21 14:59:19 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) |
| 2021-06-21 14:59:26 +0000 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) (Ping timeout: 252 seconds) |
| 2021-06-21 15:00:28 +0000 | motherfsck | (~motherfsc@user/motherfsck) |
| 2021-06-21 15:04:47 +0000 | mpt | (~tom@2a02:908:1862:49e0::3) |
| 2021-06-21 15:08:25 +0000 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
| 2021-06-21 15:09:50 +0000 | curiousgay | (~curiousgg@178.217.208.8) |
| 2021-06-21 15:10:03 +0000 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 2021-06-21 15:12:03 +0000 | fendor_ | (~fendor@77.119.129.45.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2021-06-21 15:14:42 +0000 | shimin | (~liushimin@2001:250:5806:3dad:c501:9418:6d95:abfa) () |
| 2021-06-21 15:16:29 +0000 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) |
| 2021-06-21 15:17:52 +0000 | tremon | (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) |
| 2021-06-21 15:21:34 +0000 | kayprish | (~kayprish@46.240.143.86) (Quit: leaving) |
| 2021-06-21 15:21:42 +0000 | chomwitt | (~Pitsikoko@athedsl-351576.home.otenet.gr) (Ping timeout: 250 seconds) |
| 2021-06-21 15:21:50 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 15:23:00 +0000 | favonia | (~favonia@user/favonia) |
| 2021-06-21 15:23:09 +0000 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 2021-06-21 15:28:12 +0000 | dajoer | (~david@user/gvx) (Quit: leaving) |
| 2021-06-21 15:28:43 +0000 | chomwitt | (~Pitsikoko@2a02:587:dc0b:ff00:c813:70d9:31b2:b1b9) |
| 2021-06-21 15:29:26 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9f46:523f:c74b:90e0) (Quit: WeeChat 2.8) |
| 2021-06-21 15:29:28 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 15:30:06 +0000 | kayprish | (~kayprish@46.240.143.86) (Quit: leaving) |
| 2021-06-21 15:30:15 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 15:30:59 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 15:34:02 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Remote host closed the connection) |
| 2021-06-21 15:34:54 +0000 | mpt | (~tom@2a02:908:1862:49e0::3) (Ping timeout: 244 seconds) |
| 2021-06-21 15:35:35 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 15:36:21 +0000 | fef | (~thedawn@user/thedawn) |
| 2021-06-21 15:36:52 +0000 | moet | (~moet@172.58.75.87) |
| 2021-06-21 15:37:11 +0000 | jamestmartin | (james@jtmar.me) |
| 2021-06-21 15:37:20 +0000 | GIANTWORLDKEEPER | (~pjetcetal@2.95.227.207) (Remote host closed the connection) |
| 2021-06-21 15:37:54 +0000 | Deide | (~Deide@wire.desu.ga) |
| 2021-06-21 15:37:54 +0000 | Deide | (~Deide@wire.desu.ga) (Changing host) |
| 2021-06-21 15:37:54 +0000 | Deide | (~Deide@user/deide) |
| 2021-06-21 15:38:24 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 15:39:21 +0000 | kayprish | (~kayprish@46.240.143.86) (Quit: leaving) |
| 2021-06-21 15:39:31 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 15:39:57 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 15:40:43 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-06-21 15:41:48 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) |
| 2021-06-21 15:42:51 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 15:43:17 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Remote host closed the connection) |
| 2021-06-21 15:44:24 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 15:44:58 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) |
| 2021-06-21 15:45:16 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 2021-06-21 15:46:03 +0000 | elf_fortrez | (~elf_fortr@adsl-64-237-239-58.prtc.net) |
| 2021-06-21 15:48:40 +0000 | jumper149 | (~jumper149@80.240.31.34) (Quit: WeeChat 3.1) |
| 2021-06-21 15:48:54 +0000 | nate1 | (~nate@216.176.47.241) |
| 2021-06-21 15:49:19 +0000 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
| 2021-06-21 15:50:06 +0000 | kayprish | (~kayprish@46.240.143.86) (Remote host closed the connection) |
| 2021-06-21 15:53:42 +0000 | Morrow | (~MorrowM_@147.161.9.198) (Read error: Connection reset by peer) |
| 2021-06-21 15:53:55 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 15:54:04 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-06-21 15:55:51 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 15:56:39 +0000 | Morrow | (~MorrowM_@147.161.9.198) |
| 2021-06-21 15:56:41 +0000 | dunj3 | (~dunj3@2001:16b8:309f:ea00:9791:603:5183:d379) |
| 2021-06-21 15:57:17 +0000 | kayprish | (~kayprish@46.240.143.86) (Client Quit) |
| 2021-06-21 15:57:32 +0000 | MorrowM | (~MorrowM_@147.161.13.169) |
| 2021-06-21 15:57:34 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 15:58:45 +0000 | ubert | (~Thunderbi@p200300ecdf259dd400f35283690bc8bb.dip0.t-ipconnect.de) |
| 2021-06-21 15:59:06 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Remote host closed the connection) |
| 2021-06-21 16:01:15 +0000 | Morrow | (~MorrowM_@147.161.9.198) (Ping timeout: 265 seconds) |
| 2021-06-21 16:01:15 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-06-21 16:01:41 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 16:03:37 +0000 | bontaq` | (~user@ool-18e47f8d.dyn.optonline.net) |
| 2021-06-21 16:04:29 +0000 | nschoe | (~quassel@178.251.84.79) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2021-06-21 16:06:32 +0000 | MQ-17J | (~MQ-17J@8.21.10.15) (Ping timeout: 252 seconds) |
| 2021-06-21 16:06:47 +0000 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Read error: Connection reset by peer) |
| 2021-06-21 16:06:54 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-06-21 16:07:22 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 16:07:43 +0000 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 2021-06-21 16:08:28 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-06-21 16:08:55 +0000 | kayprish | (~kayprish@46.240.143.86) (Quit: Lost terminal) |
| 2021-06-21 16:10:54 +0000 | hendursa1 | (~weechat@user/hendursaga) (Quit: hendursa1) |
| 2021-06-21 16:11:21 +0000 | hendursaga | (~weechat@user/hendursaga) |
| 2021-06-21 16:11:42 +0000 | favonia | (~favonia@user/favonia) (Ping timeout: 264 seconds) |
| 2021-06-21 16:12:18 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) |
| 2021-06-21 16:12:46 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-06-21 16:13:15 +0000 | favonia | (~favonia@user/favonia) |
| 2021-06-21 16:13:20 +0000 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 265 seconds) |
| 2021-06-21 16:13:41 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 16:14:28 +0000 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 2021-06-21 16:15:21 +0000 | mikail | (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) |
| 2021-06-21 16:16:25 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-06-21 16:17:21 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds) |
| 2021-06-21 16:19:00 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-06-21 16:19:11 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-06-21 16:19:22 +0000 | elf_fortrez | (~elf_fortr@adsl-64-237-239-58.prtc.net) (Quit: Client closed) |
| 2021-06-21 16:19:43 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 16:20:06 +0000 | nate1 | (~nate@216.176.47.241) (Ping timeout: 265 seconds) |
| 2021-06-21 16:20:18 +0000 | favonia | (~favonia@user/favonia) (Ping timeout: 240 seconds) |
| 2021-06-21 16:21:53 +0000 | tput | (~tim@s0106a84e3fe54613.ed.shawcable.net) |
| 2021-06-21 16:22:52 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-06-21 16:23:03 +0000 | favonia | (~favonia@user/favonia) |
| 2021-06-21 16:28:40 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-06-21 16:30:10 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-06-21 16:30:12 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 2021-06-21 16:30:13 +0000 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 2021-06-21 16:34:06 +0000 | azeem | (~azeem@176.201.29.233) (Read error: Connection reset by peer) |
| 2021-06-21 16:35:03 +0000 | mrusme | mrus |
| 2021-06-21 16:35:10 +0000 | azeem | (~azeem@dynamic-adsl-94-34-49-60.clienti.tiscali.it) |
| 2021-06-21 16:37:41 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 16:38:34 +0000 | ubert | (~Thunderbi@p200300ecdf259dd400f35283690bc8bb.dip0.t-ipconnect.de) (Quit: ubert) |
| 2021-06-21 16:39:27 +0000 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 268 seconds) |
| 2021-06-21 16:40:29 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Remote host closed the connection) |
| 2021-06-21 16:43:18 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-06-21 16:43:38 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 16:43:53 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 16:44:57 +0000 | qbt | (~edun@user/edun) (Ping timeout: 258 seconds) |
| 2021-06-21 16:44:59 +0000 | gnoo | (~gnoo@user/gnoo) (Remote host closed the connection) |
| 2021-06-21 16:45:25 +0000 | gnoo | (~gnoo@user/gnoo) |
| 2021-06-21 16:45:28 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 16:45:55 +0000 | fendor__ | fendor |
| 2021-06-21 16:46:49 +0000 | shapr | (~user@144.163.30.223) |
| 2021-06-21 16:48:05 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 16:48:42 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-06-21 16:49:25 +0000 | xff0x_ | (~xff0x@2001:1a81:53cb:7800:33aa:1278:7cdb:992c) (Ping timeout: 268 seconds) |
| 2021-06-21 16:49:37 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 16:49:39 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 16:49:40 +0000 | econo | (uid147250@user/econo) |
| 2021-06-21 16:49:56 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds) |
| 2021-06-21 16:50:04 +0000 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Ping timeout: 265 seconds) |
| 2021-06-21 16:50:14 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-06-21 16:52:22 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 16:52:24 +0000 | GIANTWORLDKEEPER | (~pjetcetal@2.95.227.207) |
| 2021-06-21 16:53:57 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 16:54:17 +0000 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
| 2021-06-21 16:54:56 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-06-21 16:55:32 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 16:55:52 +0000 | MorrowM | (~MorrowM_@147.161.13.169) (Ping timeout: 265 seconds) |
| 2021-06-21 16:56:52 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 16:57:40 +0000 | kuribas | (~user@ptr-25vy0i7yslxo8ej7h6j.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 2021-06-21 16:58:24 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 16:58:28 +0000 | xff0x | (~xff0x@2001:1a81:53cb:7800:fb34:5f25:12c9:2a25) |
| 2021-06-21 16:59:07 +0000 | gnoo | (~gnoo@user/gnoo) (Bye!) |
| 2021-06-21 16:59:43 +0000 | MoC | (~moc@user/moc) |
| 2021-06-21 17:00:24 +0000 | brandonh | (~brandonh@151.34.95.83) (Read error: Connection reset by peer) |
| 2021-06-21 17:00:48 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-06-21 17:01:15 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 17:01:24 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 17:02:39 +0000 | Morrow | (~MorrowM_@147.161.13.169) |
| 2021-06-21 17:02:57 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 17:02:58 +0000 | azeem | (~azeem@dynamic-adsl-94-34-49-60.clienti.tiscali.it) (Ping timeout: 258 seconds) |
| 2021-06-21 17:03:15 +0000 | azeem | (~azeem@176.201.29.233) |
| 2021-06-21 17:06:02 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 17:06:18 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-06-21 17:07:15 +0000 | brandonh | (~brandonh@151.34.22.105) |
| 2021-06-21 17:07:21 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 17:07:34 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 17:07:45 +0000 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.1) |
| 2021-06-21 17:07:57 +0000 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) (Ping timeout: 258 seconds) |
| 2021-06-21 17:09:46 +0000 | chomwitt | (~Pitsikoko@2a02:587:dc0b:ff00:c813:70d9:31b2:b1b9) (Ping timeout: 268 seconds) |
| 2021-06-21 17:10:40 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 17:12:13 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 17:12:18 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
| 2021-06-21 17:12:33 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-06-21 17:12:35 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-06-21 17:12:54 +0000 | mikail | (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) (Ping timeout: 264 seconds) |
| 2021-06-21 17:13:06 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 17:14:33 +0000 | xkuru | (~xkuru@user/xkuru) (Quit: Unvirtualizing) |
| 2021-06-21 17:14:50 +0000 | xkuru | (~xkuru@user/xkuru) |
| 2021-06-21 17:15:12 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 17:16:43 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 17:17:28 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) |
| 2021-06-21 17:17:33 +0000 | lbseale__ | (~lbseale@user/ep1ctetus) |
| 2021-06-21 17:17:39 +0000 | elf_fortrez | (~elf_fortr@adsl-64-237-239-58.prtc.net) |
| 2021-06-21 17:18:22 +0000 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2021-06-21 17:18:35 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-06-21 17:18:55 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
| 2021-06-21 17:19:00 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 17:19:17 +0000 | xkuru | (~xkuru@user/xkuru) (Client Quit) |
| 2021-06-21 17:19:35 +0000 | xkuru | (~xkuru@user/xkuru) |
| 2021-06-21 17:19:46 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 17:20:52 +0000 | lbseale_ | (~lbseale@user/ep1ctetus) (Ping timeout: 250 seconds) |
| 2021-06-21 17:21:19 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 17:22:27 +0000 | jonatan_ | (~nate@h77-53-70-163.cust.a3fiber.se) (Ping timeout: 265 seconds) |
| 2021-06-21 17:22:34 +0000 | lbseale__ | lbseale |
| 2021-06-21 17:24:11 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 17:25:43 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 17:26:19 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 2021-06-21 17:28:30 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 17:29:35 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 2021-06-21 17:30:05 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 17:32:20 +0000 | ph88 | (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) |
| 2021-06-21 17:32:53 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 17:33:00 +0000 | <dminuoso> | c_wraith: What kind of pattern matching are you thinking of in parametric polymorphism? |
| 2021-06-21 17:33:18 +0000 | <dminuoso> | Or did you mean unification? The sentence structure is not clear. |
| 2021-06-21 17:33:26 +0000 | Morrow | (~MorrowM_@147.161.13.169) (Ping timeout: 252 seconds) |
| 2021-06-21 17:33:44 +0000 | <c_wraith> | in that sentence I meant that unification is a kind of pattern matching, in a very broad sense. |
| 2021-06-21 17:34:00 +0000 | <c_wraith> | but that's very different from runtime pattern matching of values. |
| 2021-06-21 17:34:01 +0000 | <ski> | _73 : "maybe if I had to account for the possibility of error it would be easier to do this then instead start using the EitherT State transformer?" -- maybe. ("Is this a sensical reason?" -- yes) "Cps is reminding me a lot of monads…" -- there are clear similarities |
| 2021-06-21 17:34:26 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 17:36:02 +0000 | <ski> | _73 : it sounds like maybe you'd want to experiment with `ContT o' or `Codensity', or maybe a handwritten CPS monad, over `EitherT Error (State ProgramState) Value' |
| 2021-06-21 17:36:05 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-06-21 17:37:23 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 17:38:57 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 17:41:12 +0000 | chomwitt | (~Pitsikoko@athedsl-351576.home.otenet.gr) |
| 2021-06-21 17:41:40 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 17:43:13 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 17:46:18 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 17:47:08 +0000 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
| 2021-06-21 17:47:51 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 17:48:28 +0000 | <ski> | _73 : one of the main reasons for using CPS / `Cont o'/`ContT o'/`Codensity', apart from wanting to do more exotic control behaviour, is for efficiency reasons. you'll sometimes hear "removal of interpretative overhead / avoiding step-by-step percolating errors upward / avoiding left-association", in connection with `(>>=)'. perhaps the `Either' (or maybe the `(,)') could cause some overhead, that could be |
| 2021-06-21 17:48:34 +0000 | <ski> | avoided in this way. but i'd say before doing anything like this, you should have some suspicion that this might be a problem; and then, you should really attempt to measure some |
| 2021-06-21 17:49:44 +0000 | maroloccio | (~marolocci@189.15.9.54) (Quit: Client closed) |
| 2021-06-21 17:50:39 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 17:51:45 +0000 | fef | (~thedawn@user/thedawn) |
| 2021-06-21 17:51:50 +0000 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 2021-06-21 17:52:12 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 17:52:19 +0000 | xff0x | (~xff0x@2001:1a81:53cb:7800:fb34:5f25:12c9:2a25) (Ping timeout: 268 seconds) |
| 2021-06-21 17:52:36 +0000 | unyu | (~pyon@user/pyon) |
| 2021-06-21 17:53:40 +0000 | xff0x | (~xff0x@2001:1a81:53f8:8c00:17bc:3aea:ca8:b929) |
| 2021-06-21 17:53:55 +0000 | elf_fortrez | (~elf_fortr@adsl-64-237-239-58.prtc.net) (Ping timeout: 246 seconds) |
| 2021-06-21 17:54:53 +0000 | haltux | (~haltux@a89-154-181-47.cpe.netcabo.pt) |
| 2021-06-21 17:55:02 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 17:55:11 +0000 | <_73> | ski: what is meant by the `o` in `Cont o`? |
| 2021-06-21 17:56:36 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 17:59:35 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 18:01:07 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 18:04:14 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Remote host closed the connection) |
| 2021-06-21 18:05:39 +0000 | azeem | (~azeem@176.201.29.233) (Read error: Connection reset by peer) |
| 2021-06-21 18:05:48 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 18:05:59 +0000 | mikail | (~mikail@90.152.14.81) |
| 2021-06-21 18:06:48 +0000 | yoctocell | (~user@h87-96-130-155.cust.a3fiber.se) (Quit: ERC (IRC client for Emacs 28.0.50)) |
| 2021-06-21 18:06:55 +0000 | azeem | (~azeem@dynamic-adsl-84-220-246-6.clienti.tiscali.it) |
| 2021-06-21 18:08:04 +0000 | MoC | (~moc@user/moc) (Quit: Konversation terminated!) |
| 2021-06-21 18:08:05 +0000 | yoctocell | (~user@h87-96-130-155.cust.a3fiber.se) |
| 2021-06-21 18:08:55 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 18:09:05 +0000 | jonatan | (~nate@h77-53-70-163.cust.a3fiber.se) |
| 2021-06-21 18:10:28 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 18:11:16 +0000 | Izem | (~Izem@bras-base-london1483w-grc-42-65-95-172-41.dsl.bell.ca) |
| 2021-06-21 18:11:30 +0000 | <Izem> | do haskellers ever have the need for macros? |
| 2021-06-21 18:12:14 +0000 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
| 2021-06-21 18:13:08 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 18:14:40 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 18:15:11 +0000 | <monochrom> | Yes. This is why Template Haskell exists. |
| 2021-06-21 18:15:12 +0000 | mc47 | (~mc47@xmonad/TheMC47) (Quit: Leaving) |
| 2021-06-21 18:16:37 +0000 | <davean> | though Template Haskell is more than macros in a way, and its not wanted for much in Haskell |
| 2021-06-21 18:17:30 +0000 | <Izem> | ok, cool |
| 2021-06-21 18:17:45 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 18:19:21 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 18:22:15 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 18:23:34 +0000 | x_kuru | (~xkuru@user/xkuru) |
| 2021-06-21 18:23:48 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 18:24:03 +0000 | juhp_ | (~juhp@128.106.188.66) |
| 2021-06-21 18:24:59 +0000 | <ski> | _73 : the "final answer type" |
| 2021-06-21 18:26:14 +0000 | xkuru | (~xkuru@user/xkuru) (Ping timeout: 252 seconds) |
| 2021-06-21 18:26:46 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 18:27:13 +0000 | juhp | (~juhp@128.106.188.66) (Ping timeout: 265 seconds) |
| 2021-06-21 18:27:13 +0000 | juhp_ | juhp |
| 2021-06-21 18:28:21 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 18:29:03 +0000 | _73` | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
| 2021-06-21 18:29:49 +0000 | ddellacosta | (~ddellacos@ool-44c73afc.dyn.optonline.net) |
| 2021-06-21 18:30:45 +0000 | _73 | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Ping timeout: 258 seconds) |
| 2021-06-21 18:31:02 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 18:32:35 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 18:35:21 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 18:35:58 +0000 | MoC | (~moc@user/moc) |
| 2021-06-21 18:36:30 +0000 | ddellacosta | (~ddellacos@ool-44c73afc.dyn.optonline.net) (Ping timeout: 258 seconds) |
| 2021-06-21 18:36:53 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 18:37:21 +0000 | justsomeguy | (~justsomeg@user/justsomeguy) |
| 2021-06-21 18:38:22 +0000 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
| 2021-06-21 18:39:06 +0000 | <_73`> | ski: ok I see. I did initially try this but I wasn't able to get my `Either Error Value` functions lifted in. Do I need to rethink the Either functions as well? Before with the `ExceptT Error (State PS.ProgramState) ()` I was able to just use liftEither to get them lifted in, but now I cant come up with a way to get these functions to work with the Cont Monad. Is this ever going to work?: http://dpaste.com/C2ZEWRKHN |
| 2021-06-21 18:39:27 +0000 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
| 2021-06-21 18:39:40 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 18:39:47 +0000 | <_73`> | This problem lead me to do: `ContT PS.ProgramState (ExceptT Error (State PS.ProgramState)) Value`, but I think this may defeat the purpose. |
| 2021-06-21 18:40:11 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-21 18:40:40 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
| 2021-06-21 18:41:14 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 18:41:36 +0000 | ddellaco_ | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
| 2021-06-21 18:41:43 +0000 | Topsi | (~Tobias@dyndsl-091-249-082-141.ewe-ip-backbone.de) |
| 2021-06-21 18:42:07 +0000 | BSTMatAoUYek | (~BSTMatAoU@37.73.15.135) |
| 2021-06-21 18:42:07 +0000 | <BSTMatAoUYek> | 9o baCk to fReen0De OR N0rtH kOr3A nuke5 Y0u |
| 2021-06-21 18:42:07 +0000 | BSTMatAoUYek | (~BSTMatAoU@37.73.15.135) (Client Quit) |
| 2021-06-21 18:42:48 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2021-06-21 18:42:56 +0000 | Izem | (~Izem@bras-base-london1483w-grc-42-65-95-172-41.dsl.bell.ca) (Quit: Izem) |
| 2021-06-21 18:43:05 +0000 | <sshine> | I thought it was south korea. |
| 2021-06-21 18:43:10 +0000 | ystael | (~ystael@user/ystael) (Ping timeout: 265 seconds) |
| 2021-06-21 18:43:10 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
| 2021-06-21 18:43:13 +0000 | Izem | (~Izem@bras-base-london1483w-grc-42-65-95-172-41.dsl.bell.ca) |
| 2021-06-21 18:43:47 +0000 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Ping timeout: 258 seconds) |
| 2021-06-21 18:44:04 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 18:45:22 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2021-06-21 18:45:30 +0000 | lTcLPewPJLOs | (~lTcLPewPJ@37.73.15.135) |
| 2021-06-21 18:45:30 +0000 | <lTcLPewPJLOs> | jo1n fr3Enode sIDE, we hAv3 CookieS&fRe3 bnc |
| 2021-06-21 18:45:31 +0000 | lTcLPewPJLOs | (~lTcLPewPJ@37.73.15.135) (Client Quit) |
| 2021-06-21 18:45:37 +0000 | betelgeuse7 | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 18:46:17 +0000 | ddellaco_ | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2021-06-21 18:47:00 +0000 | MoC | (~moc@user/moc) (Quit: Konversation terminated!) |
| 2021-06-21 18:48:44 +0000 | Guest9 | (~Guest9@43.250.158.43) |
| 2021-06-21 18:54:53 +0000 | betelgeuse7 | betelgeuse |
| 2021-06-21 18:55:31 +0000 | brandonh | (~brandonh@151.34.22.105) (Quit: brandonh) |
| 2021-06-21 18:58:29 +0000 | amirouche` | amirouche |
| 2021-06-21 18:58:42 +0000 | <tomsmeding> | well at least they're mindful enough to approach the issue from both sides: scare us away from here and lure us to the other side |
| 2021-06-21 18:59:17 +0000 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 2021-06-21 18:59:59 +0000 | <monochrom> | Except when you go to the other side you also see them suggesting you to come back here. |
| 2021-06-21 19:00:15 +0000 | <tomsmeding> | probably not the same "them" though |
| 2021-06-21 19:00:27 +0000 | <tomsmeding> | this at least was even the very same IP address :p |
| 2021-06-21 19:00:50 +0000 | <tomsmeding> | also the nicks were equally long and the messages were also (!) equally long |
| 2021-06-21 19:00:52 +0000 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Quit: Must not waste too much time here...) |
| 2021-06-21 19:01:49 +0000 | <monochrom> | Same "them" is already the best scenerio. The worse scenerio is different "them" therefore akin to two government departments telling you "go to the other department, this is their problem". |
| 2021-06-21 19:02:55 +0000 | <monochrom> | But good eyes catching the lengths :) |
| 2021-06-21 19:04:23 +0000 | tzar_bomba | (~tzar_bomb@78-56-41-78.static.zebra.lt) |
| 2021-06-21 19:05:13 +0000 | ystael | (~ystael@user/ystael) |
| 2021-06-21 19:05:50 +0000 | <tomsmeding> | my client hiding joins/leaves of idle nicks does make it easier to spot :) |
| 2021-06-21 19:06:01 +0000 | yoctocell | (~user@h87-96-130-155.cust.a3fiber.se) (Quit: ERC (IRC client for Emacs 28.0.50)) |
| 2021-06-21 19:07:17 +0000 | <_73`> | ski: I now understand why my example was not going to work. |
| 2021-06-21 19:07:52 +0000 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
| 2021-06-21 19:08:12 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
| 2021-06-21 19:08:35 +0000 | ski | would think it's more likely to be the same "them" (or similarly motivated people), at least for the "/!\ ..."-style spam, that's been visible on multiple networks, lately |
| 2021-06-21 19:08:42 +0000 | favonia | (~favonia@user/favonia) (Ping timeout: 264 seconds) |
| 2021-06-21 19:08:55 +0000 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving) |
| 2021-06-21 19:09:06 +0000 | <ski> | (i've seen that on five networks, and i haven't really bothered to look around more for it) |
| 2021-06-21 19:09:19 +0000 | rawles | (~o@sputnik.rawles.net) |
| 2021-06-21 19:09:29 +0000 | favonia | (~favonia@user/favonia) |
| 2021-06-21 19:09:55 +0000 | rawles | (~o@sputnik.rawles.net) (Changing host) |
| 2021-06-21 19:09:55 +0000 | rawles | (~o@user/rawles) |
| 2021-06-21 19:11:07 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Remote host closed the connection) |
| 2021-06-21 19:11:12 +0000 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
| 2021-06-21 19:11:36 +0000 | zeenk | (~zeenk@2a02:2f04:a00e:6e00:d401:4c92:fecc:16f9) |
| 2021-06-21 19:12:26 +0000 | cyclosa | (~cyclosa@2603-6011-4a41-8ada-0000-0000-0000-0eaa.res6.spectrum.com) |
| 2021-06-21 19:12:32 +0000 | <ski> | @unmtl ContT o (ExceptT e (StateT s m)) a |
| 2021-06-21 19:12:32 +0000 | <lambdabot> | (a -> s -> m (Either e o, s)) -> s -> m (Either e o, s) |
| 2021-06-21 19:12:36 +0000 | <ski> | @unmtl ExceptT e (ContT o (StateT s m)) a |
| 2021-06-21 19:12:36 +0000 | <lambdabot> | (Either e a -> s -> m (o, s)) -> s -> m (o, s) |
| 2021-06-21 19:12:38 +0000 | <ski> | @unmtl ExceptT e (StateT s (ContT o m)) a |
| 2021-06-21 19:12:39 +0000 | <lambdabot> | s -> (Either e a -> s -> m o) -> m o |
| 2021-06-21 19:14:27 +0000 | <ski> | _73` : the last one looks more promising, i'd think. although, perhaps (or perhaps not) it would be worth it to manually replace `(Either e a -> s -> m o) ->' by `(e -> s -> m o) -> (a -> s -> m o) ->' (having separate "normal exit" and "exceptional exit" paths) .. |
| 2021-06-21 19:15:11 +0000 | MoC | (~moc@user/moc) |
| 2021-06-21 19:15:38 +0000 | amirouche | come to (free) deno side |
| 2021-06-21 19:15:40 +0000 | <amirouche> | quit |
| 2021-06-21 19:15:42 +0000 | <amirouche> | oops! |
| 2021-06-21 19:17:38 +0000 | <_73`> | I am going to have to consider this for some time. First I will see how far I can get with the last example. Thanks. |
| 2021-06-21 19:19:52 +0000 | Guest9 | (~Guest9@43.250.158.43) (Quit: Ping timeout (120 seconds)) |
| 2021-06-21 19:20:02 +0000 | Morrow | (~MorrowM_@147.161.9.243) |
| 2021-06-21 19:20:08 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
| 2021-06-21 19:20:08 +0000 | Erutuon | (~Erutuon@user/erutuon) |
| 2021-06-21 19:20:22 +0000 | Guest9 | (~Guest9@43.250.158.43) |
| 2021-06-21 19:20:28 +0000 | dhil | (~dhil@195.213.192.47) (Ping timeout: 250 seconds) |
| 2021-06-21 19:20:35 +0000 | derelict | (~derelict@user/derelict) (Ping timeout: 258 seconds) |
| 2021-06-21 19:21:14 +0000 | haltux | (~haltux@a89-154-181-47.cpe.netcabo.pt) (Ping timeout: 252 seconds) |
| 2021-06-21 19:27:46 +0000 | janiczek | (~janiczek@89-24-215-117.customers.tmcz.cz) |
| 2021-06-21 19:32:36 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds) |
| 2021-06-21 19:32:58 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 252 seconds) |
| 2021-06-21 19:33:19 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-06-21 19:33:38 +0000 | dhil | (~dhil@80.208.56.181) |
| 2021-06-21 19:35:12 +0000 | shapr | (~user@144.163.30.223) (Ping timeout: 268 seconds) |
| 2021-06-21 19:37:18 +0000 | jackhill | (~jackhill@kalessin.dragonsnail.net) (Read error: Connection reset by peer) |
| 2021-06-21 19:38:34 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 2021-06-21 19:38:57 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
| 2021-06-21 19:41:00 +0000 | jackhill | (~jackhill@kalessin.dragonsnail.net) |
| 2021-06-21 19:42:18 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) |
| 2021-06-21 19:43:02 +0000 | favonia | (~favonia@user/favonia) (Ping timeout: 252 seconds) |
| 2021-06-21 19:43:26 +0000 | favonia | (~favonia@user/favonia) |
| 2021-06-21 19:44:11 +0000 | shapr | (~user@144.163.30.223) |
| 2021-06-21 19:44:47 +0000 | pavonia | (~user@user/siracusa) |
| 2021-06-21 19:46:21 +0000 | learner-monad | (~ehanneken@user/learner-monad) |
| 2021-06-21 19:46:59 +0000 | favonia | (~favonia@user/favonia) (Client Quit) |
| 2021-06-21 19:47:28 +0000 | moet_ | (~moet@172.58.19.20) |
| 2021-06-21 19:47:41 +0000 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
| 2021-06-21 19:48:17 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 19:48:36 +0000 | dmang | (~dmang@user/dmang) (Remote host closed the connection) |
| 2021-06-21 19:49:51 +0000 | dmang | (~dmang@047-032-148-170.res.spectrum.com) |
| 2021-06-21 19:50:50 +0000 | moet | (~moet@172.58.75.87) (Ping timeout: 265 seconds) |
| 2021-06-21 19:52:31 +0000 | dtman34 | (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) |
| 2021-06-21 19:52:48 +0000 | Codaraxis__ | (~Codaraxis@193.32.126.158) |
| 2021-06-21 19:52:52 +0000 | Codaraxis__ | (~Codaraxis@193.32.126.158) (Remote host closed the connection) |
| 2021-06-21 19:53:25 +0000 | Codaraxis | (~Codaraxis@193.32.126.158) |
| 2021-06-21 19:54:42 +0000 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
| 2021-06-21 19:57:22 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 19:58:22 +0000 | sheepduck | (~sheepduck@user/sheepduck) |
| 2021-06-21 19:58:29 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-06-21 19:59:22 +0000 | Guest8 | (~Guest8@71.sub-174-248-28.myvzw.com) |
| 2021-06-21 20:00:10 +0000 | Guest8 | (~Guest8@71.sub-174-248-28.myvzw.com) (Client Quit) |
| 2021-06-21 20:04:35 +0000 | killsushi | (~killsushi@user/killsushi) |
| 2021-06-21 20:05:14 +0000 | juhp | (~juhp@128.106.188.66) (Ping timeout: 252 seconds) |
| 2021-06-21 20:05:30 +0000 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.) |
| 2021-06-21 20:06:44 +0000 | juhp | (~juhp@128.106.188.66) |
| 2021-06-21 20:08:48 +0000 | IvanDru[m] | (~dendrumat@2001:470:69fc:105::2f9b) |
| 2021-06-21 20:08:52 +0000 | delYsid | (~user@user/delYsid) |
| 2021-06-21 20:09:41 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 265 seconds) |
| 2021-06-21 20:11:02 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
| 2021-06-21 20:11:58 +0000 | ddellaco_ | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
| 2021-06-21 20:12:00 +0000 | kayprish | (~kayprish@46.240.143.86) (Quit: leaving) |
| 2021-06-21 20:12:14 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 20:12:30 +0000 | jumper149 | (~jumper149@80.240.31.34) |
| 2021-06-21 20:12:31 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2021-06-21 20:13:09 +0000 | <jumper149> | Hi, is it possible to give a constraint, that a specific type of a non-injective type family exists? |
| 2021-06-21 20:14:08 +0000 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 2021-06-21 20:14:08 +0000 | azeem | (~azeem@dynamic-adsl-84-220-246-6.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 2021-06-21 20:14:31 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
| 2021-06-21 20:14:53 +0000 | azeem | (~azeem@dynamic-adsl-84-220-246-6.clienti.tiscali.it) |
| 2021-06-21 20:15:54 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 2021-06-21 20:16:15 +0000 | sheepduck | (~sheepduck@user/sheepduck) (Quit: Leaving) |
| 2021-06-21 20:16:42 +0000 | sheepduck | (~sheepduck@user/sheepduck) |
| 2021-06-21 20:17:50 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Remote host closed the connection) |
| 2021-06-21 20:18:14 +0000 | kayprish | (~kayprish@46.240.143.86) (Quit: leaving) |
| 2021-06-21 20:18:23 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 20:19:35 +0000 | kayprish | (~kayprish@46.240.143.86) (Client Quit) |
| 2021-06-21 20:19:45 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 20:19:46 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
| 2021-06-21 20:22:24 +0000 | kayprish | (~kayprish@46.240.143.86) (Client Quit) |
| 2021-06-21 20:22:35 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 20:22:41 +0000 | dhil | (~dhil@80.208.56.181) (Ping timeout: 268 seconds) |
| 2021-06-21 20:23:12 +0000 | ddellaco_ | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 2021-06-21 20:24:15 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2021-06-21 20:24:21 +0000 | ddellaco_ | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
| 2021-06-21 20:24:41 +0000 | shapr | (~user@144.163.30.223) (Read error: Connection reset by peer) |
| 2021-06-21 20:25:33 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 20:26:34 +0000 | kayprish | (~kayprish@46.240.143.86) (Client Quit) |
| 2021-06-21 20:26:45 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 20:27:05 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 20:27:10 +0000 | Izem | (~Izem@bras-base-london1483w-grc-42-65-95-172-41.dsl.bell.ca) (Quit: Izem) |
| 2021-06-21 20:27:12 +0000 | shapr | (~user@144.163.30.223) |
| 2021-06-21 20:29:52 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 20:29:52 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) |
| 2021-06-21 20:31:26 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-06-21 20:31:27 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 20:31:44 +0000 | esclear[i] | (~esclear@phobos.esclear.de) (Quit: WeeChat 2.1) |
| 2021-06-21 20:32:05 +0000 | <delYsid> | heh, I am getting a shady investment AD on youtube tweag channel. |
| 2021-06-21 20:34:07 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 20:34:13 +0000 | derelict | (~derelict@user/derelict) |
| 2021-06-21 20:34:55 +0000 | Morrow | (~MorrowM_@147.161.9.243) (Read error: Connection reset by peer) |
| 2021-06-21 20:35:40 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 20:36:03 +0000 | dhil | (~dhil@195.213.192.47) |
| 2021-06-21 20:36:21 +0000 | Morrow | (~MorrowM_@147.161.9.243) |
| 2021-06-21 20:36:56 +0000 | kayprish | (~kayprish@46.240.143.86) (Read error: Connection reset by peer) |
| 2021-06-21 20:38:31 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 20:38:36 +0000 | MoC | (~moc@user/moc) (Quit: Konversation terminated!) |
| 2021-06-21 20:38:48 +0000 | korayal | (~Koray_Al@213.14.171.115) |
| 2021-06-21 20:39:10 +0000 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 265 seconds) |
| 2021-06-21 20:39:17 +0000 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) |
| 2021-06-21 20:40:04 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 20:43:06 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 20:44:39 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 20:44:39 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 20:45:34 +0000 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
| 2021-06-21 20:47:22 +0000 | deshalb | (~deshalb@user/deshalb) (Quit: leaving) |
| 2021-06-21 20:47:25 +0000 | Erutuon | (~Erutuon@user/erutuon) |
| 2021-06-21 20:47:26 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 20:48:59 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 20:49:17 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-06-21 20:49:47 +0000 | kayprish | (~kayprish@46.240.143.86) (Quit: leaving) |
| 2021-06-21 20:49:59 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-06-21 20:51:44 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 20:52:58 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
| 2021-06-21 20:53:17 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 20:54:02 +0000 | <Topsi> | Is there a decision on the Monad of no return proposal? Is return going to be removed from the Monad class in the future? |
| 2021-06-21 20:56:07 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 20:56:34 +0000 | ddellaco_ | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 2021-06-21 20:57:41 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 21:00:17 +0000 | ystael | (~ystael@user/ystael) (Read error: Connection reset by peer) |
| 2021-06-21 21:00:40 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 21:00:41 +0000 | bilegeek | (~bilegeek@2600:1008:b017:63a6:c26d:d119:faaa:a6d7) |
| 2021-06-21 21:02:13 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 21:04:51 +0000 | chomwitt | (~Pitsikoko@athedsl-351576.home.otenet.gr) (Ping timeout: 258 seconds) |
| 2021-06-21 21:05:00 +0000 | mikail | (~mikail@90.152.14.81) (Ping timeout: 252 seconds) |
| 2021-06-21 21:05:04 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 21:05:11 +0000 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Quit: Leaving.) |
| 2021-06-21 21:06:38 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 21:06:47 +0000 | zgrep | (~zgrep@user/zgrep) (Quit: It's a quitter's world.) |
| 2021-06-21 21:07:56 +0000 | shapr | (~user@144.163.30.223) (Ping timeout: 252 seconds) |
| 2021-06-21 21:08:18 +0000 | zgrep | (~zgrep@user/zgrep) |
| 2021-06-21 21:09:32 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 21:11:07 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 21:11:09 +0000 | mikail | (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) |
| 2021-06-21 21:12:12 +0000 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1) |
| 2021-06-21 21:14:05 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 21:15:21 +0000 | korayal | (~Koray_Al@213.14.171.115) (Quit: WeeChat 3.3-dev) |
| 2021-06-21 21:15:34 +0000 | korayal | (~Koray_Al@213.14.171.115) |
| 2021-06-21 21:15:39 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 21:16:11 +0000 | mikail_ | (~mikail@90.212.77.3) |
| 2021-06-21 21:16:25 +0000 | mikail | (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) (Ping timeout: 244 seconds) |
| 2021-06-21 21:16:40 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-06-21 21:17:19 +0000 | hammock | (~Hammock@2600:1700:19a1:3330::625) |
| 2021-06-21 21:17:42 +0000 | <dminuoso> | jumper149: What do you mean by "specific type of a non-injective type family exists"? |
| 2021-06-21 21:18:36 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 21:19:09 +0000 | haltux | (~haltux@a89-154-181-47.cpe.netcabo.pt) |
| 2021-06-21 21:19:50 +0000 | ph88 | (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) (Ping timeout: 252 seconds) |
| 2021-06-21 21:20:11 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 21:21:13 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
| 2021-06-21 21:21:41 +0000 | ph88 | (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) |
| 2021-06-21 21:22:59 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 21:23:15 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds) |
| 2021-06-21 21:24:32 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 21:25:11 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-06-21 21:25:11 +0000 | hololeap | (hololeap@user/hololeap) |
| 2021-06-21 21:26:19 +0000 | MQ-17J | (~MQ-17J@8.21.10.15) |
| 2021-06-21 21:26:27 +0000 | michalz | (~michalz@185.246.204.40) (Remote host closed the connection) |
| 2021-06-21 21:28:15 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-06-21 21:29:51 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2021-06-21 21:30:58 +0000 | ystael | (~ystael@user/ystael) |
| 2021-06-21 21:32:27 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
| 2021-06-21 21:35:49 +0000 | _73` | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (ERC (IRC client for Emacs 27.2)) |
| 2021-06-21 21:36:05 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2021-06-21 21:36:16 +0000 | beka | (~beka@104.193.170-244.public.monkeybrains.net) |
| 2021-06-21 21:38:08 +0000 | MQ-17J | (~MQ-17J@8.21.10.15) (Ping timeout: 265 seconds) |
| 2021-06-21 21:39:44 +0000 | chexum | (~chexum@gateway/tor-sasl/chexum) |
| 2021-06-21 21:41:11 +0000 | <jumper149> | dminuoso: `StM m a` from MonadBaseControl is supposedly a non-injective type-family. At least GHC tells me that. |
| 2021-06-21 21:42:05 +0000 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-06-21 21:42:23 +0000 | <jumper149> | I am pretty sure what I want is a function like `StM m () -> b (StM m ())`. |
| 2021-06-21 21:43:37 +0000 | <jumper149> | I guess GHC cannot know what type `StM m ()` actually is unless it was clear it's an injective type family. |
| 2021-06-21 21:44:08 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Remote host closed the connection) |
| 2021-06-21 21:44:24 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
| 2021-06-21 21:44:40 +0000 | <dminuoso> | Is m quantified here? Or does m stand for some specific unknown type? |
| 2021-06-21 21:45:14 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-21 21:46:05 +0000 | <jumper149> | forall m. MonadBaseControl b m => StM m () -> b (StM m ()) |
| 2021-06-21 21:46:38 +0000 | <jumper149> | wait |
| 2021-06-21 21:49:39 +0000 | <jumper149> | yeah thats basically it |
| 2021-06-21 21:49:47 +0000 | gehmehgeh | (~user@user/gehmehgeh) |
| 2021-06-21 21:50:55 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2021-06-21 21:52:21 +0000 | <jumper149> | I should say that the actual value never gets inspected. |
| 2021-06-21 21:52:38 +0000 | MorrowM | (~MorrowM_@147.161.8.246) |
| 2021-06-21 21:52:41 +0000 | <jumper149> | I got it to the point of: `StM m Any -> b (StM m Any)` |
| 2021-06-21 21:54:42 +0000 | <jumper149> | and with `unsafeCoerce <$> runInBase $ pure undefined` I got it working. |
| 2021-06-21 21:55:04 +0000 | Morrow | (~MorrowM_@147.161.9.243) (Ping timeout: 258 seconds) |
| 2021-06-21 21:55:08 +0000 | <jumper149> | I guess it's impossible to understand what I'm trying to say though x) |
| 2021-06-21 21:55:12 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-06-21 21:55:54 +0000 | xff0x | (~xff0x@2001:1a81:53f8:8c00:17bc:3aea:ca8:b929) (Ping timeout: 240 seconds) |
| 2021-06-21 21:56:02 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 21:56:51 +0000 | xff0x | (~xff0x@2001:1a81:53f8:8c00:146b:f6fc:d9b4:bcad) |
| 2021-06-21 21:57:03 +0000 | beka | (~beka@104.193.170-244.public.monkeybrains.net) (Remote host closed the connection) |
| 2021-06-21 21:57:19 +0000 | beka | (~beka@104.193.170-244.PUBLIC.monkeybrains.net) |
| 2021-06-21 21:57:36 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 21:58:02 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Remote host closed the connection) |
| 2021-06-21 21:58:31 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
| 2021-06-21 21:59:52 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-06-21 22:00:20 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 22:01:52 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:03:07 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 258 seconds) |
| 2021-06-21 22:04:40 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 22:06:15 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:06:58 +0000 | MorrowM | (~MorrowM_@147.161.8.246) (Ping timeout: 252 seconds) |
| 2021-06-21 22:07:43 +0000 | beka | (~beka@104.193.170-244.PUBLIC.monkeybrains.net) (Ping timeout: 258 seconds) |
| 2021-06-21 22:08:06 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds) |
| 2021-06-21 22:08:36 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2021-06-21 22:08:53 +0000 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Remote host closed the connection) |
| 2021-06-21 22:08:57 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 22:10:31 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:11:14 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-06-21 22:13:18 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 22:14:52 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:15:39 +0000 | <johnw> | jumper149: you could use type application to specify m, apparently it can't be determined from use? |
| 2021-06-21 22:17:59 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Remote host closed the connection) |
| 2021-06-21 22:18:35 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
| 2021-06-21 22:19:31 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:20:16 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Remote host closed the connection) |
| 2021-06-21 22:22:26 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 22:23:59 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:26:57 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 22:27:58 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-21 22:28:24 +0000 | mikail_ | (~mikail@90.212.77.3) (Ping timeout: 265 seconds) |
| 2021-06-21 22:28:31 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:29:22 +0000 | unyu | (~pyon@user/pyon) (Ping timeout: 265 seconds) |
| 2021-06-21 22:31:19 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 22:31:32 +0000 | tomsmeding | (~tomsmedin@2a03:b0c0:0:1010::767:3001) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2021-06-21 22:31:39 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2021-06-21 22:31:51 +0000 | tomsmeding | (~tomsmedin@2a03:b0c0:0:1010::767:3001) |
| 2021-06-21 22:32:17 +0000 | unyu | (~pyon@user/pyon) |
| 2021-06-21 22:32:54 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:34:11 +0000 | Codaraxis | (~Codaraxis@193.32.126.158) (Changing host) |
| 2021-06-21 22:34:11 +0000 | Codaraxis | (~Codaraxis@user/codaraxis) |
| 2021-06-21 22:34:23 +0000 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-06-21 22:34:35 +0000 | Guest9 | (~Guest9@43.250.158.43) (Quit: Connection closed) |
| 2021-06-21 22:35:40 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 22:35:41 +0000 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) |
| 2021-06-21 22:35:41 +0000 | ddellaco_ | (~ddellacos@86.106.121.100) |
| 2021-06-21 22:37:07 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 2021-06-21 22:37:15 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:37:32 +0000 | <Cajun> | so im now using cabal to build and im trying to use `hip` for image processing and no matter what i cant get it to build (why do these tools have to be a pain). heres the output: https://paste.tomsmeding.com/zbgeWosa |
| 2021-06-21 22:38:29 +0000 | <davean> | ok, so its told you the problem, whats the question? |
| 2021-06-21 22:38:53 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) |
| 2021-06-21 22:38:58 +0000 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 2021-06-21 22:39:29 +0000 | <Cajun> | i have absolutely no idea how to make this build. is it constraints? is it just not possible? it doesnt seem like i can do anything to get it to use the package and build |
| 2021-06-21 22:39:58 +0000 | <davean> | So you might want to update your package set, but what you have doesn't work together |
| 2021-06-21 22:40:09 +0000 | <davean> | it looks like something that might work together has been released |
| 2021-06-21 22:40:09 +0000 | <Cajun> | its literally `base` and `hip` |
| 2021-06-21 22:40:12 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 22:40:31 +0000 | <davean> | yes, your required version of base, and diagrams-postscript's required versions of base don't overlap |
| 2021-06-21 22:41:10 +0000 | <davean> | try cabal update though |
| 2021-06-21 22:41:33 +0000 | <Cajun> | just did `cabal update` and that didnt help it |
| 2021-06-21 22:41:45 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:42:16 +0000 | <davean> | https://hackage.haskell.org/package/diagrams-postscript-1.5/revisions/ theres a revision that should have opened it up for you |
| 2021-06-21 22:42:36 +0000 | <davean> | 2021-06-21T19:57:32Z so it was very recent |
| 2021-06-21 22:42:56 +0000 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
| 2021-06-21 22:43:08 +0000 | <Cajun> | so how would i go about using that for `hip`? |
| 2021-06-21 22:43:47 +0000 | <davean> | I mean what state is your package index at? You're trying to use version 1.5 - read the output it tells you - but clearly you don't have that revision |
| 2021-06-21 22:44:02 +0000 | <davean> | so the update didn't get sometihng only an hour or two old - caching perhaps? |
| 2021-06-21 22:44:07 +0000 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection) |
| 2021-06-21 22:44:30 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 22:44:58 +0000 | <davean> | when you did cabal update, it'd have shown you the index state it got up to |
| 2021-06-21 22:45:40 +0000 | <Cajun> | here is what `cabal update` spat out when i ran it a few minutes ago https://paste.tomsmeding.com/uHgqBqU4 |
| 2021-06-21 22:45:52 +0000 | pbrisbin | (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net) (Ping timeout: 250 seconds) |
| 2021-06-21 22:46:03 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:46:23 +0000 | <davean> | 2021-06-19T09:28:37Z - notice 09:28:37Z not 2021-06-21T19:57:32Z |
| 2021-06-21 22:46:27 +0000 | <davean> | so there is some caching happening there |
| 2021-06-21 22:46:46 +0000 | <davean> | Hum, so the question is whats caching it |
| 2021-06-21 22:46:58 +0000 | <davean> | because thats not what I see being served |
| 2021-06-21 22:47:05 +0000 | ukari | (~ukari@user/ukari) |
| 2021-06-21 22:47:11 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-06-21 22:47:12 +0000 | <Cajun> | well isnt that the old package list? considering its saying how to revert the update |
| 2021-06-21 22:47:34 +0000 | <davean> | It should say something like "Updated package list of hackage.haskell.org to the index-state 2021-06-21T21:21:54Z" |
| 2021-06-21 22:47:53 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-06-21 22:47:58 +0000 | <Cajun> | i just ran it again and yes it said that |
| 2021-06-21 22:48:03 +0000 | <davean> | perhaps your cabal is to old to say that, but its unclear what you ended up with |
| 2021-06-21 22:48:14 +0000 | jumper149 | (~jumper149@80.240.31.34) (Quit: WeeChat 3.1) |
| 2021-06-21 22:48:32 +0000 | <Cajun> | running it again told me to download that specific version to revert the update so that is the index-state i have |
| 2021-06-21 22:48:36 +0000 | <Cajun> | yet it still does not build |
| 2021-06-21 22:48:52 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 22:49:29 +0000 | <Cajun> | i have cabal 3.2.0.0 if that matters |
| 2021-06-21 22:50:27 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:50:34 +0000 | <davean> | I just upgrade my cabal to the latest all the time, so I have no idea about 3.2 but I was pretty sure it output the current version also |
| 2021-06-21 22:50:53 +0000 | <Cajun> | just updated to 3.4.0.0 and yes it still does not build |
| 2021-06-21 22:51:08 +0000 | <davean> | did it update to more current though? |
| 2021-06-21 22:51:16 +0000 | <davean> | This is about what it has available |
| 2021-06-21 22:51:19 +0000 | <Cajun> | `index-state 2021-06-21T21:21:54Z` |
| 2021-06-21 22:51:27 +0000 | <davean> | ok, and it still doesn't build after that? |
| 2021-06-21 22:51:30 +0000 | <Cajun> | no |
| 2021-06-21 22:51:31 +0000 | <davean> | did the output change? |
| 2021-06-21 22:51:41 +0000 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
| 2021-06-21 22:53:15 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 22:53:26 +0000 | zaquest | (~notzaques@5.128.210.178) |
| 2021-06-21 22:53:27 +0000 | <Cajun> | not much at all except its now `diagrams-core` instead of `diagrams-postscript` |
| 2021-06-21 22:53:34 +0000 | <davean> | Thats a huge change though |
| 2021-06-21 22:53:59 +0000 | <davean> | though uh |
| 2021-06-21 22:54:22 +0000 | <davean> | its got to be telling you more than just that - diagrams-core 1.5 would build |
| 2021-06-21 22:54:30 +0000 | <Cajun> | well heres the current output https://paste.tomsmeding.com/aup814H3 |
| 2021-06-21 22:54:44 +0000 | <monochrom> | Nice, today I modified the idea of "Queue a = {front :: [a], back :: [a]}" to {front :: [a], back :: [a] -> [a]}, i.e., use a difflist for the back. |
| 2021-06-21 22:54:48 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:54:55 +0000 | <davean> | Chart-diagrams => |
| 2021-06-21 22:54:57 +0000 | <davean> | diagrams-core>=1.3 && <1.5 |
| 2021-06-21 22:55:10 +0000 | <davean> | see that Cajun? |
| 2021-06-21 22:55:16 +0000 | <monochrom> | I use this in BFS over an infinite tree. It seems like I only suffer GC pauses. |
| 2021-06-21 22:55:31 +0000 | <Cajun> | i do but i have no idea what that means and how thats helpful lol |
| 2021-06-21 22:56:12 +0000 | <davean> | Hum, do you not understand what => means? or the >=1.3 && <1.5? |
| 2021-06-21 22:56:41 +0000 | <shachaf> | monochrom: What do you get from using a difference list for the back? |
| 2021-06-21 22:57:06 +0000 | <monochrom> | Eliminating reversing the back list. |
| 2021-06-21 22:57:08 +0000 | <Cajun> | => means X implies constraint but cannot match it and `>=1.3 && <1.5` means it must be within version 1.3.* and less than version 1.5.0 |
| 2021-06-21 22:57:43 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 22:57:52 +0000 | <shachaf> | Hmm, but you still need to do effectively linear work, don't you? |
| 2021-06-21 22:57:53 +0000 | <davean> | Yes, so thats all thee is to understand there, because you can't use anything older than diagrams-core-1.5.0, as it says it tried to but wasn't allowed to |
| 2021-06-21 22:58:04 +0000 | <davean> | shachaf: look at when the work happens |
| 2021-06-21 22:58:24 +0000 | <davean> | though, its really just the other method in disguise I tihnk? |
| 2021-06-21 22:58:51 +0000 | <shachaf> | So a typical state of this might be something like, Queue { front = [1,2,3], back = ((4:) . (5:) . (6:) }, right? |
| 2021-06-21 22:58:59 +0000 | <shachaf> | Oops. |
| 2021-06-21 22:59:00 +0000 | dunj3 | (~dunj3@2001:16b8:309f:ea00:9791:603:5183:d379) (Remote host closed the connection) |
| 2021-06-21 22:59:06 +0000 | <shachaf> | Queue { front = [1,2,3], back = ((4:) . (5:)) . (6:) } |
| 2021-06-21 22:59:14 +0000 | <Cajun> | davean: so i have to wait for the package to be updated or something? |
| 2021-06-21 22:59:18 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 22:59:38 +0000 | <davean> | Cajun: or fix it yourself. or use an older hip, or an older GHC, or ... |
| 2021-06-21 22:59:39 +0000 | <shachaf> | So in order to get to the 4, you need to go through all the (.)s, which will be left-associated if you've been appending. Right? |
| 2021-06-21 23:00:19 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-06-21 23:00:22 +0000 | ddellaco_ | (~ddellacos@86.106.121.100) (Remote host closed the connection) |
| 2021-06-21 23:00:42 +0000 | <monochrom> | This is where I still don't understand why "( ... (((x1 :) . (x2 :)) . (x3 :)) . (x4 :) ...) []" is still much faster than (...(([x1]++[x2])++[x3])++[x4] ...) but empiricallly it is proven over and over again. |
| 2021-06-21 23:00:50 +0000 | <davean> | Cajun: so 'base's version is bound to GHC |
| 2021-06-21 23:00:52 +0000 | ddellacosta | (~ddellacos@86.106.121.100) |
| 2021-06-21 23:00:57 +0000 | <davean> | Cajun: GHC version that is |
| 2021-06-21 23:01:06 +0000 | <davean> | Cajun: so if you want an older base, move back a major GHC version |
| 2021-06-21 23:01:11 +0000 | <davean> | or upgrade the package to work with newer GHC |
| 2021-06-21 23:01:16 +0000 | <shachaf> | monochrom: That one is different. |
| 2021-06-21 23:01:23 +0000 | <Cajun> | i used to use 8.8.4, should i try using that? |
| 2021-06-21 23:02:04 +0000 | <davean> | Cajun: Yes, that would use base 4.13 |
| 2021-06-21 23:02:05 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 23:02:12 +0000 | <shachaf> | Pretend it's a strict language. To compute ([x1]++[x2])++[x3], you go [x1,x1]++[x3], [x1,x2,x3] |
| 2021-06-21 23:02:13 +0000 | <davean> | which you'll notice is in range for the constraints specified |
| 2021-06-21 23:02:18 +0000 | chexum | (~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds) |
| 2021-06-21 23:02:27 +0000 | <shachaf> | Uh, [x1,x2]++[x3] |
| 2021-06-21 23:02:37 +0000 | <shachaf> | In the second step, (++) has to traverse the entire list just to append [x3] |
| 2021-06-21 23:02:49 +0000 | <davean> | Cajun: Basicly all you have to do is look at what it tells you and do it |
| 2021-06-21 23:03:00 +0000 | <sclv> | Cajun: you could also just try passing the --allow-newer flag, cross your fingers, and pray to your diety of choice |
| 2021-06-21 23:03:08 +0000 | <davean> | Cajun: it tells you two things don't fit together, change one of them to match the other |
| 2021-06-21 23:03:12 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-06-21 23:03:27 +0000 | <sclv> | it looks like a bump to Chart-diagrams to allow it to work with diagrams-core 1.5 could work, but that might fail |
| 2021-06-21 23:03:29 +0000 | <shachaf> | And then if you need to go to [x1,x2,x3]++[x4], this (++) also needs to traverse the entire list on the left. |
| 2021-06-21 23:03:38 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 23:03:50 +0000 | <sclv> | using the allow newer flag says "ignore the constraints, and try to build anyway, and then maybe there will be errors, who knows" |
| 2021-06-21 23:04:03 +0000 | <monochrom> | OK, I meant: "head (( ... (((x1 :) . (x2 :)) . (x3 :)) . (x4 :) ...) [])" is still much faster than "head (...(([x1]++[x2])++[x3])++[x4] ...)" empirically. |
| 2021-06-21 23:04:10 +0000 | <davean> | if you do what sclv says, if it breaks you may not notice, and you get to keep all the pieces |
| 2021-06-21 23:04:11 +0000 | tzar_bomba | (~tzar_bomb@78-56-41-78.static.zebra.lt) (Quit: Client closed) |
| 2021-06-21 23:04:25 +0000 | <davean> | monochrom: right, its lazy |
| 2021-06-21 23:04:40 +0000 | <shachaf> | Yes, it works the same way in a lazy language. |
| 2021-06-21 23:04:41 +0000 | <davean> | monochrom: so the first doesn't have to walk the list repeatedly? |
| 2021-06-21 23:04:48 +0000 | <Cajun> | davean: thanks! im guessing adjusting the leftmost part of => is easier to do than trying to change the rightmost part? |
| 2021-06-21 23:04:49 +0000 | <sclv> | often i'll also locally pull in the offending package, and try to fix it by hand, and if it works, then I can A) depend on the local version and B) submit a PR request back upstream |
| 2021-06-21 23:04:50 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds) |
| 2021-06-21 23:04:58 +0000 | <davean> | Cajun: depends entirely |
| 2021-06-21 23:05:37 +0000 | ddellacosta | (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds) |
| 2021-06-21 23:05:54 +0000 | <sclv> | if you're in a cabal project already, then if you `cabal unpack SOMEPACKAGE` it'll unpack it into that directory, and if you get it building, and have a cabal.project set up, cabal will use the local source version over the one from hackage |
| 2021-06-21 23:06:19 +0000 | jiribenes | (~jiribenes@rosa.jiribenes.com) (Remote host closed the connection) |
| 2021-06-21 23:06:30 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 23:06:49 +0000 | <shachaf> | With difference lists -- let a = (:) -- you have something like ((a 1 . a 2) . a 3). You need to do linear work once to turn that into [1,2,3], but that's it. |
| 2021-06-21 23:08:04 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 23:08:11 +0000 | <davean> | Cajun: personally my first approach is always "change whichever side moves to newer versions" because thats the longer term approach, but if I have an easier time changing the other side, I might be expedient |
| 2021-06-21 23:09:01 +0000 | <shachaf> | This isn't a very clear answer, hmm. |
| 2021-06-21 23:09:02 +0000 | <davean> | sclv: I would say I'd be suspicious of allow-newere here since he rest of that ecosystem seems to be bumped. |
| 2021-06-21 23:09:20 +0000 | <davean> | shachaf: I tihnk linear verses quadratic work is pretty clear? |
| 2021-06-21 23:09:33 +0000 | <davean> | shachaf: but I mean also, lazinessed helps with one and not the other |
| 2021-06-21 23:09:47 +0000 | <shachaf> | Yes, but the question was why. |
| 2021-06-21 23:09:58 +0000 | <shachaf> | I don't think laziness is that relevant here. You have exactly the same thing in a strict language. |
| 2021-06-21 23:10:08 +0000 | <davean> | Why is it linear verses quadratic? |
| 2021-06-21 23:10:18 +0000 | <sclv> | davean: i'm not suspicius because the offending package is Chart-diagrams which isn't part of the diagrams ecosystem, its part of the "bridge" to that ecosystem from the Chart ecosystem :-) |
| 2021-06-21 23:10:19 +0000 | <davean> | I mean ... you showed that directly |
| 2021-06-21 23:10:30 +0000 | <shachaf> | I just don't think my explanation was very good. |
| 2021-06-21 23:10:52 +0000 | <davean> | shachaf: you have MORE here than in a strict language though, because to take head you don't even have to do the entire linear walk, just O(1) |
| 2021-06-21 23:10:54 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 23:11:04 +0000 | <shachaf> | No, you have to do the whole linear thing. |
| 2021-06-21 23:11:19 +0000 | <shachaf> | Because your compositions are left associated, ((a 1 . a 2) . a 3) . a 4 |
| 2021-06-21 23:11:34 +0000 | <shachaf> | So you need to go through the whole thing to get to the 1. |
| 2021-06-21 23:12:26 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 23:14:22 +0000 | zeenk | (~zeenk@2a02:2f04:a00e:6e00:d401:4c92:fecc:16f9) (Quit: Konversation terminated!) |
| 2021-06-21 23:14:22 +0000 | <davean> | shachaf: With that construction, but you can setup one that doesn't |
| 2021-06-21 23:14:51 +0000 | <davean> | Depending on how much you're optimizing the specific case |
| 2021-06-21 23:15:04 +0000 | <shachaf> | I mean, we were talking about difference lists. Of course you can set up other data structures. |
| 2021-06-21 23:15:23 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 23:15:29 +0000 | <davean> | Oh i think of difference lists as the specific signature, not an alg |
| 2021-06-21 23:15:44 +0000 | <davean> | maybe that doesn't match the actual usage of the term |
| 2021-06-21 23:15:57 +0000 | <shachaf> | Oh, maybe you mean any function of the form (l ++) |
| 2021-06-21 23:16:14 +0000 | <shachaf> | But the point of using difference lists here is "constant time append". |
| 2021-06-21 23:16:24 +0000 | <davean> | [a] -> [a] is what I've seen defined as difference lists |
| 2021-06-21 23:16:29 +0000 | <shachaf> | Which you do get! But you don't get constant-time head. |
| 2021-06-21 23:16:47 +0000 | <shachaf> | I don't think people would call reverse a difference list. |
| 2021-06-21 23:16:55 +0000 | <shachaf> | Just functions of the form (l ++) for some l. |
| 2021-06-21 23:16:56 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 23:17:01 +0000 | <davean> | mmm |
| 2021-06-21 23:17:19 +0000 | <davean> | Thats fair I suppose. Different than what I saw specificly defined, but I'd buy that I was being too general |
| 2021-06-21 23:17:47 +0000 | killsushi | (~killsushi@user/killsushi) (Read error: Connection reset by peer) |
| 2021-06-21 23:18:04 +0000 | <shachaf> | The term comes from Prolog, right? Where you would leave the end of the list as a thing you can unify with. |
| 2021-06-21 23:18:14 +0000 | killsushi | (~killsushi@user/killsushi) |
| 2021-06-21 23:18:19 +0000 | <davean> | I had no clue that was a thing |
| 2021-06-21 23:18:30 +0000 | <davean> | I've never heard of it in regards to prolog |
| 2021-06-21 23:18:41 +0000 | <shachaf> | I think that's where the term comes from, at least. |
| 2021-06-21 23:19:05 +0000 | <shachaf> | The point is, a list is a thing that looks like (1 : 2 : 3 : []). A difference list is like a list, but parameterized on nil, so it's of the form (\nil -> 1 : 2 : 3 : nil) |
| 2021-06-21 23:19:31 +0000 | <shachaf> | So the nil is like a hole that you can fill in later, making list A end at the beginning of list B. |
| 2021-06-21 23:19:55 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 23:20:31 +0000 | <shachaf> | (\nil -> 1 : 2 : 3 : nil) [4,5,6] ---> [1,2,3,4,5,6], without ever having to actually traverse a [1,2,3] list. |
| 2021-06-21 23:21:09 +0000 | <davean> | Right but notice with THAT |
| 2021-06-21 23:21:17 +0000 | <davean> | > head $ (\nil -> 1 : 2 : 3 : nil) undefined |
| 2021-06-21 23:21:19 +0000 | <lambdabot> | 1 |
| 2021-06-21 23:21:29 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 23:21:31 +0000 | <davean> | er |
| 2021-06-21 23:21:36 +0000 | <davean> | that was a dumb thing to say |
| 2021-06-21 23:21:46 +0000 | moet_ | (~moet@172.58.19.20) (Ping timeout: 252 seconds) |
| 2021-06-21 23:22:44 +0000 | <shachaf> | Yes, right, once you have something of that form, you can take the head in constant time. |
| 2021-06-21 23:23:05 +0000 | <shachaf> | You can always flatten it: flatten dlist = (dlist [] ++) |
| 2021-06-21 23:23:14 +0000 | <shachaf> | But that's also a (worst-case) linear-time operation. |
| 2021-06-21 23:24:16 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 23:25:48 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 23:28:18 +0000 | thyriaen | (~thyriaen@45.178.73.238) |
| 2021-06-21 23:28:30 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-06-21 23:29:08 +0000 | <thyriaen> | Hello, i just started out with haskell and wrote my first function - something really strange is happening - i assume it has something to do with being lazy but i do not understand - can someone help me out ? |
| 2021-06-21 23:29:51 +0000 | <thyriaen> | https://hastebin.com/uduwetocof.apache this is the code i loaded into ghci |
| 2021-06-21 23:30:32 +0000 | <thyriaen> | Thank you very much - i have found my error ;) |
| 2021-06-21 23:32:29 +0000 | <geekosaur> | rubber duck debugging at its finest :) |
| 2021-06-21 23:32:33 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3-dev) |
| 2021-06-21 23:33:52 +0000 | janiczek | (~janiczek@89-24-215-117.customers.tmcz.cz) (Ping timeout: 252 seconds) |
| 2021-06-21 23:34:37 +0000 | <monochrom> | I and my TA once discussed giving out rubber ducks to students. |
| 2021-06-21 23:37:06 +0000 | <monochrom> | We then also considered the idea of these rubber ducks containing some computer power to decide whether "your question is difficult enough to escalated to the course forum". |
| 2021-06-21 23:37:49 +0000 | <monochrom> | My TA then correct pointed out that if the algorithm is simply "const no" it's at least 99% accurate. >:) |
| 2021-06-21 23:38:34 +0000 | dhil | (~dhil@195.213.192.47) (Ping timeout: 258 seconds) |
| 2021-06-21 23:39:11 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-06-21 23:39:58 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Quit: Leaving...) |
| 2021-06-21 23:41:57 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
| 2021-06-21 23:43:50 +0000 | xsperry | (~as@user/xsperry) |
| 2021-06-21 23:43:52 +0000 | xsperry | (~as@user/xsperry) (Excess Flood) |
| 2021-06-21 23:44:03 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-06-21 23:44:23 +0000 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 2021-06-21 23:44:23 +0000 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 2021-06-21 23:44:41 +0000 | xsperry | (~as@user/xsperry) |
| 2021-06-21 23:45:54 +0000 | haltux | (~haltux@a89-154-181-47.cpe.netcabo.pt) (Quit: Leaving) |
| 2021-06-21 23:50:18 +0000 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 240 seconds) |
| 2021-06-21 23:50:50 +0000 | renzhi | (~xp@modemcable070.17-177-173.mc.videotron.ca) |
| 2021-06-21 23:53:02 +0000 | involans | (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) (Ping timeout: 250 seconds) |
| 2021-06-21 23:55:18 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-21 23:55:32 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 268 seconds) |
| 2021-06-21 23:56:52 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-21 23:57:05 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
| 2021-06-21 23:58:41 +0000 | kayprish | (~kayprish@46.240.143.86) (Remote host closed the connection) |
| 2021-06-21 23:59:41 +0000 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |