Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
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.