2021-08-15 00:00:42 +0200 | hendursa1 | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
2021-08-15 00:01:27 +0200 | Guest54 | (~Guest54@187.83.249.216.dyn.smithville.net) (Quit: Client closed) |
2021-08-15 00:03:04 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-08-15 00:04:34 +0200 | dudek | (~dudek@185.150.236.112) (Quit: Leaving) |
2021-08-15 00:05:56 +0200 | <aarchi> | Well unfortunately the .hi version (after fixing my GHC install) isn't very indicative: |
2021-08-15 00:05:58 +0200 | <aarchi> | magic number mismatch: old/corrupt interface file? (wanted 33214052, got 0) |
2021-08-15 00:06:19 +0200 | <aarchi> | Does 0 correspond to any specific version(s)? |
2021-08-15 00:06:57 +0200 | <geekosaur> | means it's too old to have a version |
2021-08-15 00:07:48 +0200 | <geekosaur> | probably need to build the version of ghc it came from (5.02?) to dump it |
2021-08-15 00:09:51 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-08-15 00:10:58 +0200 | <aarchi> | Fun stuff |
2021-08-15 00:13:41 +0200 | <geekosaur> | hm, that alos means --show-iface will only work with the same ghc that generated the .hi file :/ |
2021-08-15 00:14:23 +0200 | <hpc> | hopefully it wasn't a HEAD build |
2021-08-15 00:16:21 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-08-15 00:16:21 +0200 | machinedgod | (~machinedg@24.105.81.50) (Read error: Connection reset by peer) |
2021-08-15 00:16:35 +0200 | <geekosaur> | I wonderif 5.02 will even build with a modernish ghc |
2021-08-15 00:16:40 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-08-15 00:16:47 +0200 | <geekosaur> | might have to walk backwards a major version at a time |
2021-08-15 00:17:29 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-08-15 00:17:44 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2021-08-15 00:18:23 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-08-15 00:19:01 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-08-15 00:21:08 +0200 | <aarchi> | I'm hoping I don't have to bootstrap GHC |
2021-08-15 00:21:24 +0200 | <aarchi> | Can GHC cross compile itself? |
2021-08-15 00:22:15 +0200 | <geekosaur> | there's a backward compatibility policy, but afaik no forward compatibility policy |
2021-08-15 00:22:35 +0200 | <geekosaur> | so there's no guarantee modern ghc can build an older one |
2021-08-15 00:23:14 +0200 | acidjnk | (~acidjnk@p200300d0c72b9508a1e806c8914cbd0f.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2021-08-15 00:23:48 +0200 | <aarchi> | And I don't think I could usefully build newer a GHC from an older one because that couldn't produce a platform that isn't published online |
2021-08-15 00:27:26 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-08-15 00:29:19 +0200 | <stevenxl> | Hey folks. I have a value of type (MonadReader env m) => ReaderT SqlBackend m (), and I want to define it in terms of another value of type (MonadReader Int m) => ReaderT SqlBackend m (). |
2021-08-15 00:29:29 +0200 | stevenxl | Script is here: https://paste.tomsmeding.com/6JBwFuFo |
2021-08-15 00:30:10 +0200 | stevenxl | I can get this to compile by peeling off the first monadic context, and then manually running the second monadic context. |
2021-08-15 00:30:12 +0200 | stevenxl | Is there a better way/ |
2021-08-15 00:32:27 +0200 | hendursa1 | (~weechat@user/hendursaga) (Quit: hendursa1) |
2021-08-15 00:33:17 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-08-15 00:33:34 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-15 00:36:44 +0200 | aguapesada | (~aguapesad@2804:14c:8793:8e2f:311f:1da6:1cf6:61ea) (Read error: Connection reset by peer) |
2021-08-15 00:38:26 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
2021-08-15 00:42:58 +0200 | <dminuoso> | stevenxl: The type signatures you wrote in IRC dont work. |
2021-08-15 00:43:44 +0200 | <stevenxl> | I may have explained myself incorrectly. The snippet does compile: |
2021-08-15 00:43:48 +0200 | <stevenxl> | https://www.irccloud.com/pastebin/93RjtIYP/ |
2021-08-15 00:44:05 +0200 | <stevenxl> | I was just wondering if there is a more elegant way of doing this. |
2021-08-15 00:45:14 +0200 | <dminuoso> | You could ImplicitParams, perhaps. |
2021-08-15 00:45:27 +0200 | <dminuoso> | Or consider explicitly passing arguments, rather than relying on ReaderT. |
2021-08-15 00:45:59 +0200 | <dminuoso> | Also perhaps `local` is an option if the nested computations environment can be pulled from the outer environment using a function. |
2021-08-15 00:46:07 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-15 00:46:11 +0200 | <dminuoso> | Those are the options that I can see |
2021-08-15 00:47:21 +0200 | stevenxl | Yea - in production I went with passing in the argument explicitly to `funcTwo`, and I did see the `local` option as well. I don't know about ImplicitParams so I might have to look that up. |
2021-08-15 00:47:40 +0200 | stevenxl | `mapReaderT` sounded like something worthwhile but I can't get it to work. |
2021-08-15 00:47:53 +0200 | stevenxl | If I use a type whole it says I need a function from `() -> a0`, which is not too helpful. ;) |
2021-08-15 00:51:03 +0200 | Heisen | (~Heisen@2a02:aa1:1010:e9f8:c4d6:f30c:bbf0:3508) |
2021-08-15 00:51:41 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-08-15 00:53:11 +0200 | <Heisen> | Hello why can't I curry the foldl function? I tried to do sumWithFoldl = foldl (+) 0 to give me back a partially applied function but it gives me a bunch of error messages. |
2021-08-15 00:53:53 +0200 | <stevenxl> | @dminuoso this seems to work as well: |
2021-08-15 00:53:53 +0200 | <lambdabot> | Unknown command, try @list |
2021-08-15 00:53:59 +0200 | <stevenxl> | https://www.irccloud.com/pastebin/VEK0GYE4/ |
2021-08-15 00:54:26 +0200 | stevenxl | With the previous definitions of `funcTwo`. |
2021-08-15 00:54:33 +0200 | stevenxl | I think this is good enough. :-) |
2021-08-15 00:55:13 +0200 | stevenxl | I was using `mapReader` instead of `mapReaderT` which is why I originally thought it could not be done. |
2021-08-15 00:58:45 +0200 | <geekosaur> | Heisen, that looks like it might be the monomorphism restriction |
2021-08-15 00:59:15 +0200 | <geekosaur> | that said, you'll have to supply the error messages to be certain |
2021-08-15 00:59:19 +0200 | <geekosaur> | @where paste |
2021-08-15 00:59:19 +0200 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
2021-08-15 01:00:32 +0200 | fabfianda | (~fabfianda@mob-5-91-116-37.net.vodafone.it) (Ping timeout: 268 seconds) |
2021-08-15 01:01:05 +0200 | fabfianda | (~fabfianda@37.183.255.57) |
2021-08-15 01:01:55 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 01:03:14 +0200 | HarveyPwca | (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) |
2021-08-15 01:05:29 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-15 01:05:43 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-08-15 01:05:44 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-08-15 01:05:47 +0200 | allbery_b | geekosaur |
2021-08-15 01:06:45 +0200 | <aarchi> | Is there documentation on the default `localeEncoding` for each platform? |
2021-08-15 01:07:31 +0200 | <geekosaur> | the default is not under the control of ghc |
2021-08-15 01:08:09 +0200 | <aarchi> | Is it set via `LC_ALL=C` and friends? |
2021-08-15 01:08:30 +0200 | <geekosaur> | but for example on most nmodern linux distributions it's some utf8-based locale |
2021-08-15 01:08:45 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 01:08:51 +0200 | <geekosaur> | usually set duringf os installation |
2021-08-15 01:09:19 +0200 | <aarchi> | Is Windows UTF-16? |
2021-08-15 01:10:02 +0200 | <geekosaur> | I believe it is with the new I/O manager in ghc9. don't know about earlier versions |
2021-08-15 01:11:40 +0200 | <monochrom> | On Linux it is the LANG and LC_* environment variables. On Windows it is code page. I don't know Mac. The question becomes "where are all these officially written?" |
2021-08-15 01:13:28 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
2021-08-15 01:18:01 +0200 | <aarchi> | Has Haskell always used floored division for `div` and `mod`? |
2021-08-15 01:20:52 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-08-15 01:24:39 +0200 | pfurla_ | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) |
2021-08-15 01:26:18 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 258 seconds) |
2021-08-15 01:27:20 +0200 | <aarchi> | Looks like Haskell used to support exponential notation, e.g. `1e6` in `read` |
2021-08-15 01:28:17 +0200 | pfurla | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 268 seconds) |
2021-08-15 01:34:49 +0200 | <aarchi> | monochrom: by “code page” do you mean a code page Window-1252? |
2021-08-15 01:35:04 +0200 | <aarchi> | *a code page like Windows-1252 |
2021-08-15 01:36:01 +0200 | wroathe | (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Ping timeout: 248 seconds) |
2021-08-15 01:42:12 +0200 | <monochrom> | yes |
2021-08-15 01:42:18 +0200 | <geekosaur> | yes, and it can go wrong in a numbver of ways so it's disrecommended |
2021-08-15 01:42:28 +0200 | <geekosaur> | which is another reason for the new I/O manager |
2021-08-15 01:43:47 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-08-15 01:43:57 +0200 | <monochrom> | div and mod are painstakingly determinized in the Haskell Report. |
2021-08-15 01:48:23 +0200 | Guest|92 | (~Guest|92@77.173.220.111.dyn.iprimus.net.au) |
2021-08-15 01:48:30 +0200 | _-- | lll |
2021-08-15 01:48:53 +0200 | Guest|92 | (~Guest|92@77.173.220.111.dyn.iprimus.net.au) (Client Quit) |
2021-08-15 01:52:43 +0200 | Ariakenom | (~patrik@c83-255-154-140.bredband.tele2.se) (Quit: WeeChat 3.1) |
2021-08-15 01:54:00 +0200 | lll | _|_ |
2021-08-15 02:03:18 +0200 | jgeerds | (~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 272 seconds) |
2021-08-15 02:03:54 +0200 | _|_ | (~ding@2001:19f0:5:14c2:5400:2ff:fee0:a42c) (Quit: oopsy) |
2021-08-15 02:04:08 +0200 | _\_ | (~flick@2001:19f0:5:14c2:5400:2ff:fee0:a42c) |
2021-08-15 02:06:29 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-15 02:08:56 +0200 | Atum_ | (~IRC@user/atum/x-2392232) (Quit: Atum_) |
2021-08-15 02:09:27 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 02:10:09 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 248 seconds) |
2021-08-15 02:14:32 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
2021-08-15 02:22:58 +0200 | Heisen | (~Heisen@2a02:aa1:1010:e9f8:c4d6:f30c:bbf0:3508) (Ping timeout: 246 seconds) |
2021-08-15 02:25:37 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds) |
2021-08-15 02:25:59 +0200 | jao | (jao@gateway/vpn/protonvpn/jao) |
2021-08-15 02:26:41 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 248 seconds) |
2021-08-15 02:43:20 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 02:44:55 +0200 | <aarchi> | Thanks everyone. This has been very helpful |
2021-08-15 02:51:32 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-08-15 02:55:29 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds) |
2021-08-15 02:58:50 +0200 | Guest35 | (~Guest35@187.83.249.216.dyn.smithville.net) |
2021-08-15 02:59:22 +0200 | Guest35 | (~Guest35@187.83.249.216.dyn.smithville.net) (Client Quit) |
2021-08-15 03:02:54 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
2021-08-15 03:09:46 +0200 | skykanin | (~skykanin@115.81-166-221.customer.lyse.net) (Quit: WeeChat 3.2) |
2021-08-15 03:10:22 +0200 | <aegon> | haskell cant overload functions with the same name and parameter types, is there a way to specialize a function for specific parameters? |
2021-08-15 03:10:31 +0200 | <aegon> | *afaik |
2021-08-15 03:11:33 +0200 | <aegon> | I'm trying to understand how postgresql-simple manages to have 2 query functions that behave different but take the same arguments, one has a special constraint on one of the outputs but aside from that they seem the same, i thought the compiler complained about that though |
2021-08-15 03:11:44 +0200 | <aegon> | also, i'm being derpy, i can try this is ghci quick, nevermind |
2021-08-15 03:12:06 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
2021-08-15 03:12:31 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-08-15 03:14:05 +0200 | <aegon> | hmm, yeah it complains |
2021-08-15 03:14:49 +0200 | Guest47 | (~Guest47@d24-141-46-200.home.cgocable.net) |
2021-08-15 03:15:06 +0200 | Guest47 | (~Guest47@d24-141-46-200.home.cgocable.net) (Client Quit) |
2021-08-15 03:16:40 +0200 | <aegon> | aand its not overloaded in the lib, i'm done for the day |
2021-08-15 03:16:43 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-15 03:20:42 +0200 | V | (~v@anomalous.eu) (Remote host closed the connection) |
2021-08-15 03:20:57 +0200 | V | (~v@anomalous.eu) |
2021-08-15 03:24:49 +0200 | pfurla | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) |
2021-08-15 03:25:42 +0200 | V | (~v@anomalous.eu) (Ping timeout: 272 seconds) |
2021-08-15 03:26:57 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-08-15 03:26:57 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-08-15 03:27:00 +0200 | allbery_b | geekosaur |
2021-08-15 03:28:01 +0200 | pfurla_ | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds) |
2021-08-15 03:31:59 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-08-15 03:33:51 +0200 | V | (~v@anomalous.eu) |
2021-08-15 03:34:13 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2) |
2021-08-15 03:40:31 +0200 | HarveyPwca | (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) (Quit: Leaving) |
2021-08-15 03:49:49 +0200 | aegon | (~mike@174.127.249.180) (Quit: leaving) |
2021-08-15 03:50:50 +0200 | xff0x | (~xff0x@2001:1a81:52b4:6700:e48a:7334:5a0f:61a4) (Ping timeout: 252 seconds) |
2021-08-15 03:51:02 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-08-15 03:51:57 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 268 seconds) |
2021-08-15 03:52:03 +0200 | Guest|59 | (~Guest|59@075-129-097-116.res.spectrum.com) |
2021-08-15 03:52:40 +0200 | Guest|59 | (~Guest|59@075-129-097-116.res.spectrum.com) (Client Quit) |
2021-08-15 03:52:46 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-08-15 03:52:49 +0200 | xff0x | (~xff0x@2001:1a81:52ed:2b00:c854:bd3b:6fb8:2f1e) |
2021-08-15 03:53:02 +0200 | <koz> | What's a good ASCII approximation of the Unicode DOT MINUS, that would be suitable as an infix operator name? |
2021-08-15 03:55:08 +0200 | <monochrom> | Is that U+2238? |
2021-08-15 03:55:18 +0200 | <koz> | monochrom: Yes. |
2021-08-15 03:55:44 +0200 | <monochrom> | I might consider ^- and -^ |
2021-08-15 03:56:03 +0200 | <monochrom> | and *- , -* |
2021-08-15 03:56:12 +0200 | <koz> | ^- is my choice because it looks like a cat ear. |
2021-08-15 03:56:14 +0200 | <koz> | Thanks! |
2021-08-15 03:56:23 +0200 | <monochrom> | ^-^ |
2021-08-15 03:57:13 +0200 | <koz> | Also, what's the fixity and association of - ? |
2021-08-15 03:57:19 +0200 | <koz> | (if anyone knows offhand) |
2021-08-15 03:59:45 +0200 | <monochrom> | infixl 6 |
2021-08-15 04:00:00 +0200 | <monochrom> | You can find out from ghci (and so yahb) by: :info - |
2021-08-15 04:00:13 +0200 | <koz> | Ah, interesting. TIL. |
2021-08-15 04:00:46 +0200 | <monochrom> | If :info doesn't tell, then it's using the default, so you have to memorize the default from the Haskell Report. |
2021-08-15 04:00:58 +0200 | fvr | (uid503686@id-503686.highgate.irccloud.com) |
2021-08-15 04:01:20 +0200 | <monochrom> | the default is infixl 9 |
2021-08-15 04:15:40 +0200 | td_ | (~td@94.134.91.195) (Ping timeout: 272 seconds) |
2021-08-15 04:15:55 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2021-08-15 04:16:18 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 256 seconds) |
2021-08-15 04:17:02 +0200 | td_ | (~td@94.134.91.196) |
2021-08-15 04:21:38 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-08-15 04:21:57 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-08-15 04:24:28 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2021-08-15 04:24:28 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (platinum.libera.chat (Nickname regained by services))) |
2021-08-15 04:24:28 +0200 | finn_elija | FinnElija |
2021-08-15 04:33:17 +0200 | SincereFox | (uid337158@user/sincerefox) |
2021-08-15 04:33:53 +0200 | SincereFox | (uid337158@user/sincerefox) () |
2021-08-15 04:39:46 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-08-15 04:41:48 +0200 | mei | (~mei@user/mei) (Ping timeout: 258 seconds) |
2021-08-15 04:52:46 +0200 | alx741 | (~alx741@186.178.108.32) (Quit: alx741) |
2021-08-15 05:09:14 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 05:14:27 +0200 | Codaraxis_ | (~Codaraxis@user/codaraxis) |
2021-08-15 05:15:12 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
2021-08-15 05:19:00 +0200 | Codaraxis | (~Codaraxis@user/codaraxis) (Ping timeout: 272 seconds) |
2021-08-15 05:24:38 +0200 | pfurla_ | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) |
2021-08-15 05:27:30 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 05:28:01 +0200 | pfurla | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds) |
2021-08-15 05:32:28 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
2021-08-15 05:45:09 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 05:47:21 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-15 05:50:22 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
2021-08-15 05:51:56 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
2021-08-15 06:03:26 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 06:08:01 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds) |
2021-08-15 06:19:56 +0200 | dtman34 | (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
2021-08-15 06:20:45 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 06:21:21 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds) |
2021-08-15 06:23:39 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 268 seconds) |
2021-08-15 06:25:42 +0200 | AndrewYu | liberacom |
2021-08-15 06:25:49 +0200 | liberacom | AndrewYu |
2021-08-15 06:26:09 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds) |
2021-08-15 06:29:13 +0200 | dtman34 | (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) |
2021-08-15 06:29:53 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-08-15 06:33:37 +0200 | jespada | (~jespada@90.254.247.46) (Ping timeout: 248 seconds) |
2021-08-15 06:35:29 +0200 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2021-08-15 06:36:36 +0200 | jespada | (~jespada@90.254.247.46) |
2021-08-15 06:51:09 +0200 | haykam | (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection) |
2021-08-15 06:51:23 +0200 | haykam | (~haykam@static.100.2.21.65.clients.your-server.de) |
2021-08-15 06:56:37 +0200 | indiana-bones | (~indignant@94.140.8.98) |
2021-08-15 07:05:44 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 07:10:25 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds) |
2021-08-15 07:23:28 +0200 | jao | (jao@gateway/vpn/protonvpn/jao) (Ping timeout: 268 seconds) |
2021-08-15 07:24:29 +0200 | pfurla | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) |
2021-08-15 07:28:01 +0200 | pfurla_ | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds) |
2021-08-15 07:43:33 +0200 | notzmv | (~zmv@user/notzmv) (Read error: Connection reset by peer) |
2021-08-15 07:44:41 +0200 | Cale | (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2021-08-15 07:44:59 +0200 | haykam | (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection) |
2021-08-15 07:45:13 +0200 | haykam | (~haykam@static.100.2.21.65.clients.your-server.de) |
2021-08-15 07:45:47 +0200 | dcompoze | (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) |
2021-08-15 07:46:32 +0200 | MidAutumnMoon | (~MidAutumn@user/midautumnmoon) |
2021-08-15 07:46:59 +0200 | mei | (~mei@user/mei) |
2021-08-15 07:47:12 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2021-08-15 07:47:43 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 258 seconds) |
2021-08-15 07:55:18 +0200 | notzmv | (~zmv@user/notzmv) |
2021-08-15 07:57:01 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 08:02:37 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-15 08:03:09 +0200 | ikex1 | (~ash@user/ikex) |
2021-08-15 08:04:49 +0200 | ikex | (~ash@user/ikex) (Ping timeout: 248 seconds) |
2021-08-15 08:04:49 +0200 | ikex1 | ikex |
2021-08-15 08:07:28 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2021-08-15 08:13:42 +0200 | haowenl | (~Thunderbi@066-215-230-039.res.spectrum.com) |
2021-08-15 08:17:59 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-15 08:26:07 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-08-15 08:26:25 +0200 | img | (~img@user/img) |
2021-08-15 08:30:21 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-08-15 08:30:38 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-08-15 08:30:52 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 08:31:02 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds) |
2021-08-15 08:31:52 +0200 | Lord_of_Life_ | Lord_of_Life |
2021-08-15 08:34:18 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-08-15 08:35:13 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 248 seconds) |
2021-08-15 08:36:57 +0200 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
2021-08-15 08:38:41 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-08-15 08:39:58 +0200 | Xnuk | (~xnuk@vultr.xnu.kr) (Quit: ZNC - https://znc.in) |
2021-08-15 08:40:21 +0200 | Xnuk | (~xnuk@vultr.xnu.kr) |
2021-08-15 08:43:46 +0200 | haowenl | (~Thunderbi@066-215-230-039.res.spectrum.com) (Quit: haowenl) |
2021-08-15 08:45:38 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-15 08:47:03 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
2021-08-15 08:47:12 +0200 | fendor | (~fendor@178.115.35.166.wireless.dyn.drei.com) |
2021-08-15 08:47:29 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 248 seconds) |
2021-08-15 08:50:36 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2021-08-15 08:52:17 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds) |
2021-08-15 08:58:28 +0200 | Cale | (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) |
2021-08-15 09:02:09 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-08-15 09:02:36 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 09:07:31 +0200 | dcompoze | (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Quit: WeeChat 3.2) |
2021-08-15 09:07:41 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 268 seconds) |
2021-08-15 09:17:55 +0200 | dcompoze | (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) |
2021-08-15 09:18:20 +0200 | dcompoze | (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Client Quit) |
2021-08-15 09:18:31 +0200 | acidjnk | (~acidjnk@p200300d0c72b9508a1e806c8914cbd0f.dip0.t-ipconnect.de) |
2021-08-15 09:20:48 +0200 | dcompoze | (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) |
2021-08-15 09:25:17 +0200 | pfurla_ | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) |
2021-08-15 09:25:22 +0200 | dcompoze | (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Client Quit) |
2021-08-15 09:26:44 +0200 | dcompoze | (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) |
2021-08-15 09:27:37 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 09:28:33 +0200 | sedeki | (~textual@user/sedeki) |
2021-08-15 09:28:36 +0200 | pfurla | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 272 seconds) |
2021-08-15 09:30:55 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 09:35:30 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
2021-08-15 09:36:04 +0200 | fendor | (~fendor@178.115.35.166.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-08-15 09:36:47 +0200 | mousey | (~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds) |
2021-08-15 09:36:50 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-08-15 09:37:13 +0200 | fendor | (~fendor@178.115.35.166.wireless.dyn.drei.com) |
2021-08-15 09:38:04 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Read error: Connection reset by peer) |
2021-08-15 09:38:42 +0200 | mousey | (~skymouse@gateway/tor-sasl/mousey) |
2021-08-15 09:42:44 +0200 | sedeki | (~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
2021-08-15 09:43:53 +0200 | wonko | (~wjc@62.115.229.50) |
2021-08-15 09:46:06 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
2021-08-15 09:56:08 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-08-15 09:59:24 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
2021-08-15 10:05:38 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-08-15 10:05:44 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-08-15 10:05:59 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-08-15 10:08:18 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
2021-08-15 10:09:48 +0200 | <hololeap> | I have used First and Last (monoids), but I started thinking of a new monoid: data Once a = Once a | TooMany | None |
2021-08-15 10:10:11 +0200 | <hololeap> | where None is the "zero" and TooMany is an error state. does this already exist in some lib? |
2021-08-15 10:10:47 +0200 | <fendor> | can I force a cabal project using build-type custom to use a newer lib:Cabal version than what my ghc version is linked against? |
2021-08-15 10:12:50 +0200 | Skyfire | (~pyon@user/pyon) (Quit: WeeChat 3.2) |
2021-08-15 10:13:32 +0200 | <hololeap> | wait, is the Once type the quintessential monotonic type, like what edwardk has talked about? |
2021-08-15 10:14:27 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-08-15 10:17:41 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-08-15 10:17:41 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-08-15 10:17:44 +0200 | allbery_b | geekosaur |
2021-08-15 10:21:58 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-08-15 10:22:37 +0200 | hendursa1 | (~weechat@user/hendursaga) (Remote host closed the connection) |
2021-08-15 10:22:58 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-08-15 10:23:12 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-08-15 10:24:27 +0200 | Skyfire | (~pyon@user/pyon) |
2021-08-15 10:27:55 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-08-15 10:29:53 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-08-15 10:33:05 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
2021-08-15 10:38:49 +0200 | jmorris | (~jmorris@2001:19f0:5801:170:5400:3ff:fe81:62fe) (Quit: BYE BITCH) |
2021-08-15 10:38:58 +0200 | gauss | (~gauss@139.180.175.160) |
2021-08-15 10:46:26 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-15 10:48:36 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-15 10:49:26 +0200 | Arsen | (~arsen@managarm/dev/Arsen) (Quit: Quit.) |
2021-08-15 10:49:47 +0200 | Arsen | (~arsen@managarm/dev/Arsen) |
2021-08-15 10:51:13 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 248 seconds) |
2021-08-15 10:52:53 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-08-15 11:00:46 +0200 | Arsen | (~arsen@managarm/dev/Arsen) (Quit: Quit.) |
2021-08-15 11:01:05 +0200 | Arsen | (~arsen@managarm/dev/Arsen) |
2021-08-15 11:01:05 +0200 | Vajb | (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer) |
2021-08-15 11:01:13 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-08-15 11:02:41 +0200 | <fvr> | fendor: doesn’t adding the new Cabal library in setup-depends work? |
2021-08-15 11:04:44 +0200 | Arsen | (~arsen@managarm/dev/Arsen) (Client Quit) |
2021-08-15 11:06:12 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-08-15 11:07:12 +0200 | amk | (~amk@176.61.106.150) (Remote host closed the connection) |
2021-08-15 11:09:43 +0200 | amk | (~amk@176.61.106.150) |
2021-08-15 11:11:02 +0200 | wonko | (~wjc@62.115.229.50) (Ping timeout: 268 seconds) |
2021-08-15 11:11:06 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) |
2021-08-15 11:15:29 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) (Ping timeout: 258 seconds) |
2021-08-15 11:17:15 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-15 11:19:51 +0200 | Arsen | (~arsen@managarm/dev/Arsen) |
2021-08-15 11:22:07 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
2021-08-15 11:22:41 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds) |
2021-08-15 11:23:42 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) |
2021-08-15 11:24:46 +0200 | pfurla | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) |
2021-08-15 11:25:06 +0200 | <fendor> | fvr, don't think so |
2021-08-15 11:25:42 +0200 | <fendor> | https://paste.tomsmeding.com/o4349srP |
2021-08-15 11:26:00 +0200 | <fendor> | well, actually that error is to be expected |
2021-08-15 11:26:48 +0200 | Pickchea | (~private@user/pickchea) |
2021-08-15 11:28:55 +0200 | pfurla_ | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 268 seconds) |
2021-08-15 11:31:53 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-08-15 11:32:04 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-08-15 11:32:55 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-08-15 11:33:41 +0200 | <fendor> | maybe this is just a cabal-testsuite shenanigan |
2021-08-15 11:36:33 +0200 | azeem | (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Read error: Connection reset by peer) |
2021-08-15 11:38:49 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 11:44:32 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
2021-08-15 11:49:28 +0200 | <tromp> | i posted my Haskell based chess counting project to Hacker News at https://news.ycombinator.com/item?id=28187478 |
2021-08-15 11:56:02 +0200 | <dibblego> | tromp: nice, I think these can be improved at least a little: https://github.com/tromp/ChessPositionRanking/blob/main/src/Legality.hs#L94 |
2021-08-15 11:57:30 +0200 | <tromp> | you mean by case checkingpcs of (_:_:_:_) ... to make it lazier ? |
2021-08-15 11:57:39 +0200 | <dibblego> | yeah, essentially |
2021-08-15 11:58:03 +0200 | <dibblego> | > length [1..100000000] > 2 |
2021-08-15 11:58:08 +0200 | <lambdabot> | True |
2021-08-15 11:58:24 +0200 | <tromp> | i tried to optimize for simplicity over gaining some tiny performance improvement. these lists are never long |
2021-08-15 11:58:50 +0200 | <tromp> | the most number of checking pieces i've seen is 6 |
2021-08-15 11:59:07 +0200 | <tromp> | although in theory up to 16 is possible |
2021-08-15 12:04:44 +0200 | keutoi | (~keutoi@157.47.6.195) |
2021-08-15 12:07:42 +0200 | <fvr> | fendor, I just changed the dependency of Cabal to >= 3.6 in cabal-testsuite and it's compiling |
2021-08-15 12:07:50 +0200 | <fvr> | the intree version of Cabal lib is 3.6 |
2021-08-15 12:08:38 +0200 | <pavonia> | tromp: Can you derive any chess position with that library by providing an integer, and vice versa? |
2021-08-15 12:08:53 +0200 | <fendor> | fvr, the test-case depends on the intree Cabal lib, but when I execute: https://paste.tomsmeding.com/LEtXtyPF |
2021-08-15 12:09:12 +0200 | azeem | (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) |
2021-08-15 12:09:32 +0200 | <fendor> | slight correction: https://paste.tomsmeding.com/3h8W2K7o this contains the actual invocation |
2021-08-15 12:10:08 +0200 | <tromp> | actually 16 is not possible due to limits on number of promotions, but 14 is |
2021-08-15 12:10:47 +0200 | <tromp> | @pavonia, any legal chess position can be ranked as an integer |
2021-08-15 12:10:47 +0200 | <lambdabot> | Unknown command, try @list |
2021-08-15 12:11:01 +0200 | <tromp> | pavonia, any legal chess position can be ranked as an integer |
2021-08-15 12:11:25 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-15 12:12:03 +0200 | <tromp> | as well as many illegal ones that satisfy certain constraints on promotions and pawn placement |
2021-08-15 12:12:44 +0200 | <pavonia> | Does ranking here imply some meaningful chess moves or just legal ones? |
2021-08-15 12:14:09 +0200 | <fvr> | I get a similar error with the message "constraint from maximum version of Cabal used by Setup.hs requires <3.6", but when I use in tree cabal-install to build, it goes away. but looks like you are already using it |
2021-08-15 12:14:20 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de) |
2021-08-15 12:15:25 +0200 | <tromp> | it has nothing to do with meaningfull chess |
2021-08-15 12:15:41 +0200 | <tromp> | just constraints imposed by legal chess |
2021-08-15 12:16:03 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
2021-08-15 12:17:38 +0200 | acidjnk | (~acidjnk@p200300d0c72b9508a1e806c8914cbd0f.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2021-08-15 12:18:43 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-08-15 12:18:48 +0200 | oldsk00l_ | (~znc@ec2-18-170-87-228.eu-west-2.compute.amazonaws.com) |
2021-08-15 12:19:46 +0200 | <tromp> | feel free to upvote the HN submission:) |
2021-08-15 12:21:04 +0200 | <pavonia> | tromp: Can you only get completely random results of could you, e.g., say "give me some random position after 10 moves" |
2021-08-15 12:21:51 +0200 | <tromp> | pavonia: it has nothing to do with number of moves. use perft related tools for that |
2021-08-15 12:22:39 +0200 | <pavonia> | Sorry, just trying to understand the purpose of that library |
2021-08-15 12:22:44 +0200 | <tromp> | it's uniformly random in the space of my 8726713169886222032347729969256422370854716254 urpositions |
2021-08-15 12:23:20 +0200 | <tromp> | the main purpose is getting accurate estimates on the number of legal positions |
2021-08-15 12:23:42 +0200 | <tromp> | which we never had before |
2021-08-15 12:24:31 +0200 | <tromp> | perhaps it can also serve as a stress test for chess engines:-) |
2021-08-15 12:24:46 +0200 | <pavonia> | I see |
2021-08-15 12:25:26 +0200 | <tromp> | for haskell users, the Data.Ranking is of independent interest |
2021-08-15 12:25:36 +0200 | jtomas | (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) |
2021-08-15 12:25:56 +0200 | <tromp> | and this project is like a showcase of its power |
2021-08-15 12:26:29 +0200 | <tromp> | it's very similar to Enumeration.Invertible |
2021-08-15 12:26:29 +0200 | mt404 | (~mt404@cpe1056118081ac-cm1056118081aa.cpe.net.cable.rogers.com) |
2021-08-15 12:30:39 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 12:33:56 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 12:35:56 +0200 | <fvr> | fendor, I can reproduce your error when I change version of Cabal lib in one of the cabal-testsuite tests , likely an error in cabal-testsuite itself |
2021-08-15 12:36:58 +0200 | oxide | (~lambda@user/oxide) |
2021-08-15 12:37:09 +0200 | <fendor> | fvr, nice, if the error is in the test-case, we can fix it! |
2021-08-15 12:38:35 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
2021-08-15 12:38:41 +0200 | indiana-bones | (~indignant@94.140.8.98) (Quit: Leaving) |
2021-08-15 12:39:59 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-08-15 12:41:25 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-08-15 12:52:46 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 268 seconds) |
2021-08-15 12:57:42 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-08-15 13:02:01 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-08-15 13:02:38 +0200 | hendursa1 | (~weechat@user/hendursaga) (Remote host closed the connection) |
2021-08-15 13:03:03 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-08-15 13:04:37 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-08-15 13:06:02 +0200 | sedeki | (~textual@user/sedeki) |
2021-08-15 13:06:40 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-08-15 13:07:08 +0200 | sedeki | (~textual@user/sedeki) (Client Quit) |
2021-08-15 13:07:25 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-08-15 13:07:48 +0200 | <fvr> | fendor, the test I am testing has it's own cabal.project file, if I add the the intree Cabal to its project file's packages list, the cabal in the test can see it then |
2021-08-15 13:08:41 +0200 | AlexNoo_ | (~AlexNoo@94.233.240.231) |
2021-08-15 13:09:53 +0200 | fabfianda | (~fabfianda@37.183.255.57) (Ping timeout: 248 seconds) |
2021-08-15 13:10:25 +0200 | Alex_test | (~al_test@94.233.240.105) (Ping timeout: 248 seconds) |
2021-08-15 13:10:37 +0200 | fabfianda | (~fabfianda@mob-5-91-124-63.net.vodafone.it) |
2021-08-15 13:11:17 +0200 | AlexZenon | (~alzenon@94.233.240.105) (Ping timeout: 268 seconds) |
2021-08-15 13:12:22 +0200 | AlexNoo | (~AlexNoo@94.233.240.105) (Ping timeout: 256 seconds) |
2021-08-15 13:16:11 +0200 | Alex_test | (~al_test@94.233.240.231) |
2021-08-15 13:16:11 +0200 | AlexZenon | (~alzenon@94.233.240.231) |
2021-08-15 13:19:12 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-15 13:20:02 +0200 | ircbrowse_tom | (~ircbrowse@static.162.49.55.162.clients.your-server.de) |
2021-08-15 13:20:04 +0200 | Server | +Cnt |
2021-08-15 13:22:24 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-08-15 13:24:55 +0200 | pfurla_ | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) |
2021-08-15 13:28:00 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) (Remote host closed the connection) |
2021-08-15 13:28:30 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-15 13:28:41 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) |
2021-08-15 13:28:48 +0200 | pfurla | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 256 seconds) |
2021-08-15 13:33:28 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-08-15 13:34:55 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-08-15 13:36:05 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-08-15 13:39:42 +0200 | <arahael> | Been looking at a bug in my haskell server, and started using Debug.trace for the first time. I've discovered that 'https://hackage.haskell.org/package/tar-0.5.1.1/docs/Codec-Archive-Tar.html#v:entryPath' appears to be truncating the filenames1? |
2021-08-15 13:41:45 +0200 | <arahael> | Can someone suggest a better tarfile implementation? |
2021-08-15 13:42:03 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-08-15 13:42:55 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 13:43:12 +0200 | <fvr> | arahael, would this work https://github.com/hasufell/tar-bytestring/ |
2021-08-15 13:43:27 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-08-15 13:44:00 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 13:44:13 +0200 | <arahael> | fvr: Perhaps! |
2021-08-15 13:45:42 +0200 | Morimaruza[m] | (~morimaruz@2001:470:69fc:105::da03) |
2021-08-15 13:45:42 +0200 | Morimaruza[m] | (~morimaruz@2001:470:69fc:105::da03) () |
2021-08-15 13:46:37 +0200 | <arahael> | fvr: I think that's a fork originating from https://github.com/haskell/tar/pull/50 maybe. It's such a weird issue, by logging, I notice that there's a pretty short maximum length for the filenames. It's weird. |
2021-08-15 13:46:55 +0200 | <tomsmeding> | arahael: fvr: there's also libarchive, which is recommended over tar-bytestring by tar-bytestring's author... https://github.com/hasufell/hpath/pull/41#issuecomment-896910037 |
2021-08-15 13:47:04 +0200 | <tomsmeding> | though tar-bytestring is far more similar to 'tar' |
2021-08-15 13:47:12 +0200 | <tomsmeding> | if you want an easy switch |
2021-08-15 13:47:38 +0200 | oldsk00l | (~znc@ec2-3-127-148-248.eu-central-1.compute.amazonaws.com) (Remote host closed the connection) |
2021-08-15 13:47:59 +0200 | <arahael> | tomsmeding: I'm trying the easy switch, but I think I should swap to libarchive regardless but not today (It's nearly 10pm afterall) |
2021-08-15 13:48:24 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-08-15 13:48:43 +0200 | <arahael> | Hmm, tar-bytestring doesn't seem to build in cabal. |
2021-08-15 13:48:50 +0200 | <maerwald[m]> | tar-bytestring is still maintained, but the idea is to ditch it completely and rewrite it in streamly |
2021-08-15 13:48:52 +0200 | machinedgod | (~machinedg@24.105.81.50) (Read error: Connection reset by peer) |
2021-08-15 13:48:53 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 268 seconds) |
2021-08-15 13:49:06 +0200 | <fvr> | tomsmeding: cool didn't know that |
2021-08-15 13:49:18 +0200 | <maerwald[m]> | libarchive also has better memory consumption |
2021-08-15 13:49:20 +0200 | <arahael> | (Due to something an error with building streamly-posix-0.1.0.1 ) |
2021-08-15 13:49:41 +0200 | <maerwald[m]> | tar currently forces every file into memory before unpacking |
2021-08-15 13:49:41 +0200 | <tomsmeding> | arahael: what's the error? |
2021-08-15 13:49:58 +0200 | <arahael> | Could not find module `Streamly.Internal.Data.Unfold.Types' |
2021-08-15 13:50:00 +0200 | <maerwald[m]> | So your max memory consumption depends on the biggest file in the archive |
2021-08-15 13:50:42 +0200 | <tomsmeding> | use streampy-posix-0.1.0.2 https://github.com/hasufell/streamly-posix/pull/1 |
2021-08-15 13:51:10 +0200 | <arahael> | tomsmeding: I'm not the one using streampy, though. It's an indirect dependency. |
2021-08-15 13:51:32 +0200 | <maerwald[m]> | That sounds like a version bound is off |
2021-08-15 13:51:32 +0200 | <fvr> | arahael: you can just add it in your extra-deps if stack.yaml or cabal.project |
2021-08-15 13:51:45 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-08-15 13:51:48 +0200 | <arahael> | This is just a regular old cabal. |
2021-08-15 13:51:48 +0200 | <maerwald[m]> | That shouldn't be needed |
2021-08-15 13:52:23 +0200 | <arahael> | I think what I'll do is just move to libarchive next chance I have to work on this. |
2021-08-15 13:52:37 +0200 | <maerwald[m]> | Or share full build log |
2021-08-15 13:52:54 +0200 | <maerwald[m]> | Otherwise this is a guessing game |
2021-08-15 13:52:59 +0200 | <arahael> | maerwald[m]: Yeah, but then I have to commit to staying here for a bit longer whilst other people invest in helping me. :) |
2021-08-15 13:53:09 +0200 | <tomsmeding> | arahael: try a cabal update; the indirect dependency is in hpath-directory. The latest version of that (0.14.2.1) works, but 0.14.2.0 doesn't; tar-bytestring has a ==0.14.* constraint on hpath-directory |
2021-08-15 13:53:53 +0200 | <arahael> | tomsmeding: Oh, that's intriguing. |
2021-08-15 13:53:58 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-08-15 13:54:12 +0200 | <tomsmeding> | so you just need cabal to give you the latest hpath-directory (which is very recent, like as of last week) |
2021-08-15 13:54:19 +0200 | <arahael> | Oh, wow, that is recent. |
2021-08-15 13:54:49 +0200 | <tomsmeding> | (it's due to an incompatibility with streamly 0.8 that I found, fixed, and sent a PR for last week :p ) |
2021-08-15 13:55:26 +0200 | <arahael> | Oh, awesome! :D |
2021-08-15 13:55:49 +0200 | <arahael> | It's currently rebuilding the world. |
2021-08-15 13:56:04 +0200 | machinedgod | (~machinedg@24.105.81.50) (Remote host closed the connection) |
2021-08-15 13:56:30 +0200 | <tomsmeding> | always fun |
2021-08-15 13:56:32 +0200 | <arahael> | But I think I should move to libarchive, very not impressed with tar truncating my filenames. |
2021-08-15 13:56:45 +0200 | <arahael> | (But won't be today. And probably won't be tomorrow either!) |
2021-08-15 13:59:55 +0200 | <arahael> | Ok, it now dies when trying to compile hpath-directory-0.14.2.1 - but I should get to bed. |
2021-08-15 14:00:08 +0200 | <arahael> | tomsmeding, fvr: Thanks for your help and recommendations! |
2021-08-15 14:00:11 +0200 | <maerwald[m]> | Oh dear |
2021-08-15 14:00:33 +0200 | <maerwald[m]> | Build logs |
2021-08-15 14:00:42 +0200 | tomsmeding | chants "build logs" |
2021-08-15 14:00:51 +0200 | <maerwald[m]> | "dies" and "fails" etc aren't useful |
2021-08-15 14:01:14 +0200 | <arahael> | Ok, one moment... |
2021-08-15 14:01:24 +0200 | <tomsmeding> | thou shalt not sleep |
2021-08-15 14:03:29 +0200 | <fvr> | using nix for haskell dependencies for a few months now and I forgot cabal update exists lol |
2021-08-15 14:04:05 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 252 seconds) |
2021-08-15 14:04:12 +0200 | <maerwald[m]> | You mean a freeze file? |
2021-08-15 14:05:35 +0200 | <arahael> | https://gist.github.com/arafangion/a5d8606f798c3319cf3fab8495f73d80 |
2021-08-15 14:05:51 +0200 | <arahael> | Incidentially, I am using nix, but not debugging further tonight I'm afraid. |
2021-08-15 14:05:59 +0200 | <arahael> | (And it's just cabal in a nix-shell) |
2021-08-15 14:06:33 +0200 | <arahael> | maerwald[m], tomsmeding: Is that log what you need, though? |
2021-08-15 14:06:46 +0200 | <maerwald[m]> | MonadFail |
2021-08-15 14:06:58 +0200 | <maerwald[m]> | Update your ghc lol |
2021-08-15 14:07:04 +0200 | <tomsmeding> | lol |
2021-08-15 14:07:15 +0200 | <tomsmeding> | did 8.6.5 have no MonadFail yet? |
2021-08-15 14:07:23 +0200 | <tomsmeding> | but yeah, in general, update your ghc |
2021-08-15 14:07:41 +0200 | <tomsmeding> | arahael: and yes that's the log :) |
2021-08-15 14:07:45 +0200 | <arahael> | tomsmeding: Awesome. :) |
2021-08-15 14:08:42 +0200 | <arahael> | maerwald[m]: What can I read to learn about the MonadFail thing? Will put it in a browser tab for now... Is this the main page for it? https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/monad-fail |
2021-08-15 14:09:01 +0200 | <arahael> | tomsmeding: I'll update ghc later in the week! |
2021-08-15 14:10:17 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 258 seconds) |
2021-08-15 14:10:20 +0200 | <tomsmeding> | arahael: MonadFail exists and works as it is supposed to since ghc 8.8 |
2021-08-15 14:10:31 +0200 | <tomsmeding> | (as seen in the Transitional Strategy list on the page you linked) |
2021-08-15 14:10:33 +0200 | <maerwald[m]> | MonadFail was about breaking everyones code and introduce a lot of ifdefs around imports. It achieved thst goal |
2021-08-15 14:10:52 +0200 | <tomsmeding> | :D |
2021-08-15 14:11:20 +0200 | <tomsmeding> | it was also about fixing a design imperfection |
2021-08-15 14:11:26 +0200 | <tomsmeding> | but that's secondary |
2021-08-15 14:11:27 +0200 | <arahael> | Heh, cool. So next chance i get into this, I should first update ghc to at _least_ 8.8 (in practice: The latest I have on nixos), and then read up on this MonadFail thing just for background info. |
2021-08-15 14:11:34 +0200 | <arahael> | Thanks. :) |
2021-08-15 14:11:36 +0200 | <tomsmeding> | sounds good |
2021-08-15 14:11:41 +0200 | <tomsmeding> | now you can sleep :) |
2021-08-15 14:11:42 +0200 | <maerwald[m]> | 8.10.6 should be fine |
2021-08-15 14:12:27 +0200 | <arahael> | Awesome :) |
2021-08-15 14:12:31 +0200 | <arahael> | THanks for that! |
2021-08-15 14:13:36 +0200 | <fvr> | I think it should also be a fix in the hpath-directory unless supporting 8.6.5 is not a goal |
2021-08-15 14:13:54 +0200 | <arahael> | fvr: I have no reason to stick with 8.6.5. |
2021-08-15 14:14:22 +0200 | <fvr> | I meant non-goal for the library |
2021-08-15 14:14:49 +0200 | <maerwald[m]> | fvr: ya, PR? |
2021-08-15 14:15:02 +0200 | <tomsmeding> | fvr: the real fix, if possible, would be that hpath-directory has (streamly < 0.8 && streamly-posix == 0.14.*) || (streamly >= 0.8 && streamly-posix >= 0.14.2.1) |
2021-08-15 14:15:03 +0200 | <maerwald[m]> | I'm lazy on my bed |
2021-08-15 14:15:05 +0200 | <tomsmeding> | not sure if cabal can do that |
2021-08-15 14:15:11 +0200 | <maerwald[m]> | Can't fix all of it |
2021-08-15 14:15:30 +0200 | <fvr> | maerwald: sure, though I hate to download a old ghc just to test it lol |
2021-08-15 14:16:04 +0200 | <maerwald[m]> | tomsmeding: we can also msrk 0.14.2.0 as broken |
2021-08-15 14:16:23 +0200 | <maerwald[m]> | But that won't fix it for freeze files etc |
2021-08-15 14:16:24 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-08-15 14:16:46 +0200 | <maerwald[m]> | fvr: ghcup install gch 8.6.5 |
2021-08-15 14:16:52 +0200 | <tomsmeding> | maerwald[m]: that wouldn't fix anything, right? hpath-directory has 0.14.* on streamly-posix so cabal could just pixk 0.14.1 |
2021-08-15 14:17:03 +0200 | <tomsmeding> | s/pixk/pick/ |
2021-08-15 14:17:26 +0200 | <maerwald[m]> | Can revbump tar-bytestring too |
2021-08-15 14:18:09 +0200 | <tomsmeding> | so that people can depend on the latest tar-bytestring and be cool? |
2021-08-15 14:19:03 +0200 | <maerwald[m]> | I'm still not sure how that solver error happened |
2021-08-15 14:20:09 +0200 | <maerwald[m]> | streamly-posix-0.1.0.1 depends on streamly (==0.7.*) |
2021-08-15 14:20:44 +0200 | <maerwald[m]> | streamly-posix-0.1.0.2 depends on streamly (>=0.7 && <0.9) |
2021-08-15 14:20:50 +0200 | <tomsmeding> | ooh you revised 0.1.0.1 |
2021-08-15 14:20:55 +0200 | <tomsmeding> | probably someone didn't cabal update? |
2021-08-15 14:20:57 +0200 | <maerwald[m]> | Yes |
2021-08-15 14:21:00 +0200 | <tomsmeding> | and didn't get the revision |
2021-08-15 14:21:15 +0200 | <maerwald[m]> | Revisions should be pulled in without cabal update, no? |
2021-08-15 14:21:24 +0200 | AlexNoo_ | AlexNoo |
2021-08-15 14:21:39 +0200 | <tomsmeding> | I wouldn't know, but aren't those just modifications of the cabal file? |
2021-08-15 14:21:46 +0200 | <maerwald[m]> | Yes |
2021-08-15 14:21:56 +0200 | <tomsmeding> | which get downloaded in bulk when doing 'cabal update' |
2021-08-15 14:22:22 +0200 | <maerwald[m]> | Maybe there's nothing to fix after all |
2021-08-15 14:22:36 +0200 | maerwald[m] | goes back to being lazy |
2021-08-15 14:23:03 +0200 | <tomsmeding> | with that revision you may be right that indeed, a cabal update will always fix this particular issue for tar-bytestring users |
2021-08-15 14:23:44 +0200 | <arahael> | i did do a cabal update (have gone to bed though so no laptop now) |
2021-08-15 14:24:02 +0200 | <tomsmeding> | which triggered a rebuild of the world, right? |
2021-08-15 14:24:39 +0200 | <arahael> | yeah it downloaded and built everything thr project depended on until it got that error. |
2021-08-15 14:25:06 +0200 | <arahael> | then i re-ran the build to get you those logs as i didnt keep the previous run |
2021-08-15 14:25:12 +0200 | <tomsmeding> | maerwald[m] was talking about the Streamly.Internal.Data.Unfold.Types error you got before |
2021-08-15 14:25:25 +0200 | <tomsmeding> | the MonadFail error is something different and was related to your ghc version |
2021-08-15 14:25:29 +0200 | <arahael> | ah! yeah, cabal update fixed that one |
2021-08-15 14:25:34 +0200 | <tomsmeding> | cool :) |
2021-08-15 14:26:46 +0200 | <arahael> | i guess that confirms the "nothing to fix" for that one :) |
2021-08-15 14:31:02 +0200 | mt404 | (~mt404@cpe1056118081ac-cm1056118081aa.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds) |
2021-08-15 14:32:20 +0200 | mt404 | (~mt404@cpe1056118081ac-cm1056118081aa.cpe.net.cable.rogers.com) |
2021-08-15 14:35:28 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 14:39:39 +0200 | _\_ | (~flick@2001:19f0:5:14c2:5400:2ff:fee0:a42c) (Quit: ___) |
2021-08-15 14:39:48 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
2021-08-15 14:40:13 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) (Remote host closed the connection) |
2021-08-15 14:40:43 +0200 | dudek | (~dudek@185.150.236.112) |
2021-08-15 14:41:20 +0200 | sander | (~sander@user/sander) (Ping timeout: 256 seconds) |
2021-08-15 14:42:33 +0200 | _\_ | (~o@2001:19f0:5:14c2:5400:2ff:fee0:a42c) |
2021-08-15 14:44:36 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-08-15 14:45:39 +0200 | sander | (~sander@user/sander) |
2021-08-15 14:46:56 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-08-15 14:47:27 +0200 | haykam | (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection) |
2021-08-15 14:47:40 +0200 | haykam | (~haykam@static.100.2.21.65.clients.your-server.de) |
2021-08-15 14:48:19 +0200 | CannabisIndica | (~herb@user/mesaboogie) (Quit: ZNC - https://znc.in) |
2021-08-15 14:49:34 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-08-15 14:49:58 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
2021-08-15 14:50:47 +0200 | _\_ | (~o@2001:19f0:5:14c2:5400:2ff:fee0:a42c) (Changing host) |
2021-08-15 14:50:47 +0200 | _\_ | (~o@user/ding) |
2021-08-15 14:51:26 +0200 | <albet70> | ContT r IO a, what it's used for? |
2021-08-15 14:51:45 +0200 | <albet70> | what is a CPS |
2021-08-15 14:53:29 +0200 | thyriaen | (~thyriaen@dynamic-089-012-237-250.89.12.pool.telefonica.de) |
2021-08-15 14:54:39 +0200 | <hpc> | at a very high level, it's laying out your code so the notion of "everything my program does after this point" is a function that you can manipulate |
2021-08-15 14:55:14 +0200 | <thyriaen> | howdy, friends - i have a list of numbers, and i am trying to find a subset of them for which the sum is an exact number - so i generate the powerset of it and then sum them all up and filter accordingly - i found it but now i would like to know which subset was the solution - how do i do that ? |
2021-08-15 14:55:14 +0200 | <hpc> | that "everything my program does after this point" doesn't have to be a single function either |
2021-08-15 14:55:17 +0200 | <hpc> | maybe it's two functions |
2021-08-15 14:55:49 +0200 | schuelermine | (~anselmsch@user/schuelermine) |
2021-08-15 14:55:55 +0200 | <hpc> | imagine you're writing a parser - in CPS style maybe you have two continuations, one for "i consumed input and found what i expected" and one for "there was some sort of a problem" |
2021-08-15 14:56:13 +0200 | <thyriaen> | this is my current code: https://paste.tomsmeding.com/umLlKbAf |
2021-08-15 14:56:44 +0200 | mikoto-chan | (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) |
2021-08-15 14:56:56 +0200 | <tomsmeding> | thyriaen: what about Data.List.find |
2021-08-15 14:57:04 +0200 | <tomsmeding> | note also that sumer = sum ;) |
2021-08-15 14:57:05 +0200 | <hpc> | then a parser like (char x) is written as "do the low-level operation that consumes input - if the character == x, call the success continuation, otherwise call the fail continuation" |
2021-08-15 14:57:24 +0200 | <thyriaen> | let me look up data.list.find |
2021-08-15 14:57:31 +0200 | <hpc> | some implementation details later and (>>=) to compose it, and you have parsec |
2021-08-15 14:57:45 +0200 | <hpc> | https://hackage.haskell.org/package/parsec-3.1.14.0/docs/src/Text.Parsec.Prim.html#ParsecT |
2021-08-15 14:58:01 +0200 | <hpc> | ContT is the most general form of this sort of thing |
2021-08-15 14:58:40 +0200 | <thyriaen> | tomsmeding, what is a foldable t ? |
2021-08-15 14:58:55 +0200 | <hpc> | albet70: hopefully that made sense? |
2021-08-15 14:59:06 +0200 | <albet70> | yes |
2021-08-15 14:59:12 +0200 | <thyriaen> | tomsmeding, i don't think i understand find :: Foldable t => (a -> Bool) -> t a -> Maybe a |
2021-08-15 14:59:15 +0200 | <tomsmeding> | thyriaen: think of that type signature as saying "(a -> Bool) -> [a] -> Maybe a" |
2021-08-15 14:59:27 +0200 | <tomsmeding> | [] is one example of a Foldable |
2021-08-15 14:59:33 +0200 | <thyriaen> | okay |
2021-08-15 15:00:04 +0200 | schuelermine | (~anselmsch@user/schuelermine) (Client Quit) |
2021-08-15 15:00:06 +0200 | <fvr> | Is there an opposite command to `cabal install --lib` |
2021-08-15 15:00:10 +0200 | <tomsmeding> | hm you don't even need find |
2021-08-15 15:00:32 +0200 | <tomsmeding> | thyriaen: the more important thing to do is to put the summing in the filter |
2021-08-15 15:00:51 +0200 | <tomsmeding> | what you now have is: filter (== 271.36) (map sum (powerset list)) |
2021-08-15 15:01:01 +0200 | <thyriaen> | yes |
2021-08-15 15:01:02 +0200 | alx741 | (~alx741@186.178.108.32) |
2021-08-15 15:01:06 +0200 | <tomsmeding> | what about: filter (\l -> sum l == 271.36) (powerset list) |
2021-08-15 15:01:08 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 15:01:19 +0200 | <thyriaen> | what is \l ? |
2021-08-15 15:01:24 +0200 | <thyriaen> | lambda ? |
2021-08-15 15:01:26 +0200 | <tomsmeding> | yeah |
2021-08-15 15:01:41 +0200 | <tomsmeding> | % f = \x -> x + 1 |
2021-08-15 15:01:42 +0200 | <yahb> | tomsmeding: |
2021-08-15 15:01:44 +0200 | <albet70> | hpc, in the computation chain of >>=, how the ContT can jump back and why? |
2021-08-15 15:01:45 +0200 | <tomsmeding> | % f 10 |
2021-08-15 15:01:45 +0200 | <yahb> | tomsmeding: 11 |
2021-08-15 15:02:33 +0200 | <tomsmeding> | thyriaen: (== 271.36) is the same as (\x -> x == 271.36) |
2021-08-15 15:02:35 +0200 | <thyriaen> | tomsmeding, i understand now it makes sense |
2021-08-15 15:02:46 +0200 | <thyriaen> | but one question remains |
2021-08-15 15:03:05 +0200 | <thyriaen> | find does not really change anything compared to filter, does it ? |
2021-08-15 15:03:27 +0200 | <tomsmeding> | nah find just returns the first match, if one exists, while filter returns all matches |
2021-08-15 15:03:31 +0200 | <tomsmeding> | I was confused for a moment |
2021-08-15 15:04:30 +0200 | <thyriaen> | tomsmeding, yes - thanks so much ! it worked |
2021-08-15 15:04:47 +0200 | <thyriaen> | dang it i love haskell |
2021-08-15 15:05:04 +0200 | <tomsmeding> | :) |
2021-08-15 15:06:05 +0200 | <albet70> | like Maybe Either can break computation chain of >>=, Read can pass input in it, Writer can append log in it, State can do both, and Cont can jump back to somewhere in it, why Cont can do this? |
2021-08-15 15:06:48 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 272 seconds) |
2021-08-15 15:07:07 +0200 | <albet70> | and Traverse can do early exit |
2021-08-15 15:25:16 +0200 | pfurla | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) |
2021-08-15 15:27:11 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) |
2021-08-15 15:28:29 +0200 | son0p | (~ff@181.136.122.143) (Ping timeout: 258 seconds) |
2021-08-15 15:28:54 +0200 | pfurla_ | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 272 seconds) |
2021-08-15 15:29:52 +0200 | mikoto-chan | (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Quit: mikoto-chan) |
2021-08-15 15:30:39 +0200 | Pickchea | (~private@user/pickchea) |
2021-08-15 15:30:54 +0200 | frosky | (~froskyarr@50.7.59.207) |
2021-08-15 15:34:49 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) (Remote host closed the connection) |
2021-08-15 15:35:25 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Remote host closed the connection) |
2021-08-15 15:36:09 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 15:38:03 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 268 seconds) |
2021-08-15 15:40:09 +0200 | hendursa1 | (~weechat@user/hendursaga) (Quit: hendursa1) |
2021-08-15 15:40:36 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-08-15 15:40:45 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 258 seconds) |
2021-08-15 15:41:08 +0200 | fendor | (~fendor@178.115.35.166.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-08-15 15:45:10 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-15 15:46:43 +0200 | mikoto-chan | (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) |
2021-08-15 15:47:07 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-15 15:50:30 +0200 | jgeerds | (~jgeerds@55d45555.access.ecotel.net) |
2021-08-15 15:51:29 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 248 seconds) |
2021-08-15 15:54:50 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-08-15 15:57:30 +0200 | fendor | (~fendor@178.115.35.166.wireless.dyn.drei.com) |
2021-08-15 16:01:14 +0200 | xff0x | (~xff0x@2001:1a81:52ed:2b00:c854:bd3b:6fb8:2f1e) (Ping timeout: 252 seconds) |
2021-08-15 16:04:20 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) |
2021-08-15 16:13:34 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 16:16:01 +0200 | Neuromancer | (~Neuromanc@user/neuromancer) (Ping timeout: 248 seconds) |
2021-08-15 16:22:08 +0200 | jgeerds | (~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 252 seconds) |
2021-08-15 16:23:29 +0200 | xff0x | (~xff0x@2001:1a81:52ed:2b00:c854:bd3b:6fb8:2f1e) |
2021-08-15 16:33:51 +0200 | markpythonicbitc | (~markpytho@2601:647:5a00:35:a0f9:2ba0:ff0:86b4) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-08-15 16:36:56 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 16:40:02 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) (Remote host closed the connection) |
2021-08-15 16:41:05 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds) |
2021-08-15 16:43:02 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 16:43:54 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2021-08-15 16:46:25 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-08-15 16:46:43 +0200 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) |
2021-08-15 16:48:33 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds) |
2021-08-15 16:52:44 +0200 | keutoi | (~keutoi@157.47.6.195) (Quit: leaving) |
2021-08-15 16:54:52 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) |
2021-08-15 16:57:20 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2021-08-15 16:58:16 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) (Remote host closed the connection) |
2021-08-15 16:59:10 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 17:00:47 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) |
2021-08-15 17:04:20 +0200 | <tomsmeding> | maerwald[m]: HLS seems to just work for 8.10.6 if you manually compile it? like, literally 'cabal build'? |
2021-08-15 17:04:36 +0200 | tomsmeding | surprised pikachu face |
2021-08-15 17:07:43 +0200 | CnnibisIndica | (~herb@user/mesaboogie) |
2021-08-15 17:08:53 +0200 | CnnibisIndica | CannabisIndica |
2021-08-15 17:09:14 +0200 | sam93 | (~sam@117.210.134.230) |
2021-08-15 17:10:01 +0200 | markpythonicbitc | (~markpytho@50.228.44.6) |
2021-08-15 17:11:55 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-15 17:12:11 +0200 | mikoto-chan | (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Quit: mikoto-chan) |
2021-08-15 17:13:10 +0200 | sam93 | (~sam@117.210.134.230) (Client Quit) |
2021-08-15 17:13:58 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) (Remote host closed the connection) |
2021-08-15 17:15:20 +0200 | alx741 | (~alx741@186.178.108.32) (Quit: alx741) |
2021-08-15 17:15:45 +0200 | fabfianda | (~fabfianda@mob-5-91-124-63.net.vodafone.it) (Ping timeout: 248 seconds) |
2021-08-15 17:16:06 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-08-15 17:16:58 +0200 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 258 seconds) |
2021-08-15 17:17:21 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-08-15 17:21:42 +0200 | mikoto-chan | (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) |
2021-08-15 17:23:09 +0200 | <maerwald> | ya |
2021-08-15 17:24:40 +0200 | <tomsmeding> | had already rebuilt the world before realising that there was no HLS release for 8.10.6 |
2021-08-15 17:24:47 +0200 | pfurla_ | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) |
2021-08-15 17:24:57 +0200 | <tomsmeding> | then just tried yolo'ing the build and it worked :p |
2021-08-15 17:28:27 +0200 | pfurla | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 245 seconds) |
2021-08-15 17:29:58 +0200 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
2021-08-15 17:30:29 +0200 | benin036932 | (~benin@183.82.205.178) |
2021-08-15 17:31:08 +0200 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) |
2021-08-15 17:31:12 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2021-08-15 17:32:23 +0200 | mikoto-chan | (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Quit: mikoto-chan) |
2021-08-15 17:34:11 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds) |
2021-08-15 17:34:24 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-08-15 17:34:25 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) |
2021-08-15 17:34:41 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) (Remote host closed the connection) |
2021-08-15 17:34:55 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 17:35:02 +0200 | alx741 | (~alx741@186.178.108.32) |
2021-08-15 17:35:13 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) |
2021-08-15 17:39:12 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 258 seconds) |
2021-08-15 17:39:42 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) (Ping timeout: 245 seconds) |
2021-08-15 17:40:26 +0200 | fabfianda | (~fabfianda@37.183.255.57) |
2021-08-15 17:44:38 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-08-15 17:44:44 +0200 | fabfianda | (~fabfianda@37.183.255.57) (Read error: Connection reset by peer) |
2021-08-15 17:45:21 +0200 | fabfianda | (~fabfianda@37.183.255.57) |
2021-08-15 17:46:30 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de) |
2021-08-15 17:48:27 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-15 17:51:42 +0200 | hoknamahn | (~hoknamahn@cpc158487-croy28-2-0-cust310.19-2.cable.virginm.net) |
2021-08-15 17:53:18 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
2021-08-15 17:59:20 +0200 | hoknamahn | (~hoknamahn@cpc158487-croy28-2-0-cust310.19-2.cable.virginm.net) (Quit: Konversation terminated!) |
2021-08-15 17:59:41 +0200 | hoknamahn | (~hoknamahn@cpc158487-croy28-2-0-cust310.19-2.cable.virginm.net) |
2021-08-15 18:01:10 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
2021-08-15 18:01:15 +0200 | <maerwald> | every time I use doctest I regret it |
2021-08-15 18:01:41 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 18:03:26 +0200 | econo | (uid147250@user/econo) |
2021-08-15 18:06:01 +0200 | <fvr> | There is cabal-docspec |
2021-08-15 18:06:02 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
2021-08-15 18:06:07 +0200 | <fvr> | I have never used it though |
2021-08-15 18:07:13 +0200 | <hoknamahn> | hi guys, I have a FFI related question. There is a C function like void c_test(int **iptr); I want to call this function from Haskell passing to it an address of Ptr CInt (in C it would be a call c_test(&iptr)). The question is how do I get an address? |
2021-08-15 18:07:13 +0200 | <maerwald> | yeah, looking at the documentation I don't even know what it does |
2021-08-15 18:07:48 +0200 | kritzefitz | (~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.7.2+deb3 - https://znc.in) |
2021-08-15 18:08:03 +0200 | kritzefitz | (~kritzefit@picard.host.weltraumschlangen.de) |
2021-08-15 18:09:37 +0200 | <fvr> | Streamly moved from doctest to cabal-docspec I forgot why |
2021-08-15 18:09:51 +0200 | <maerwald> | cabal-doctest you mean |
2021-08-15 18:09:57 +0200 | <maerwald> | that's marked deprecated on hackage |
2021-08-15 18:10:05 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
2021-08-15 18:10:06 +0200 | <xsperry> | hoknamahn, allocate Ptr (Ptr Int), pass it to c_test, then use one of the peek* functions to dereference it |
2021-08-15 18:10:30 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-08-15 18:11:20 +0200 | <fvr> | No cabal-docspec |
2021-08-15 18:11:55 +0200 | <hoknamahn> | xsperry, should I use alloca for that? |
2021-08-15 18:12:36 +0200 | <fvr> | maerwald: https://github.com/phadej/cabal-extras/blob/master/cabal-docspec/MANUAL.md |
2021-08-15 18:12:47 +0200 | <maerwald> | it's a mess |
2021-08-15 18:12:54 +0200 | <maerwald> | doctest has really bad ux |
2021-08-15 18:13:47 +0200 | <xsperry> | hoknamahn, one of the alloca* functions yes. what does the function do? |
2021-08-15 18:13:53 +0200 | <xsperry> | c_test |
2021-08-15 18:14:15 +0200 | wonko | (~wjc@62.115.229.50) |
2021-08-15 18:14:18 +0200 | <hoknamahn> | basically it will allocate an array of strings and pass it back to haskell |
2021-08-15 18:14:37 +0200 | <hoknamahn> | at the moment i'm playing with FFI to figure out how to do it |
2021-08-15 18:14:44 +0200 | <xsperry> | an array of strings, but it accepts int **? |
2021-08-15 18:15:15 +0200 | <tomsmeding> | hoknamahn: in haskell, you'll have to do the equivalent of the C code: int **ptr = malloc(sizeof(int*)); c_test(ptr); do_something_with(ptr); free(ptr); |
2021-08-15 18:15:22 +0200 | <hoknamahn> | i'm testing. at the moment it will allocate just 1 int in memory and return a pointer to it |
2021-08-15 18:15:27 +0200 | <tomsmeding> | where the malloc and free are both done using alloca |
2021-08-15 18:15:33 +0200 | <xsperry> | anyway, if the function modifies int * refered ot by int **, then just alloca will do |
2021-08-15 18:17:22 +0200 | <hoknamahn> | what i need is C function allocating memory and returning a pointer to it. haskell should consume that memory |
2021-08-15 18:18:21 +0200 | kritzefitz | (~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
2021-08-15 18:18:29 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-08-15 18:18:59 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
2021-08-15 18:19:00 +0200 | kritzefitz | (~kritzefit@picard.host.weltraumschlangen.de) |
2021-08-15 18:21:47 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-08-15 18:21:48 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-08-15 18:21:51 +0200 | allbery_b | geekosaur |
2021-08-15 18:22:31 +0200 | <fvr> | hoknamahn: create a Haskell function to call your function, look at mallocBytes in base |
2021-08-15 18:22:33 +0200 | <tomsmeding> | hoknamahn: think about what your code would look like in C, but without using & -- instead, you allocate some memory using malloc/free. Then convert all the malloc/free pairs in your hypothetical implementation to haskell's alloca |
2021-08-15 18:26:59 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-08-15 18:28:11 +0200 | Pickchea | (~private@user/pickchea) |
2021-08-15 18:30:47 +0200 | <hoknamahn> | tomsmeding: thanks, i think i see what you mean. |
2021-08-15 18:32:34 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2021-08-15 18:32:40 +0200 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2021-08-15 18:33:05 +0200 | haowenl | (~Thunderbi@066-215-230-039.res.spectrum.com) |
2021-08-15 18:33:30 +0200 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) |
2021-08-15 18:33:31 +0200 | haowenl | (~Thunderbi@066-215-230-039.res.spectrum.com) (Client Quit) |
2021-08-15 18:34:15 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-15 18:38:16 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 18:39:20 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
2021-08-15 18:42:41 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds) |
2021-08-15 18:45:15 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-15 18:48:14 +0200 | kuribas | (~user@ptr-25vy0iaezbxroyr1ffb.18120a2.ip6.access.telenet.be) |
2021-08-15 18:52:36 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 18:54:09 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 268 seconds) |
2021-08-15 18:56:16 +0200 | Xnuk | (~xnuk@vultr.xnu.kr) (Quit: ZNC - https://znc.in) |
2021-08-15 18:56:24 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-08-15 18:56:32 +0200 | Xnuk | (~xnuk@vultr.xnu.kr) |
2021-08-15 18:57:54 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:8577:297f:c78a:d1b2) |
2021-08-15 19:01:10 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 19:03:23 +0200 | jespada | (~jespada@90.254.247.46) (Ping timeout: 268 seconds) |
2021-08-15 19:03:51 +0200 | shapr | (~user@pool-108-28-144-11.washdc.fios.verizon.net) |
2021-08-15 19:04:38 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 268 seconds) |
2021-08-15 19:05:48 +0200 | jespada | (~jespada@90.254.247.46) |
2021-08-15 19:06:15 +0200 | tripoli | (~tripoli@69.233.98.238) |
2021-08-15 19:06:59 +0200 | pgib | (~textual@173.38.117.66) (Ping timeout: 258 seconds) |
2021-08-15 19:07:05 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 268 seconds) |
2021-08-15 19:07:34 +0200 | __monty__ | (~toonn@user/toonn) |
2021-08-15 19:07:44 +0200 | robertm | (robertm@rojoma.com) (Quit: WeeChat 2.3) |
2021-08-15 19:09:44 +0200 | robertm | (robertm@rojoma.com) |
2021-08-15 19:11:35 +0200 | haowenl | (~Thunderbi@066-215-230-039.res.spectrum.com) |
2021-08-15 19:12:20 +0200 | haowenl | (~Thunderbi@066-215-230-039.res.spectrum.com) (Client Quit) |
2021-08-15 19:16:16 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 272 seconds) |
2021-08-15 19:17:11 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-08-15 19:19:14 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-08-15 19:22:30 +0200 | vysn | (~vysn@user/vysn) |
2021-08-15 19:23:35 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-08-15 19:25:00 +0200 | pfurla | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) |
2021-08-15 19:27:09 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 19:28:33 +0200 | pfurla_ | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds) |
2021-08-15 19:30:20 +0200 | <energizer> | anybody know what "structural function types" refers to? |
2021-08-15 19:30:59 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-08-15 19:31:14 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 19:32:47 +0200 | roboguy_ | (~roboguy_@2605:a601:afe7:9f00:789f:7a:b395:5977) |
2021-08-15 19:33:17 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-08-15 19:33:46 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-08-15 19:33:48 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
2021-08-15 19:36:46 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) |
2021-08-15 19:37:16 +0200 | vysn | (~vysn@user/vysn) (Quit: WeeChat 3.2) |
2021-08-15 19:37:38 +0200 | vysn | (~vysn@user/vysn) |
2021-08-15 19:38:02 +0200 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 245 seconds) |
2021-08-15 19:40:56 +0200 | <hololeap> | energizer: context? |
2021-08-15 19:41:11 +0200 | <energizer> | hololeap: https://github.com/thautwarm/HigherKindedPolymorphisms.jl |
2021-08-15 19:41:21 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) (Ping timeout: 248 seconds) |
2021-08-15 19:42:48 +0200 | <hololeap> | *shrugs* some julia thing? |
2021-08-15 19:45:14 +0200 | Pickchea | (~private@user/pickchea) |
2021-08-15 19:45:28 +0200 | roboguy_ | (~roboguy_@2605:a601:afe7:9f00:789f:7a:b395:5977) () |
2021-08-15 19:45:56 +0200 | <cdsmith> | Hmm, in C++ I can write a template that can be instantiated with any type, but works differently if the argument type is showable. Any hack to do the same for a polymorphic method in Haskell? Is that something a rewrite rule could do? |
2021-08-15 19:47:35 +0200 | <opqdonut> | rewrite rules are meant to be used for semantics-preserving optimizations, so no |
2021-08-15 19:47:39 +0200 | vysn | (~vysn@user/vysn) (Quit: WeeChat 3.2) |
2021-08-15 19:47:55 +0200 | <cdsmith> | I'm not so concerned with what they are meant for. I'm being evil here... |
2021-08-15 19:48:02 +0200 | vysn | (~vysn@user/vysn) |
2021-08-15 19:48:43 +0200 | <opqdonut> | I wonder if you could do something like use OverlappingInstances and have a something like `instance MyThing a where stringify x = "<unshowable>"; instance Show a => MyThing a where stringify x = show x` |
2021-08-15 19:49:02 +0200 | <opqdonut> | probably not since those instances are equal in terms of instance resolution, the class contexts don't get used at that point... |
2021-08-15 19:49:06 +0200 | <cdsmith> | This is an "optimization" in spirit... it's just an optimization for the programmer by seeing better test failure messages. |
2021-08-15 19:49:25 +0200 | <cdsmith> | Yeah, I don't think the class approach works. |
2021-08-15 19:50:17 +0200 | <hololeap> | wouldn't it work if you swapped the order of those two instances? |
2021-08-15 19:50:19 +0200 | <opqdonut> | a google search leads me here via stackoverflow: https://github.com/mikeizbicki/ifcxt |
2021-08-15 19:50:42 +0200 | <opqdonut> | so a ConstraintKinds trick |
2021-08-15 19:54:37 +0200 | dcompoze | (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Quit: Weechat 3.2) |
2021-08-15 19:55:31 +0200 | jao | (jao@gateway/vpn/protonvpn/jao) |
2021-08-15 20:01:43 +0200 | <tomsmeding> | right, so make an instance (IfCtx (Show a)) for all 'a' that have a Show instance |
2021-08-15 20:01:51 +0200 | <tomsmeding> | that's... verbose |
2021-08-15 20:02:22 +0200 | <tomsmeding> | you don't even need ConstraintKinds to apply this trick |
2021-08-15 20:02:38 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-08-15 20:03:17 +0200 | <tomsmeding> | opqdonut's MyThing could work just fine; indeed, if you enumerate all showable types and make an OVERLAPS instance for all of them, and then add an OVERLAPPABLE default one that does the non-Show thing, then it would work fine |
2021-08-15 20:03:30 +0200 | Neuromancer | (~Neuromanc@user/neuromancer) |
2021-08-15 20:04:03 +0200 | <tomsmeding> | cdsmith: can the method you're talking about be a template haskell splice itself? |
2021-08-15 20:04:33 +0200 | <opqdonut> | yeah that's a good idea |
2021-08-15 20:04:36 +0200 | <tomsmeding> | if so, then I believe you can do this with TH by querying in-scope instances at usage site |
2021-08-15 20:04:40 +0200 | <opqdonut> | yeah |
2021-08-15 20:05:28 +0200 | <opqdonut> | that might work differently in polymorphic contexts though |
2021-08-15 20:05:40 +0200 | <tomsmeding> | true |
2021-08-15 20:06:00 +0200 | <tomsmeding> | but, like, in polymorphic contexts where will you magick up a type class dictionary from at runtime |
2021-08-15 20:06:31 +0200 | <tomsmeding> | someone has asked about this before, and then and now I immediatealy think of Typeable |
2021-08-15 20:06:54 +0200 | <tomsmeding> | but I believe the executable doesn't have any embedded information of the classes that a particular Typeable type implements |
2021-08-15 20:10:05 +0200 | <tomsmeding> | oooooh, make a list of known (Show a, Typeable a) types using templatehaskell, and embed a list in the application containing a list of Thingy, where data Thingy = forall a. (Show a, Typeable a) => Thingy (TypeRep a) |
2021-08-15 20:10:08 +0200 | markpythonicbitc | (~markpytho@50.228.44.6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-08-15 20:10:17 +0200 | <tomsmeding> | where that TypeRep comes from Type.Reflection, not Data.Typeable |
2021-08-15 20:10:19 +0200 | <hololeap> | there's also the solution of making a Showable newtype and then: instance {-# OVERLAPPING #-} Show a => MyThing (Showable a) |
2021-08-15 20:10:59 +0200 | <tomsmeding> | and then inside of the method in question, loop over that list comparing all the TypeReps, and if there's a match you get the Show dictionary from there |
2021-08-15 20:11:02 +0200 | <hololeap> | then you don't get the duplicate instance declarations error |
2021-08-15 20:11:25 +0200 | <opqdonut> | hololeap: that's kinda what quickcheck does, except it has a newtype for unshowable things |
2021-08-15 20:12:07 +0200 | <hololeap> | there's also all this: https://wiki.haskell.org/GHC/AdvancedOverlap |
2021-08-15 20:12:09 +0200 | <opqdonut> | https://hackage.haskell.org/package/QuickCheck-2.14.2/docs/Test-QuickCheck-Modifiers.html#t:Blind |
2021-08-15 20:12:15 +0200 | <tomsmeding> | hololeap: how would that allow you do determine whether a particular type 'a' implements Show at runtime? |
2021-08-15 20:13:08 +0200 | <opqdonut> | wow that's a nice wiki page |
2021-08-15 20:13:19 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-15 20:14:38 +0200 | <hololeap> | tomsmeding: why would it need to be known at runtime? wouldn't the compiler catch it first? |
2021-08-15 20:14:42 +0200 | <tomsmeding> | oh that's smart; you still need the instance enumeration but then you're done and it's all nice haskell |
2021-08-15 20:15:30 +0200 | <tomsmeding> | hololeap: the point (I think) is that we have a method 'foo :: a -> Something' that wants to call foo1 when 'a' is Show, and foo2 otherwise |
2021-08-15 20:15:37 +0200 | <tomsmeding> | how would you implement foo using your thing? |
2021-08-15 20:16:27 +0200 | hseg | (~gesh@IGLD-84-228-238-79.inter.net.il) |
2021-08-15 20:16:48 +0200 | <tomsmeding> | I used the word "runtime" because you might still want this to work if foo is used in a polymorphic context, but then later indirectly gets applied to a concrete, Showable type |
2021-08-15 20:17:22 +0200 | <tomsmeding> | the wiki version actually wouldn't compile in that situation, I think, because in that polymorphic context, no ShowPred instance could be chosen |
2021-08-15 20:17:22 +0200 | <hololeap> | idk, this is what I was playing around with, and it seems to work fine when I load it in GHCi: https://dpaste.com/DMPY66STS |
2021-08-15 20:18:14 +0200 | <tomsmeding> | hololeap: would you need to manually wrap the argument in Showable as the caller of foo, with your thing? |
2021-08-15 20:18:24 +0200 | <hololeap> | yeah |
2021-08-15 20:18:32 +0200 | <tomsmeding> | right, and that's precisely the thing that I was trying to avoid |
2021-08-15 20:18:45 +0200 | <hseg> | just ran into the "would be able to make an instance for this class if I could add constraints to some methods" annoyance again. are there any proposals being considered that would make it easier to refactor classes so they could support such instances? |
2021-08-15 20:18:58 +0200 | <tomsmeding> | because if you can manually type Showable, then you can also manually type fooShow instead of foo |
2021-08-15 20:19:09 +0200 | <hseg> | (classic example: FAM for map-like types) |
2021-08-15 20:19:27 +0200 | <hololeap> | tomsmeding: fair point |
2021-08-15 20:19:31 +0200 | <hseg> | (in this case, it's a Witherable instance for map-like types) |
2021-08-15 20:20:14 +0200 | <tomsmeding> | hseg: there is mono-traversable but that's probably not what you're looking for |
2021-08-15 20:20:24 +0200 | <tomsmeding> | since you come asking |
2021-08-15 20:21:04 +0200 | <tomsmeding> | that exposes non-type-changing methods like fmap :: (a -> a) -> f a -> f a |
2021-08-15 20:21:10 +0200 | <hseg> | no, am asking for the general "will writing classes to support such restrictions become easy enough that I can reasonably push library authors for it" |
2021-08-15 20:21:11 +0200 | <tomsmeding> | (s/fmap/omap/) |
2021-08-15 20:21:38 +0200 | <tomsmeding> | ah, then no idea |
2021-08-15 20:23:34 +0200 | Neuromancer | (~Neuromanc@user/neuromancer) (Ping timeout: 268 seconds) |
2021-08-15 20:24:02 +0200 | <hseg> | like, you could unify (Mono)Functor by defining a Functor (-->) (~~>) f where { map :: (a --> b) -> (f a ~~> f b) }, and then instantiate (-->), (~~>) as constrained arrow types |
2021-08-15 20:24:58 +0200 | <tomsmeding> | where (-->) and (~~>) implement some class so that they can be called as functions by the implementation of 'map'? |
2021-08-15 20:25:07 +0200 | <hseg> | so for MonoFunctor, pass for (-->) something like data MonoidC a b where arrMonoid :: a -> a -> MonoidC a a |
2021-08-15 20:25:12 +0200 | <hseg> | y |
2021-08-15 20:25:14 +0200 | <tomsmeding> | (well, only -->) |
2021-08-15 20:25:29 +0200 | <hseg> | well, depending on your usecase |
2021-08-15 20:25:30 +0200 | sagax | (~sagax@213.138.71.146) (Ping timeout: 240 seconds) |
2021-08-15 20:25:44 +0200 | <hseg> | like, you could subsume Witherable into Functor with this |
2021-08-15 20:25:54 +0200 | <hseg> | by setting ~~> ~ Kleisli Maybe |
2021-08-15 20:26:56 +0200 | <hseg> | ofc, at a certain point too much overloading is unclear -- a key point in good design is separating what must be separated, not just unifying what should be unified |
2021-08-15 20:27:11 +0200 | <tomsmeding> | without additional language support, this would make calling 'map' quite a bit more cumbersome for the non-(->) cases |
2021-08-15 20:28:36 +0200 | <hseg> | yeah. might want some specializations/coercions to help use this |
2021-08-15 20:29:04 +0200 | <hseg> | though ig kmett's hask is aiming to go for this |
2021-08-15 20:29:05 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
2021-08-15 20:29:14 +0200 | <hseg> | *this design |
2021-08-15 20:29:21 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 248 seconds) |
2021-08-15 20:29:40 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-08-15 20:29:42 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-08-15 20:30:05 +0200 | <hseg> | still leaves the question open of whether some parts design can/should be pushed into base, and what kind of timescale we're looking at if so |
2021-08-15 20:33:12 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:8577:297f:c78a:d1b2) (Quit: WeeChat 3.2) |
2021-08-15 20:36:35 +0200 | HeisenLearnsHask | (~HeisenLea@2a02:aa1:1010:e9f8:2cf9:9af4:b41e:73e9) |
2021-08-15 20:48:46 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-08-15 20:52:41 +0200 | HeisenLearnsHask | (~HeisenLea@2a02:aa1:1010:e9f8:2cf9:9af4:b41e:73e9) (Quit: Ping timeout (120 seconds)) |
2021-08-15 20:54:57 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-08-15 20:55:21 +0200 | MQ-17J | (~MQ-17J@8.6.144.209) |
2021-08-15 20:56:14 +0200 | mrckndt | (~mrckndt@user/mrckndt) |
2021-08-15 20:57:09 +0200 | mt404 | (~mt404@cpe1056118081ac-cm1056118081aa.cpe.net.cable.rogers.com) () |
2021-08-15 20:57:28 +0200 | adium_ | (adium@user/adium) (Remote host closed the connection) |
2021-08-15 20:59:37 +0200 | <kuribas> | Is haskell the only language where you mess around two hours, and end up with 20 lines of code? |
2021-08-15 21:00:15 +0200 | <kuribas> | It's crazy how you end up with deceivingly simple code (especially using generics). |
2021-08-15 21:00:26 +0200 | <kuribas> | That looks like it took 5 minutes. |
2021-08-15 21:00:26 +0200 | <hseg> | >:) |
2021-08-15 21:00:52 +0200 | <tomsmeding> | kuribas: https://github.com/Co-dfns/Co-dfns/tree/master/cmp |
2021-08-15 21:01:21 +0200 | <kuribas> | tomsmeding: I don't even know what that is? |
2021-08-15 21:01:25 +0200 | <tomsmeding> | a compiler |
2021-08-15 21:01:39 +0200 | <tomsmeding> | see the readme in the root |
2021-08-15 21:01:51 +0200 | <kuribas> | ahhhh APL :) |
2021-08-15 21:01:55 +0200 | <tomsmeding> | :D |
2021-08-15 21:02:42 +0200 | <tomsmeding> | oh it seems there's more stuff here apparently https://github.com/Co-dfns/Co-dfns/blob/master/codfns.dyalog |
2021-08-15 21:03:02 +0200 | <tomsmeding> | but yeah, point was lots of stuff in few lines :p |
2021-08-15 21:03:19 +0200 | Arthur | (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) |
2021-08-15 21:03:23 +0200 | <kuribas> | tomsmeding: but I am not even try to code golf it... |
2021-08-15 21:03:36 +0200 | <tomsmeding> | I know, it was not a very serious response :) |
2021-08-15 21:03:38 +0200 | Arthur | (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Client Quit) |
2021-08-15 21:04:40 +0200 | <tomsmeding> | I guess it mostly depends on what you're doing though. I can spend 2 hours on 50 lines of C code if it's a complicated algorithm and I want to get every detail right |
2021-08-15 21:04:56 +0200 | <tomsmeding> | (I replaced 20 with 50 because haskell is more concise than C, but same thing) |
2021-08-15 21:05:16 +0200 | <tomsmeding> | I once spent a day on a 100-line recursive mutex implementation in C++ |
2021-08-15 21:05:38 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 21:05:50 +0200 | <kuribas> | but does the C++ code look simple? |
2021-08-15 21:06:11 +0200 | arthur_melo | (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) |
2021-08-15 21:06:13 +0200 | <kuribas> | It took me two hours to end up with: genCollectFields tables sqid $ splitTranspActMaybe curry prev $ lookupFeature tables sqid |
2021-08-15 21:06:16 +0200 | <tomsmeding> | depends on what you call simple :p |
2021-08-15 21:06:34 +0200 | <tomsmeding> | that looks very complicated to me, given that I don't know what those functions do :p |
2021-08-15 21:06:46 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-08-15 21:06:54 +0200 | <tomsmeding> | if you know what the functions do, it probably looks very simple |
2021-08-15 21:07:26 +0200 | <kuribas> | it does if you have an IDE that shows the types. |
2021-08-15 21:07:45 +0200 | arthur_melo | (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Client Quit) |
2021-08-15 21:07:58 +0200 | <tomsmeding> | the individual operations in that C++ code were quite simple -- no long lines anywhere -- but the code was _very_ complex simply because it tried to do locking right in a multithreading context, and there some delicate things in there |
2021-08-15 21:08:25 +0200 | adium | (adium@user/adium) |
2021-08-15 21:08:28 +0200 | <tomsmeding> | the only complex thing was the comments, so to speak :) |
2021-08-15 21:08:36 +0200 | vysn | (~vysn@user/vysn) (Quit: WeeChat 3.2) |
2021-08-15 21:09:06 +0200 | drd | (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) |
2021-08-15 21:09:53 +0200 | mei | (~mei@user/mei) (Ping timeout: 248 seconds) |
2021-08-15 21:09:57 +0200 | <kuribas> | sounds very tricky indeed |
2021-08-15 21:10:50 +0200 | vysn | (~vysn@user/vysn) |
2021-08-15 21:11:40 +0200 | <tomsmeding> | haskell does tend to invite fiddling with abstractions more than other languages do, simply because they're closer at hand, I guess :) |
2021-08-15 21:11:51 +0200 | markpythonicbitc | (~markpytho@2601:647:5a00:35:5f5:523b:3c0:9fe) |
2021-08-15 21:12:06 +0200 | arthur_melo | (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) |
2021-08-15 21:12:16 +0200 | <tomsmeding> | and fiddling with abstractions means writing and re-writing the same code until it has the structure you want, and repeated code-rewriting has the effect of producing little code in the end |
2021-08-15 21:12:25 +0200 | <tomsmeding> | perhaps that? |
2021-08-15 21:13:11 +0200 | arthur_melo | (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Client Quit) |
2021-08-15 21:13:24 +0200 | <kuribas> | yes |
2021-08-15 21:13:40 +0200 | <kuribas> | But also, generics are very hard to write, but usually end up with little code. |
2021-08-15 21:14:11 +0200 | <kuribas> | It's all induction anyway, but getting the type variables and recursion right is tricky. |
2021-08-15 21:14:22 +0200 | <tomsmeding> | perhaps C++ templates move into this direction? |
2021-08-15 21:14:25 +0200 | <[exa]> | re fiddling, layered generic abstractions have pretty much lower chance to break without a compile error than in other languages. That's rewarding. |
2021-08-15 21:14:32 +0200 | <tomsmeding> | also hard to write, but not necessarily producing much code in the end |
2021-08-15 21:14:39 +0200 | <monochrom> | Haskell is not the only language in which I mess around two hours and get only 20 lines. |
2021-08-15 21:15:05 +0200 | <monochrom> | I'm making exam questions. It takes 2 hours of messing around before I get 20 lines, too. |
2021-08-15 21:15:15 +0200 | <kuribas> | monochrom: which language? |
2021-08-15 21:15:22 +0200 | <monochrom> | English? |
2021-08-15 21:15:49 +0200 | <monochrom> | It holds for Haskell exams, C & Unix exams, and data structure theoretical exams. |
2021-08-15 21:15:58 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-15 21:16:04 +0200 | <[exa]> | if english counts, I should start making stats from the papers we write |
2021-08-15 21:16:21 +0200 | arthur_melo | (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) |
2021-08-15 21:16:34 +0200 | hseg | (~gesh@IGLD-84-228-238-79.inter.net.il) (Quit: WeeChat 3.2) |
2021-08-15 21:18:25 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 244 seconds) |
2021-08-15 21:21:18 +0200 | vysn | (~vysn@user/vysn) (Quit: WeeChat 3.2) |
2021-08-15 21:21:36 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-08-15 21:23:30 +0200 | HeisenLearnsHask | (~HeisenLea@2a02:aa1:1010:e9f8:bc74:fed2:1f26:4c60) |
2021-08-15 21:23:34 +0200 | arthur_melo | (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Quit: arthur_melo) |
2021-08-15 21:23:51 +0200 | <HeisenLearnsHask> | intercalate' :: [a] -> [[a]] -> [[a]] |
2021-08-15 21:23:52 +0200 | <HeisenLearnsHask> | intercalate' _ [] = [] |
2021-08-15 21:23:52 +0200 | <HeisenLearnsHask> | intercalate' x (y:ys) = y:x:intercalate' x ys |
2021-08-15 21:23:53 +0200 | <HeisenLearnsHask> | intercalate'' = concat . intercalate' |
2021-08-15 21:24:12 +0200 | <kuribas> | HeisenLearnsHask: use pastebin? |
2021-08-15 21:24:15 +0200 | <HeisenLearnsHask> | Can someone help me why I can't concat this? |
2021-08-15 21:24:20 +0200 | <HeisenLearnsHask> | Oh sorry will do. |
2021-08-15 21:24:26 +0200 | <tomsmeding> | (concat .) . intercalate' |
2021-08-15 21:24:54 +0200 | <tomsmeding> | if you have (f :: a -> b) and (g :: b -> c), then you can do (g . f :: a -> c) |
2021-08-15 21:25:02 +0200 | pfurla_ | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) |
2021-08-15 21:25:14 +0200 | vysn | (~vysn@user/vysn) |
2021-08-15 21:25:16 +0200 | <tomsmeding> | here, however, your f (which is intercalate') has type (a -> b -> c) and your g (concat) has type (c -> d) |
2021-08-15 21:26:02 +0200 | <tomsmeding> | written out, the first is \x -> g (f x), and the second is \x y -> g (f x y) |
2021-08-15 21:26:05 +0200 | <tomsmeding> | see the difference? |
2021-08-15 21:26:28 +0200 | thelounge9230681 | (~thelounge@cpe-75-85-161-60.san.res.rr.com) |
2021-08-15 21:26:41 +0200 | vysn | (~vysn@user/vysn) (Client Quit) |
2021-08-15 21:27:28 +0200 | <monochrom> | And "a -> b -> c" means "a -> foo, oh foo expands to b -> c", not "(a,b) -> c". |
2021-08-15 21:28:26 +0200 | pfurla | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 258 seconds) |
2021-08-15 21:28:34 +0200 | <tomsmeding> | yeah: '\x y -> g (f x y)' is really shorthand for '\x -> (\y -> g (f x y))' |
2021-08-15 21:29:50 +0200 | <tomsmeding> | is there a webpage or something that clearly explains this issue of why using (.) with a two-argument function doesn't work like one might want? |
2021-08-15 21:30:07 +0200 | <tomsmeding> | it's a common question, it seems |
2021-08-15 21:30:08 +0200 | xff0x | (~xff0x@2001:1a81:52ed:2b00:c854:bd3b:6fb8:2f1e) (Ping timeout: 252 seconds) |
2021-08-15 21:30:27 +0200 | <dsal> | I've run into it a few times and just moved on without thinking about it too much. I'd read that web page someday. |
2021-08-15 21:30:32 +0200 | <tomsmeding> | (which makes sense -- if you aren't yet familiar with how function types work in haskell, it's kind of opaque) |
2021-08-15 21:30:40 +0200 | xff0x | (~xff0x@2001:1a81:52ed:2b00:dae0:b3ed:9593:292a) |
2021-08-15 21:35:12 +0200 | thelounge9230681 | (~thelounge@cpe-75-85-161-60.san.res.rr.com) (Quit: The Lounge - https://thelounge.chat) |
2021-08-15 21:36:10 +0200 | <monochrom> | It can't be helped. Human nature always first consult "intuitive conceptual moral sounds-right first instinct", trying to procrastinate actually looking up and following actual rules. |
2021-08-15 21:36:24 +0200 | <tomsmeding> | makes sense! |
2021-08-15 21:36:34 +0200 | <tomsmeding> | I'm just looking for a link to dump whenever someone asks this here :p |
2021-08-15 21:36:57 +0200 | <monochrom> | Conceptually . is a piping. Conceptually $ saves parentheses. Very attractive stories to tell and hear. |
2021-08-15 21:37:27 +0200 | ubert | (~Thunderbi@178.115.55.14.wireless.dyn.drei.com) |
2021-08-15 21:39:40 +0200 | <dsal> | Yeah. Stop making me think about what I'm doing. |
2021-08-15 21:40:32 +0200 | <monochrom> | But there is not much more to explain than "you have (g::X->Y) . (f::A->(B->X)), B->X doesn't match with X". |
2021-08-15 21:40:54 +0200 | <tomsmeding> | except then in a more accessible form with more examples :p |
2021-08-15 21:42:52 +0200 | thelounge9230681 | (~thelounge@cpe-75-85-161-60.san.res.rr.com) |
2021-08-15 21:42:58 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-08-15 21:44:55 +0200 | MQ-17J | (~MQ-17J@8.6.144.209) (Ping timeout: 258 seconds) |
2021-08-15 21:45:33 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-15 21:48:08 +0200 | thyriaen | (~thyriaen@dynamic-089-012-237-250.89.12.pool.telefonica.de) (Remote host closed the connection) |
2021-08-15 21:49:12 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 21:49:34 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-08-15 21:50:31 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-08-15 21:56:24 +0200 | Neuromancer | (~Neuromanc@user/neuromancer) |
2021-08-15 22:00:28 +0200 | <dsal> | Yeah. It's pretty easy to work out the understanding. |
2021-08-15 22:00:29 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-08-15 22:01:40 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2021-08-15 22:01:44 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) |
2021-08-15 22:01:50 +0200 | haowenl | (~Thunderbi@066-215-230-039.res.spectrum.com) |
2021-08-15 22:04:20 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-08-15 22:05:18 +0200 | juhp | (~juhp@128.106.188.220) (Ping timeout: 268 seconds) |
2021-08-15 22:06:32 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) (Ping timeout: 268 seconds) |
2021-08-15 22:07:29 +0200 | juhp | (~juhp@128.106.188.220) |
2021-08-15 22:08:07 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-08-15 22:09:00 +0200 | wonko | (~wjc@62.115.229.50) (Ping timeout: 268 seconds) |
2021-08-15 22:15:23 +0200 | zephyz | (~zephyz@156.146.63.16) |
2021-08-15 22:16:40 +0200 | <zephyz> | Hi there, I'm having issue with the singletons-th and singletons-base libraries, here is the error I get and the code I've written under it https://paste.tomsmeding.com/vj2xh7XX |
2021-08-15 22:17:01 +0200 | ubert | (~Thunderbi@178.115.55.14.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
2021-08-15 22:17:31 +0200 | <zephyz> | It look slike singletons-th is generating the wrong names, or at least names that are not compatible with singletons-base, how can I fix that? |
2021-08-15 22:22:02 +0200 | haowenl | (~Thunderbi@066-215-230-039.res.spectrum.com) (Ping timeout: 256 seconds) |
2021-08-15 22:22:23 +0200 | drd | (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 252 seconds) |
2021-08-15 22:24:14 +0200 | <HeisenLearnsHask> | Hello could someone help me? I want to solve it with where binding not lambda. https://pastebin.com/TyVAsm9i |
2021-08-15 22:25:30 +0200 | <tomsmeding> | HeisenLearnsHask: did you see our discussion of your question above? |
2021-08-15 22:25:33 +0200 | <monochrom> | dropWhile (\x -> f x < 1000) |
2021-08-15 22:26:21 +0200 | notzmv | (~zmv@user/notzmv) |
2021-08-15 22:30:13 +0200 | HeisenLearnsHask | (~HeisenLea@2a02:aa1:1010:e9f8:bc74:fed2:1f26:4c60) (Quit: Client closed) |
2021-08-15 22:30:48 +0200 | jgeerds | (~jgeerds@55d45555.access.ecotel.net) |
2021-08-15 22:31:21 +0200 | arthur_melo | (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) |
2021-08-15 22:32:00 +0200 | epolanski | (uid312403@id-312403.brockwell.irccloud.com) |
2021-08-15 22:37:42 +0200 | o1lo01ol1o | (~o1lo01ol1@31.22.129.100) |
2021-08-15 22:37:54 +0200 | <monochrom> | Or define your own .< operator as g .< n = \x -> g x < n, then you can use f .< 1000 |
2021-08-15 22:38:23 +0200 | <monochrom> | At which point it's abstraction overdose to rationalize a misguided intuition. |
2021-08-15 22:42:14 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de) |
2021-08-15 22:46:25 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 248 seconds) |
2021-08-15 22:46:25 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-08-15 22:46:37 +0200 | vysn | (~vysn@user/vysn) |
2021-08-15 22:46:59 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-08-15 22:49:42 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-08-15 22:54:31 +0200 | oxide | (~lambda@user/oxide) |
2021-08-15 22:54:50 +0200 | Cale | (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2021-08-15 22:55:47 +0200 | drd | (~drd@93-39-151-19.ip76.fastwebnet.it) |
2021-08-15 22:56:45 +0200 | vysn | (~vysn@user/vysn) (Quit: WeeChat 3.2) |
2021-08-15 22:58:37 +0200 | vysn | (~vysn@user/vysn) |
2021-08-15 22:59:18 +0200 | wroathe | (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) |
2021-08-15 22:59:59 +0200 | vysn | (~vysn@user/vysn) (Client Quit) |
2021-08-15 23:00:23 +0200 | vysn | (~vysn@user/vysn) |
2021-08-15 23:03:44 +0200 | <dsal> | `f .< 1000` looks like `f` is yelling `one thousand` at someone. |
2021-08-15 23:04:14 +0200 | <tomsmeding> | but it is! Don't you hear it? |
2021-08-15 23:04:18 +0200 | <dsal> | Sometimes it's useful to introduce language like that if it's a very common thing that will need to be understood by anyone reading a thing. Sometimes it's a fun novelty that you'll regret later. |
2021-08-15 23:04:35 +0200 | vysn | (~vysn@user/vysn) (Client Quit) |
2021-08-15 23:05:12 +0200 | vysn | (~vysn@user/vysn) |
2021-08-15 23:05:17 +0200 | aegon | (~mike@174.127.249.180) |
2021-08-15 23:06:45 +0200 | Cale | (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) |
2021-08-15 23:07:46 +0200 | vicfred | (~vicfred@user/vicfred) |
2021-08-15 23:08:45 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-08-15 23:09:38 +0200 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 258 seconds) |
2021-08-15 23:12:29 +0200 | zephyz | (~zephyz@156.146.63.16) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-08-15 23:13:01 +0200 | sander | (~sander@user/sander) (Quit: So long! :)) |
2021-08-15 23:13:05 +0200 | shapr | (~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 248 seconds) |
2021-08-15 23:13:38 +0200 | chris | (~chris@81.96.113.213) |
2021-08-15 23:13:41 +0200 | chris | Guest1842 |
2021-08-15 23:15:02 +0200 | sander | (~sander@user/sander) |
2021-08-15 23:18:43 +0200 | vysn | (~vysn@user/vysn) (Quit: WeeChat 3.2) |
2021-08-15 23:19:42 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-08-15 23:19:56 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-08-15 23:20:32 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
2021-08-15 23:24:33 +0200 | hoknamahn | (~hoknamahn@cpc158487-croy28-2-0-cust310.19-2.cable.virginm.net) (Quit: Konversation terminated!) |
2021-08-15 23:25:21 +0200 | pfurla | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) |
2021-08-15 23:28:02 +0200 | drd | (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 258 seconds) |
2021-08-15 23:28:34 +0200 | pfurla_ | (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 268 seconds) |
2021-08-15 23:30:36 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-08-15 23:32:30 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-08-15 23:37:57 +0200 | frosky_ | (~froskyarr@50.7.59.207) |
2021-08-15 23:38:35 +0200 | arthur_melo_ | (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) |
2021-08-15 23:39:32 +0200 | arthur_melo | (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Ping timeout: 258 seconds) |
2021-08-15 23:39:58 +0200 | vysn | (~vysn@user/vysn) |
2021-08-15 23:41:21 +0200 | frosky | (~froskyarr@50.7.59.207) (Ping timeout: 248 seconds) |
2021-08-15 23:42:08 +0200 | jeslie0 | (~user@108.162.150.9) |
2021-08-15 23:44:42 +0200 | hololeap | (~hololeap@user/hololeap) (Quit: Bye) |
2021-08-15 23:46:34 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-15 23:46:42 +0200 | jneira | (~jneira@28.red-80-28-169.staticip.rima-tde.net) |
2021-08-15 23:50:36 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-08-15 23:51:02 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 258 seconds) |
2021-08-15 23:55:00 +0200 | nsilv | (~nsilv@host-79-17-175-58.retail.telecomitalia.it) |
2021-08-15 23:55:19 +0200 | <nsilv> | heya guys, just quickly wanted to ask, you know what the haskell job situation is like in the UK? |
2021-08-15 23:56:14 +0200 | <dsal> | Locations don't really exist anymore. But there are a few jobs I've seen in that area. |
2021-08-15 23:56:56 +0200 | <nsilv> | mostly cause stuff came up, and it's at least somewhat likely I move there next year around this time. But I think i'd need a job beforehand to get a visa |
2021-08-15 23:57:28 +0200 | <nsilv> | since I'm moving there to start from scratch might as well get a haskell job :D |