Logs: freenode/#haskell
| 2021-03-21 15:41:47 | → | jamm__ joins (~jamm@unaffiliated/jamm) |
| 2021-03-21 15:43:24 | geekosaur | tempted to point to inlinePerformIO "bugs", as an extreme example of what happens if you lie to ghc about IO |
| 2021-03-21 15:43:58 | <geekosaur> | aka accursedUnutterable…\ |
| 2021-03-21 15:45:38 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds) |
| 2021-03-21 15:46:18 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 2021-03-21 15:47:01 | <tomsmeding> | geekosaur: the docs for accursedUnutterablePerformIO are always fun to share |
| 2021-03-21 15:47:55 | <tomsmeding> | but I've never had trace give me the feeling that something unsafe was going on, but maybe I've been accidentally using it correctly? |
| 2021-03-21 15:48:19 | <tomsmeding> | (or my bar for weirdness lies high) |
| 2021-03-21 15:48:40 | <geekosaur> | as unsafe goes it's relatively safe. the most that can happen is you see something being evaluated more or less often than you expect |
| 2021-03-21 15:50:09 | × | incertia quits (~incertia@d4-50-26-103.nap.wideopenwest.com) (Ping timeout: 256 seconds) |
| 2021-03-21 15:51:52 | <geekosaur> | it's when you enable it to inline "around" the IO that the really spooky stuff starts |
| 2021-03-21 15:53:11 | → | Inoperable joins (~PLAYER_1@fancydata.science) |
| 2021-03-21 15:54:49 | <bbhoss> | Yeah, definitely not planning on using it in production. Just curious about how it got around the compiler |
| 2021-03-21 15:56:27 | × | mastarija quits (~mastarija@31.217.19.201) (Quit: Leaving) |
| 2021-03-21 15:57:33 | × | frozenErebus quits (~frozenEre@94.129.70.18) (Ping timeout: 264 seconds) |
| 2021-03-21 15:58:47 | × | peanut_ quits (~peanut@2a02:8388:a101:2600:52d3:48bc:f38c:73e) (Quit: Leaving) |
| 2021-03-21 15:59:47 | × | matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2021-03-21 16:00:07 | → | epicte7us joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 2021-03-21 16:02:40 | <dementorr> | Does anyone know how can I get the first match from a pcre regex? I want to get the first match of a string inside () or []: "(sth) else no " should give "(sth)" and "[other] yes maybe" should give "[other]". The regex is \(.*\)|\[.*\] but I can't find a tutorial / documentation showing how to use them. Using Text.Regex.Posix gives a error when |
| 2021-03-21 16:02:41 | <dementorr> | using parentheses: "lexical error in string/character literal at character '('" |
| 2021-03-21 16:03:11 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 2021-03-21 16:03:27 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-03-21 16:03:32 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 2021-03-21 16:03:33 | × | ep1ctetus_ quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Ping timeout: 264 seconds) |
| 2021-03-21 16:04:38 | → | chenshen joins (~chenshen@2620:10d:c090:400::5:1038) |
| 2021-03-21 16:07:07 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 2021-03-21 16:07:58 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 245 seconds) |
| 2021-03-21 16:08:54 | × | molehillish quits (~molehilli@2600:8800:8d06:1800:c1f2:e355:53f0:4ab8) (Remote host closed the connection) |
| 2021-03-21 16:09:27 | → | molehillish joins (~molehilli@2600:8800:8d06:1800:c1f2:e355:53f0:4ab8) |
| 2021-03-21 16:09:31 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:7956:c631:2eb4:a488) |
| 2021-03-21 16:09:46 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 2021-03-21 16:09:59 | <d34df00d> | geekosaur: yep, inlining + unsafePerformIO sometimes gets funny: https://github.com/bos/vector-binary-instances/issues/17 (this hit me a few days ago and costed me a couple of hours to debug) |
| 2021-03-21 16:11:59 | → | Vadrigar joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) |
| 2021-03-21 16:12:37 | → | acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 2021-03-21 16:13:06 | × | idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 246 seconds) |
| 2021-03-21 16:13:29 | <ski> | maralorn,timCF : "the Haskell Type System does not make a difference between a function that takes two arguments and a function that takes one argument and returns a function that accepts another argument." -- Haskell doesn't have multiple argument functions, so the assertion about not making a difference doesn't make any sense (neither true nor false. "type incorrect", one might say). curried style is a |
| 2021-03-21 16:13:36 | <ski> | convention that exists in people's head, not in Haskell (although it has syntax (and library operations) that encourages it, and partial application) |
| 2021-03-21 16:14:26 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:7956:c631:2eb4:a488) (Ping timeout: 264 seconds) |
| 2021-03-21 16:15:26 | <ski> | (also, i'd call `\y -> foo x0 y z0' and `\y -> bar (x0,y,z0)' partial applications of `foo' and `bar'. so the term not only applies to applying a function in curried style to some prefix of its arguments, although that case is particularly nice to express, syntactically) |
| 2021-03-21 16:15:38 | × | molehillish quits (~molehilli@2600:8800:8d06:1800:c1f2:e355:53f0:4ab8) (Ping timeout: 264 seconds) |
| 2021-03-21 16:16:22 | <ski> | (it would be nice if a language with light-weight records (like e.g. OCaml) had a nice notation for partially applying a function by giving some of the fields of the record argument, getting back a function that takes a record expecting the remaining ones) |
| 2021-03-21 16:16:45 | × | Vadrigar quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
| 2021-03-21 16:17:24 | × | renzhi quits (~renzhi@modemcable070.17-177-173.mc.videotron.ca) (Ping timeout: 256 seconds) |
| 2021-03-21 16:18:52 | × | chenshen quits (~chenshen@2620:10d:c090:400::5:1038) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 2021-03-21 16:18:59 | → | usr25 joins (~usr25@unaffiliated/usr25) |
| 2021-03-21 16:22:22 | <hpc> | that would be interesting at the type level, just expressing the type of a partial record like that |
| 2021-03-21 16:23:44 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.0) |
| 2021-03-21 16:24:48 | × | ixlun quits (~matthew@109.249.184.133) (Read error: Connection reset by peer) |
| 2021-03-21 16:25:36 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 2021-03-21 16:25:55 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) |
| 2021-03-21 16:27:21 | → | chisui joins (577bc921@i577BC921.versanet.de) |
| 2021-03-21 16:28:04 | → | molehillish joins (~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) |
| 2021-03-21 16:28:41 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 2021-03-21 16:29:33 | × | Pickchea quits (~private@unaffiliated/pickchea) (Ping timeout: 246 seconds) |
| 2021-03-21 16:31:45 | × | son0p quits (~son0p@181.136.122.143) (Quit: leaving) |
| 2021-03-21 16:31:48 | → | elusive joins (~Jeanne-Ka@static-198-54-134-93.cust.tzulo.com) |
| 2021-03-21 16:32:48 | <ski> | well, given `f : { name : string , age : int } -> blah', you could maybe have something like `f o { age = 42 | } : { name : string } -> blah' |
| 2021-03-21 16:33:30 | <hpc> | oh, when you put it that way i guess it's not that interesting :P |
| 2021-03-21 16:35:23 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 260 seconds) |
| 2021-03-21 16:35:37 | <ski> | heh :b |
| 2021-03-21 16:36:35 | <ski> | i guess one could consider a dedicated syntax for the partial application, maybe. what i sketched was just a composition with a "section" of a record construction |
| 2021-03-21 16:38:17 | <ski> | OCaml does have labelled arguments (including possibility for optional ones), which can be partially applied. see <https://caml.inria.fr/pub/docs/manual-ocaml/lablexamples.html> (also describes light-weight ("polymorphic") variants) |
| 2021-03-21 16:38:59 | → | frozenErebus joins (~frozenEre@94.129.70.18) |
| 2021-03-21 16:39:08 | × | dementorr quits (5678f228@86.120.242.40) (Quit: Connection closed) |
| 2021-03-21 16:42:49 | → | chenshen joins (~chenshen@2620:10d:c090:400::5:1038) |
| 2021-03-21 16:43:04 | <monochrom> | "(\x -> f c0 c1 c2 x c3)" is dedicated syntax for partial application >:) |
| 2021-03-21 16:43:29 | <ski> | hah :) |
| 2021-03-21 16:47:33 | × | Zetagon quits (~leo@c151-177-52-233.bredband.comhem.se) (Remote host closed the connection) |
| 2021-03-21 16:48:27 | × | benkolera quits (uid285671@gateway/web/irccloud.com/x-ewecqecbsbwhnnil) (Quit: Connection closed for inactivity) |
| 2021-03-21 16:49:59 | × | teardown quits (~user@gateway/tor-sasl/mrush) (Ping timeout: 268 seconds) |
| 2021-03-21 16:50:06 | → | incertia joins (~incertia@d4-50-26-103.nap.wideopenwest.com) |
| 2021-03-21 16:51:56 | → | hexagenic_ joins (~mattias@81-224-107-147-no71.tbcn.telia.com) |
| 2021-03-21 16:55:03 | → | tenniscp25 joins (~tenniscp2@134.196.209.118) |
| 2021-03-21 16:55:45 | × | hexagenic quits (~mattias@81-224-107-147-no71.tbcn.telia.com) (Ping timeout: 264 seconds) |
| 2021-03-21 16:56:41 | → | teardown joins (~user@gateway/tor-sasl/mrush) |
| 2021-03-21 16:58:12 | × | frozenErebus quits (~frozenEre@94.129.70.18) (Ping timeout: 256 seconds) |
| 2021-03-21 16:58:21 | → | hexagenic__ joins (~mattias@81-224-107-147-no71.tbcn.telia.com) |
| 2021-03-21 17:01:14 | <timCF> | Hello! Does anybody know why 2nd Functor law is needed? It will be always true in cases where 1st law is true. |
| 2021-03-21 17:02:08 | × | hexagenic_ quits (~mattias@81-224-107-147-no71.tbcn.telia.com) (Ping timeout: 245 seconds) |
| 2021-03-21 17:02:49 | <ski> | how do you mean ? |
| 2021-03-21 17:02:54 | <monochrom> | Haskell enjoys a parametricity theorem that makes what you're saying true. An arbitrary category doesn't have this luxury. |
| 2021-03-21 17:03:43 | <ski> | (i don't know how the first one holding would be relevant for ensuring the second one) |
| 2021-03-21 17:04:26 | <timCF> | monochrom: thanks for reply! |
| 2021-03-21 17:05:04 | → | hexagenic joins (~mattias@81-224-107-147-no71.tbcn.telia.com) |
| 2021-03-21 17:05:46 | → | hexagenic_ joins (~mattias@81-224-107-147-no71.tbcn.telia.com) |
| 2021-03-21 17:07:38 | × | blissful quits (~blissful@unaffiliated/azuline) (Quit: owo) |
| 2021-03-21 17:07:39 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 2021-03-21 17:08:23 | × | hexagenic__ quits (~mattias@81-224-107-147-no71.tbcn.telia.com) (Ping timeout: 245 seconds) |
| 2021-03-21 17:08:48 | × | conal quits (~conal@64.71.133.70) (Ping timeout: 245 seconds) |
| 2021-03-21 17:09:27 | × | hexagenic quits (~mattias@81-224-107-147-no71.tbcn.telia.com) (Ping timeout: 246 seconds) |
| 2021-03-21 17:10:03 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:7956:c631:2eb4:a488) |
| 2021-03-21 17:12:00 | → | idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 2021-03-21 17:12:15 | <chisui> | wouldn't `const unsafeCoerce` also satisfy the identity law? |
| 2021-03-21 17:12:49 | → | mastarija joins (~mastarija@31.217.19.201) |
| 2021-03-21 17:12:56 | → | conal joins (~conal@ip-66-115-176-177.creativelink.net) |
| 2021-03-21 17:13:00 | hexagenic_ | is now known as Hexagenic |
| 2021-03-21 17:13:42 | × | molehillish quits (~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) (Remote host closed the connection) |
| 2021-03-21 17:13:59 | <edmundnoble> | "Parametricity" and "unsafeCoerce" in the same sentence? :^) |
| 2021-03-21 17:14:18 | → | molehillish joins (~molehilli@2600:8800:8d06:1800:c1f2:e355:53f0:4ab8) |
| 2021-03-21 17:14:40 | <edmundnoble> | `const unsafeCoerce` also satisfies the composition law, from what I can tell |
All times are in UTC.