Logs on 2021-06-11 (liberachat/#haskell)
| 00:00:50 | → | adinfinitum joins (~user@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f) |
| 00:01:04 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a) (Remote host closed the connection) |
| 00:01:32 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 264 seconds) |
| 00:01:35 | ← | adinfinitum parts (~user@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f) () |
| 00:04:10 | → | renzhi joins (~xp@2607:fa49:6500:bc00::e7b) |
| 00:04:41 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
| 00:06:01 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 00:07:35 | <Axman6> | do they support applying function to dotted record paths? |
| 00:07:54 | <Axman6> | also, don't we have RecordDotSyntax? |
| 00:08:46 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:14:53 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 00:17:24 | × | pdxleif quits (~leif@c-24-20-85-226.hsd1.or.comcast.net) (Ping timeout: 252 seconds) |
| 00:19:14 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 245 seconds) |
| 00:19:36 | × | myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 252 seconds) |
| 00:20:40 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 00:21:20 | × | awth13 quits (~user@user/awth13) (Read error: Connection reset by peer) |
| 00:22:09 | → | awth13 joins (~user@user/awth13) |
| 00:23:05 | × | thyriaen__ quits (~thyriaen@45.178.73.238) (Quit: Leaving) |
| 00:24:01 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 00:24:12 | → | thyriaen joins (~thyriaen@45.178.73.238) |
| 00:26:12 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 00:26:13 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 00:26:34 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 272 seconds) |
| 00:27:59 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 00:29:08 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 264 seconds) |
| 00:29:09 | × | geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 272 seconds) |
| 00:29:30 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 00:29:37 | <monochrom> | No, I prefer RecordHashTagSyntax like in SML. |
| 00:29:46 | → | geekosaur joins (~geekosaur@069-135-003-034.biz.spectrum.com) |
| 00:30:06 | <monochrom> | Record#Syntax |
| 00:31:05 | → | teaSlurper joins (~chris@81.96.113.213) |
| 00:32:04 | <qrpnxz> | is christopher allen here? |
| 00:32:05 | × | teaSlurper quits (~chris@81.96.113.213) (Read error: Connection reset by peer) |
| 00:32:30 | → | teaSlurper joins (~chris@81.96.113.213) |
| 00:36:35 | → | wwalker joins (~wwalker@platinum.solid-constructs.com) |
| 00:37:55 | × | thyriaen quits (~thyriaen@45.178.73.238) (Quit: Leaving) |
| 00:40:00 | → | myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net) |
| 00:40:03 | × | jolly quits (~jolly@208.180.97.158) (Quit: Connection closed) |
| 00:40:31 | × | myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Read error: Connection reset by peer) |
| 00:40:45 | <wwalker> | I'm trying to build matterhorn, I know essentially nothiung about haskell, except cool tools like matterhorn and ShellCheck are written in it. Anyway... The build fails to build cabal-dependency-licenses |
| 00:41:02 | <wwalker> | https://gist.github.com/wwalker/a38c3fee2f868c158ab7f55c43d9a56e has the build log showing the errors. |
| 00:41:24 | <wwalker> | any pointers (links to troubleshooting build failures?) |
| 00:41:28 | → | vicfred_ joins (~vicfred@fixed-187-191-38-173.totalplay.net) |
| 00:42:15 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 00:43:48 | × | vicfred quits (~vicfred@user/vicfred) (Ping timeout: 252 seconds) |
| 00:44:15 | <wwalker> | https://paste.tomsmeding.com/Bvpp1X0e More complete than the gist, and in the website specified in the topic. |
| 00:44:24 | × | Deide quits (~Deide@user/deide) (Quit: Seeee yaaaa) |
| 00:45:20 | × | zebrag quits (~chris@user/zebrag) (Ping timeout: 264 seconds) |
| 00:46:44 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 245 seconds) |
| 00:46:53 | → | sayola joins (~vekto@dslc-082-082-145-205.pools.arcor-ip.net) |
| 00:49:19 | × | vicfred_ quits (~vicfred@fixed-187-191-38-173.totalplay.net) (Quit: Leaving) |
| 00:50:16 | <hololeap> | Axman6: they support stuff like `.myField` which would be a function from any type that has a "myField" field to whatever myField is... if that makes sense |
| 00:50:53 | <Axman6> | hmm, doesn't RecordDotSyntax do that? whatever we use in DAML lets us do that |
| 00:51:09 | <Axman6> | so you can do map (.someField) |
| 00:51:13 | <hololeap> | I thought that RecordDotSyntax wasn't implemented yet |
| 00:51:22 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 00:51:40 | <yushyin> | it is since ghc9.2 |
| 00:51:48 | <yushyin> | check out the 9.2 prerelease |
| 00:51:51 | <hololeap> | Oh, I'm still on 8.10 |
| 00:51:58 | <Axman6> | ah I thought it was out in 9.0 |
| 00:52:14 | <hololeap> | that will be a game changer for sure |
| 00:53:15 | <yushyin> | NoFieldSelectors will already be a big game changer |
| 00:54:17 | <Axman6> | the other nice thing we have in DAML is record "with" syntax - you can say create Foo with fooId; bar = BarA; baz = None. it's a nice alternative to record wildcards which requires less syntax |
| 00:55:39 | <Axman6> | (it looks better over multiple lines, I'll see if I can find a gfood example) |
| 00:55:40 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 00:55:50 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 00:58:19 | <Axman6> | https://github.com/digital-asset/ex-models/blob/b6b95f3797e8a0a563dbf450d091d215a4aba306/chess/daml/Tests/SpecialRules.daml#L40 |
| 00:58:36 | <Axman6> | line 44 shows how it's usually used |
| 01:01:28 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a) |
| 01:01:38 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 01:02:59 | × | MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Read error: Connection reset by peer) |
| 01:03:14 | → | MidAutumnMoon joins (~MidAutumn@user/midautumnmoon) |
| 01:05:14 | <lyxia> | wwalker: maybe try asking on Matterhorn's community server linked in their readme |
| 01:05:51 | → | pdxleif joins (~leif@75.164.44.108) |
| 01:05:54 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a) (Ping timeout: 245 seconds) |
| 01:08:14 | <lyxia> | wwalker: I think you'll have to install an older distribution of Haskell (one with Cabal <= 2.5) but the developers of matterhorn themselves might have more comprehensive pointers to get a working setup. |
| 01:09:36 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 01:09:46 | → | gorignak joins (~gorignak@047-037-033-079.res.spectrum.com) |
| 01:10:39 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:11:46 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:13:49 | × | xff0x_ quits (~xff0x@2001:1a81:5309:4200:43f:9f66:b597:77c7) (Ping timeout: 245 seconds) |
| 01:14:08 | × | pdxleif quits (~leif@75.164.44.108) (Ping timeout: 264 seconds) |
| 01:14:42 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 272 seconds) |
| 01:15:45 | → | xff0x_ joins (~xff0x@2001:1a81:5346:bf00:2779:734e:bb13:8382) |
| 01:18:44 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 01:22:00 | × | geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Quit: Leaving) |
| 01:22:56 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
| 01:23:06 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 01:23:13 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 01:24:22 | × | jaevanko quits (~jaevanko@2600:1700:1330:2bef:2af8:ee9a:b15a:6b86) (Quit: Leaving) |
| 01:24:25 | → | geekosaur joins (~geekosaur@069-135-003-034.biz.spectrum.com) |
| 01:27:51 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 01:32:31 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 01:32:54 | → | yd502 joins (~yd502@180.168.212.6) |
| 01:33:38 | → | yd502_ joins (~yd502@180.168.212.6) |
| 01:35:30 | × | geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 252 seconds) |
| 01:35:45 | → | yd502__ joins (~yd502@180.168.212.6) |
| 01:36:58 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 01:37:09 | × | yd502 quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 01:38:15 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 01:41:44 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 264 seconds) |
| 01:43:27 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 01:46:49 | <qrpnxz> | am i reading this right that an Alternative Monad is automatically a MonadPlus? |
| 01:50:25 | × | Igfoo quits (~ian@matrix.chaos.earth.li) (Ping timeout: 272 seconds) |
| 01:55:12 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 01:55:23 | × | eight quits (~eight@user/eight) (Remote host closed the connection) |
| 01:57:01 | → | Igfoo joins (~ian@matrix.chaos.earth.li) |
| 01:57:45 | <glguy> | doesn't sound right |
| 01:58:10 | <glguy> | class (Alternative m, Monad m) => MonadPlus m where |
| 01:58:29 | <glguy> | In order to be a MonadPlus you must already be a Monad and an Alternative |
| 01:58:54 | <glguy> | then you can make a MonadPlus instance for free that will default to using Alternative |
| 01:58:59 | <glguy> | instance MonadPlus YourTypeHere |
| 02:00:18 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 272 seconds) |
| 02:00:47 | → | eight joins (~eight@user/eight) |
| 02:01:20 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 02:01:26 | × | funsafe quits (~funsafe@2601:1c1:4200:938f:389d:16a4:ae2d:65aa) (Ping timeout: 252 seconds) |
| 02:01:35 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 02:02:58 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a) |
| 02:03:13 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a) (Remote host closed the connection) |
| 02:03:23 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a) |
| 02:03:28 | <qrpnxz> | right but i just have to say "instance...". I'm playing around with alternative. functions `some` and `many` hang, not to sure how ppl use this |
| 02:04:19 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 02:08:49 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 245 seconds) |
| 02:08:55 | → | yd502_ joins (~yd502@180.168.212.6) |
| 02:09:39 | × | td_ quits (~td@94.134.91.190) (Ping timeout: 245 seconds) |
| 02:10:48 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:10:56 | <qrpnxz> | some and many don't appear to do different things actually i'm confused |
| 02:11:29 | → | td_ joins (~td@94.134.91.189) |
| 02:11:39 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 02:12:21 | × | awth13 quits (~user@user/awth13) (Ping timeout: 252 seconds) |
| 02:12:58 | × | yd502__ quits (~yd502@180.168.212.6) (Ping timeout: 272 seconds) |
| 02:13:29 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 02:13:46 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 02:15:04 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 245 seconds) |
| 02:15:30 | × | xff0x_ quits (~xff0x@2001:1a81:5346:bf00:2779:734e:bb13:8382) (Ping timeout: 272 seconds) |
| 02:15:41 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 02:15:57 | → | xff0x_ joins (~xff0x@2001:1a81:5346:bf00:6e52:b23e:6fc2:e844) |
| 02:16:50 | <lyxia> | try getting an empty list out of some |
| 02:16:53 | → | catern joins (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) |
| 02:17:15 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:17:18 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 02:18:20 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 264 seconds) |
| 02:19:19 | <catern> | is there a good non-theory explanation of practical uses of programs-as-proofs? for things other than theorem proving |
| 02:20:32 | → | awth13 joins (~user@user/awth13) |
| 02:22:54 | <qrpnxz> | lyxia, idk what that means. Even trying something like `take 3` on it doesn't seem to help with the hanging issue |
| 02:23:16 | <qrpnxz> | to me it looks like it's doing an infinite list of a value, but i can't access it |
| 02:23:34 | → | yd502_ joins (~yd502@180.168.212.6) |
| 02:25:45 | <justsomeguy> | catern: Do any of the examples here qualify? https://ucsd-progsys.github.io/liquidhaskell-blog/ |
| 02:27:48 | <catern> | justsomeguy: I guess that qualifies for what I said, but I should give an additional constraint (which replaces my theorem proving constraint): "in the absence of fancy types (such as dependent types)" |
| 02:28:34 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
| 02:30:03 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 02:31:13 | <catern> | (although I'm not sure even that qualifies... a dependent type lets you place constraints on what the inhabitants of a type are... but then using the resulting terms of that type isn't exactly a manifestation of programs-as-proofs, since knowing that the type is inhabited doesn't actually *tell* you anything, besides that the type is inhabited, which for the type of a pure function like in that example, isn't typically useful) |
| 02:31:42 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 02:32:47 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 02:33:20 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 264 seconds) |
| 02:34:01 | → | yd502 joins (~yd502@180.168.212.6) |
| 02:34:05 | FinnElija | is now known as Guest9778 |
| 02:34:05 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:34:05 | × | Guest9778 quits (~finn_elij@user/finn-elija/x-0085643) (Killed (tin.libera.chat (Nickname regained by services))) |
| 02:34:05 | finn_elija | is now known as FinnElija |
| 02:34:32 | × | yahb quits (xsbot@user/mniip/bot/yahb) (Ping timeout: 264 seconds) |
| 02:34:38 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds) |
| 02:35:27 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 02:36:33 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 252 seconds) |
| 02:38:12 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds) |
| 02:38:46 | → | yahb joins (xsbot@user/mniip/bot/yahb) |
| 02:40:50 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 02:41:19 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 252 seconds) |
| 02:41:30 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 02:44:58 | × | hammock quits (~Hammock@2600:1700:19a1:3330::625) (Quit: WeeChat 3.0.1) |
| 02:45:56 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 264 seconds) |
| 02:54:50 | <bontaq`> | idk, all the proof assistants have dependent types or stronger |
| 02:57:37 | <Axman6> | I've gelkt for a while that just having sum types and not allowing partial functions gets you a very long way in proving that you have handled everything that's possible in your program. writing functions which can operate over that domain proves that you have handled all cases, which for most practical work is better than you get in most languages |
| 02:57:43 | <Axman6> | felt* |
| 02:59:06 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 03:00:06 | <keltono> | bontaq`: well, not _all_ of them (https://en.wikipedia.org/wiki/Isabelle_(proof_assistant), for one) |
| 03:02:08 | <bontaq`> | :P |
| 03:02:41 | × | yd502 quits (~yd502@180.168.212.6) (Ping timeout: 268 seconds) |
| 03:03:44 | → | yd502 joins (~yd502@180.168.212.6) |
| 03:04:19 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 272 seconds) |
| 03:08:13 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 03:09:36 | <qrpnxz> | how do get declarations in an import to replace declarations from prelude? |
| 03:09:39 | → | cpnuj joins (~cpnuj@217.163.30.217) |
| 03:12:18 | × | cpnuj quits (~cpnuj@217.163.30.217) (Client Quit) |
| 03:12:20 | × | awth13 quits (~user@user/awth13) (Ping timeout: 265 seconds) |
| 03:12:25 | <Axman6> | qrpnxz: here's a few ways, which is the correct one will depend on the specific import though, there's some idioms that are used for some modules and not others |
| 03:12:57 | <qrpnxz> | In my case i wanted Text.IO to subplant the prelude defaults |
| 03:13:08 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 272 seconds) |
| 03:13:09 | <hololeap> | qrpnxz: in regards to some and many, look into parsing libraries like parsec. that should give you an intuition for how those functions are used |
| 03:13:37 | <hololeap> | it doesn't work very well for most Alternatives found in base |
| 03:14:05 | <Axman6> | well one option is to do import Prelude hiding (functionsThat, youUseIn, your, code) |
| 03:14:08 | <qrpnxz> | yeah that makes sense but idk why i'm unable to say `take 3` from a `some (Just 1)` idk what's going on there |
| 03:14:28 | <qrpnxz> | Axman6, wow that's a lot of work, i'll just qualify it |
| 03:14:46 | <Axman6> | yeah, usually people will just do import Data.Text.IO as T |
| 03:15:02 | <Axman6> | qualified as T* |
| 03:15:35 | <Axman6> | a fairly common thing to do is: import Data.Text.IO qualified as T; import Data.Text.IO (nonClashing,names) |
| 03:15:56 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 264 seconds) |
| 03:17:22 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 03:21:45 | × | cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Ping timeout: 244 seconds) |
| 03:21:45 | × | ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (Ping timeout: 244 seconds) |
| 03:21:45 | × | Drezil quits (~drezilkif@2001:470:69fc:105::7f8) (Ping timeout: 244 seconds) |
| 03:21:45 | × | Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (Ping timeout: 244 seconds) |
| 03:21:45 | × | wallymathieu[m] quits (~wallymath@2001:470:69fc:105::16ae) (Ping timeout: 244 seconds) |
| 03:21:45 | × | cdepillabout[m] quits (~cdepillab@2001:470:69fc:105::3d3) (Ping timeout: 244 seconds) |
| 03:21:45 | × | amesgen[m] quits (~amesgenam@2001:470:69fc:105::82b) (Ping timeout: 244 seconds) |
| 03:21:45 | × | eddiemundo quits (~eddiemund@2001:470:69fc:105::a9c) (Ping timeout: 244 seconds) |
| 03:21:45 | × | Soft quits (~soft-matr@2001:470:69fc:105::c75) (Ping timeout: 244 seconds) |
| 03:21:45 | × | autrim64[m] quits (~autrim64m@2001:470:69fc:105::16a1) (Ping timeout: 244 seconds) |
| 03:21:45 | × | RohitGoswami[m] quits (~rgoswamim@2001:470:69fc:105::16cc) (Ping timeout: 244 seconds) |
| 03:21:45 | × | Las[m] quits (~lasmatrix@2001:470:69fc:105::74e) (Ping timeout: 244 seconds) |
| 03:21:45 | × | ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (Ping timeout: 244 seconds) |
| 03:21:45 | × | the-coot[m] quits (~the-cootm@2001:470:69fc:105::95f) (Ping timeout: 244 seconds) |
| 03:21:45 | × | psydroid quits (~psydroidm@user/psydroid) (Ping timeout: 244 seconds) |
| 03:21:45 | × | ac quits (~aloiscoch@2001:470:69fc:105::65) (Ping timeout: 244 seconds) |
| 03:21:55 | × | jophish quits (~jophish@2001:470:69fc:105::670) (Ping timeout: 264 seconds) |
| 03:21:55 | × | kadoban quits (~kadoban@user/kadoban) (Ping timeout: 264 seconds) |
| 03:21:55 | × | MatrixTravelerbo quits (~voyagert2@2001:470:69fc:105::22) (Ping timeout: 264 seconds) |
| 03:22:03 | × | bitonic quits (~bitonicma@2001:470:69fc:105::1812) (Ping timeout: 244 seconds) |
| 03:22:25 | × | marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Ping timeout: 268 seconds) |
| 03:22:31 | × | jaror[m] quits (~jaror@2001:470:69fc:105::265) (Ping timeout: 264 seconds) |
| 03:22:31 | × | oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Ping timeout: 264 seconds) |
| 03:22:31 | × | tomferon[m] quits (~tomferon@2001:470:69fc:105::268) (Ping timeout: 264 seconds) |
| 03:22:31 | × | bb010g quits (~bb010gmat@2001:470:69fc:105::9a5) (Ping timeout: 264 seconds) |
| 03:22:31 | × | srid[m] quits (~sridmatri@2001:470:69fc:105::1c2) (Ping timeout: 264 seconds) |
| 03:22:31 | × | adziahel[m] quits (~adziahelm@2001:470:69fc:105::b4d) (Ping timeout: 264 seconds) |
| 03:22:31 | × | dualinverter[m] quits (~dualinver@2001:470:69fc:105::16a7) (Ping timeout: 264 seconds) |
| 03:22:31 | × | Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Ping timeout: 264 seconds) |
| 03:22:31 | × | kosmikus[m] quits (~andresloe@2001:470:69fc:105::95d) (Ping timeout: 264 seconds) |
| 03:22:31 | × | bryan[m] quits (~bchreekat@2001:470:69fc:105::16b5) (Ping timeout: 264 seconds) |
| 03:22:31 | × | hjulle[m] quits (~hjullemat@2001:470:69fc:105::1dd) (Ping timeout: 264 seconds) |
| 03:22:31 | × | maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Ping timeout: 264 seconds) |
| 03:22:31 | × | vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Ping timeout: 264 seconds) |
| 03:22:31 | × | fabfianda[m] quits (~fabfianda@2001:470:69fc:105::6db) (Ping timeout: 264 seconds) |
| 03:22:31 | × | maralorn quits (~maralorn@2001:470:69fc:105::251) (Ping timeout: 264 seconds) |
| 03:22:31 | × | sm[m] quits (~sm@plaintextaccounting/sm) (Ping timeout: 264 seconds) |
| 03:22:31 | × | peddie quits (~peddie@2001:470:69fc:105::25d) (Ping timeout: 264 seconds) |
| 03:22:31 | × | fgaz quits (~fgaz@2001:470:69fc:105::842) (Ping timeout: 264 seconds) |
| 03:22:31 | × | thedward[m] quits (~thedwardm@2001:470:69fc:105::f79) (Ping timeout: 264 seconds) |
| 03:22:38 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 272 seconds) |
| 03:22:38 | × | yin[m] quits (~zwromatri@2001:470:69fc:105::1d4) (Ping timeout: 272 seconds) |
| 03:22:41 | × | siraben quits (~siraben@user/siraben) (Ping timeout: 272 seconds) |
| 03:22:53 | → | cjb joins (~cjb@user/cjb) |
| 03:23:38 | → | yd502_ joins (~yd502@180.168.212.6) |
| 03:24:07 | → | azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) |
| 03:24:09 | <hololeap> | I don't know where you find the source for the Maybe instance of Alternative |
| 03:24:28 | <qrpnxz> | wow awesome, i see text is monoid so i can just use generic function <> to concat, works as expected. empty text being mempty. Haskell is nice |
| 03:24:44 | <qrpnxz> | hololeap, it's in Base i believe |
| 03:25:26 | <boxscape> | I would link it but I'm getting a 502 on hackage :( |
| 03:26:03 | × | yd502 quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 03:26:21 | <boxscape> | hololeap since hackage is down here's a link to the ghc repo https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/GHC/Base.hs#L1095-1099 |
| 03:26:29 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 03:26:40 | <boxscape> | wait |
| 03:26:40 | <boxscape> | not hackage |
| 03:26:42 | <boxscape> | hoogle is down |
| 03:26:50 | <boxscape> | I just always use hoogle to find my way through hackage |
| 03:27:48 | <hololeap> | boxscape: ok, but where is some and maybe? |
| 03:27:53 | <hololeap> | I mean many? |
| 03:28:35 | <boxscape> | hololeap many has a default implementation, you don't need to provide an implementation in the instance |
| 03:28:37 | <hololeap> | I suppose they're defined in the class definition for Alternative, but I can't find that... |
| 03:28:39 | <boxscape> | as does some |
| 03:28:48 | <boxscape> | see directly above the linked section |
| 03:29:10 | <boxscape> | hololeap https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/GHC/Base.hs#L1074-1092 |
| 03:29:21 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 03:29:39 | → | lavaman joins (~lavaman@98.38.249.169) |
| 03:29:41 | <hololeap> | oh, I was just searching wrong :p |
| 03:30:24 | <bontaq`> | is hoogle down? :ded: |
| 03:30:33 | <boxscape> | bontaq` yep |
| 03:30:50 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 03:30:51 | <bontaq`> | :summoning ritual: come back to us |
| 03:30:56 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds) |
| 03:31:00 | <boxscape> | @hoogle Alternative |
| 03:31:00 | <lambdabot> | Control.Applicative class Applicative f => Alternative f |
| 03:31:00 | <lambdabot> | GHC.Base class Applicative f => Alternative f |
| 03:31:00 | <lambdabot> | Distribution.Compat.Prelude.Internal class Applicative f => Alternative (f :: Type -> Type) |
| 03:31:05 | <boxscape> | at least lambdabot's works |
| 03:31:17 | × | abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving) |
| 03:31:29 | <bontaq`> | @hoogle Sequence |
| 03:31:29 | <lambdabot> | module Data.Sequence |
| 03:31:29 | <lambdabot> | Data.Yaml.Parser Sequence :: [YamlValue] -> Anchor -> YamlValue |
| 03:31:29 | <lambdabot> | module Text.Regex.Posix.Sequence |
| 03:31:41 | <hololeap> | ok, so it looks like the default implementation of some/many will just loop forever unless the Alternative can contain an empty later on |
| 03:32:47 | <boxscape> | those default definitions are so weird actually, why is the whole where block duplicated when only half of it is used |
| 03:32:59 | <hololeap> | and nothing from base can do that if I understand correctly |
| 03:33:06 | <boxscape> | oh wait |
| 03:33:08 | <boxscape> | it is used :) |
| 03:33:19 | <boxscape> | (s/it/the other half) |
| 03:33:57 | <hololeap> | so some/maybe on an Alternative from base will just loop forever |
| 03:34:22 | <hololeap> | *some/many |
| 03:34:33 | <hololeap> | (I don't know why I keep doing that...) |
| 03:35:00 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 03:35:05 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 03:35:36 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 03:35:44 | <qrpnxz> | so Go has some nice Reader and Writer interfaces that let you simply connect and wrap streams of bytes rather easily. Does haskell have something like that? |
| 03:36:10 | → | Crypt9a2e joins (~Crypt9a2e@2409:4072:301:9da3:dd1a:701:893d:eef1) |
| 03:36:50 | <hololeap> | what do you mean by "connect and wrap"? append? |
| 03:37:22 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 03:38:05 | <qrpnxz> | like you can easily copy a reader to a writer, or wrap a reader or a writer with gzip so that the stream is automatically compressed and decompressed |
| 03:38:57 | → | doublex_ joins (~doublex@2601:542:c480:6ee0:184b:7083:f026:c689) |
| 03:39:23 | <qrpnxz> | or wrap stdin in a buffered reader, or slurp a reader into a buffer with ReadFrom and then wrap that in something else and read from it, or then copy it to another writer and so on |
| 03:39:29 | <hololeap> | hm, the use of Reader/Writer here sounds very different from the haskell versions of those terms. you might be looking for something like conduit |
| 03:39:40 | → | koishi_ joins (~koishi_@67.209.186.120.16clouds.com) |
| 03:39:49 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 03:40:35 | <qrpnxz> | yeah i was thinking i might have to use conduit/pipes or smth like that because what i'm describing i do not see in the stdlib of haskell |
| 03:40:56 | <qrpnxz> | and it's like one of my favourite things in Go |
| 03:41:10 | × | renzhi quits (~xp@2607:fa49:6500:bc00::e7b) (Ping timeout: 244 seconds) |
| 03:41:18 | <hololeap> | there's also streamly, which I haven't used as of yet, but I've heard very good things |
| 03:41:30 | <qrpnxz> | alright thanks |
| 03:41:58 | <hololeap> | those things are almost certainly going to exist in external packages |
| 03:43:08 | <hololeap> | in conduit terms, it would be Source/Sink vs. Reader/Writer |
| 03:43:20 | <qrpnxz> | System.IO actually looks rather limited. Are external libraries also able to implement these kind of system stuff? |
| 03:44:21 | <hololeap> | oh, definitely. most of the stuff in base is pretty low-level |
| 03:44:43 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 03:44:53 | <hololeap> | a big part of becoming competent in haskell is learning which external libraries to use |
| 03:45:16 | <qrpnxz> | no kidding, i mean, i don't see any networking stuff here either oh boy i'm gonna have to do a lot of searching |
| 03:45:55 | <hololeap> | it depends on what kind of networking you're trying to do. are you trying to set up something based on HTTP or a custom protocol? |
| 03:46:43 | <hololeap> | (or something else) |
| 03:46:49 | <qrpnxz> | Well, like let's say i wanted to just listen for TCP connections and then do a TLS handshake on em and dispatch that and so on |
| 03:47:15 | <qrpnxz> | i'm sure haskell has some kind of http lib as well |
| 03:47:35 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 03:48:55 | <hololeap> | the network and tls packages can do what you want, but they're pretty low-level |
| 03:49:07 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 03:50:35 | <hololeap> | one good way to search is to enter a keyword in https://hackage.haskell.org/packages/search and then sort by total downloads |
| 03:50:41 | <qrpnxz> | https://termbin.com/073q don't look so bad |
| 03:50:49 | <qrpnxz> | alright thanks |
| 03:51:03 | → | teaSlurper joins (~chris@81.96.113.213) |
| 03:51:07 | <hololeap> | typing "tls" in there brought up https://hackage.haskell.org/package/tcp-streams |
| 03:51:21 | × | jespada quits (~jespada@90.254.242.55) (Ping timeout: 252 seconds) |
| 03:51:31 | × | cjb quits (~cjb@user/cjb) () |
| 03:51:53 | <qrpnxz> | this one will do tcp as well |
| 03:51:54 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
| 03:53:00 | <hololeap> | sometimes there are two or more competing packages for the same goal, in which case you can look for something about them on reddit or stack exchange |
| 03:53:06 | <qrpnxz> | guess it's hard to live up to the go stdlib, that's got so much. IPv{4,6}, TCP, UDP, TLS, HTTP, HTTPS, DNS, RSA, EDDSA, and so on |
| 03:53:37 | <qrpnxz> | roger that |
| 03:53:46 | → | jespada joins (~jespada@90.254.242.55) |
| 03:54:33 | <juhp> | What are "yellow" package versions on Hackage? |
| 03:55:02 | <boxscape> | qrpnxz I think part may also be that the haskell "leadership" would rather the community finds what the best way to do things is by having an open playing field, rather than mandating one standard from the top down. Though there are pros and cons to both approaches. |
| 03:55:14 | <hololeap> | something that I read once said that Haskell is the opposite of Ruby on Rails, in that RoR has one "blessed" way of doing anything, whereas Haskell has 100 ways |
| 03:55:32 | <hololeap> | so it's just something you have to get used to about the ecosystem |
| 03:55:48 | <juhp> | eg https://hackage.haskell.org/package/crypto-enigma |
| 03:55:49 | <qrpnxz> | boxscape, i mean, nothing prevents you from making your own go http library (indeed, there are many) |
| 03:56:14 | <qrpnxz> | there is a Data.Text alternative even so applies to haskell as well |
| 03:56:35 | <boxscape> | qrpnxz sure, but I think probably fewer people will use it when similar functionality exists in the stdlib |
| 03:57:01 | <hololeap> | although fpcomplete (and by extension the rio package) has been trying to make a "blessed" way for everything, so that would be a good place to check if you get overwhelmed |
| 03:57:03 | <boxscape> | (and it means you have to maintain the standard way of doing things even if the community switches over to a third-party package) |
| 03:57:18 | → | awth13 joins (~user@user/awth13) |
| 03:57:55 | <qrpnxz> | Cause the stdlib one is really good. Sometimes the other libs are used if you need to go fast and loose or smth like that. Actually many stdlib pkgs have been even deprecated when external libraries became way better |
| 03:58:24 | <boxscape> | juhp the css class that makes it yellow is called "unpreferred" |
| 03:58:39 | <juhp> | boxscape: ah thanks! |
| 03:59:36 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 04:00:04 | <boxscape> | qrpnxz ah, yeah, I suppose allowing yourself to deprecate parts of the stdlib means you don't have some of the downsides |
| 04:00:32 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 04:01:32 | × | koishi_ quits (~koishi_@67.209.186.120.16clouds.com) (Remote host closed the connection) |
| 04:02:57 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 04:06:25 | → | yd502_ joins (~yd502@180.168.212.6) |
| 04:07:34 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 245 seconds) |
| 04:08:08 | × | MQ-17J quits (~MQ-17J@8.21.10.116) (Ping timeout: 264 seconds) |
| 04:09:56 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 264 seconds) |
| 04:12:05 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 04:13:13 | × | lbseale_ quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
| 04:15:21 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 04:15:24 | → | wei2912 joins (~wei2912@112.199.250.21) |
| 04:21:40 | → | lavaman joins (~lavaman@98.38.249.169) |
| 04:22:55 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 04:25:04 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 245 seconds) |
| 04:26:25 | → | cjb joins (~cjb@user/cjb) |
| 04:27:34 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 245 seconds) |
| 04:31:59 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:33:06 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 04:37:50 | → | reumeth joins (~reumeth@user/reumeth) |
| 04:39:09 | → | lavaman joins (~lavaman@98.38.249.169) |
| 04:40:18 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 04:41:26 | → | zephyr_ joins (~zephyr@59.88.25.191) |
| 04:43:22 | × | reumeth quits (~reumeth@user/reumeth) (Ping timeout: 244 seconds) |
| 04:48:52 | → | v01d4lph4 joins (~v01d4lph4@user/v01d4lph4) |
| 04:49:45 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 04:51:18 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 04:51:18 | → | pe200012 joins (~pe200012@183.63.73.36) |
| 04:54:53 | × | hmmmas quits (~chenqisu1@183.217.200.246) (Quit: Leaving.) |
| 04:57:53 | × | phma quits (phma@2001:5b0:211f:5688:8179:a979:62a:8bf6) (Quit: Konversation terminated!) |
| 05:00:07 | → | thyriaen joins (~thyriaen@45.178.75.13) |
| 05:02:48 | × | derelict quits (~derelict@user/derelict) (Ping timeout: 244 seconds) |
| 05:02:55 | × | thyriaen quits (~thyriaen@45.178.75.13) (Remote host closed the connection) |
| 05:04:52 | → | thyriaen joins (~thyriaen@45.178.75.13) |
| 05:05:11 | → | lavaman joins (~lavaman@98.38.249.169) |
| 05:05:54 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 05:07:08 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 05:07:41 | → | qbt joins (~edun@user/edun) |
| 05:11:05 | × | alx741 quits (~alx741@186.178.108.59) (Quit: alx741) |
| 05:11:47 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 244 seconds) |
| 05:12:18 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 05:15:43 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 05:19:48 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 272 seconds) |
| 05:21:28 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 05:21:44 | × | Crypt9a2e quits (~Crypt9a2e@2409:4072:301:9da3:dd1a:701:893d:eef1) (Ping timeout: 245 seconds) |
| 05:25:44 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 05:27:52 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 05:29:20 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 05:30:22 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 05:30:35 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 05:30:41 | → | phma joins (phma@2001:5b0:211f:5688:1a5c:72d9:f31b:5496) |
| 05:31:04 | → | chomwitt joins (~Pitsikoko@2a02:587:dc02:b00:98b0:cd42:bd6f:8295) |
| 05:35:00 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds) |
| 05:35:38 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 272 seconds) |
| 05:36:10 | × | _xor quits (~xor@74.215.46.133) (Quit: WeeChat 3.1) |
| 05:36:30 | → | psingh joins (~xor@74.215.46.133) |
| 05:37:12 | × | psingh quits (~xor@74.215.46.133) (Client Quit) |
| 05:37:32 | → | psingh joins (~xor@74.215.46.133) |
| 05:39:43 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 05:40:19 | → | sekun joins (~sekun@180.190.159.117) |
| 05:40:55 | × | psingh quits (~xor@74.215.46.133) (Client Quit) |
| 05:43:07 | → | _xor joins (~xor@74.215.46.133) |
| 05:44:03 | → | agumonke` joins (~user@88.160.31.174) |
| 05:44:27 | × | _xor quits (~xor@74.215.46.133) (Client Quit) |
| 05:44:30 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 272 seconds) |
| 05:45:15 | → | _xor joins (~xor@74.215.46.133) |
| 05:47:20 | × | _xor quits (~xor@74.215.46.133) (Client Quit) |
| 05:47:34 | → | _xor joins (~xor@74.215.46.133) |
| 05:48:50 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 05:49:01 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 05:50:09 | × | bontaq` quits (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 05:53:26 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 05:54:12 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 05:56:00 | <agumonke`> | has anyone seen integer encoding of adjacency matrices ? |
| 05:56:05 | → | pdxleif joins (~leif@75.164.44.108) |
| 05:56:33 | <agumonke`> | [[1 1 1] [1 1 1] [1 1 1]] -> 777 |
| 05:56:56 | → | Bartosz joins (~textual@24.35.90.211) |
| 05:57:39 | → | Crypt9a2e joins (~Crypt9a2e@2409:4072:301:9da3:dd1a:701:893d:eef1) |
| 05:57:58 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 05:59:56 | <int-e> | loopy |
| 06:00:09 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 06:01:35 | <c_wraith> | It's a bit weird to do the decimal conversion in there. |
| 06:02:09 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 245 seconds) |
| 06:02:24 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 06:02:48 | <int-e> | Oh I thought 777 was octal. |
| 06:02:51 | <agumonke`> | my bad |
| 06:02:52 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 272 seconds) |
| 06:02:53 | <agumonke`> | 7 7 7 |
| 06:03:09 | <agumonke`> | I was overly packing data :) |
| 06:04:14 | <agumonke`> | the idea being that for a set of N objects you can just use integers to represent a binary attribute for that set |
| 06:04:49 | <c_wraith> | take it to the extreme and you get chess engine bitboards |
| 06:04:58 | <agumonke`> | either it's a bad idea or it's used already but I've never seen that and if that exists maybe there's a name for it |
| 06:05:09 | <boxscape> | arguably a bitmask is the same as an integer encoding? |
| 06:05:10 | <agumonke`> | c_wraith: gonna investigate |
| 06:06:19 | → | Guest74 joins (~Guest74@109-252-184-94.dynamic.spd-mgts.ru) |
| 06:07:05 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 06:09:24 | × | aerona quits (~aerona@2600:6c54:4600:f300:f3ed:d9b8:4e4c:a83a) (Quit: Leaving) |
| 06:11:19 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 245 seconds) |
| 06:13:56 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 06:14:29 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 06:15:57 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 06:16:12 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 06:20:30 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 06:20:30 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 244 seconds) |
| 06:20:36 | × | pdxleif quits (~leif@75.164.44.108) (Ping timeout: 272 seconds) |
| 06:22:07 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:56f8:8796:29c6:7f5b) |
| 06:25:19 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 06:26:55 | → | mauricio joins (~mauricio@host-181-39-120-169.netlife.ec) |
| 06:28:00 | mauricio | is now known as debclair |
| 06:29:39 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 245 seconds) |
| 06:31:25 | → | yd502_ joins (~yd502@180.168.212.6) |
| 06:31:34 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 06:32:10 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 06:33:40 | × | Guest74 quits (~Guest74@109-252-184-94.dynamic.spd-mgts.ru) (Quit: Client closed) |
| 06:34:26 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 06:36:19 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 245 seconds) |
| 06:39:06 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 06:40:32 | × | Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 06:43:34 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 06:44:31 | → | cfricke joins (~cfricke@user/cfricke) |
| 06:45:09 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 06:46:34 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 06:47:09 | × | xff0x_ quits (~xff0x@2001:1a81:5346:bf00:6e52:b23e:6fc2:e844) (Ping timeout: 245 seconds) |
| 06:47:59 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 245 seconds) |
| 06:50:54 | → | oxide joins (~lambda@user/oxide) |
| 06:51:38 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 272 seconds) |
| 06:52:41 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 06:56:10 | × | Crypt9a2e quits (~Crypt9a2e@2409:4072:301:9da3:dd1a:701:893d:eef1) (Remote host closed the connection) |
| 06:56:28 | → | Crypt9a2e joins (~Crypt9a2e@157.51.3.28) |
| 06:57:10 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 06:57:58 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 272 seconds) |
| 07:01:48 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 07:02:34 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:04:14 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 07:06:17 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 07:07:55 | × | debclair quits (~mauricio@host-181-39-120-169.netlife.ec) (Quit: Leaving) |
| 07:09:04 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 244 seconds) |
| 07:10:55 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 07:11:14 | × | danso quits (~danso@modemcable156.91-20-96.mc.videotron.ca) (Quit: WeeChat 3.1) |
| 07:13:15 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 07:15:29 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 245 seconds) |
| 07:17:54 | × | cjb quits (~cjb@user/cjb) () |
| 07:19:07 | × | sndr quits (~sander@user/sander) (Ping timeout: 272 seconds) |
| 07:19:24 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 07:20:02 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 07:22:14 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 07:23:16 | → | thedward[m] joins (~thedwardm@2001:470:69fc:105::f79) |
| 07:24:02 | → | ac joins (~aloiscoch@2001:470:69fc:105::65) |
| 07:24:03 | → | sm[m] joins (~sm@plaintextaccounting/sm) |
| 07:24:03 | → | siraben joins (~siraben@user/siraben) |
| 07:24:03 | → | psydroid joins (~psydroidm@2001:470:69fc:105::165) |
| 07:24:03 | → | peddie joins (~peddie@2001:470:69fc:105::25d) |
| 07:24:03 | → | fgaz joins (~fgaz@2001:470:69fc:105::842) |
| 07:24:03 | → | MatrixTravelerbo joins (~voyagert2@2001:470:69fc:105::22) |
| 07:24:03 | → | maralorn joins (~maralorn@2001:470:69fc:105::251) |
| 07:24:03 | → | fabfianda[m] joins (~fabfianda@2001:470:69fc:105::6db) |
| 07:24:03 | → | Las[m] joins (~lasmatrix@2001:470:69fc:105::74e) |
| 07:24:03 | → | ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a) |
| 07:24:03 | → | the-coot[m] joins (~the-cootm@2001:470:69fc:105::95f) |
| 07:24:03 | → | vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe) |
| 07:24:03 | → | jophish joins (~jophish@2001:470:69fc:105::670) |
| 07:24:03 | → | kadoban joins (~kadoban@user/kadoban) |
| 07:24:14 | → | maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee) |
| 07:24:15 | → | hjulle[m] joins (~hjullemat@2001:470:69fc:105::1dd) |
| 07:24:15 | → | amesgen[m] joins (~amesgenam@2001:470:69fc:105::82b) |
| 07:24:15 | → | Drezil joins (~drezilkif@2001:470:69fc:105::7f8) |
| 07:24:15 | → | srid[m] joins (~sridmatri@2001:470:69fc:105::1c2) |
| 07:24:15 | → | kosmikus[m] joins (~andresloe@2001:470:69fc:105::95d) |
| 07:24:15 | → | adziahel[m] joins (~adziahelm@2001:470:69fc:105::b4d) |
| 07:24:15 | → | eddiemundo joins (~eddiemund@2001:470:69fc:105::a9c) |
| 07:24:15 | → | bb010g joins (~bb010gmat@2001:470:69fc:105::9a5) |
| 07:24:15 | → | tomferon[m] joins (~tomferon@2001:470:69fc:105::268) |
| 07:24:15 | → | wallymathieu[m] joins (~wallymath@2001:470:69fc:105::16ae) |
| 07:24:15 | → | cdepillabout[m] joins (~cdepillab@2001:470:69fc:105::3d3) |
| 07:24:15 | → | Artem[m] joins (~artemtype@2001:470:69fc:105::75b) |
| 07:24:15 | → | dualinverter[m] joins (~dualinver@2001:470:69fc:105::16a7) |
| 07:24:15 | → | bryan[m] joins (~bchreekat@2001:470:69fc:105::16b5) |
| 07:24:15 | → | Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0) |
| 07:24:15 | → | Soft joins (~soft-matr@2001:470:69fc:105::c75) |
| 07:24:15 | → | marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8) |
| 07:24:15 | → | RohitGoswami[m] joins (~rgoswamim@2001:470:69fc:105::16cc) |
| 07:24:16 | → | autrim64[m] joins (~autrim64m@2001:470:69fc:105::16a1) |
| 07:24:16 | → | yin[m] joins (~zwromatri@2001:470:69fc:105::1d4) |
| 07:24:17 | → | cdsmith joins (~cdsmithma@2001:470:69fc:105::284) |
| 07:24:17 | → | jaror[m] joins (~jaror@2001:470:69fc:105::265) |
| 07:24:17 | → | ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2) |
| 07:24:17 | → | oak- joins (~oakuniver@2001:470:69fc:105::fcd) |
| 07:24:17 | → | bitonic joins (~bitonic@2001:470:69fc:105::1812) |
| 07:24:46 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 268 seconds) |
| 07:27:05 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 07:27:51 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 268 seconds) |
| 07:28:41 | × | tput quits (~tim@S0106a84e3fe54613.ed.shawcable.net) (Ping timeout: 252 seconds) |
| 07:28:50 | → | tput joins (~tim@S0106a84e3fe54613.ed.shawcable.net) |
| 07:29:01 | × | agumonke` quits (~user@88.160.31.174) (Ping timeout: 244 seconds) |
| 07:29:09 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 07:31:37 | → | xff0x_ joins (~xff0x@217.110.198.158) |
| 07:33:40 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 07:33:40 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2121:a570:d35e:ba7a) (Remote host closed the connection) |
| 07:34:30 | × | sekun quits (~sekun@180.190.159.117) (Remote host closed the connection) |
| 07:34:52 | → | sekun joins (~sekun@180.190.159.117) |
| 07:35:55 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 07:36:41 | × | dragestil quits (~quassel@user/dragestil) (Quit: No Ping reply in 180 seconds.) |
| 07:38:06 | × | lechner quits (~lechner@letbox-vps.us-core.com) (Ping timeout: 264 seconds) |
| 07:38:08 | → | chele joins (~chele@user/chele) |
| 07:38:16 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 07:38:30 | × | tput quits (~tim@S0106a84e3fe54613.ed.shawcable.net) (Ping timeout: 272 seconds) |
| 07:38:30 | × | vk3wtf quits (~doc@124.168.198.139) (Ping timeout: 272 seconds) |
| 07:39:06 | → | dragestil joins (~quassel@user/dragestil) |
| 07:39:33 | <gentauro> | anybody know why `stack` tells me that there is a newer version without me "asking" for it? Does it mean that everytime I run `stack` it "sends info" to FP Complete? |
| 07:40:14 | → | tput joins (~tim@S0106a84e3fe54613.ed.shawcable.net) |
| 07:40:30 | × | arahael quits (~arahael@203-206-83-196.tpgi.com.au) (Ping timeout: 264 seconds) |
| 07:40:55 | → | neceve joins (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) |
| 07:42:23 | × | riv quits (~river@tilde.team/user/river) (Killed (ozone (No Spam))) |
| 07:43:34 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 272 seconds) |
| 07:43:38 | <lortabac> | gentauro: I don't know whether it sends any info, but it seems more likely that in this case it **fetches** info about the latest version and compares it with the one that you have |
| 07:44:15 | <gentauro> | lortabac: could be |
| 07:44:38 | → | river joins (~river@tilde.team/user/river) |
| 07:45:53 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 07:46:08 | → | lavaman joins (~lavaman@98.38.249.169) |
| 07:46:13 | <gentauro> | lortabac: https://github.com/commercialhaskell/stack/blob/master/src/main/Main.hs#L134-L142 |
| 07:46:15 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 07:46:23 | <gentauro> | I will investigage -> `globalOptsFromMonoid` |
| 07:47:45 | → | vk3wtf joins (~doc@124.168.198.139) |
| 07:47:47 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 07:48:37 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 07:52:30 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 264 seconds) |
| 07:52:32 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:56f8:8796:29c6:7f5b) (Quit: WeeChat 2.8) |
| 07:53:48 | → | arahael joins (~arahael@203-206-83-196.tpgi.com.au) |
| 07:56:31 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 07:56:53 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 08:01:03 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 08:01:18 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 272 seconds) |
| 08:03:12 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 272 seconds) |
| 08:04:48 | <maerwald> | gentauro: stack downloads some .yaml from an obscure location, which contains available GHC versions and stack versions I believe |
| 08:04:53 | <maerwald> | I had a link once, but I lost it |
| 08:05:40 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 08:06:13 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 08:06:17 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 08:06:56 | × | hiptobecubic quits (~john@c-73-55-99-95.hsd1.fl.comcast.net) (Ping timeout: 264 seconds) |
| 08:07:27 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 244 seconds) |
| 08:07:36 | → | hendursa1 joins (~weechat@user/hendursaga) |
| 08:08:33 | → | yd502_ joins (~yd502@180.168.212.6) |
| 08:09:40 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 252 seconds) |
| 08:10:29 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 252 seconds) |
| 08:14:46 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 08:17:16 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 08:18:44 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 08:19:30 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 264 seconds) |
| 08:21:10 | → | yd502 joins (~yd502@180.168.212.6) |
| 08:23:54 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 08:25:12 | → | lechner joins (~lechner@letbox-vps.us-core.com) |
| 08:28:26 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 244 seconds) |
| 08:29:35 | → | sander joins (~sander@user/sander) |
| 08:29:51 | × | zephyr_ quits (~zephyr@59.88.25.191) (Quit: leaving) |
| 08:33:02 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 08:34:02 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 08:34:29 | → | michalz joins (~michalz@185.246.204.121) |
| 08:35:24 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 08:36:30 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-7fb2-6685-aa0b-ccaa.fixed6.kpn.net) |
| 08:38:06 | × | Shaeto quits (~Shaeto@94.25.234.158) (Ping timeout: 264 seconds) |
| 08:38:42 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 264 seconds) |
| 08:40:00 | <gentauro> | 10:04 < maerwald> gentauro: stack downloads some .yaml from an obscure location |
| 08:40:00 | <gentauro> | :o |
| 08:46:12 | × | killsushi quits (~killsushi@user/killsushi) (Quit: Leaving) |
| 08:48:59 | → | ubert joins (~Thunderbi@p200300ecdf259d9f54bb2464a6e8d03a.dip0.t-ipconnect.de) |
| 08:51:08 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 08:52:34 | <maerwald> | "obscure" bc it's mirrored and whatnot and it took me 20 minutes to find it |
| 08:54:20 | → | zeenk joins (~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41) |
| 08:56:02 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 268 seconds) |
| 08:56:03 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 252 seconds) |
| 08:57:05 | → | nilof joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 08:57:34 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 245 seconds) |
| 08:59:47 | <gentauro> | maerwald: shouldn't it "just" be stated somewhere in the GitHub `readme.md` file? |
| 08:59:56 | <gentauro> | just for "clarity" / "transparency"? |
| 09:00:32 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 252 seconds) |
| 09:00:32 | <merijn> | I mean, that's, like, 90% of the functionality of stack? |
| 09:02:59 | <merijn> | That's like saying GHC should advertise the fact that it compiles Haskell for clarity/transparency |
| 09:04:16 | <gentauro> | merijn: good point |
| 09:05:24 | <maerwald> | I think gentauro was worried stack would be a windows service style backend that logs into your machine to update GHC |
| 09:05:30 | <maerwald> | which wouldn't surprise me :p |
| 09:05:50 | <merijn> | It would surprise me :p |
| 09:06:07 | <merijn> | because that'd mean someone was crazy enough to go through the hassle of engineering something like that |
| 09:06:13 | <maerwald> | gentauro: https://github.com/commercialhaskell/stackage-content/blob/master/stack/stack-setup-2.yaml |
| 09:06:49 | → | yd502_ joins (~yd502@180.168.212.6) |
| 09:06:58 | <maerwald> | "AS OF STACK 1.3.0, THIS INFORMATION IS NO LONGER USED, AND NEWER VERSIONS OF STACK WILL NOT BE ADDED." |
| 09:07:00 | <maerwald> | aha |
| 09:07:06 | <maerwald> | and no description what's done instead |
| 09:07:10 | → | yoctocell joins (~yoctocell@h87-96-130-155.cust.a3fiber.se) |
| 09:07:56 | → | anandprabhu joins (~anandprab@87.201.97.214) |
| 09:09:15 | × | yd502 quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 09:10:13 | <maerwald> | so maybe it IS a phone-home service after all :p |
| 09:11:14 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 09:16:05 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 272 seconds) |
| 09:17:03 | → | yd502 joins (~yd502@180.168.212.6) |
| 09:17:37 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 09:18:36 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 09:19:57 | × | zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving) |
| 09:20:47 | → | nsilv joins (~nsilv@212.103.198.210) |
| 09:21:01 | → | trent1 joins (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 09:21:08 | → | zaquest joins (~notzaques@5.128.210.178) |
| 09:24:01 | <siers> | Is iterateMaybeM just an explicit iterateM + WriterT (MaybeT m a) [a] or similar? https://hackage.haskell.org/package/monad-extras-0.6.0/docs/Control-Monad-Extra.html#v:iterateMaybeM |
| 09:27:19 | → | vpan joins (~vpan@212.117.1.172) |
| 09:35:49 | × | ubert quits (~Thunderbi@p200300ecdf259d9f54bb2464a6e8d03a.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 09:37:29 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 09:38:49 | <siers> | I wonder if that stack will work even |
| 09:41:01 | → | brian_da_mage joins (~Neuromanc@user/briandamag) |
| 09:42:18 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 264 seconds) |
| 09:43:37 | → | dhil joins (~dhil@195.213.192.47) |
| 09:46:55 | → | yd502_ joins (~yd502@180.168.212.6) |
| 09:47:03 | <siers> | I remember reading that WriterT is "slow". Was that the case? Does it only apply when you want to squeeze out more performance? |
| 09:47:14 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:56f8:8796:29c6:7f5b) |
| 09:48:09 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 09:49:25 | <boxscape> | siers I'm not really well informed on that topic but this talks about (even the strict) WriterT having a space leak, which might be what you're referring to https://mail.haskell.org/pipermail/libraries/2012-October/018599.html |
| 09:49:35 | <boxscape> | I believe this version doesn't have that particular problem https://hackage.haskell.org/package/transformers-0.5.6.2/docs/Control-Monad-Trans-Writer-CPS.html |
| 09:50:01 | → | turion joins (~turion@2a02:810d:8abf:c4a8:e8a3:1701:9e78:7013) |
| 09:50:17 | × | yd502 quits (~yd502@180.168.212.6) (Ping timeout: 272 seconds) |
| 09:56:17 | <gentauro> | 11:05 < maerwald> I think gentauro was worried stack would be a windows service style backend that logs into your machine to update GHC |
| 09:56:20 | <gentauro> | xD |
| 09:58:18 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 09:58:20 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 244 seconds) |
| 09:58:25 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 09:58:33 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 09:58:56 | → | Shaeto joins (~Shaeto@94.25.234.158) |
| 10:02:08 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 10:03:22 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 10:03:57 | → | pe200012_ joins (~pe200012@120.236.161.38) |
| 10:04:10 | × | pe200012 quits (~pe200012@183.63.73.36) (Ping timeout: 272 seconds) |
| 10:04:48 | × | chomwitt quits (~Pitsikoko@2a02:587:dc02:b00:98b0:cd42:bd6f:8295) (Ping timeout: 272 seconds) |
| 10:06:57 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 268 seconds) |
| 10:14:25 | × | turion quits (~turion@2a02:810d:8abf:c4a8:e8a3:1701:9e78:7013) (Quit: Leaving.) |
| 10:15:08 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 10:18:03 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 10:18:10 | → | ubert joins (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
| 10:21:22 | pe200012_ | is now known as pe200012 |
| 10:22:18 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 10:22:24 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
| 10:22:29 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 10:25:42 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 10:26:47 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:27:18 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 264 seconds) |
| 10:30:22 | × | nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 10:31:55 | × | nsilv quits (~nsilv@212.103.198.210) (Ping timeout: 244 seconds) |
| 10:33:59 | × | hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 10:35:44 | → | jakzale joins (uid499518@id-499518.charlton.irccloud.com) |
| 10:36:47 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 10:38:25 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:41:15 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 10:42:41 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 10:43:48 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
| 10:44:02 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:44:06 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 10:47:39 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 268 seconds) |
| 10:49:10 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 10:49:21 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 10:49:56 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:50:14 | → | notzmv joins (~zmv@user/notzmv) |
| 10:51:00 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 10:52:55 | → | yd502_ joins (~yd502@180.168.212.6) |
| 10:53:59 | → | M_o_C joins (~moc@dslb-092-075-202-200.092.075.pools.vodafone-ip.de) |
| 10:54:04 | M_o_C | is now known as MoC |
| 10:54:08 | × | bsima quits (~bsima@simatime.com) (Quit: ZNC 1.8.1 - https://znc.in) |
| 10:54:26 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 268 seconds) |
| 10:55:02 | → | bsima joins (~bsima@simatime.com) |
| 10:55:05 | → | xkuru joins (~xkuru@user/xkuru) |
| 10:55:57 | × | blankhart quits (~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) (Ping timeout: 252 seconds) |
| 10:59:27 | MoC | is now known as MoC_ |
| 10:59:45 | MoC_ | is now known as MoC__ |
| 10:59:51 | MoC__ | is now known as MoC |
| 11:00:30 | → | pavonia joins (~user@user/siracusa) |
| 11:00:54 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 11:01:25 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:01:34 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 244 seconds) |
| 11:02:24 | × | MoC quits (~moc@dslb-092-075-202-200.092.075.pools.vodafone-ip.de) (Quit: Konversation terminated!) |
| 11:02:33 | × | pe200012 quits (~pe200012@120.236.161.38) (Ping timeout: 252 seconds) |
| 11:02:37 | → | pe200012_ joins (~pe200012@120.236.161.38) |
| 11:02:38 | → | MoC joins (~moc@dslb-092-075-202-200.092.075.pools.vodafone-ip.de) |
| 11:06:52 | × | fendor quits (~fendor@77.119.128.240.wireless.dyn.drei.com) (Ping timeout: 272 seconds) |
| 11:06:58 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 11:07:07 | × | fendor_ quits (~fendor@77.119.128.240.wireless.dyn.drei.com) (Ping timeout: 272 seconds) |
| 11:07:14 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:07:47 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 11:08:30 | <bwe> | optics: how can I make over with mapM work? https://paste.tomsmeding.com/UeAr0jmw |
| 11:08:46 | → | fendor joins (~fendor@91.141.3.58.wireless.dyn.drei.com) |
| 11:08:53 | → | fendor_ joins (~fendor@91.141.3.58.wireless.dyn.drei.com) |
| 11:12:37 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 272 seconds) |
| 11:13:01 | × | MoC quits (~moc@dslb-092-075-202-200.092.075.pools.vodafone-ip.de) (Changing host) |
| 11:13:01 | → | MoC joins (~moc@user/moc) |
| 11:14:18 | → | oxide joins (~lambda@user/oxide) |
| 11:14:50 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 11:15:44 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 11:17:01 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 11:17:07 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 265 seconds) |
| 11:18:27 | → | chomwitt joins (~Pitsikoko@athedsl-20549.home.otenet.gr) |
| 11:22:09 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 11:24:49 | <dibblego> | well mapM is an optic i.e. a Traversal, but it's hard to tell without types |
| 11:26:10 | × | sekun quits (~sekun@180.190.159.117) (Ping timeout: 244 seconds) |
| 11:27:02 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 11:28:05 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 11:28:08 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 11:28:49 | → | koishi_ joins (~koishi_@67.209.186.120.16clouds.com) |
| 11:29:19 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 11:30:39 | × | koishi_ quits (~koishi_@67.209.186.120.16clouds.com) (Remote host closed the connection) |
| 11:30:41 | × | MoC quits (~moc@user/moc) (Quit: Konversation terminated!) |
| 11:30:56 | → | MoC joins (~moc@user/moc) |
| 11:31:03 | <xerox> | tomsmeding: in firefox the raw link for this last paste shows the wrong encoding, maybe that's the server saying something wrong about it? |
| 11:31:25 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 11:31:45 | → | koishi_ joins (~koishi_@185.209.85.134) |
| 11:32:04 | × | MoC quits (~moc@user/moc) (Client Quit) |
| 11:32:20 | → | MoC joins (~moc@user/moc) |
| 11:32:22 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 244 seconds) |
| 11:32:26 | <boxscape> | do servers say anything about the encoding? I thought it just sends a text file when you click on raw |
| 11:32:36 | × | xkuru quits (~xkuru@user/xkuru) (Remote host closed the connection) |
| 11:32:57 | <tomsmeding> | xerox: the server isn't saying anything about it at all :p |
| 11:33:13 | <tomsmeding> | the reason it works on the normal paste page is that the html inclues a <meta charset="utf-8"> directive |
| 11:33:17 | <merijn> | tomsmeding: Servers do say something |
| 11:33:19 | → | wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
| 11:33:27 | <merijn> | Well, properly configured servers do, anyway :p |
| 11:33:31 | <tomsmeding> | I could send content-type: text/plain; charset=utf-8 |
| 11:33:50 | <tomsmeding> | question is, that assumes that the input that people paste is, in fact, utf-8 |
| 11:33:56 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 264 seconds) |
| 11:34:02 | <tomsmeding> | though I guess I could check that upon pasting |
| 11:34:11 | × | MoC quits (~moc@user/moc) (Client Quit) |
| 11:34:18 | <boxscape> | you can? |
| 11:34:18 | <merijn> | tomsmeding: You can try and detect the encoding on input and then convert to utf-8 before storing |
| 11:34:26 | → | MoC joins (~moc@user/moc) |
| 11:34:34 | <tomsmeding> | merijn: I'm fearful of trying to detect the encoding |
| 11:34:35 | <merijn> | I wonder if you can tell the browser what encoding to use for text fields |
| 11:35:03 | <tomsmeding> | maybe if the page itself is utf-8, "proper" browsers will also use that encoding for submitted text? |
| 11:35:05 | <tomsmeding> | maybe? |
| 11:35:18 | <merijn> | tomsmeding: You can set an Accept-Encoding header, apparently |
| 11:35:41 | <boxscape> | do clipboards have an encoding? |
| 11:35:47 | <tomsmeding> | boxscape: yes |
| 11:35:49 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 11:35:58 | <boxscape> | and can that differ? |
| 11:36:01 | <merijn> | boxscape: Yes, no, maybe |
| 11:36:05 | <merijn> | tomsmeding: Oh, duh |
| 11:36:15 | <boxscape> | okay |
| 11:36:18 | <merijn> | tomsmeding: The browser should be specifying the encoding in the GET/PUT request |
| 11:36:20 | <tomsmeding> | right, on the page in JS I have a JS String |
| 11:36:29 | <tomsmeding> | which is encoding-independent |
| 11:36:39 | <tomsmeding> | ... assuming people have JS enabled |
| 11:36:40 | <merijn> | hah |
| 11:36:44 | <merijn> | That's cute |
| 11:36:57 | <merijn> | You expect JS to have a sane "encoding-independent" semantics for strings |
| 11:37:18 | <tomsmeding> | or is that that WTF-16 thing? |
| 11:37:20 | <merijn> | Personally I'd expect "insane madness that only works through sheer luck" is more accurate :p |
| 11:37:51 | <tomsmeding> | https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-accept-charset |
| 11:37:58 | <tomsmeding> | "The default value means the same encoding as the page." |
| 11:38:03 | × | trent1 quits (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 244 seconds) |
| 11:38:11 | <tomsmeding> | looks like I'm in the clear if the html itself is utf-8 |
| 11:39:53 | <bwe> | dibblego: thanks, I solved it with `traverseOf`. |
| 11:39:54 | <tomsmeding> | so mayve the right fix is to set a charset=UTF-8 content-type on everything, and check for utf-8-correctness upon submission |
| 11:39:57 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 11:40:15 | <merijn> | tomsmeding: That sounds like the most sane way |
| 11:40:26 | <merijn> | tomsmeding: For extra paranoia set Accept-Encoding on the HTTP server too |
| 11:40:48 | <tomsmeding> | for clients/browsers that do wacky stuff? |
| 11:40:51 | <tomsmeding> | I guess |
| 11:40:55 | <tomsmeding> | can't hurt |
| 11:40:57 | <dibblego> | bwe: ok FYI traverseOf = id |
| 11:40:58 | <merijn> | tomsmeding: Just to be extra bullet-proof :p |
| 11:41:08 | <merijn> | tomsmeding: It's strictly more correct to set it than not |
| 11:41:55 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 268 seconds) |
| 11:42:43 | <tomsmeding> | wait Accept-Encoding is a client header |
| 11:44:30 | <merijn> | both, no? |
| 11:45:28 | <tomsmeding> | merijn: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding |
| 11:46:26 | → | zebrag joins (~chris@user/zebrag) |
| 11:48:15 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 11:48:21 | tomjagua1paw | is now known as tomjaguarpaw |
| 11:50:02 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 11:50:42 | × | xprlgjf quits (~gavin@60.27.93.209.dyn.plus.net) (Remote host closed the connection) |
| 11:51:16 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 11:51:26 | → | trent1 joins (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 11:52:34 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 245 seconds) |
| 11:52:57 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 11:53:33 | × | vpan quits (~vpan@212.117.1.172) (Quit: Client closed) |
| 11:55:29 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 245 seconds) |
| 11:58:08 | × | MoC quits (~moc@user/moc) (Quit: Konversation terminated!) |
| 11:58:49 | × | sm2n quits (~sm2n@user/sm2n) (Ping timeout: 245 seconds) |
| 12:03:56 | → | nsilv joins (~nsilv@212.103.198.210) |
| 12:04:30 | × | pe200012_ quits (~pe200012@120.236.161.38) (Ping timeout: 264 seconds) |
| 12:05:08 | × | pbrisbin quits (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net) (Ping timeout: 272 seconds) |
| 12:05:17 | → | pe200012 joins (~pe200012@183.63.73.36) |
| 12:08:28 | <tomsmeding> | xerox: fixed |
| 12:08:28 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 12:08:58 | <xerox> | tomsmeding: grand |
| 12:09:28 | <tomsmeding> | if someone now tries to submit a non-utf-8 paste the server gives you a red-hot 400 Invalid Request :p |
| 12:09:41 | tomsmeding | wonders if there's invalid utf8 in the existing pastes |
| 12:10:27 | → | teaSlurper joins (~chris@81.96.113.213) |
| 12:10:30 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 264 seconds) |
| 12:13:22 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 268 seconds) |
| 12:15:06 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 12:18:17 | × | sheepduck quits (~sheepduck@2607:fea8:2a61:4800::3ae6) (Remote host closed the connection) |
| 12:18:36 | → | sheepduck joins (~sheepduck@2607:fea8:2a61:4800::6b7b) |
| 12:18:49 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 245 seconds) |
| 12:20:14 | × | spoonm quits (spoonm@inaba.spoonm.org) (Quit: ZNC - https://znc.in) |
| 12:21:01 | → | spoonm joins (spoonm@inaba.spoonm.org) |
| 12:22:16 | × | v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection) |
| 12:23:05 | × | chomwitt quits (~Pitsikoko@athedsl-20549.home.otenet.gr) (Quit: Leaving) |
| 12:23:05 | <tomsmeding> | there was one, submitted by me, and it's now gone :) |
| 12:25:27 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 12:25:29 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 12:26:31 | <Clint> | which encoding was it? |
| 12:28:32 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 12:30:05 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds) |
| 12:31:41 | → | themc47 joins (~mc47@xmonad/TheMC47) |
| 12:32:24 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 12:32:59 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 245 seconds) |
| 12:33:54 | × | mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 264 seconds) |
| 12:37:16 | → | teaSlurper joins (~chris@81.96.113.213) |
| 12:42:06 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 12:42:11 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 265 seconds) |
| 12:43:37 | → | pbrisbin joins (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net) |
| 12:44:41 | → | bontaq` joins (~user@ool-18e47f8d.dyn.optonline.net) |
| 12:45:07 | bontaq` | is now known as bontaq |
| 12:45:11 | <Maxdamantus> | My preference would be to just accept the binary data and relay it back, saying it's UTF-8. |
| 12:45:36 | <Maxdamantus> | There's a reason that the charset is part of the "Content-type". |
| 12:46:34 | <Maxdamantus> | It's just informative. Something that's dealing with the content as files or streams shouldn't have to interpret it according to the content-type. |
| 12:47:15 | <Maxdamantus> | When your browser downloads a file, it doesn't mess with the bytes based on the content-type. It just copies the bytes to the filesystem. |
| 12:47:57 | → | oxide joins (~lambda@user/oxide) |
| 12:48:42 | <Maxdamantus> | (and the reason for saying it's UTF-8 is just that UTF-8 should be the default nowadays, but obviously some things have to assume different defaults for historical reasons) |
| 12:49:00 | <merijn> | Maxdamantus: eh...when you open a file *in* the browser it definitely has to do something depending on content-type |
| 12:49:20 | <Maxdamantus> | merijn: sure, when it's rendering it. |
| 12:49:22 | <merijn> | Maxdamantus: I'm not really sure why you're talking about downloading, tbh. |
| 12:49:34 | <Maxdamantus> | merijn: beacuse it's analogous to uploading. |
| 12:49:42 | <merijn> | It was about the raw view on a paste site |
| 12:49:59 | <merijn> | Clearly the browser is expected to *render* the text presented |
| 12:50:07 | × | curiousgay quits (~quassel@178.217.208.8) (Read error: Connection reset by peer) |
| 12:50:19 | × | themc47 quits (~mc47@xmonad/TheMC47) (Quit: Leaving) |
| 12:50:30 | → | curiousgay joins (~quassel@178.217.208.8) |
| 12:50:46 | <Maxdamantus> | Sure, and that will all work out fine if the original data was valid UTF-8. |
| 12:51:31 | <Maxdamantus> | If it wasn't valid UTF-8, the main thing should be that the browser should not crash, which it probably doesn't. |
| 12:51:50 | <Maxdamantus> | But there isn't really any reason to reject the upload if it's invalid. |
| 12:52:03 | <merijn> | I see no reason why it shouldn't correctly render utf-16 or whatever if the webserver properly tracks it |
| 12:52:08 | <Maxdamantus> | and if possible, it should preserve the data instead of corrupting it with replacement characters. |
| 12:53:46 | <Maxdamantus> | You mean relaying back the original charset provided in the upload? |
| 12:54:16 | <Maxdamantus> | That seems a bit dodgy to me. |
| 12:54:57 | <Maxdamantus> | If you want to do something with the uploaded charset, it would probably be better to just convert it to UTF-8 on upload IFF a different charset is explicitly provided. |
| 12:56:02 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 12:56:11 | <Maxdamantus> | If you're sometimes sending charset=utf-8 and sometimes sending charset=utf-16 and sometimes sending charset=8859-1, that's probably just going to lead to more difficulties when diagnosing behaviour of users' clients. |
| 12:56:21 | → | jolly joins (~jolly@208.180.97.158) |
| 12:56:37 | → | Kaipi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 12:56:51 | <Maxdamantus> | If you're always sending charset=utf-8, at least clients should mostly handle the pastes the same way. |
| 12:57:50 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 12:58:32 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 264 seconds) |
| 12:58:58 | <octeep> | Is there a library for getting the machine's network interfaces and their corresponding addresses in Haskell? |
| 12:59:31 | <octeep> | Can't seem to find anything in the network library |
| 12:59:34 | <Maxdamantus> | If I look at a paste in my browser and the server relays back `charset=utf-16`, my browser might show it okay, but if I curl the raw URL, I'm going to get some gibberish in my terminal. |
| 13:00:09 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 13:00:18 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 13:01:15 | → | alx741 joins (~alx741@186.178.108.59) |
| 13:05:17 | × | haltux quits (~haltux@a89-154-181-47.cpe.netcabo.pt) (Ping timeout: 252 seconds) |
| 13:05:36 | <merijn> | octeep: Doubt it |
| 13:05:48 | <merijn> | octeep: But wrapping the relevant C calls should be easy enough |
| 13:06:24 | × | neceve quits (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) (Ping timeout: 244 seconds) |
| 13:06:48 | <merijn> | (well, easy enough of you know C already, moderately difficult if you don't) |
| 13:13:59 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 13:16:02 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 13:25:10 | × | Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Read error: Connection reset by peer) |
| 13:26:58 | <jjhoo> | https://hackage.haskell.org/package/network-info ? |
| 13:27:40 | → | Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 13:28:14 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 13:28:41 | → | reumeth joins (~reumeth@user/reumeth) |
| 13:29:18 | <maerwald> | cross platform even |
| 13:29:23 | <maerwald> | that must have been annoying |
| 13:29:51 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 13:30:15 | <merijn> | Some people just like pain |
| 13:31:56 | → | teaSlurper joins (~chris@81.96.113.213) |
| 13:34:14 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 245 seconds) |
| 13:35:13 | <tomsmeding> | Clint: it was random bytes :p |
| 13:35:21 | → | benin03 joins (~benin@183.82.205.218) |
| 13:35:30 | × | benin03 quits (~benin@183.82.205.218) (Client Quit) |
| 13:36:58 | × | feetwind quits (~mike@user/feetwind) (Ping timeout: 272 seconds) |
| 13:37:01 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 272 seconds) |
| 13:37:22 | → | feetwind joins (~mike@user/feetwind) |
| 13:37:24 | <tomsmeding> | Maxdamantus: if you're using the HTML page for submitting a paste, it's going to be utf8 because (according to MDN) the default encoding for a form submission is the encoding of the page -- which is utf8 here |
| 13:37:55 | <tomsmeding> | so in principle, you can only see that encoding error from the server if you're submitting non-utf8 data in a manual curl request |
| 13:38:06 | × | bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 264 seconds) |
| 13:39:03 | <Maxdamantus> | I imagine that depends how the browser handles "UTF-8". |
| 13:39:32 | <Maxdamantus> | A sensible handling of "UTF-8" in my opinion would involve preserving error bytes if you've copied it from some other source. |
| 13:39:56 | <Maxdamantus> | I'm not sure if browsers do that, but I suspect if they don't it probably just has to do with alternative representations. |
| 13:40:20 | <Maxdamantus> | (since browsers are still at least to some extent based around 16-bit strings) |
| 13:40:35 | Maxdamantus | tries. |
| 13:41:44 | × | nsilv quits (~nsilv@212.103.198.210) (Ping timeout: 264 seconds) |
| 13:46:06 | → | argento joins (~argent0@168-227-96-53.ptr.westnet.com.ar) |
| 13:47:38 | <Maxdamantus> | Hmm .. Firefox seems to do some funny mojibake when I try to paste UTF-8 data with some bad bytes in the middle. |
| 13:48:16 | <Maxdamantus> | It reinterprets my text as Chinese characters when inserting them into a text input. |
| 13:49:54 | → | lavaman joins (~lavaman@98.38.249.169) |
| 13:49:57 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 13:50:05 | <Maxdamantus> | Chrome at least doesn't assume a different encoding, but it does replace the errors with replacement characters. |
| 13:51:06 | → | ikex joins (~ash@user/ikex) |
| 13:51:20 | <Maxdamantus> | but again, I suspect one of the reasons for that is that those elements are based around 16-bit characters, so they will naturally just insert replacement characters when trying to do a UTF-8 to UTF-16 conversion. |
| 13:51:30 | <Maxdamantus> | 16-bit strings* |
| 13:51:59 | <Maxdamantus> | Might be different for a web browser that's not based on JavaScript. |
| 13:52:54 | → | geekosaur joins (~geekosaur@069-135-003-034.biz.spectrum.com) |
| 13:53:41 | × | trent1 quits (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 252 seconds) |
| 13:53:48 | → | nsilv joins (~nsilv@212.103.198.210) |
| 13:54:04 | × | xff0x_ quits (~xff0x@217.110.198.158) (Ping timeout: 272 seconds) |
| 13:54:14 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 13:54:27 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 244 seconds) |
| 13:54:58 | × | jespada quits (~jespada@90.254.242.55) (Ping timeout: 244 seconds) |
| 13:55:35 | → | haskl joins (~haskeller@2601:643:897f:561d::af3) |
| 13:55:49 | → | kluk joins (~kluk@2603-7000-9b3f-6934-8981-4e0b-0555-b388.res6.spectrum.com) |
| 13:56:28 | → | jespada joins (~jespada@90.254.242.55) |
| 14:00:25 | × | fryguybob quits (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) (Quit: leaving) |
| 14:03:23 | × | kluk quits (~kluk@2603-7000-9b3f-6934-8981-4e0b-0555-b388.res6.spectrum.com) (Read error: Connection reset by peer) |
| 14:04:45 | <Maxdamantus> | Heh. It works as I described using edbrowse. |
| 14:04:51 | → | kluk joins (~kluk@2603-7000-9b3f-6934-8981-4e0b-0555-b388.res6.spectrum.com) |
| 14:05:29 | × | orion quits (~orion@user/orion) (Ping timeout: 245 seconds) |
| 14:06:38 | <Maxdamantus> | and Dillo. |
| 14:08:08 | <Maxdamantus> | Both browsers have handling for UTF-8, but there isn't any real reason for them to corrupt the error bytes, since they're presumably just handling the UTF-8 bytes internally. |
| 14:08:23 | <tomsmeding> | s/bytes/as bytes/ ? |
| 14:08:31 | <tomsmeding> | that's what I would expect, and that's also what pastebin-haskell does |
| 14:08:51 | <tomsmeding> | either you don't care about encoding and just process bytes, or you ensure an encoding and work with that |
| 14:09:38 | × | dhil quits (~dhil@195.213.192.47) (Ping timeout: 252 seconds) |
| 14:09:39 | <tomsmeding> | while there is some merit with trying to use an encoding but retaining error bytes in case they exist, I guess, it sounds like an approach that is guaranteed to give bugs for eternity |
| 14:09:41 | <Maxdamantus> | Well, Dillo cares about the encoding, because the valid UTF-8 subsequences are rendered as the expected Unicode characters. |
| 14:09:56 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 14:09:56 | × | kluk quits (~kluk@2603-7000-9b3f-6934-8981-4e0b-0555-b388.res6.spectrum.com) (Read error: Connection reset by peer) |
| 14:10:01 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 14:10:10 | <tomsmeding> | or just very slow code if you have to re-check every part again every time you use the data because you can't actually assume any of your strings are valid in your encoding of choice |
| 14:10:54 | <tomsmeding> | I wonder what Dillo would do if the page is in utf-16 |
| 14:11:18 | <tomsmeding> | would it actually go convert to utf-16 or does it just do bytes internally up until it has to draw something on-screen |
| 14:11:25 | <Maxdamantus> | I'm actually sceptical about what you said about the page encoding. |
| 14:11:36 | <Maxdamantus> | I'll have to try that too. |
| 14:13:53 | × | dunkeln quits (~dunkeln@94.129.65.28) (Quit: leaving) |
| 14:14:51 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 268 seconds) |
| 14:15:32 | <Maxdamantus> | Hm, okay, it does seem to be true. |
| 14:15:43 | <Maxdamantus> | but it's confusing, because I don't see anything in the request denoting the character set. |
| 14:16:08 | <Maxdamantus> | Just has "Content-Type: application/x-www-form-urlencoded". |
| 14:16:55 | × | curiousgay quits (~quassel@178.217.208.8) (Read error: Connection reset by peer) |
| 14:17:21 | → | MoC joins (~moc@user/moc) |
| 14:17:31 | × | anandprabhu quits (~anandprab@87.201.97.214) (Quit: Leaving) |
| 14:17:50 | → | curiousgay joins (~quassel@178.217.208.8) |
| 14:19:33 | → | jess joins (~jess@libera/staff/jess) |
| 14:19:58 | <Maxdamantus> | Dillo doesn't seemo to support other encodings. |
| 14:20:18 | <Maxdamantus> | Which is fair enough, since "utf-8" is the only valid encoding in HTML5. |
| 14:20:48 | × | Crypt9a2e quits (~Crypt9a2e@157.51.3.28) (Ping timeout: 244 seconds) |
| 14:22:22 | → | dhil joins (~dhil@80.208.56.181) |
| 14:24:22 | → | nijopa joins (~nijopa@pool-98-118-125-240.bstnma.fios.verizon.net) |
| 14:26:44 | × | azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 245 seconds) |
| 14:26:57 | → | azeem joins (~azeem@176.200.240.211) |
| 14:28:19 | × | psydroid quits (~psydroidm@2001:470:69fc:105::165) (Changing host) |
| 14:28:19 | → | psydroid joins (~psydroidm@user/psydroid) |
| 14:30:20 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 14:30:43 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 14:33:13 | × | hgolden quits (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!) |
| 14:34:46 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 14:34:56 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 252 seconds) |
| 14:35:37 | <wwalker> | lyxia: Thank you |
| 14:36:50 | × | qbt quits (~edun@user/edun) (Quit: WeeChat 3.1) |
| 14:37:10 | → | qbt joins (~edun@user/edun) |
| 14:37:20 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:38:03 | → | hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) |
| 14:39:33 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 14:40:20 | → | hendursaga joins (~weechat@user/hendursaga) |
| 14:41:32 | → | teaSlurper joins (~chris@81.96.113.213) |
| 14:45:54 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 245 seconds) |
| 14:50:06 | × | dhil quits (~dhil@80.208.56.181) (Ping timeout: 264 seconds) |
| 14:50:35 | → | bontaq` joins (~user@ool-18e47f8d.dyn.optonline.net) |
| 14:50:39 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 14:51:49 | × | azeem quits (~azeem@176.200.240.211) (Read error: Connection reset by peer) |
| 14:51:59 | → | altern joins (~Sergii@altern.corbina.com.ua) |
| 14:52:27 | → | azeem joins (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) |
| 14:53:11 | × | altern quits (~Sergii@altern.corbina.com.ua) (Client Quit) |
| 14:53:26 | → | Scotty_Trees2 joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
| 14:54:54 | × | berberman quits (~berberman@user/berberman) (Ping timeout: 244 seconds) |
| 14:54:56 | × | Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Ping timeout: 264 seconds) |
| 14:55:02 | Scotty_Trees2 | is now known as Scotty_Trees |
| 14:55:21 | → | berberman joins (~berberman@user/berberman) |
| 14:55:33 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Ping timeout: 272 seconds) |
| 14:56:36 | → | bitmapper joins (uid464869@id-464869.tooting.irccloud.com) |
| 14:59:59 | × | azeem quits (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 15:00:38 | → | Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:9432:38ed:ae4e:1cf1) |
| 15:02:12 | × | nijopa quits (~nijopa@pool-98-118-125-240.bstnma.fios.verizon.net) (Remote host closed the connection) |
| 15:02:41 | → | AgentM joins (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) |
| 15:03:38 | → | dhil joins (~dhil@195.213.192.47) |
| 15:04:48 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 15:05:25 | → | nijopa joins (~nijopa@pool-98-118-125-240.bstnma.fios.verizon.net) |
| 15:05:34 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
| 15:07:28 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 15:07:47 | × | nijopa quits (~nijopa@pool-98-118-125-240.bstnma.fios.verizon.net) (Read error: Connection reset by peer) |
| 15:08:14 | → | nijopa joins (~nijopa@pool-98-118-125-240.bstnma.fios.verizon.net) |
| 15:09:18 | → | xenon- joins (~bc817c21@217.29.117.252) |
| 15:09:48 | → | a6a45081-2b83 joins (~aditya@106.214.237.94) |
| 15:10:11 | → | aerona joins (~aerona@2600:6c54:4600:f300:4447:2579:c2f7:363d) |
| 15:12:08 | × | curiousgay quits (~quassel@178.217.208.8) (Read error: Connection reset by peer) |
| 15:13:04 | → | neceve joins (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) |
| 15:13:11 | → | curiousgay joins (~quassel@178.217.208.8) |
| 15:15:42 | × | MoC quits (~moc@user/moc) (Read error: Connection reset by peer) |
| 15:15:48 | → | MoC_ joins (~moc@user/moc) |
| 15:15:55 | × | pja quits (~pja@2a02:8010:6098:0:f2de:f1ff:fe2c:3d9) (Quit: WeeChat 2.8) |
| 15:16:57 | → | xff0x_ joins (~xff0x@2001:1a81:5346:bf00:1313:feb6:d304:287) |
| 15:18:15 | MoC_ | is now known as MoC |
| 15:18:22 | × | curiousgay quits (~quassel@178.217.208.8) (Ping timeout: 268 seconds) |
| 15:18:42 | → | Deide joins (~Deide@wire.desu.ga) |
| 15:18:42 | × | Deide quits (~Deide@wire.desu.ga) (Changing host) |
| 15:18:42 | → | Deide joins (~Deide@user/deide) |
| 15:19:17 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 15:23:07 | → | azeem joins (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) |
| 15:25:37 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 15:30:22 | → | Bartosz joins (~textual@24.35.90.211) |
| 15:32:49 | → | curiousgay joins (~quassel@178.217.208.8) |
| 15:34:27 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 15:34:35 | × | a6a45081-2b83 quits (~aditya@106.214.237.94) (Remote host closed the connection) |
| 15:35:24 | × | AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Read error: Connection reset by peer) |
| 15:35:46 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1) |
| 15:36:50 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 15:37:26 | <siraben> | How can I debug `ld' failed in phase `Merge objects'. (Exit code: 1) on macOS? |
| 15:38:13 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 15:38:20 | × | Kaipi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 15:40:26 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 15:42:18 | × | NieDzejkob quits (~quassel@195.149.98.3) (Ping timeout: 264 seconds) |
| 15:43:20 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) (Remote host closed the connection) |
| 15:43:22 | → | chomwitt joins (~Pitsikoko@2a02:587:dc02:b00:98b0:cd42:bd6f:8295) |
| 15:46:32 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:56f8:8796:29c6:7f5b) (Quit: WeeChat 2.8) |
| 15:48:10 | julian1 | is now known as jmjl |
| 15:48:15 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1d2f:92ad:f3ce:a171) |
| 15:48:42 | × | mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 272 seconds) |
| 15:52:29 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:54:39 | × | Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 245 seconds) |
| 15:56:24 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 15:57:19 | × | Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:9432:38ed:ae4e:1cf1) (Quit: Leaving) |
| 15:57:25 | × | argento quits (~argent0@168-227-96-53.ptr.westnet.com.ar) (Ping timeout: 244 seconds) |
| 15:57:37 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 15:58:23 | × | ubert quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection) |
| 16:00:13 | × | nsilv quits (~nsilv@212.103.198.210) (Quit: WeeChat 3.0.1) |
| 16:00:41 | → | lavaman joins (~lavaman@98.38.249.169) |
| 16:02:41 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 16:03:18 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 16:04:14 | × | Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:05:50 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-7fb2-6685-aa0b-ccaa.fixed6.kpn.net) (Quit: Leaving) |
| 16:07:38 | → | Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 16:10:03 | → | argento joins (~argent0@168-227-96-53.ptr.westnet.com.ar) |
| 16:13:49 | × | thyriaen quits (~thyriaen@45.178.75.13) (Remote host closed the connection) |
| 16:15:30 | × | boxscape quits (~boxscape@user/boxscape) (Ping timeout: 252 seconds) |
| 16:15:34 | <siers> | which one is the Just lens? |
| 16:16:35 | <Taneb> | siers: that's not a question that makes sense to me. |
| 16:16:55 | <maerwald> | siers: _Just prism? |
| 16:19:02 | × | fluffyballoon quits (~fluffybal@2620:72:0:6480::10f7) (Quit: Client closed) |
| 16:20:09 | <maerwald> | % preview _Just (Just 1) |
| 16:20:10 | <yahb> | maerwald: Just 1 |
| 16:20:18 | <maerwald> | exciting |
| 16:20:56 | <siers> | somehow I threw keywords into google and couldn't find it |
| 16:20:58 | <siers> | maerwald, thanks |
| 16:21:10 | <[exa]> | siraben: what did you attempt? killing `ld` is not really easy |
| 16:21:11 | → | statusbot joins (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
| 16:21:24 | → | ordinate joins (~ordinate@c-68-38-144-3.hsd1.in.comcast.net) |
| 16:21:34 | <ordinate> | good afternoon everyone |
| 16:21:41 | → | derelict joins (~derelict@user/derelict) |
| 16:23:20 | → | yaroot4 joins (~yaroot@6.3.30.125.dy.iij4u.or.jp) |
| 16:24:21 | → | mjs2600_ joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 16:24:21 | → | tlax_ joins (tlax@kapsi.fi) |
| 16:24:41 | → | forell_ joins (~forell@host-178-216-90-220.sta.tvknaszapraca.pl) |
| 16:24:52 | → | eldritch__ joins (~eldritch@134.209.221.71) |
| 16:24:56 | → | machined1od joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 16:24:58 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 16:25:27 | → | Unode_ joins (~Unode@194.94.44.220) |
| 16:26:14 | → | zebragg joins (~chris@user/zebrag) |
| 16:26:16 | → | ptrcmd_ joins (~ptrcmd@user/ptrcmd) |
| 16:26:30 | → | Vq_ joins (~vq@90-227-195-41-no77.tbcn.telia.com) |
| 16:26:39 | → | argento_ joins (~argent0@168-227-96-53.ptr.westnet.com.ar) |
| 16:26:42 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 16:26:45 | → | shane joins (~shane@ana.rch.ist) |
| 16:26:51 | → | kumo joins (~kumo@139.180.144.166) |
| 16:26:55 | → | mjrosenb_ joins (~mrosenbe@104.225.243.2) |
| 16:27:06 | → | pretty_d1 joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 16:27:48 | → | tremon joins (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) |
| 16:28:39 | → | safinaskar joins (~safinaska@109-252-90-89.nat.spd-mgts.ru) |
| 16:28:55 | → | Bartosz joins (~textual@24.35.90.211) |
| 16:28:57 | × | Bartosz quits (~textual@24.35.90.211) (Client Quit) |
| 16:30:34 | → | mniip_ joins (mniip@libera/staff/mniip) |
| 16:30:47 | × | koishi_ quits (~koishi_@185.209.85.134) (Quit: /ragequit) |
| 16:31:00 | × | argento quits (~argent0@168-227-96-53.ptr.westnet.com.ar) (*.net *.split) |
| 16:31:00 | × | jakalx quits (~jakalx@base.jakalx.net) (*.net *.split) |
| 16:31:00 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (*.net *.split) |
| 16:31:00 | × | jess quits (~jess@libera/staff/jess) (*.net *.split) |
| 16:31:00 | × | feetwind quits (~mike@user/feetwind) (*.net *.split) |
| 16:31:00 | × | zebrag quits (~chris@user/zebrag) (*.net *.split) |
| 16:31:00 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (*.net *.split) |
| 16:31:00 | × | jaror[m] quits (~jaror@2001:470:69fc:105::265) (*.net *.split) |
| 16:31:00 | × | ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (*.net *.split) |
| 16:31:00 | × | oak- quits (~oakuniver@2001:470:69fc:105::fcd) (*.net *.split) |
| 16:31:00 | × | bitonic quits (~bitonic@2001:470:69fc:105::1812) (*.net *.split) |
| 16:31:00 | × | autrim64[m] quits (~autrim64m@2001:470:69fc:105::16a1) (*.net *.split) |
| 16:31:00 | × | bb010g quits (~bb010gmat@2001:470:69fc:105::9a5) (*.net *.split) |
| 16:31:00 | × | tomferon[m] quits (~tomferon@2001:470:69fc:105::268) (*.net *.split) |
| 16:31:00 | × | wallymathieu[m] quits (~wallymath@2001:470:69fc:105::16ae) (*.net *.split) |
| 16:31:00 | × | vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (*.net *.split) |
| 16:31:00 | × | fabfianda[m] quits (~fabfianda@2001:470:69fc:105::6db) (*.net *.split) |
| 16:31:00 | × | ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (*.net *.split) |
| 16:31:00 | × | the-coot[m] quits (~the-cootm@2001:470:69fc:105::95f) (*.net *.split) |
| 16:31:00 | × | psydroid quits (~psydroidm@user/psydroid) (*.net *.split) |
| 16:31:00 | × | maralorn quits (~maralorn@2001:470:69fc:105::251) (*.net *.split) |
| 16:31:00 | × | fgaz quits (~fgaz@2001:470:69fc:105::842) (*.net *.split) |
| 16:31:00 | × | kadoban quits (~kadoban@user/kadoban) (*.net *.split) |
| 16:31:00 | × | siraben quits (~siraben@user/siraben) (*.net *.split) |
| 16:31:00 | × | doublex_ quits (~doublex@2601:542:c480:6ee0:184b:7083:f026:c689) (*.net *.split) |
| 16:31:00 | × | haskl quits (~haskeller@2601:643:897f:561d::af3) (*.net *.split) |
| 16:31:00 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split) |
| 16:31:00 | × | codedmart quits (codedmart@2600:3c01::f03c:92ff:fefe:8511) (*.net *.split) |
| 16:31:00 | × | Deewiant quits (~deewiant@de1.ut.deewiant.iki.fi) (*.net *.split) |
| 16:31:00 | × | fvr quits (uid503686@id-503686.highgate.irccloud.com) (*.net *.split) |
| 16:31:00 | × | yaroot quits (~yaroot@6.3.30.125.dy.iij4u.or.jp) (*.net *.split) |
| 16:31:00 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (*.net *.split) |
| 16:31:00 | × | qoelet quits (~kumo@139.180.144.166) (*.net *.split) |
| 16:31:00 | × | ptrcmd quits (~ptrcmd@user/ptrcmd) (*.net *.split) |
| 16:31:00 | × | Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (*.net *.split) |
| 16:31:00 | × | statusbot1 quits (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (*.net *.split) |
| 16:31:00 | × | relrod quits (~relrod@redhat/ansible.staff.relrod) (*.net *.split) |
| 16:31:00 | × | jamestmartin quits (james@jtmar.me) (*.net *.split) |
| 16:31:00 | × | zzz quits (~yin@user/yin) (*.net *.split) |
| 16:31:00 | × | robertm quits (robertm@rojoma.com) (*.net *.split) |
| 16:31:00 | × | welterde quits (welterde@thinkbase.srv.welterde.de) (*.net *.split) |
| 16:31:00 | × | nurupo quits (~nurupo.ga@user/nurupo) (*.net *.split) |
| 16:31:00 | × | systemfault quits (sid267009@id-267009.highgate.irccloud.com) (*.net *.split) |
| 16:31:00 | × | mniip quits (mniip@libera/staff/mniip) (*.net *.split) |
| 16:31:00 | × | Vq quits (~vq@90-227-195-41-no77.tbcn.telia.com) (*.net *.split) |
| 16:31:00 | × | idnar quits (sid12240@id-12240.tooting.irccloud.com) (*.net *.split) |
| 16:31:00 | × | edmundnoble_ quits (sid229620@id-229620.brockwell.irccloud.com) (*.net *.split) |
| 16:31:00 | × | cohn quits (~noone@user/cohn) (*.net *.split) |
| 16:31:00 | × | tlax quits (~ArgusTang@kapsi.fi) (*.net *.split) |
| 16:31:00 | × | totbwf_ quits (sid402332@id-402332.highgate.irccloud.com) (*.net *.split) |
| 16:31:00 | × | shane_ quits (~shane@ana.rch.ist) (*.net *.split) |
| 16:31:00 | × | mjrosenb quits (~mrosenbe@nyc.schrodinger.com) (*.net *.split) |
| 16:31:00 | × | glguy quits (x@libera/staff/glguy) (*.net *.split) |
| 16:31:00 | × | amk quits (~amk@176.61.106.150) (*.net *.split) |
| 16:31:00 | × | forell quits (~forell@host-178-216-90-220.sta.tvknaszapraca.pl) (*.net *.split) |
| 16:31:01 | × | eldritch_ quits (~eldritch@134.209.221.71) (*.net *.split) |
| 16:31:01 | × | img quits (~img@user/img) (*.net *.split) |
| 16:31:02 | yaroot4 | is now known as yaroot |
| 16:31:03 | Unode_ | is now known as Unode |
| 16:31:13 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:31:23 | → | amk joins (~amk@176.61.106.150) |
| 16:32:40 | ptrcmd_ | is now known as ptrcmd |
| 16:32:41 | × | river quits (~river@tilde.team/user/river) (Quit: Leaving) |
| 16:35:51 | × | dcoutts_ quits (~duncan@94.186.125.91.dyn.plus.net) (Ping timeout: 252 seconds) |
| 16:36:36 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 16:37:23 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 16:38:30 | → | Deewiant joins (~deewiant@de1.ut.deewiant.iki.fi) |
| 16:40:23 | × | jolly quits (~jolly@208.180.97.158) (Ping timeout: 268 seconds) |
| 16:40:52 | → | cohn joins (~noone@user/cohn) |
| 16:41:37 | × | azeem quits (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) (Ping timeout: 268 seconds) |
| 16:41:48 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 16:41:49 | → | pdxleif joins (~leif@75.164.44.108) |
| 16:42:24 | × | xff0x_ quits (~xff0x@2001:1a81:5346:bf00:1313:feb6:d304:287) (Ping timeout: 265 seconds) |
| 16:43:02 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 16:44:10 | → | jess joins (~jess@libera/staff/jess) |
| 16:44:10 | → | azeem joins (~azeem@176.200.240.211) |
| 16:44:13 | → | xff0x_ joins (~xff0x@185.65.135.235) |
| 16:45:13 | × | michalz quits (~michalz@185.246.204.121) (Remote host closed the connection) |
| 16:45:54 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 16:48:55 | × | argento_ quits (~argent0@168-227-96-53.ptr.westnet.com.ar) (Ping timeout: 272 seconds) |
| 16:50:12 | <dminuoso> | 23:45:41 monochrom | I think that the motivation for sysfs was shelll scripts. "echo 1 > /sys/foo/bar/power-saving-mode" is very shell-friendly. It would suck to have to write C code for that, even if it's just an ioctl call. |
| 16:50:41 | <dminuoso> | That last bit is weird. Why "even if it's just...". ioctl is a poor and unergonomic API. |
| 16:50:42 | → | totbwf_ joins (sid402332@id-402332.highgate.irccloud.com) |
| 16:50:43 | → | jamestmartin joins (james@jtmar.me) |
| 16:50:47 | → | relrod joins (~relrod@redhat/ansible.staff.relrod) |
| 16:50:47 | → | idnar joins (sid12240@id-12240.tooting.irccloud.com) |
| 16:50:50 | → | codedmart joins (~codedmart@li335-49.members.linode.com) |
| 16:50:50 | → | haskl joins (~haskeller@2601:643:897f:561d::af3) |
| 16:50:51 | → | systemfault joins (sid267009@id-267009.highgate.irccloud.com) |
| 16:50:52 | → | fvr joins (uid503686@id-503686.highgate.irccloud.com) |
| 16:50:54 | → | nurupo joins (~nurupo.ga@user/nurupo) |
| 16:50:56 | → | zzz joins (~yin@user/yin) |
| 16:50:56 | → | Taneb joins (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) |
| 16:50:57 | → | robertm joins (robertm@rojoma.com) |
| 16:50:57 | → | edmundnoble_ joins (sid229620@id-229620.brockwell.irccloud.com) |
| 16:51:01 | → | feetwind joins (~mike@user/feetwind) |
| 16:51:05 | → | doublex_ joins (~doublex@2601:542:c480:6ee0:184b:7083:f026:c689) |
| 16:51:12 | → | welterde joins (welterde@thinkbase.srv.welterde.de) |
| 16:51:14 | → | glguy_ joins (x@libera/staff/glguy) |
| 16:51:17 | glguy_ | is now known as glguy |
| 16:51:22 | → | ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2) |
| 16:51:47 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 16:51:55 | → | oak- joins (~oakuniver@2001:470:69fc:105::fcd) |
| 16:52:25 | × | pretty_d1 quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-rc1) |
| 16:53:23 | jess | is now known as j |
| 16:54:09 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 16:54:57 | <safinaskar> | Please, SAVE THE WORLD from yet another (zillionth) parsing lib! I want monadic (or arrow based) parsing lib with unbiased choice. I didn't find one, so I am plan to write it and publish to hackage (this seems relatively easy for me, i already published libs to hackage in the past). So, please help me found lib I want, overwise I will have to write |
| 16:54:58 | <safinaskar> | my own and publish it. This was THREAT! So, what I want? I want monadic (or arrow) parsing lib with unbiased choice. The lib should not merely output AST, instead it should allow post-processing the data interleaved with parsing. Also I want ability to generate errors and warnings with location info. See more here: https://paste.debian.net/1200885/ |
| 16:55:49 | <int-e> | dminuoso: https://twitter.com/d_feldman/status/1399951777051598849 |
| 16:56:27 | <dminuoso> | int-e: Haha! |
| 16:57:02 | × | xff0x_ quits (~xff0x@185.65.135.235) (Ping timeout: 268 seconds) |
| 16:57:32 | <exarkun> | Does Wai middleware have to do something special to handle error cases? |
| 16:57:43 | → | boxscape joins (~boxscape@user/boxscape) |
| 16:57:53 | <exarkun> | I tried to use Network.Wai.Middleware.Cors w/ Servant but it only does anything for success-case responses |
| 16:58:05 | → | Andros joins (~Andros@176.116.80.1) |
| 16:58:31 | → | xff0x_ joins (~xff0x@2001:1a81:5346:bf00:ada3:bdcd:e60c:3e25) |
| 17:00:58 | <dminuoso> | exarkun: No, there's no special treatemnt of error cases. If that's the case, then that's how the middleware is written. |
| 17:00:58 | → | kadoban joins (~kadoban@user/kadoban) |
| 17:01:17 | <dminuoso> | Just out of curiosity, is this perhaps what you're looking for? https://hackage.haskell.org/package/wai-cors-0.2.7/docs/Network-Wai-Middleware-Cors.html#v:corsIgnoreFailures |
| 17:01:25 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
| 17:01:32 | <dminuoso> | Im not familiar with the library, it just looks like it's what you want perhaps. |
| 17:02:15 | <dminuoso> | Ah no, that's something else. |
| 17:02:17 | → | NieDzejkob joins (~quassel@195.149.98.3) |
| 17:02:48 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 17:02:55 | j | is now known as jess |
| 17:03:00 | <exarkun> | now my test suite is giving me apparently conflicting information so I'm going to stare at it for a while and see if I can invent a consistent interpretation.. |
| 17:04:15 | <dminuoso> | exarkun: Looking at the source code, it does not intercept responses. |
| 17:04:26 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
| 17:04:33 | → | siraben joins (~siraben@user/siraben) |
| 17:04:34 | <dminuoso> | All the cors logic seems to happen before the request is handed off. |
| 17:04:57 | <dminuoso> | See https://hackage.haskell.org/package/wai-cors-0.2.7/docs/src/Network.Wai.Middleware.Cors.html#cors |
| 17:04:57 | → | img joins (~img@user/img) |
| 17:06:39 | → | river joins (~river@tilde.team/user/river) |
| 17:07:36 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 17:08:21 | <safinaskar> | so? is there such parsing lib? (see my question above) |
| 17:09:51 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 17:10:14 | × | curiousgay quits (~quassel@178.217.208.8) (Read error: Connection reset by peer) |
| 17:10:26 | × | jiribenes quits (~jiribenes@rosa.jiribenes.com) (Ping timeout: 265 seconds) |
| 17:10:26 | × | NieDzejkob quits (~quassel@195.149.98.3) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 17:10:46 | → | teaSlurper joins (~chris@81.96.113.213) |
| 17:11:38 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 17:11:50 | × | neceve quits (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) (Ping timeout: 268 seconds) |
| 17:12:44 | <exarkun> | meh seems like the middleware isn't doing _anything_ in the tests |
| 17:13:03 | → | fgaz joins (~fgaz@2001:470:69fc:105::842) |
| 17:13:46 | <dolio> | Is ReadP unbiased? |
| 17:14:35 | <monochrom> | Yes. Its whole point. It also offers a biased <+++ |
| 17:14:40 | <dolio> | Anything with `commit` instead of `try` is probably unbiased by default, too. |
| 17:15:29 | <safinaskar> | for example? |
| 17:15:43 | × | derelict quits (~derelict@user/derelict) (Ping timeout: 272 seconds) |
| 17:16:09 | → | econo joins (uid147250@user/econo) |
| 17:16:29 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 17:18:23 | × | river quits (~river@tilde.team/user/river) (Quit: Leaving) |
| 17:18:35 | <ski> | @hackage parsek -- also this |
| 17:18:35 | <lambdabot> | https://hackage.haskell.org/package/parsek -- also this |
| 17:19:26 | <dolio> | uu-parsinglib |
| 17:19:31 | × | reumeth quits (~reumeth@user/reumeth) (Ping timeout: 272 seconds) |
| 17:20:57 | → | haltux joins (~haltux@a89-154-181-47.cpe.netcabo.pt) |
| 17:21:19 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:21:37 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 17:23:56 | <dolio> | The latter doesn't seem to have an explicit commit, just extra biased operators like ReadP. |
| 17:24:45 | <safinaskar> | ski: function "parse" from Text-ParserCombinators-Parsek returns (Either (Err s) r) |
| 17:24:52 | <safinaskar> | ski: you can see (r) here, not ([r]) |
| 17:25:00 | <safinaskar> | ski: so, there is not unbiased choice |
| 17:25:30 | <safinaskar> | ski: oops, i missed "allResults" |
| 17:25:33 | <dolio> | That seems like a non sequitur. |
| 17:25:39 | × | Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 272 seconds) |
| 17:25:49 | → | lbseale_ joins (~lbseale@user/ep1ctetus) |
| 17:26:14 | → | maralorn joins (~maralorn@2001:470:69fc:105::251) |
| 17:26:32 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 17:27:13 | <safinaskar> | ski: but i don't see any way in "parsek" to report semantic error (i. e. "mismatched type") or embed some another monad into parsek |
| 17:27:58 | → | psydroid joins (~psydroidm@2001:470:69fc:105::165) |
| 17:28:33 | <dolio> | Type checking during parsing is a bad idea. |
| 17:28:58 | <safinaskar> | dolio: i still want this |
| 17:29:08 | × | lbseale quits (~lbseale@user/ep1ctetus) (Ping timeout: 264 seconds) |
| 17:29:17 | <safinaskar> | dolio: i want to write some simple prover |
| 17:29:34 | <safinaskar> | dolio: and i want to check various non-parsing errors during parsing |
| 17:29:50 | <safinaskar> | parsec allows this |
| 17:29:54 | → | hexfive joins (~eric@50.35.83.177) |
| 17:29:54 | × | hexfive quits (~eric@50.35.83.177) (Client Quit) |
| 17:31:24 | → | teaSlurper joins (~chris@81.96.113.213) |
| 17:32:12 | × | MoC quits (~moc@user/moc) (Quit: Konversation terminated!) |
| 17:32:46 | × | psydroid quits (~psydroidm@2001:470:69fc:105::165) (Changing host) |
| 17:32:46 | → | psydroid joins (~psydroidm@user/psydroid) |
| 17:32:53 | <ski> | hm, i guess you want to interleave some checking effects with the parsing (since otherwise i think you could just have the parse result be a function or an action) |
| 17:33:58 | × | averell- quits (~averell@user/averell) (Remote host closed the connection) |
| 17:34:09 | → | neceve joins (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) |
| 17:35:02 | × | gethuen quits (uid502979@id-502979.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 17:35:06 | <safinaskar> | dolio: function "parse" from uu-parsinglib has very strange type: (P t a -> t -> a). so, this function cannot report errors at all?! |
| 17:35:24 | <dolio> | Not sure, I'm not very familiar with it. |
| 17:35:35 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 244 seconds) |
| 17:36:29 | <tomsmeding> | safinaskar: see the source of that function, it's partial |
| 17:36:43 | <tomsmeding> | so I expect there to be a different function that exposes the error in a value |
| 17:37:39 | <tomsmeding> | or... there is pErrors |
| 17:37:41 | <tomsmeding> | this API is wacky |
| 17:38:05 | <tomsmeding> | safinaskar: try using pEnd |
| 17:40:09 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 17:41:08 | → | agumonke` joins (~user@88.163.231.79) |
| 17:41:33 | → | xal joins (~xal@2604:3d08:9a80:4c18:2584:dda0:e5c4:dbaf) |
| 17:41:35 | <xal> | join #coq |
| 17:41:49 | <xal> | woops, that was supposed to have a / |
| 17:42:16 | <safinaskar> | ski: "i guess you want to interleave some checking effects with the parsing" - just having function or some monad as parsing result is completely OK. But this will mean that all manipulations with this complicated monadic value will be explicit during parsing. i don't want this! i want some parsing lib, which will somehow implicitly deal with |
| 17:42:17 | <safinaskar> | accumulated warning messages, for example by embeding monad (parsec can this!) or some other way. Well, in fact i can do this by writting simple wrapper around some lib (for example, parsek), which will allow embeding of monad. but this will mean that I write my own parsing library! This is last resort. I want to write my own library ONLY if I am |
| 17:42:17 | <safinaskar> | sure that no existing solution exists |
| 17:42:18 | × | ikex quits (~ash@user/ikex) (Ping timeout: 244 seconds) |
| 17:44:27 | → | averell joins (~averell@user/averell) |
| 17:45:10 | × | agumonke` quits (~user@88.163.231.79) (Remote host closed the connection) |
| 17:45:45 | × | pdxleif quits (~leif@75.164.44.108) (Ping timeout: 268 seconds) |
| 17:47:14 | <safinaskar> | dolio: tomsmeding: "parse" from uu-parsinglib still returns (a), not ([a]), so, it seems there is no unbiased choice |
| 17:47:42 | <tomsmeding> | safinaskar: see 'amb' |
| 17:48:22 | <dolio> | As I mentioned earlier, returning one result from the final parsing function doesn't mean the choice operation isn't unbiased. |
| 17:48:31 | × | nijopa quits (~nijopa@pool-98-118-125-240.bstnma.fios.verizon.net) (Quit: Leaving...) |
| 17:49:22 | <safinaskar> | well, "uu-parsinglib" still seems non-ideomatic and foreign. i've better write my own library then will use it |
| 17:50:00 | <tomsmeding> | "idiomatic" depends on the language you're in; and I don't mean programming language, but dialects of programming languages |
| 17:50:11 | <tomsmeding> | in the dialect of the writers of the library, it is probably idiomatic :) |
| 17:50:20 | → | jolly joins (~jolly@208.180.97.158) |
| 17:50:38 | <tomsmeding> | it certainly looks quite different from parsec-like parser libraries |
| 17:51:40 | <dolio> | There are more than 3 or 4 parsing libraries, too. |
| 17:51:58 | <ski> | safinaskar : well, the effects i was thinking about was the "post-parsing processing" that you mentioned |
| 17:53:27 | → | the-coot[m] joins (~the-cootm@2001:470:69fc:105::95f) |
| 17:54:21 | → | ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a) |
| 17:54:56 | × | fendor quits (~fendor@91.141.3.58.wireless.dyn.drei.com) (Remote host closed the connection) |
| 17:55:07 | fendor_ | is now known as fendor |
| 17:57:59 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 18:00:33 | × | azeem quits (~azeem@176.200.240.211) (Ping timeout: 268 seconds) |
| 18:01:03 | → | azeem joins (~azeem@176.200.240.211) |
| 18:02:22 | × | wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal) |
| 18:05:38 | → | fabfianda[m] joins (~fabfianda@2001:470:69fc:105::6db) |
| 18:07:57 | × | azeem quits (~azeem@176.200.240.211) (Ping timeout: 265 seconds) |
| 18:09:08 | → | vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe) |
| 18:09:59 | → | azeem joins (~azeem@176.200.240.211) |
| 18:12:30 | → | tomferon[m] joins (~tomferon@2001:470:69fc:105::268) |
| 18:12:52 | → | bb010g joins (~bb010gmat@2001:470:69fc:105::9a5) |
| 18:13:25 | → | autrim64[m] joins (~autrim64m@2001:470:69fc:105::16a1) |
| 18:14:32 | → | wallymathieu[m] joins (~wallymath@2001:470:69fc:105::16ae) |
| 18:14:40 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 252 seconds) |
| 18:16:03 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 18:17:09 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 18:18:27 | → | jaror[m] joins (~jaror@2001:470:69fc:105::265) |
| 18:19:36 | → | bitonic joins (~bitonic@2001:470:69fc:105::1812) |
| 18:21:27 | <exarkun> | Alright all my Network.Wai.Tests fail my CORS assertions saying there are no CORS headers at all, https://github.com/PrivateStorageio/PaymentServer/blob/3414de673f249be9f0c507632ce6bce9f3618503/test/Stripe.hs#L81-L112 (even the success case) |
| 18:21:27 | <safinaskar> | i seems i have to write my own lib |
| 18:21:31 | <exarkun> | I don't get it :( |
| 18:22:07 | <exarkun> | https://github.com/PrivateStorageio/PaymentServer/blob/3414de673f249be9f0c507632ce6bce9f3618503/src/PaymentServer/Server.hs#L71-L91 definitely applies CORS middleware |
| 18:22:09 | → | derelict joins (~derelict@user/derelict) |
| 18:22:17 | <exarkun> | Also ... it works (at least for success case) in real usage |
| 18:22:34 | Vq_ | is now known as Vq |
| 18:25:29 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 18:26:12 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:30:52 | × | azeem quits (~azeem@176.200.240.211) (Ping timeout: 244 seconds) |
| 18:32:08 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:33:00 | → | azeem joins (~azeem@176.200.240.211) |
| 18:34:49 | × | azeem quits (~azeem@176.200.240.211) (Read error: Connection reset by peer) |
| 18:35:41 | → | azeem joins (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) |
| 18:37:03 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 18:48:02 | → | k000 joins (~k00000000@36.255.96.246) |
| 18:50:28 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 18:50:49 | → | fryguybob joins (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) |
| 18:51:04 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9) |
| 18:51:35 | → | natechan joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 18:53:47 | × | k000 quits (~k00000000@36.255.96.246) (Quit: Leaving) |
| 18:57:13 | × | xal quits (~xal@2604:3d08:9a80:4c18:2584:dda0:e5c4:dbaf) (Ping timeout: 244 seconds) |
| 19:03:30 | → | xal joins (~xal@2604:3d08:9a80:4c18:2584:dda0:e5c4:dbaf) |
| 19:03:48 | × | xal quits (~xal@2604:3d08:9a80:4c18:2584:dda0:e5c4:dbaf) (Client Quit) |
| 19:04:06 | <exarkun> | ... because it doesn't add cors headers to the response if they're not in the request |
| 19:05:28 | × | jakzale quits (uid499518@id-499518.charlton.irccloud.com) (Quit: Connection closed for inactivity) |
| 19:06:33 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 19:06:58 | → | __monty__ joins (~toonn@user/toonn) |
| 19:08:09 | → | jiribenes joins (~jiribenes@rosa.jiribenes.com) |
| 19:12:16 | ← | safinaskar parts (~safinaska@109-252-90-89.nat.spd-mgts.ru) () |
| 19:15:01 | → | rbocquet joins (~weechat@2001:bc8:47a8:44e::1) |
| 19:15:49 | × | peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 244 seconds) |
| 19:16:58 | → | bor0 joins (~boro@user/bor0) |
| 19:20:36 | → | nrr joins (sid20938@id-20938.tooting.irccloud.com) |
| 19:22:52 | × | qbt quits (~edun@user/edun) (Quit: Leaving) |
| 19:23:09 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:24:18 | × | matijja quits (~matijja@193.77.181.208) (Quit: bye) |
| 19:26:02 | → | matijja joins (~matijja@193.77.181.201) |
| 19:26:16 | × | xsperry quits (~as@user/xsperry) (Ping timeout: 268 seconds) |
| 19:26:18 | × | xenon- quits (~bc817c21@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout)) |
| 19:26:46 | → | psygo joins (~philippe@201-95-112-120.dsl.telesp.net.br) |
| 19:27:49 | <psygo> | Hello all. Does anyone know of a data structure book for Haskell? |
| 19:29:39 | → | Heffalump joins (~ganesh@urchin.earth.li) |
| 19:29:46 | <Taneb> | psygo: Purely Functional Data Structures by Chris Okasaki |
| 19:29:51 | ← | Heffalump parts (~ganesh@urchin.earth.li) () |
| 19:30:18 | <psygo> | Thanks, Taneb. But is that all there is for this topic? |
| 19:31:05 | → | argento joins (~argent0@168-227-96-53.ptr.westnet.com.ar) |
| 19:31:18 | <DigitalKiwi> | well there are two papers/books |
| 19:31:57 | <DigitalKiwi> | and a few libraries implement some of them too |
| 19:32:40 | × | matijja quits (~matijja@193.77.181.201) (Quit: ZNC 1.8.1 - https://znc.in) |
| 19:32:53 | <DigitalKiwi> | https://cstheory.stackexchange.com/questions/1539/whats-new-in-purely-functional-data-structures-since-okasaki |
| 19:33:51 | <DigitalKiwi> | does the new bird book i haven't read have anything? |
| 19:34:28 | → | fresheyeball joins (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) |
| 19:35:01 | → | matijja joins (~matijja@193.77.181.201) |
| 19:35:11 | <psygo> | bird book? |
| 19:37:38 | × | matijja quits (~matijja@193.77.181.201) (Client Quit) |
| 19:38:10 | <xerox> | thinking functionally in haskell? |
| 19:38:29 | → | matijja joins (~matijja@193.77.181.201) |
| 19:39:18 | × | matijja quits (~matijja@193.77.181.201) (Client Quit) |
| 19:40:27 | × | haltux quits (~haltux@a89-154-181-47.cpe.netcabo.pt) (Ping timeout: 268 seconds) |
| 19:41:07 | → | fluffyballoon joins (~fluffybal@2620:72:0:6480::10f7) |
| 19:44:08 | → | matijja joins (~matijja@193.77.181.201) |
| 19:44:12 | <DigitalKiwi> | https://vallandingham.me/images/vis/birds_book_front.jpg |
| 19:44:58 | <sm[m]> | https://twitter.com/kmett/status/1403428202173796353 |
| 19:45:06 | → | Guest10 joins (~Guest10@201.219.236.40) |
| 19:45:25 | <DigitalKiwi> | no, wait, what xerox said is closer but i meant https://smile.amazon.com/Algorithm-Design-Haskell-Richard-Bird-ebook/dp/B08BKXJ1N3 |
| 19:45:36 | <edwardk> | heya sm[m]. on the plus side i don't need to split my attention any more |
| 19:45:42 | → | xsperry joins (~as@user/xsperry) |
| 19:45:52 | <DigitalKiwi> | what did you do to get k-line lol |
| 19:46:05 | <edwardk> | DigitalKiwi: fucked if i know |
| 19:46:11 | <sm[m]> | hooray edwardk , what a relief. |
| 19:46:48 | <edwardk> | sm[m]: i've been playing with it. it seems like they k-lined my username? but i can still connect with a wrong username and auth as me? wat? |
| 19:47:05 | → | Guest50 joins (~Guest50@70.39.165.194) |
| 19:48:10 | → | MoC joins (~moc@user/moc) |
| 19:48:28 | × | Guest10 quits (~Guest10@201.219.236.40) (Quit: Connection closed) |
| 19:48:42 | <Guest50> | What'd I miss? |
| 19:49:18 | <psygo> | DigitalKiwi, nice recommendation, thanks, but I guess that book is dealing more with the algorithmic side of things, right? |
| 19:50:21 | → | MoC_ joins (~moc@user/moc) |
| 19:51:29 | → | teaSlurper joins (~chris@81.96.113.213) |
| 19:51:55 | → | NieDzejkob joins (~quassel@195.149.98.3) |
| 19:51:57 | × | Unode quits (~Unode@194.94.44.220) (Quit: Not that cable) |
| 19:52:58 | → | Unode joins (~Unode@194.94.44.220) |
| 19:53:01 | × | MoC quits (~moc@user/moc) (Ping timeout: 244 seconds) |
| 19:53:06 | Guest50 | is now known as danm |
| 19:54:20 | MoC_ | is now known as MoC |
| 19:54:59 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:55:58 | → | Guest10 joins (~Guest10@201.219.236.40) |
| 19:56:37 | <DigitalKiwi> | psygo: i haven't read it :D |
| 19:58:14 | × | Andros quits (~Andros@176.116.80.1) (Quit: Leaving) |
| 19:58:15 | <psygo> | Me neither. I just inferred that from the TOC. |
| 19:58:31 | × | ordinate quits (~ordinate@c-68-38-144-3.hsd1.in.comcast.net) (Read error: Connection reset by peer) |
| 19:58:42 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 19:58:45 | <edwardk> | i can't tell if its worse that i got banned, or that i got incompetently banned. |
| 19:59:02 | → | peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
| 19:59:16 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 19:59:33 | → | ozataman joins (~ozataman@71.190.112.58) |
| 20:00:10 | → | wonko joins (~wjc@62.115.229.50) |
| 20:00:18 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 20:00:28 | × | danm quits (~Guest50@70.39.165.194) (Ping timeout: 250 seconds) |
| 20:03:22 | → | safinaskar joins (~safinaska@109-252-90-89.nat.spd-mgts.ru) |
| 20:04:18 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 252 seconds) |
| 20:04:36 | × | ozataman quits (~ozataman@71.190.112.58) (Quit: Textual IRC Client: www.textualapp.com) |
| 20:04:55 | → | ozataman joins (~ozataman@71.190.112.58) |
| 20:05:08 | × | juhp quits (~juhp@128.106.188.66) (Ping timeout: 264 seconds) |
| 20:05:18 | <safinaskar> | hi! as you probably remember i need parsing lib (preferably monadic) with unbiased choice and ability to do semantic error checking (i. e. "division by zero" or "undefined id") interleaved with parsing. i just now understand that such a lib will necessary be arrow-based, not monadic! |
| 20:05:25 | tapas | is now known as topos |
| 20:06:20 | <safinaskar> | so, now my question is: is there some lib for arrow parsing (CFG) with non-biased choice and ability to do semantic checking while parsing? |
| 20:07:12 | → | juhp joins (~juhp@128.106.188.66) |
| 20:09:04 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 20:12:11 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 20:12:18 | × | dhil quits (~dhil@195.213.192.47) (Ping timeout: 264 seconds) |
| 20:15:23 | × | chomwitt quits (~Pitsikoko@2a02:587:dc02:b00:98b0:cd42:bd6f:8295) (Ping timeout: 252 seconds) |
| 20:22:23 | × | neceve quits (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) (Ping timeout: 268 seconds) |
| 20:23:27 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 20:24:31 | × | econo quits (uid147250@user/econo) () |
| 20:25:30 | <dminuoso> | safinaskar: As it has been pointed out earlier, it's probably a bad idea to do semantic checking during parsing. What's wrong with just doing a separate pass? |
| 20:25:44 | → | dhil joins (~dhil@80.208.56.181) |
| 20:26:18 | <safinaskar> | dminuoso: this would mean i need to construct full ast |
| 20:26:25 | <safinaskar> | i don't want this |
| 20:26:51 | × | peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds) |
| 20:27:08 | × | psygo quits (~philippe@201-95-112-120.dsl.telesp.net.br) (Quit: leaving) |
| 20:27:09 | <safinaskar> | well, i want to write proof checker. its whole purpose is to *check* input. so, if there is no (semantic) errors, it will output nothing |
| 20:27:35 | → | econo joins (uid147250@user/econo) |
| 20:28:13 | <dminuoso> | I could come up with a number of reasons why separating parsing from operations on the parsed data is a good idea, but you seem to have made up your mind. *shrugs* |
| 20:28:19 | → | teaSlurper joins (~chris@81.96.113.213) |
| 20:29:01 | <safinaskar> | also i still want some parser lib for throw-away cases, where i simply want to write some one-off haskell program |
| 20:29:17 | <safinaskar> | parsec will not go for such cases, because it has no non-biased choice |
| 20:30:07 | <dminuoso> | Out of curiosity, why do you insist on having non-biased choice? |
| 20:31:12 | × | wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:31:13 | dminuoso | idly wonders, couldn't you use megaparsec's ParsecT over Logic? |
| 20:31:29 | × | Guest10 quits (~Guest10@201.219.236.40) (Quit: Connection closed) |
| 20:32:32 | <safinaskar> | dminuoso: biased choice means that we have PEG semantics. unbiased choice means CFG semantics. i love CFG, no PEG. why? well, first, because of duck principle: i learned CFG first. second, most programming languages specified using CFG, not PEG |
| 20:32:57 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 265 seconds) |
| 20:33:12 | <safinaskar> | also, i used bison a lot (with c++), it is based on CFG |
| 20:33:24 | <safinaskar> | i simply love CFG, it seems more natural for me |
| 20:33:50 | <safinaskar> | you don't have to think in which order to give productions |
| 20:34:08 | <safinaskar> | finally, there was one serious indecent |
| 20:34:54 | <dminuoso> | So yeah, why not use ParsecT+LogicT? |
| 20:36:20 | <safinaskar> | dminuoso: as well as i understand megaparsec uses biased choice |
| 20:36:22 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 20:36:57 | <safinaskar> | s/indecent/incident/ |
| 20:37:29 | <dminuoso> | And LogicT gives you fair conjunction/disjunction. |
| 20:39:22 | <safinaskar> | so, incident. i wanted to parse text using this CFG: https://paste.debian.net/1200908/ . i simply translated this CFG to parsec code (despite parsec is based on PEG, not CFG) and happily wrote a lot of text and parsed it using this parsec-based parser. Then i suddenly discovered that this CFG is ambiguous! So, all this text was unreliable! Starting |
| 20:39:22 | <safinaskar> | from that moment i don't trust parsec anymore |
| 20:39:39 | <safinaskar> | dminuoso: well, your solution sounds interesting |
| 20:39:40 | × | azeem quits (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 20:39:57 | <safinaskar> | dminuoso: you mean parsect over logict or vice versa? |
| 20:40:06 | → | azeem joins (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) |
| 20:40:56 | <dminuoso> | Mmm, not sure which way. `LogicT (ParsecT ...)` might have horrific performance. But hey, you wanted to have your cake and eat it too. Can't also demand it tastes very well. |
| 20:41:28 | <dminuoso> | But I think it should be `LogicT (ParsecT ...)` |
| 20:42:58 | <safinaskar> | dminuoso: but i just understand that unbiased choice with semantic checking is not possible with monads. it is possible with arrows only. i proved this. :) so that logict+parsect solution should not work |
| 20:43:07 | <dminuoso> | safinaskar: Oh also, you could just use happy/alex I guess. It's at least something you haven't listed yet it seems. |
| 20:43:19 | <dminuoso> | if you're happy with bison, it might suit you well |
| 20:44:27 | <dminuoso> | safinaskar: You proved this? We have LogicT as a monad transformer! |
| 20:44:38 | → | haltux joins (~haltux@a89-154-181-47.cpe.netcabo.pt) |
| 20:45:08 | <dminuoso> | Perhaps Oleg et al are wrong then *shrugs* http://okmij.org/ftp/papers/LogicT.pdf |
| 20:48:27 | → | hendursa1 joins (~weechat@user/hendursaga) |
| 20:48:48 | <safinaskar> | i want to implicitly have location info with every terminal and nonterminal (but on top level only! i. e. location info should not be stored deeply inside ast). as well as i understand, happy don't allow this. In happy i need to explicitly pass around location info. At least ghc's happy parser passes locations around explicitly |
| 20:50:52 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 252 seconds) |
| 20:52:01 | <safinaskar> | dminuoso: this paper doesn't mention parsing (ctrl-f "pars" shows nothing) |
| 20:52:42 | × | machined1od quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds) |
| 20:52:56 | <safinaskar> | well, i can write my proof for you if you want |
| 20:53:41 | <qrpnxz> | i keep hearing name Oleg but idk which Oleg ppl are talking about |
| 20:54:33 | <nshepperd> | i don't think LogicT (Parsec..) will do what you want |
| 20:55:01 | <dminuoso> | safinaskar: It's a monad transformer. ParsecT is also a monad transformer. You can layer them ontop of each other to get both backtracking, fair disjunction/conjunction and parsing. If you add say ChronicleT ontop, you get fine error control too. |
| 20:55:06 | <nshepperd> | as in, the <|> will not backtrack the parsing state |
| 20:55:15 | <dminuoso> | nshepperd: interleave will. |
| 20:56:21 | <nshepperd> | it will not |
| 20:56:23 | <dminuoso> | Why not? |
| 20:56:45 | <safinaskar> | qrpnxz: look at authors list of mentioned paper. there is one Oleg in it: Oleg Kiselyov |
| 20:56:53 | <nshepperd> | the LogicT interface cannot do anything that cannot be done with LogicT IO |
| 20:57:11 | × | mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 272 seconds) |
| 20:57:35 | <safinaskar> | nshepperd: i am sure logict will not do what i need. because i just proved it is not possible using monads |
| 20:57:36 | <nshepperd> | including unlaunching missiles |
| 20:57:43 | → | bilegeek joins (~bilegeek@2600:1008:b06d:65ed:93d7:e6a:a06d:9e4) |
| 21:00:46 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 21:01:07 | → | lavaman joins (~lavaman@98.38.249.169) |
| 21:01:49 | → | Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 21:02:08 | <dminuoso> | nshepperd: Is my thinking flipped? I pointed out earlier I wasnt sure about the order in which they need to go. |
| 21:02:12 | zebragg | is now known as zebrag |
| 21:02:40 | <dminuoso> | But your argument makes sense |
| 21:02:58 | × | hendursa1 quits (~weechat@user/hendursaga) (Ping timeout: 252 seconds) |
| 21:03:15 | forell_ | is now known as forell |
| 21:04:09 | <nshepperd> | it doesn't work either way around afaict |
| 21:05:21 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 21:06:05 | <dminuoso> | That cant be right |
| 21:06:32 | <dminuoso> | Let's think of LogicT as just ListT but done correctly |
| 21:06:40 | <dminuoso> | Just for the sake of argument, so we can unmtl this |
| 21:07:11 | <nshepperd> | if you use LogicT Parsec you get an unbiased <|> that doesn't backtrack the parser state and therefore acts like nonsense |
| 21:07:33 | <monochrom> | LogicT is CPS/Church-encoding form of correct ListT. No semantic difference. |
| 21:07:41 | <nshepperd> | if you use ParsecT Logic you get parsec's <|> which is biased and backtracks |
| 21:07:59 | <safinaskar> | let me state my theorem about impossibility of monad i want: https://paste.debian.net/1200914/ |
| 21:09:00 | <safinaskar> | this means that any logicT solutions will not go, at least for my task |
| 21:09:15 | <safinaskar> | if you are still not convinced i can write down proof. do you want this? (this will take another 10 mins) |
| 21:11:57 | <dminuoso> | nshepperd: What you say makes sense. |
| 21:12:40 | × | zeenk quits (~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41) (Quit: Konversation terminated!) |
| 21:13:37 | × | Shaeto quits (~Shaeto@94.25.234.158) (Quit: WeeChat 3.1) |
| 21:14:38 | <monochrom> | Actually why are we still talking about LogicT when the asker has already rejected all monads :) |
| 21:15:37 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 252 seconds) |
| 21:15:54 | → | hendursaga joins (~weechat@user/hendursaga) |
| 21:16:53 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-rc1) |
| 21:18:05 | <nshepperd> | reject all monads! return to the trees! |
| 21:20:43 | <safinaskar> | i wrote proof! https://paste.debian.net/1200915/ |
| 21:33:30 | × | bor0 quits (~boro@user/bor0) (Quit: Leaving) |
| 21:35:07 | <nshepperd> | when thinking about monad transformers, imagining them layered over IO is a powerful intuition pump. i recommend it |
| 21:35:35 | <dminuoso> | nshepperd: Yeah. |
| 21:36:09 | <Hecate> | heya cabal wizards, it looks like my /tmp is not a good place for cabal to download the Hackage index https://paste.tomsmeding.com/a3Y9DxwE |
| 21:36:25 | <Hecate> | what is the flag to tell it to put the index file elsewhere? |
| 21:38:15 | <safinaskar> | Hecate: mount file system you need to /tmp |
| 21:38:20 | <safinaskar> | :) |
| 21:38:46 | <dminuoso> | Hecate: Set $CABAL_DIR ? |
| 21:39:37 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 21:40:13 | <Hecate> | dminuoso: I'm pretty sure $CABAL_DIR is a secondary destination, after /tmp |
| 21:40:32 | <monochrom> | I layered ParsecT over ContT r IO and get very powerful unintuition. >:) |
| 21:40:55 | <monochrom> | http://www.vex.net/~trebla/haskell/parsec-generally.xhtml#ContT |
| 21:40:57 | <nshepperd> | haha |
| 21:41:21 | → | MQ-17J joins (~MQ-17J@8.21.10.116) |
| 21:42:29 | <monochrom> | I add ContT like people add hot sauce |
| 21:42:36 | → | peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
| 21:43:40 | <nshepperd> | delicious |
| 21:44:06 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 244 seconds) |
| 21:47:27 | × | phma quits (phma@2001:5b0:211f:5688:1a5c:72d9:f31b:5496) (Read error: Connection reset by peer) |
| 21:47:40 | <maerwald> | ContT is just awful |
| 21:47:50 | <maerwald> | but good if you want to confuse yourself |
| 21:51:29 | → | phma joins (~phma@host-67-44-208-20.hnremote.net) |
| 21:51:41 | <monochrom> | awful compared to what alternative? |
| 21:52:01 | <dminuoso> | Hecate: https://hackage.haskell.org/package/directory-1.3.6.2/docs/System-Directory.html#v:getTemporaryDirectory |
| 21:52:10 | <dminuoso> | Hecate: I could trace at least one code path back to using this. |
| 21:52:28 | <dminuoso> | Try setting one of those environment variables |
| 21:53:01 | <dminuoso> | TMPDIR in particualr |
| 21:53:38 | × | ozataman quits (~ozataman@71.190.112.58) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 21:53:58 | <maerwald> | monochrom: the documentation in mtl already outlines it |
| 21:54:10 | <maerwald> | "Before using the Continuation monad, be sure that you have a firm understanding of continuation-passing style and that continuations represent the best solution to your particular design problem. Many algorithms which require continuations in other languages do not require them in Haskell, due to Haskell's lazy semantics. Abuse of the Continuation monad can produce code that is impossible to |
| 21:54:12 | <maerwald> | understand and maintain." |
| 21:54:14 | <maerwald> | and it's true |
| 21:54:26 | <Hecate> | dminuoso: fantastic, thanks :) |
| 21:54:46 | <maerwald> | I've never seen real world haskell code that can't do without it |
| 21:54:57 | → | ozataman joins (~ozataman@71.190.112.58) |
| 21:55:26 | <dminuoso> | maerwald: I use continuations in a custom parser situation to avoid relying on deforestation for adequate performance. |
| 21:55:43 | <dminuoso> | But, this is a bit of a special case. :) |
| 21:55:51 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 21:56:55 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:56:58 | <maerwald> | streamly needs it, but is uses its own representation |
| 21:57:23 | <dminuoso> | megaparsec and attoparsec both use continuations internally too |
| 21:57:36 | <monochrom> | A good use case is converting with-style programming "withFoo (\h -> ...)" to monadic programming "do { h <- ContT withFoo; ... }" |
| 21:58:09 | <monochrom> | Because, quite frankly, with-style programming is already continuation-passing-style programming. |
| 21:59:33 | <maerwald> | unlike many others... I agree with the python zen: explicit is better than implicit |
| 22:00:01 | <monochrom> | Huh, Python is the posterboy for explicitness? Don't kid me. |
| 22:00:08 | Rembane_ | hands out swords |
| 22:00:29 | <maerwald> | monochrom: I'm talking about the zen, not python |
| 22:00:40 | <maerwald> | there's a reason the zen exists :> |
| 22:01:00 | <monochrom> | I guess then Haskell zen is dynamic typing. |
| 22:01:02 | <maerwald> | if python was the zen, there would be no zen |
| 22:02:16 | <monochrom> | But I'm not sure why implicitness is brought up. |
| 22:02:41 | <monochrom> | Both "withFoo (\h -> ...)" and "ContT withFoo" are very explicit. |
| 22:03:08 | → | Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:5cec:59a9:cebf:aa78) |
| 22:03:44 | × | sheepduck quits (~sheepduck@2607:fea8:2a61:4800::6b7b) (Remote host closed the connection) |
| 22:03:52 | <maerwald> | Transformer stacks in general are rather implicit... you're hiding (potentially non-trivial logic) in the bind operator, including the interaction of all the layers. It's implicit and non-declarative |
| 22:04:14 | <maerwald> | you have to understand the operational semantics |
| 22:04:50 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 22:05:16 | <maerwald> | ContT + ExceptT + StateT + IO -> gg |
| 22:05:24 | <monochrom> | No. |
| 22:06:13 | <monochrom> | Either you're mistaking transformer stacks for monadic class-constrained polymorphism, or you're mistaking implicitness for complexity. |
| 22:07:14 | <monochrom> | If I have "yikes :: (MonadA m, MonadB m) => m ()", it's >>= is unclear, yes. |
| 22:07:19 | <dminuoso> | Rembane_: You cant hand out swords but not hand out popcorn. |
| 22:07:36 | <sshine> | vim > emacs |
| 22:07:44 | <Rembane_> | dminuoso: Sorry, I was too busy eating them myselves, I'm gonna pop some more soon though. |
| 22:08:01 | <dminuoso> | monochrom: And welcome to the effect system game. |
| 22:08:18 | <monochrom> | But if I have "yo :: AT (BT IO) ()", it's >>= is very well understood, especially since for example we know it is not BT (AT IO). |
| 22:08:51 | <dminuoso> | Is that very well understood? If I put in three transformer layers, is it always instantly clear to all relevant users? |
| 22:09:03 | <monochrom> | What you can complain is that by the time I have AT (BT (CT (DT IO))) it is a lot to follow. But it's very explicit. |
| 22:09:10 | <dminuoso> | Note, Im not talking about you who may have pondered about it so often that it becomes second nature to you |
| 22:09:38 | <sshine> | dminuoso, maybe "well understood" means your lifts need to go in a specific order that enforces some clarity? |
| 22:09:50 | <sshine> | sorry, that was probably a question directed to monochrom. |
| 22:10:11 | <monochrom> | Yes. |
| 22:10:40 | <maerwald> | monochrom: no. "Implicit" doesn't mean "class-constrained" |
| 22:10:46 | → | jaevanko joins (~jaevanko@2600:1700:1330:2bef:5548:773a:cf10:a3a1) |
| 22:11:19 | → | HarveyPwca joins (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) |
| 22:12:13 | <maerwald> | But yes, mtl has a special kind of implicitness... or rather... it defers the order of effects to the call-site |
| 22:12:20 | <maerwald> | I don't consider that the implicitness problem |
| 22:12:28 | <maerwald> | it's just undefined if you look at the type sig |
| 22:12:52 | <maerwald> | implicit is how the transformers interact |
| 22:12:59 | <dminuoso> | monochrom: And to be fair, as long as AT/BT are just opaque type names, the effects and thus their ordering are not obvious/mentioned. |
| 22:13:27 | <maerwald> | you have to understand exactly what's happening to understand that some orders of stacks don't make sense, leak space or whatnot |
| 22:13:28 | <dminuoso> | It all relies on you knowing what AT/BT/... are, how they are defined, and how their layering order affects effects. |
| 22:13:35 | <dminuoso> | It's not very explicit I think. |
| 22:13:36 | <maerwald> | yep |
| 22:14:37 | <dminuoso> | If it was explicit, I wouldnt have to @unmtl every time I wonder "jeesh, should StateT go inside or outside". Or maybe I'm just dumb *shrugs* |
| 22:14:39 | <monochrom> | Have you ever complained the same of opague function names too? |
| 22:14:57 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija) |
| 22:14:59 | <monochrom> | For example "filter" is an opague function name. |
| 22:15:06 | <dminuoso> | Yes, and I hate it every time. |
| 22:15:14 | <maerwald> | dminuoso: yeah... I've used StateT exactly once :> (and just as a performance optimization over IORef) |
| 22:15:18 | <dminuoso> | I cant for my life remember whether the predicate selects items to be dropped or preserved. |
| 22:15:23 | <dminuoso> | Every time I use it. |
| 22:15:27 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 22:15:30 | <monochrom> | And empirically 50% of the people really believe that it means filter odd [1,2,3] = [2]. |
| 22:15:42 | <maerwald> | yes |
| 22:15:49 | <maerwald> | I've hit this for 5 years |
| 22:15:56 | <dminuoso> | some/many are right in that department too. |
| 22:15:56 | <maerwald> | then I started to get it |
| 22:16:02 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:16:17 | <dminuoso> | or `guard` with STM! |
| 22:16:45 | <monochrom> | If no one has done a good job explaining filter or AT, that's a documentation problem. That is not a criticism against AT (BT IO) or filter . map f |
| 22:16:57 | <maerwald> | right... and back to ContT... I know what it does if I read the implementation... and 2 days later I don't know anymore, because it's really void of intuition |
| 22:17:14 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:17:18 | <dminuoso> | maerwald: I guess the usage of ContT to get rid of just with is outside that confusion. |
| 22:17:33 | <dminuoso> | The crux of ContT is that it can be (ab)used to create all kinds of bizarre control flows |
| 22:17:39 | <maerwald> | yep |
| 22:17:58 | <monochrom> | The most you can complain is my imprecise wording. |
| 22:18:19 | <dminuoso> | monochrom: Im not sure this is a documentation problem. |
| 22:18:32 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 22:18:37 | <monochrom> | I should have lawyerly worded: AT (BT IO) is no less explicit than AT, BT, IO. filter . map f is no less explicit than filter, map, f. |
| 22:19:04 | <safinaskar> | i just sent my proof to haskell-cafe |
| 22:19:23 | <maerwald> | I'm gonna mess up my release arguing here... I already forgot what I uploaded |
| 22:19:24 | × | MoC quits (~moc@user/moc) (Quit: Konversation terminated!) |
| 22:21:17 | → | benin03 joins (~benin@183.82.205.218) |
| 22:21:48 | × | yoctocell quits (~yoctocell@h87-96-130-155.cust.a3fiber.se) (Ping timeout: 252 seconds) |
| 22:22:57 | → | yoctocell joins (~yoctocell@h87-96-130-155.cust.a3fiber.se) |
| 22:24:12 | × | yoctocell quits (~yoctocell@h87-96-130-155.cust.a3fiber.se) (Client Quit) |
| 22:24:59 | → | reumeth joins (~reumeth@user/reumeth) |
| 22:25:16 | <monochrom> | You should have focused on critiquing ContT alone rather than broadenly to all transformer stacks. |
| 22:25:23 | <xerox> | if only you had captured the continuation before |
| 22:25:44 | <monochrom> | :) I resisted making that joke. |
| 22:25:51 | <xerox> | sorry xD |
| 22:27:11 | <maerwald> | monochrom: ContT is just the worst... although I like this post https://www.schoolofhaskell.com/school/to-infinity-and-beyond/pick-of-the-week/the-mother-of-all-monads |
| 22:27:24 | <maerwald> | "Suppose someone stole all the monads but one, which monad would you want it to be?" |
| 22:27:27 | <maerwald> | :> |
| 22:28:08 | <davean> | I'd want it to be IO that I got to keep |
| 22:29:29 | <monochrom> | I might abuse the wording "one". ContT r IO is still one monad, especially if you don't let me decompose and use ContT or IO separately. |
| 22:29:52 | <maerwald> | In that case I'd pick `ExceptT e IO a` |
| 22:29:58 | <maerwald> | that's the only stack I ever use |
| 22:30:08 | <Rembane_> | Can you stack as many as you want to and still have one monad? |
| 22:30:17 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 22:31:19 | <monochrom> | And ContT r IO would be close enough to Scheme's pervasive IO-plus-shift-reset environment such that everything said in the paper that inspired that blog post can be done. |
| 22:31:51 | <monochrom> | Rembane_: Yeah! But I pretend to be not so greedy. |
| 22:32:06 | × | reumeth quits (~reumeth@user/reumeth) (Ping timeout: 264 seconds) |
| 22:32:08 | × | alex3 quits (~alex3@BSN-77-82-41.static.siol.net) (Ping timeout: 272 seconds) |
| 22:32:27 | <Rembane_> | monochrom: That's very good. |
| 22:34:25 | <xerox> | I was thinking what was the thing that paired with reset and I could only think of something like push, shift it was |
| 22:36:12 | <monochrom> | I know of restaurants that have a menu item "salad bar". It means that, although the restaurant is not normally an all-you-can-eat-buffet kind, you do get to choose the "salad bar" thing as one of your items, and the price entitles you to go to the salad bar and fill one plate. |
| 22:36:34 | <monochrom> | Naturally, people would stack veggies on that plate as much as possible. |
| 22:37:08 | <monochrom> | If you are at a monad salad bar, what would you stack on your plate? >:) |
| 22:37:43 | <Rembane_> | An infinite stack of ExceptT! :D |
| 22:37:48 | <DigitalKiwi> | only one plate? |
| 22:37:53 | <DigitalKiwi> | oh no |
| 22:37:54 | <monochrom> | Only one plate. |
| 22:38:08 | <jaevanko> | Is the plate Identity or IO? |
| 22:38:08 | <maerwald> | Although, I switched to `Excepts`... ExceptT is boring |
| 22:38:27 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 22:38:34 | <monochrom> | Would you like a game of monad stack Jenga? |
| 22:39:24 | × | dhil quits (~dhil@80.208.56.181) (Ping timeout: 252 seconds) |
| 22:39:33 | <geekosaur> | Chronicle? |
| 22:39:48 | → | alex3 joins (~alex3@BSN-77-82-41.static.siol.net) |
| 22:40:30 | <DigitalKiwi> | no wonder they don't like me at spaghetti works ;_; |
| 22:41:14 | <Rembane_> | "Hi, I brought my infinite monad transformer plate, I hope that's cool with you." |
| 22:42:56 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 264 seconds) |
| 22:44:09 | <maerwald> | reminds me of the first weird scene of the facebook movie... could go likes this: "what's you favorite transformer?" ... and when your date answers with ContT, you know you have a great match |
| 22:44:43 | <monochrom> | :) |
| 22:48:12 | × | wonko quits (~wjc@62.115.229.50) (Ping timeout: 252 seconds) |
| 22:52:29 | ← | safinaskar parts (~safinaska@109-252-90-89.nat.spd-mgts.ru) () |
| 22:53:09 | → | dhil joins (~dhil@195.213.192.47) |
| 22:57:02 | → | sm2n joins (~sm2n@user/sm2n) |
| 23:03:37 | <DigitalKiwi> | ideal transformer |
| 23:04:55 | → | iblis joins (~Adium@p200300e9770baa0100d945c5feb5025a.dip0.t-ipconnect.de) |
| 23:08:14 | → | shapr joins (~user@pool-108-28-144-11.washdc.fios.verizon.net) |
| 23:09:33 | → | UpstreamSalmon joins (uid12077@id-12077.stonehaven.irccloud.com) |
| 23:17:21 | × | wagle quits (~wagle@quassel.wagle.io) (Ping timeout: 252 seconds) |
| 23:20:05 | × | xff0x_ quits (~xff0x@2001:1a81:5346:bf00:ada3:bdcd:e60c:3e25) (Remote host closed the connection) |
| 23:20:22 | → | xff0x_ joins (~xff0x@2001:1a81:5346:bf00:b798:b33b:5653:d347) |
| 23:20:55 | → | wagle joins (~wagle@quassel.wagle.io) |
| 23:21:19 | × | jaevanko quits (~jaevanko@2600:1700:1330:2bef:5548:773a:cf10:a3a1) (Quit: Leaving) |
| 23:21:50 | × | dhil quits (~dhil@195.213.192.47) (Ping timeout: 268 seconds) |
| 23:24:51 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 23:24:59 | → | ikex joins (~ash@user/ikex) |
| 23:31:14 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 23:33:02 | × | wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
| 23:33:33 | → | wagle joins (~wagle@quassel.wagle.io) |
| 23:35:18 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 23:36:28 | × | iblis quits (~Adium@p200300e9770baa0100d945c5feb5025a.dip0.t-ipconnect.de) (Quit: Leaving.) |
| 23:36:42 | → | iblis joins (~Adium@p200300e9770baa0100d945c5feb5025a.dip0.t-ipconnect.de) |
| 23:38:18 | × | Deide quits (~Deide@user/deide) (Quit: Seeee yaaaa) |
| 23:38:48 | × | wagle quits (~wagle@quassel.wagle.io) (Ping timeout: 244 seconds) |
| 23:40:04 | × | fluffyballoon quits (~fluffybal@2620:72:0:6480::10f7) (Quit: Client closed) |
| 23:40:21 | → | wagle joins (~wagle@quassel.wagle.io) |
| 23:44:15 | → | sheepduck joins (~sheepduck@2607:fea8:2a61:4800::5d7c) |
| 23:44:51 | → | carmysilna joins (~brightly-@2001:470:69fc:105::2190) |
| 23:48:57 | × | sheepduck quits (~sheepduck@2607:fea8:2a61:4800::5d7c) (Remote host closed the connection) |
| 23:54:25 | → | wennefer0 joins (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
| 23:56:44 | × | wennefer0 quits (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Client Quit) |
| 23:59:01 | × | awth13 quits (~user@user/awth13) (Quit: ERC (IRC client for Emacs 27.2)) |
All times are in UTC on 2021-06-11.