Logs: liberachat/#haskell
| 2021-07-07 01:45:54 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-07-07 01:48:15 | × | neurocyte40 quits (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
| 2021-07-07 01:48:15 | neurocyte403 | is now known as neurocyte40 |
| 2021-07-07 01:48:41 | × | yauhsien quits (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
| 2021-07-07 01:52:03 | → | chris-the-slurpa joins (~chris@81.96.113.213) |
| 2021-07-07 01:54:05 | <qrpnxz> | ah nice, haskell has case lambdas |
| 2021-07-07 01:54:33 | <Axman6> | also known as LambdaCase |
| 2021-07-07 01:55:10 | → | ebn joins (~ebn@h-46-59-94-79.A463.priv.bahnhof.se) |
| 2021-07-07 01:55:39 | <qrpnxz> | wait, ApplicativeDo not on by default? why? |
| 2021-07-07 01:56:08 | <geekosaur> | becuase it massively complicates desugaring do-s |
| 2021-07-07 01:56:13 | × | chris-the-slurpa quits (~chris@81.96.113.213) (Ping timeout: 246 seconds) |
| 2021-07-07 01:56:57 | <qrpnxz> | well i'm not doing it by hand xD |
| 2021-07-07 01:57:11 | <geekosaur> | besides which almost no extensions over H2010 are on by default |
| 2021-07-07 01:57:24 | <qrpnxz> | fair enough |
| 2021-07-07 01:57:26 | <geekosaur> | unless you're talking about GHC2021 in 9.2-pre maybe |
| 2021-07-07 01:57:37 | → | Mathnerd314 joins (~Mathnerd3@2601:281:d080:4533::1000) |
| 2021-07-07 01:57:42 | → | beka joins (~beka@104-244-27-23.static.monkeybrains.net) |
| 2021-07-07 01:57:56 | <qrpnxz> | :O |
| 2021-07-07 01:58:04 | <qrpnxz> | didn't know that was coming |
| 2021-07-07 01:58:05 | <qrpnxz> | epic |
| 2021-07-07 02:00:05 | <geekosaur> | looks like it's not in GHC2021 either |
| 2021-07-07 02:01:01 | × | mei quits (~mei@user/mei) (Read error: Connection reset by peer) |
| 2021-07-07 02:01:25 | <qrpnxz> | hm, well i'm sure a lot of other cool stuff is, reading the prop right now |
| 2021-07-07 02:02:25 | <geekosaur> | actually it's quite conservative |
| 2021-07-07 02:03:21 | <geekosaur> | no LambdaCase I notice |
| 2021-07-07 02:06:18 | <Mathnerd314> | Is there a paper or something on defining IO as an operational monad like `data IO a = Val a | Put Str (IO a) | Get (Str -> IO a)`? As an alternative to the State# RealWorld stuff it seems worth exploring. |
| 2021-07-07 02:07:12 | <geekosaur> | I think that runs into complications once you bring in things like FFI |
| 2021-07-07 02:07:17 | <qrpnxz> | it's like two dozen, it's a lot |
| 2021-07-07 02:11:16 | <c_wraith> | Mathnerd314: edwardk wrote some articles about using that model for Ermine |
| 2021-07-07 02:13:00 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 2021-07-07 02:13:01 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 2021-07-07 02:13:46 | × | ebn quits (~ebn@h-46-59-94-79.A463.priv.bahnhof.se) (Remote host closed the connection) |
| 2021-07-07 02:15:27 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 2021-07-07 02:17:20 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 258 seconds) |
| 2021-07-07 02:18:34 | × | alx741 quits (~alx741@181.196.69.147) (Quit: alx741) |
| 2021-07-07 02:23:14 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-07-07 02:23:15 | → | hgolden_ joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) |
| 2021-07-07 02:24:41 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 2021-07-07 02:24:41 | FinnElija | is now known as Guest1139 |
| 2021-07-07 02:24:41 | finn_elija | is now known as FinnElija |
| 2021-07-07 02:24:42 | <qrpnxz> | this page shows there an indeed very clever ways to get primes as fast as the C code https://wiki.haskell.org/Prime_numbers namely this one `primes = 2 : 3 : minus [5,7..] (unionAll [[p*p, p*p+2*p..] | p <- tail primes])` using some *really* neat-o, yet straight-forward, stuff from the data-ordlist package. Now sure, this different algorithm could also be translated into C, but even if you had the source f |
| 2021-07-07 02:24:42 | <qrpnxz> | or all the library functions used here, reimplementing it and getting it to have the correct lazy behaviour to stream would be total hell and super coupled. Haskell powerful! |
| 2021-07-07 02:24:59 | × | td_ quits (~td@94.134.91.135) (Ping timeout: 252 seconds) |
| 2021-07-07 02:26:35 | → | td_ joins (~td@94.134.91.101) |
| 2021-07-07 02:27:19 | <qrpnxz> | on the other hand, idk if i woulda ever come up with that, but hey, it's there lol |
| 2021-07-07 02:27:24 | <Mathnerd314> | c_wraith: ah, the blog post "Free monads for less" mentions http://www.cs.ru.nl/~W.Swierstra/Publications/DataTypesALaCarte.pdf, which uses a free monad with I/O at the end. I guess that's as close as I'll get |
| 2021-07-07 02:27:43 | × | Guest1139 quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 246 seconds) |
| 2021-07-07 02:30:43 | <qrpnxz> | that solution is way to cool, easily understood and so fast |
| 2021-07-07 02:32:07 | × | lemmih quits (~lemmih@2406:3003:2072:44:5d:3e69:de9c:e320) (Quit: Leaving) |
| 2021-07-07 02:32:57 | <monochrom> | Haskell2010, Ubuntu 21.04, GHC2021, and T-1000 |
| 2021-07-07 02:41:56 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-07 02:42:10 | → | yauhsien joins (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-07 02:43:04 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 2021-07-07 02:45:50 | charukiewicz_ | is now known as charukiewicz |
| 2021-07-07 02:46:10 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 2021-07-07 02:47:06 | × | yauhsien quits (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
| 2021-07-07 02:48:45 | × | shapr` quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 2021-07-07 02:49:55 | → | warnz joins (~warnz@2600:1700:77c0:5610:a5ca:de51:28ba:edf0) |
| 2021-07-07 02:50:17 | × | waleee quits (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
| 2021-07-07 02:50:35 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-07-07 02:52:21 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 2021-07-07 02:54:15 | × | warnz quits (~warnz@2600:1700:77c0:5610:a5ca:de51:28ba:edf0) (Ping timeout: 252 seconds) |
| 2021-07-07 02:55:14 | <qrpnxz> | even with really simple implementations for minus and unionAll, it performs rather well |
| 2021-07-07 02:58:15 | <monochrom> | Yeah pretty nice. |
| 2021-07-07 02:58:40 | <monochrom> | I also just ran into a case of: my student's solution is both simpler and faster than mine. :) |
| 2021-07-07 03:00:32 | <qrpnxz> | lol, the essence of bittersweat |
| 2021-07-07 03:00:35 | <qrpnxz> | *sweet |
| 2021-07-07 03:00:43 | <qrpnxz> | bittersweat ew! |
| 2021-07-07 03:06:32 | × | Reyu[M] quits (~reyureyuz@matrix.reyuzenfold.com) (Remote host closed the connection) |
| 2021-07-07 03:07:09 | → | Reyu[M] joins (~reyureyuz@matrix.reyuzenfold.com) |
| 2021-07-07 03:09:56 | → | chris-the-slurpa joins (~chris@81.96.113.213) |
| 2021-07-07 03:10:20 | <Mathnerd314> | aha, the paper I was looking for: https://www.cs.nott.ac.uk/~psztxa/publ/beast.pdf |
| 2021-07-07 03:10:57 | × | zebrag quits (~chris@user/zebrag) (Remote host closed the connection) |
| 2021-07-07 03:11:56 | <Mathnerd314> | although, it's a model, not directly compiling with the types |
| 2021-07-07 03:14:03 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-07 03:18:28 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 2021-07-07 03:20:08 | × | finsternis quits (~X@23.226.237.192) (Remote host closed the connection) |
| 2021-07-07 03:22:58 | <qrpnxz> | what's this about? |
| 2021-07-07 03:23:00 | → | khumba joins (~khumba@user/khumba) |
| 2021-07-07 03:24:10 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds) |
| 2021-07-07 03:25:06 | <Mathnerd314> | I'm looking for papers about defining IO as an operational monad like `data IO a = Val a | Put Str (IO a) | Get (Str -> IO a)`. So far: Ermine uses a Codensity monad with an FFI datatype. A few papers on modeling IO with free monads. |
| 2021-07-07 03:28:14 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-07 03:28:28 | → | anandprabhu joins (~anandprab@94.202.243.198) |
| 2021-07-07 03:29:29 | <Mathnerd314> | or rather, not Codensity, but the "indexed store comonad". http://comonad.com/reader/2011/free-monads-for-less-3/ |
| 2021-07-07 03:32:28 | → | wei2912 joins (~wei2912@112.199.250.21) |
| 2021-07-07 03:32:34 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 240 seconds) |
| 2021-07-07 03:42:51 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-07 03:42:53 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 2021-07-07 03:43:33 | → | keutoi joins (~keutoi@157.47.77.5) |
| 2021-07-07 03:46:42 | <keutoi> | I came across this in Semigroup instance of NonEmpty a. |
| 2021-07-07 03:46:44 | <keutoi> | (a :| as) <> ~(b :| bs) = a :| (as ++ b : bs) |
| 2021-07-07 03:46:53 | <keutoi> | Why is the lazy pattern used? |
| 2021-07-07 03:47:36 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
| 2021-07-07 03:53:15 | <monochrom> | To be as lazy as the [a] case: (a:as) ++ ys = a : (as ++ ys). |
| 2021-07-07 03:53:43 | <monochrom> | No one wants (a:as) ++ (b:bs) = a : (as ++ (b:bs)) |
| 2021-07-07 03:54:31 | <monochrom> | In both cases people would like head ((1:undefined) <> undefined) = 1 |
| 2021-07-07 04:02:22 | → | dunkeln joins (~dunkeln@188.70.10.207) |
| 2021-07-07 04:02:57 | <qrpnxz> | oh my lord that page has some crazier even faster algos, all fitting on a postcard, all using lists! |
| 2021-07-07 04:05:43 | <keutoi> | monochrom: thank you |
| 2021-07-07 04:12:48 | → | oxide joins (~lambda@user/oxide) |
All times are in UTC.