Logs on 2020-10-02 (freenode/#haskell)
| 00:00:01 | × | fajro quits (~fajro@193.56.252.210) () |
| 00:00:27 | × | alp quits (~alp@2a01:e0a:58b:4920:550:ea71:7853:65d0) (Ping timeout: 272 seconds) |
| 00:02:59 | × | ystael quits (~ystael@209.6.50.55) (Ping timeout: 272 seconds) |
| 00:03:44 | → | jedws joins (~jedws@121.209.139.222) |
| 00:05:49 | → | thonkpod joins (~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) |
| 00:05:49 | → | entel joins (uid256215@botters/entel) |
| 00:05:49 | → | eacameron joins (sid256985@gateway/web/irccloud.com/x-kpwlorbysgtnxhte) |
| 00:05:49 | → | liff joins (liff@kapsi.fi) |
| 00:05:49 | → | PotatoHatsue joins (berbermanp@gateway/shell/matrix.org/x-lcuapfbpkatzswxh) |
| 00:05:49 | → | glowcoil joins (sid3405@gateway/web/irccloud.com/x-thsriowqmdkgjing) |
| 00:05:49 | → | PoliticsII____ joins (sid193551@gateway/web/irccloud.com/x-nvfqluymqsvazvtl) |
| 00:05:49 | → | angerman joins (sid209936@gateway/web/irccloud.com/x-kbnupcpypxlxxlnc) |
| 00:05:49 | → | dequbed joins (~dequbed@yanduxian.paranoidlabs.org) |
| 00:05:49 | → | koankeeper joins (sid216950@gateway/web/irccloud.com/x-zrkqcymdfzqfjfqv) |
| 00:05:49 | → | teehemkay joins (sid14792@gateway/web/irccloud.com/x-xjwybgbmcxfolzwh) |
| 00:05:49 | → | simony joins (sid226116@gateway/web/irccloud.com/x-ebcflagagczxghjj) |
| 00:05:49 | → | miklcct joins (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) |
| 00:05:49 | → | mpickering joins (sid78412@gateway/web/irccloud.com/x-ugziboqyrxfitrmv) |
| 00:05:49 | → | benwr__ joins (sid372383@gateway/web/irccloud.com/x-ehohzcwkyjbzpbwl) |
| 00:05:49 | → | nlofaro joins (sid258233@gateway/web/irccloud.com/x-etxlydyigzmwkiap) |
| 00:05:49 | → | unlink__ joins (~unlink2@p200300ebcf25bd0068eb9d9c94da2a17.dip0.t-ipconnect.de) |
| 00:05:49 | → | srid joins (sridmatrix@gateway/shell/matrix.org/x-zqttickmrfyduksr) |
| 00:05:49 | → | michaelpj1 joins (michaelpjm@gateway/shell/matrix.org/x-bmrqrkqdmdnabvkc) |
| 00:05:49 | → | johnnyboy[m] joins (gifumatrix@gateway/shell/matrix.org/x-xczqbcixpmjhwvre) |
| 00:05:49 | → | chreekat[m] joins (chreekatma@gateway/shell/matrix.org/x-umxlgtkybcwevjvb) |
| 00:05:49 | → | lambdaclan joins (lambdaclan@gateway/shell/matrix.org/x-rosqvrjyauthsfym) |
| 00:05:49 | → | io_r_us[m] joins (commandlin@gateway/shell/matrix.org/x-kjrwesnzoyenqgzx) |
| 00:05:49 | → | barrucadu joins (~barrucadu@fsf/member/barrucadu) |
| 00:05:49 | → | bcoppens_ joins (~bartcopp@vpn2.bartcoppens.be) |
| 00:05:49 | → | noteness joins (~noteness@unaffiliated/nessessary129) |
| 00:05:49 | → | opqdonut joins (opqdonut@pseudo.fixme.fi) |
| 00:05:49 | → | Velpoman joins (~Velpoman@159.65.76.124) |
| 00:05:49 | → | dixie joins (~dixie@real.wilbury.sk) |
| 00:05:49 | → | uwap joins (~uwap@genja.uwap.name) |
| 00:09:37 | × | elliott_ quits (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 00:10:30 | → | elliott_ joins (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
| 00:11:30 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 00:11:54 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:12:03 | × | GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
| 00:12:22 | → | GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
| 00:12:22 | × | GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
| 00:12:22 | → | GyroW joins (~GyroW@unaffiliated/gyrow) |
| 00:12:30 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) |
| 00:12:48 | × | barzo quits (~sosal@95.70.249.57) (Quit: Leaving) |
| 00:20:52 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:22:34 | → | DTZUZU_ joins (~DTZUZU@205.ip-149-56-132.net) |
| 00:22:37 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:4135:276:e32f:4d13) (Ping timeout: 272 seconds) |
| 00:23:19 | × | DTZUZU quits (~DTZUZU@S0106bcd165662a4d.vs.shawcable.net) (Ping timeout: 246 seconds) |
| 00:25:47 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye) |
| 00:28:16 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 00:28:56 | × | inkbottle quits (~inkbottle@aaubervilliers-654-1-117-166.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 00:29:13 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:31:08 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 00:33:10 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-117-166.w86-198.abo.wanadoo.fr) |
| 00:34:21 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:9424:53b3:93b4:eb3f) |
| 00:35:27 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 00:36:21 | → | emmanuel_erc joins (~user@2604:2000:1382:ce03:f102:da07:a063:e98b) |
| 00:36:31 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) |
| 00:37:12 | ← | emmanuel_erc parts (~user@2604:2000:1382:ce03:f102:da07:a063:e98b) () |
| 00:37:29 | → | emmanuel_erc joins (~user@2604:2000:1382:ce03:f102:da07:a063:e98b) |
| 00:41:14 | × | conal quits (~conal@64.71.133.70) (Ping timeout: 260 seconds) |
| 00:42:17 | <catern> | pretty basic question, but is there any Haskell library where I can say some approximation of "f = F(); dothing(f); g = G(); h = H(); dothing2(g, h)" and have the requests made inside F, G, and H automatically get sent out together at the start? |
| 00:44:55 | <dsal> | I don't understand `F()` |
| 00:45:22 | → | conal joins (~conal@66.115.157.40) |
| 00:45:25 | <dsal> | Also: What does "request" mean? |
| 00:46:47 | <dsal> | If F, G, and H are meant to be monadic actions that depend on the results of each other, it's not clear what you mean by wanting to send the requests before you have their input. |
| 00:46:52 | <catern> | any kind of request, RPCs over the network, say? |
| 00:47:10 | <catern> | no, they're meant to be actions which don't depend on each others' results |
| 00:47:31 | → | aaaaaa joins (~ArthurStr@host-91-90-11-13.soborka.net) |
| 00:47:31 | → | reppertj joins (~textual@pool-96-246-209-59.nycmny.fios.verizon.net) |
| 00:47:35 | <dsal> | Oh. The syntax is confusing. Capitals generally refer to types. |
| 00:47:53 | <dsal> | The async packages has a lot of stuff for implicitly running multiple IO actions concurrently. It'd pretty easily do what you're asking for. |
| 00:48:06 | <dsal> | @package async |
| 00:48:07 | <lambdabot> | https://hackage.haskell.org/package/async |
| 00:48:46 | <dsal> | The example at the bottom of the Control.Concurrent.Async docs sound a bit like what you're asking for. |
| 00:49:15 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:49:28 | <catern> | i'd have to explicitly run things with async though right? i'm more curious about something automatic |
| 00:50:07 | × | conal quits (~conal@66.115.157.40) (Quit: Computer has gone to sleep.) |
| 00:50:28 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds) |
| 00:51:33 | <infinisil> | catern: The usual way to define variables with do notation won't work for your example |
| 00:51:56 | <infinisil> | Because do notation makes later values able to depend on earlier ones |
| 00:52:20 | <infinisil> | So e.g. you could say `f <- ffun(); g <- gfun(f)` |
| 00:52:50 | <infinisil> | Well actually, that's not entirely true, there's ApplicativeDo |
| 00:53:03 | <infinisil> | Anyways, I think maybe you're looking for Applicative's in general |
| 00:53:18 | → | jscarmona joins (~jscarmona@s91904426.blix.com) |
| 00:53:54 | <infinisil> | So you could do `(f, g, h) <- (,,) <$> ffun <*> gfun <*> hfun` |
| 00:54:05 | → | conal joins (~conal@66.115.157.40) |
| 00:54:25 | <infinisil> | And run that in a context where those are run in parallel |
| 00:54:31 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) |
| 00:54:39 | <infinisil> | E.g. as dsal suggested with async |
| 00:54:51 | × | conal quits (~conal@66.115.157.40) (Client Quit) |
| 00:55:27 | <infinisil> | catern: And in fact, async has an example for exactly that: https://hackage.haskell.org/package/async-2.2.2/docs/Control-Concurrent-Async.html#t:Concurrently |
| 00:57:08 | <dsal> | Automatically transforming a block into a collection of actions and then running those actions concurrently sounds like a neat idea, and is likely possible, but I'd think it'd be fairly special for your operations. |
| 00:57:18 | → | conal joins (~conal@66.115.157.40) |
| 00:57:25 | × | connrs quits (~connrs@runciter.connrs.uk) (Ping timeout: 240 seconds) |
| 00:57:37 | → | connrs- joins (~connrs@runciter.connrs.uk) |
| 00:58:23 | <catern> | infinisil: interesting, thanks! |
| 00:58:35 | <dsal> | Your syntax is confusing me a bit, but it sounds like you want `dothing` and `dothing2` to be actions as well. In which case, why wouldn't they also happen concurrently at the beginning? You'd need a way to build a dependency of actions and run them as concurrently as you could as they are evaluated. Doing that explicitly isn't *super* hard, but doing it magically raises a lot of questions. |
| 00:59:12 | × | xff0x quits (~fox@2001:1a81:5220:1600:3ce1:e817:dda8:9f17) (Ping timeout: 260 seconds) |
| 00:59:12 | × | voyons_calisse quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
| 00:59:36 | → | voyons_calisse joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 01:00:04 | → | xff0x joins (~fox@2001:1a81:5220:1600:244e:e6:b68b:8071) |
| 01:01:47 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 01:02:21 | → | ystael joins (~ystael@209.6.50.55) |
| 01:05:20 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 01:09:08 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) |
| 01:12:08 | × | dhil quits (~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 272 seconds) |
| 01:13:00 | × | nineonine quits (~nineonine@216.81.48.202) (Remote host closed the connection) |
| 01:15:31 | → | FreeBirdLjj joins (~freebirdl@240e:388:4f41:dc00:4cd9:b0cb:876b:f953) |
| 01:17:18 | × | raehik quits (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 01:17:37 | × | ystael quits (~ystael@209.6.50.55) (Ping timeout: 264 seconds) |
| 01:19:27 | × | FreeBirdLjj quits (~freebirdl@240e:388:4f41:dc00:4cd9:b0cb:876b:f953) (Ping timeout: 240 seconds) |
| 01:27:13 | × | Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds) |
| 01:28:28 | → | danso joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 01:30:23 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 01:34:45 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 240 seconds) |
| 01:35:55 | → | HaskellYogi joins (~vivekrama@49.207.197.215) |
| 01:36:31 | × | conal quits (~conal@66.115.157.40) (Quit: Computer has gone to sleep.) |
| 01:37:52 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 01:39:58 | → | Amras joins (~Amras@unaffiliated/amras0000) |
| 01:40:07 | × | Neuromancer quits (~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 240 seconds) |
| 01:42:00 | → | conal joins (~conal@66.115.157.40) |
| 01:42:58 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 01:50:01 | × | xff0x quits (~fox@2001:1a81:5220:1600:244e:e6:b68b:8071) (Ping timeout: 272 seconds) |
| 01:51:15 | → | xff0x joins (~fox@2001:1a81:5254:9a00:244e:e6:b68b:8071) |
| 01:56:13 | × | jedws quits (~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 01:57:57 | → | jedws joins (~jedws@121.209.139.222) |
| 01:59:02 | × | pacak quits (~pacak@bb116-14-220-91.singnet.com.sg) (Remote host closed the connection) |
| 01:59:10 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) () |
| 01:59:11 | × | conal quits (~conal@66.115.157.40) (Quit: Computer has gone to sleep.) |
| 02:00:28 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
| 02:01:08 | → | conal joins (~conal@66.115.157.40) |
| 02:01:11 | → | ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 02:03:05 | → | pacak joins (~pacak@bb116-14-220-91.singnet.com.sg) |
| 02:05:26 | × | shatriff quits (~vitaliish@haunt.prize.volia.net) (Remote host closed the connection) |
| 02:05:58 | → | shatriff joins (~vitaliish@haunt.prize.volia.net) |
| 02:07:45 | × | argent0 quits (~argent0@168.227.97.5) (Quit: leaving) |
| 02:08:25 | × | Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 240 seconds) |
| 02:09:07 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds) |
| 02:10:34 | × | ddellacosta quits (~dd@86.106.121.168) (Quit: WeeChat 2.8) |
| 02:14:03 | → | ddellacosta joins (~dd@86.106.121.168) |
| 02:14:35 | → | nineonine joins (~nineonine@216.81.48.202) |
| 02:14:50 | → | wroathe_ joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 02:15:23 | × | wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 02:17:47 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 02:17:53 | × | danso quits (~dan@107-190-41-58.cpe.teksavvy.com) (Quit: WeeChat 2.9) |
| 02:18:09 | → | danso joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 02:18:37 | → | drbean joins (~drbean@TC210-63-209-180.static.apol.com.tw) |
| 02:18:57 | hackage | Z-Data 0.1.4.2 - Array, vector and text https://hackage.haskell.org/package/Z-Data-0.1.4.2 (winterland) |
| 02:20:02 | × | falafel quits (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Ping timeout: 260 seconds) |
| 02:20:29 | wroathe_ | is now known as wroathe |
| 02:20:52 | × | lemmih quits (~lemmih@2406:3003:2072:44:5428:a9c5:7934:3415) (Ping timeout: 260 seconds) |
| 02:21:09 | × | ezzieyguywuf quits (~Unknown@unaffiliated/ezzieyguywuf) (Read error: No route to host) |
| 02:21:37 | → | ddere joins (uid110888@gateway/web/irccloud.com/x-xrsspmgdaswzvnim) |
| 02:22:05 | → | ezzieyguywuf joins (~Unknown@unaffiliated/ezzieyguywuf) |
| 02:23:33 | → | toorevitimirp joins (~tooreviti@117.182.181.38) |
| 02:23:37 | lagothrix | is now known as Guest23161 |
| 02:23:37 | × | Guest23161 quits (~lagothrix@unaffiliated/lagothrix) (Killed (rothfuss.freenode.net (Nickname regained by services))) |
| 02:23:45 | → | lagothrix joins (~lagothrix@unaffiliated/lagothrix) |
| 02:23:56 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
| 02:24:19 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 02:27:08 | × | conal quits (~conal@66.115.157.40) (Quit: Computer has gone to sleep.) |
| 02:28:34 | × | jedws quits (~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 02:28:34 | → | conal joins (~conal@66.115.157.40) |
| 02:28:40 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 02:31:45 | → | falafel joins (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
| 02:32:44 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 02:36:44 | × | conal quits (~conal@66.115.157.40) (Quit: Computer has gone to sleep.) |
| 02:37:58 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 02:39:15 | × | pacak quits (~pacak@bb116-14-220-91.singnet.com.sg) (Quit: Leaving.) |
| 02:40:03 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
| 02:40:56 | → | conal joins (~conal@64.71.133.70) |
| 02:41:28 | → | ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 02:41:56 | × | cosimone quits (~cosimone@5.171.24.137) (Quit: Quit.) |
| 02:46:46 | × | falafel quits (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Remote host closed the connection) |
| 02:47:13 | → | falafel joins (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
| 02:47:33 | × | ddellacosta quits (~dd@86.106.121.168) (Quit: WeeChat 2.8) |
| 02:47:38 | → | pacak joins (~pacak@bb116-14-220-91.singnet.com.sg) |
| 02:48:11 | × | theDon quits (~td@muedsl-82-207-238-122.citykom.de) (Ping timeout: 240 seconds) |
| 02:48:44 | × | pacak quits (~pacak@bb116-14-220-91.singnet.com.sg) (Remote host closed the connection) |
| 02:49:40 | → | CMCDragonkai1 joins (~Thunderbi@124.19.3.250) |
| 02:50:10 | → | ddellacosta joins (~dd@86.106.121.168) |
| 02:50:19 | × | voyons_calisse quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
| 02:50:20 | × | danso quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
| 02:50:25 | → | theDon joins (~td@muedsl-82-207-238-055.citykom.de) |
| 02:51:07 | → | voyons_calisse joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 02:51:27 | → | danso joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 02:51:44 | → | pacak joins (~pacak@bb116-14-220-91.singnet.com.sg) |
| 02:52:50 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 02:57:47 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 03:00:01 | × | jscarmona quits (~jscarmona@s91904426.blix.com) () |
| 03:03:06 | × | machinedgod quits (~machinedg@d67-193-126-196.home3.cgocable.net) (Ping timeout: 260 seconds) |
| 03:03:28 | × | conal quits (~conal@64.71.133.70) (Ping timeout: 260 seconds) |
| 03:03:30 | × | CMCDragonkai1 quits (~Thunderbi@124.19.3.250) (Remote host closed the connection) |
| 03:05:27 | × | acidjnk_new quits (~acidjnk@p200300d0c723788040fc08bec5cc5c11.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 03:05:53 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 258 seconds) |
| 03:06:37 | → | conal joins (~conal@107.181.166.148) |
| 03:06:39 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
| 03:06:47 | → | Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 03:09:05 | × | falafel quits (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Remote host closed the connection) |
| 03:09:27 | → | falafel joins (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
| 03:10:08 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 03:11:39 | × | zopsi quits (zopsi@2600:3c00::f03c:91ff:fe14:551f) (Max SendQ exceeded) |
| 03:12:01 | → | lordcirth_ joins (~lordcirth@2607:f2c0:95a8:ef00:b128:6022:758c:dbc) |
| 03:12:03 | → | zopsi joins (zopsi@2600:3c00::f03c:91ff:fe14:551f) |
| 03:13:48 | × | elliott_ quits (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 03:13:57 | → | elliott_ joins (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
| 03:14:51 | → | lemmih joins (~lemmih@2405:800:9030:2080:640b:57cc:705a:e759) |
| 03:18:32 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 03:20:51 | × | spew quits (uid195861@gateway/web/irccloud.com/x-nekawqgdgyhycrzn) (Quit: Connection closed for inactivity) |
| 03:20:52 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 03:21:09 | × | thonkpod quits (~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) (*.net *.split) |
| 03:21:09 | × | entel quits (uid256215@botters/entel) (*.net *.split) |
| 03:21:09 | × | eacameron quits (sid256985@gateway/web/irccloud.com/x-kpwlorbysgtnxhte) (*.net *.split) |
| 03:21:09 | × | liff quits (liff@kapsi.fi) (*.net *.split) |
| 03:21:09 | × | PotatoHatsue quits (berbermanp@gateway/shell/matrix.org/x-lcuapfbpkatzswxh) (*.net *.split) |
| 03:21:09 | × | glowcoil quits (sid3405@gateway/web/irccloud.com/x-thsriowqmdkgjing) (*.net *.split) |
| 03:21:09 | × | PoliticsII____ quits (sid193551@gateway/web/irccloud.com/x-nvfqluymqsvazvtl) (*.net *.split) |
| 03:21:09 | × | koankeeper quits (sid216950@gateway/web/irccloud.com/x-zrkqcymdfzqfjfqv) (*.net *.split) |
| 03:21:09 | × | dequbed quits (~dequbed@yanduxian.paranoidlabs.org) (*.net *.split) |
| 03:21:09 | × | simony quits (sid226116@gateway/web/irccloud.com/x-ebcflagagczxghjj) (*.net *.split) |
| 03:21:09 | × | teehemkay quits (sid14792@gateway/web/irccloud.com/x-xjwybgbmcxfolzwh) (*.net *.split) |
| 03:21:09 | × | benwr__ quits (sid372383@gateway/web/irccloud.com/x-ehohzcwkyjbzpbwl) (*.net *.split) |
| 03:21:09 | × | miklcct quits (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (*.net *.split) |
| 03:21:09 | × | mpickering quits (sid78412@gateway/web/irccloud.com/x-ugziboqyrxfitrmv) (*.net *.split) |
| 03:21:09 | × | nlofaro quits (sid258233@gateway/web/irccloud.com/x-etxlydyigzmwkiap) (*.net *.split) |
| 03:21:09 | × | angerman quits (sid209936@gateway/web/irccloud.com/x-kbnupcpypxlxxlnc) (*.net *.split) |
| 03:21:09 | × | unlink__ quits (~unlink2@p200300ebcf25bd0068eb9d9c94da2a17.dip0.t-ipconnect.de) (*.net *.split) |
| 03:21:09 | × | srid quits (sridmatrix@gateway/shell/matrix.org/x-zqttickmrfyduksr) (*.net *.split) |
| 03:21:09 | × | michaelpj1 quits (michaelpjm@gateway/shell/matrix.org/x-bmrqrkqdmdnabvkc) (*.net *.split) |
| 03:21:09 | × | johnnyboy[m] quits (gifumatrix@gateway/shell/matrix.org/x-xczqbcixpmjhwvre) (*.net *.split) |
| 03:21:09 | × | chreekat[m] quits (chreekatma@gateway/shell/matrix.org/x-umxlgtkybcwevjvb) (*.net *.split) |
| 03:21:09 | × | lambdaclan quits (lambdaclan@gateway/shell/matrix.org/x-rosqvrjyauthsfym) (*.net *.split) |
| 03:21:09 | × | io_r_us[m] quits (commandlin@gateway/shell/matrix.org/x-kjrwesnzoyenqgzx) (*.net *.split) |
| 03:21:09 | × | barrucadu quits (~barrucadu@fsf/member/barrucadu) (*.net *.split) |
| 03:21:09 | × | bcoppens_ quits (~bartcopp@vpn2.bartcoppens.be) (*.net *.split) |
| 03:21:09 | × | noteness quits (~noteness@unaffiliated/nessessary129) (*.net *.split) |
| 03:21:09 | × | opqdonut quits (opqdonut@pseudo.fixme.fi) (*.net *.split) |
| 03:21:09 | × | Velpoman quits (~Velpoman@159.65.76.124) (*.net *.split) |
| 03:21:09 | × | dixie quits (~dixie@real.wilbury.sk) (*.net *.split) |
| 03:21:09 | × | uwap quits (~uwap@genja.uwap.name) (*.net *.split) |
| 03:21:33 | × | jespada quits (~jespada@90.254.241.6) (Ping timeout: 260 seconds) |
| 03:22:47 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 240 seconds) |
| 03:24:13 | → | jespada joins (~jespada@90.254.246.48) |
| 03:25:55 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 03:27:22 | × | vqrs quits (~vqrs@learnprogramming/regular/vqrs) (Ping timeout: 260 seconds) |
| 03:28:56 | → | vqrs joins (~vqrs@learnprogramming/regular/vqrs) |
| 03:30:21 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 03:30:47 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 03:33:02 | × | kupi quits (uid212005@gateway/web/irccloud.com/x-zotxyxtmvllkllma) (Quit: Connection closed for inactivity) |
| 03:33:24 | → | DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 03:37:02 | × | falafel quits (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Ping timeout: 260 seconds) |
| 03:38:08 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 03:38:21 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 03:39:28 | hackage | winery 1.3.1 - A compact, well-typed seralisation format for Haskell values https://hackage.haskell.org/package/winery-1.3.1 (FumiakiKinoshita) |
| 03:40:20 | × | ryansmccoy quits (~ryansmcco@156.96.151.132) (Ping timeout: 272 seconds) |
| 03:41:04 | → | ryansmccoy joins (~ryansmcco@193.37.254.27) |
| 03:43:38 | → | macrover joins (~macrover@ip70-189-231-35.lv.lv.cox.net) |
| 03:43:55 | × | ddere quits (uid110888@gateway/web/irccloud.com/x-xrsspmgdaswzvnim) (Ping timeout: 240 seconds) |
| 03:44:15 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) |
| 03:44:16 | → | ddere joins (uid110888@gateway/web/irccloud.com/x-jyvwqhdwbvlfvtyo) |
| 03:49:01 | → | thonkpod joins (~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) |
| 03:49:01 | → | entel joins (uid256215@botters/entel) |
| 03:49:01 | → | eacameron joins (sid256985@gateway/web/irccloud.com/x-kpwlorbysgtnxhte) |
| 03:49:01 | → | liff joins (liff@kapsi.fi) |
| 03:49:01 | → | PotatoHatsue joins (berbermanp@gateway/shell/matrix.org/x-lcuapfbpkatzswxh) |
| 03:49:01 | → | glowcoil joins (sid3405@gateway/web/irccloud.com/x-thsriowqmdkgjing) |
| 03:49:01 | → | PoliticsII____ joins (sid193551@gateway/web/irccloud.com/x-nvfqluymqsvazvtl) |
| 03:49:01 | → | angerman joins (sid209936@gateway/web/irccloud.com/x-kbnupcpypxlxxlnc) |
| 03:49:01 | → | dequbed joins (~dequbed@yanduxian.paranoidlabs.org) |
| 03:49:01 | → | koankeeper joins (sid216950@gateway/web/irccloud.com/x-zrkqcymdfzqfjfqv) |
| 03:49:01 | → | teehemkay joins (sid14792@gateway/web/irccloud.com/x-xjwybgbmcxfolzwh) |
| 03:49:01 | → | simony joins (sid226116@gateway/web/irccloud.com/x-ebcflagagczxghjj) |
| 03:49:01 | → | miklcct joins (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) |
| 03:49:01 | → | mpickering joins (sid78412@gateway/web/irccloud.com/x-ugziboqyrxfitrmv) |
| 03:49:01 | → | benwr__ joins (sid372383@gateway/web/irccloud.com/x-ehohzcwkyjbzpbwl) |
| 03:49:01 | → | nlofaro joins (sid258233@gateway/web/irccloud.com/x-etxlydyigzmwkiap) |
| 03:49:01 | → | unlink__ joins (~unlink2@p200300ebcf25bd0068eb9d9c94da2a17.dip0.t-ipconnect.de) |
| 03:49:01 | → | srid joins (sridmatrix@gateway/shell/matrix.org/x-zqttickmrfyduksr) |
| 03:49:01 | → | michaelpj1 joins (michaelpjm@gateway/shell/matrix.org/x-bmrqrkqdmdnabvkc) |
| 03:49:01 | → | johnnyboy[m] joins (gifumatrix@gateway/shell/matrix.org/x-xczqbcixpmjhwvre) |
| 03:49:01 | → | chreekat[m] joins (chreekatma@gateway/shell/matrix.org/x-umxlgtkybcwevjvb) |
| 03:49:01 | → | lambdaclan joins (lambdaclan@gateway/shell/matrix.org/x-rosqvrjyauthsfym) |
| 03:49:01 | → | io_r_us[m] joins (commandlin@gateway/shell/matrix.org/x-kjrwesnzoyenqgzx) |
| 03:49:01 | → | barrucadu joins (~barrucadu@fsf/member/barrucadu) |
| 03:49:01 | → | bcoppens_ joins (~bartcopp@vpn2.bartcoppens.be) |
| 03:49:01 | → | noteness joins (~noteness@unaffiliated/nessessary129) |
| 03:49:01 | → | opqdonut joins (opqdonut@pseudo.fixme.fi) |
| 03:49:01 | → | Velpoman joins (~Velpoman@159.65.76.124) |
| 03:49:01 | → | dixie joins (~dixie@real.wilbury.sk) |
| 03:49:01 | → | uwap joins (~uwap@genja.uwap.name) |
| 03:51:29 | × | nineonine quits (~nineonine@216.81.48.202) (Remote host closed the connection) |
| 03:52:34 | × | cyphase quits (~cyphase@unaffiliated/cyphase) (Ping timeout: 260 seconds) |
| 03:53:28 | → | jedws joins (~jedws@121.209.139.222) |
| 03:55:43 | → | drewx2 joins (~drewx2@188.126.89.194) |
| 03:56:28 | hackage | ham 0.1.0.0 - https://hackage.haskell.org/package/ham-0.1.0.0 (ChristianGosch) |
| 04:00:07 | × | jespada quits (~jespada@90.254.246.48) (Ping timeout: 240 seconds) |
| 04:01:16 | × | aaaaaa quits (~ArthurStr@host-91-90-11-13.soborka.net) (Quit: leaving) |
| 04:01:27 | → | falafel joins (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
| 04:01:47 | × | polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 260 seconds) |
| 04:02:33 | → | jespada joins (~jespada@90.254.246.48) |
| 04:02:35 | → | cyphase joins (~cyphase@unaffiliated/cyphase) |
| 04:04:38 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:06:12 | × | lemmih quits (~lemmih@2405:800:9030:2080:640b:57cc:705a:e759) (Ping timeout: 260 seconds) |
| 04:11:24 | → | lemmih joins (~lemmih@2405:800:9030:2080:640b:57cc:705a:e759) |
| 04:14:56 | × | ddellacosta quits (~dd@86.106.121.168) (Ping timeout: 265 seconds) |
| 04:18:11 | <hololeap> | class IsFoo f n e where runFoo :: RunFoo n e f |
| 04:19:34 | × | HaskellYogi quits (~vivekrama@49.207.197.215) (Remote host closed the connection) |
| 04:19:52 | <hololeap> | what is the "correct" ordering of type variables for IsFoo _ _ _? `f` is the main type, while `n` and `e` are really just there because RunFoo requires them |
| 04:20:35 | × | Bergle_1 quits (~Bergle_4@101.165.90.119) (Read error: Connection reset by peer) |
| 04:20:56 | → | Bergle_1 joins (~Bergle_4@101.165.90.119) |
| 04:21:07 | × | lemmih quits (~lemmih@2405:800:9030:2080:640b:57cc:705a:e759) (Ping timeout: 240 seconds) |
| 04:21:36 | <hololeap> | does the ordering of type variables for a multi param type class have any significance? |
| 04:21:37 | → | HaskellYogi joins (~vivekrama@49.207.197.215) |
| 04:22:16 | × | jackdk quits (sid373013@gateway/web/irccloud.com/x-zfxvkywjzvccpywo) (Ping timeout: 256 seconds) |
| 04:22:50 | × | ullbeking quits (sid5364@gateway/web/irccloud.com/x-uurdaxugthoxygpu) (Ping timeout: 256 seconds) |
| 04:22:56 | → | coot joins (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) |
| 04:24:00 | → | jackdk joins (sid373013@gateway/web/irccloud.com/x-xzvlvnjtehxxtifm) |
| 04:25:06 | × | thi quits (sid97277@gateway/web/irccloud.com/x-mxfhyckwttphlfps) (Ping timeout: 256 seconds) |
| 04:25:16 | → | thi joins (sid97277@gateway/web/irccloud.com/x-dqtrzegkhhzyfxqr) |
| 04:26:03 | → | ullbeking joins (sid5364@gateway/web/irccloud.com/x-usiikxzxacqmemve) |
| 04:27:34 | × | HaskellYogi quits (~vivekrama@49.207.197.215) (Ping timeout: 260 seconds) |
| 04:28:21 | × | fissureman_ quits (~quassel@c-73-163-84-25.hsd1.dc.comcast.net) (Ping timeout: 272 seconds) |
| 04:28:57 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 04:32:33 | → | Clough joins (~Cain@194-193-141-75.tpgi.com.au) |
| 04:35:02 | <shachaf> | Is there some sort of functionaldependency? |
| 04:38:12 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:705c:850:3ca2:e90e) |
| 04:39:27 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 04:39:45 | × | borne quits (~fritjof@200116b864e6dd0007933c164a08810c.dip.versatel-1u1.de) (Ping timeout: 272 seconds) |
| 04:41:01 | → | borne joins (~fritjof@200116b8644ae80060d3dbeddb543969.dip.versatel-1u1.de) |
| 04:43:37 | → | day_ joins (~Unknown@unaffiliated/day) |
| 04:46:27 | × | day quits (~Unknown@unaffiliated/day) (Ping timeout: 240 seconds) |
| 04:46:27 | day_ | is now known as day |
| 04:55:17 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 04:55:42 | × | J_Arcane quits (sid119274@gateway/web/irccloud.com/x-onnffueiprgvpemg) (Ping timeout: 256 seconds) |
| 04:55:52 | → | J_Arcane joins (sid119274@gateway/web/irccloud.com/x-napkkntthpzdedzn) |
| 04:56:03 | → | CMCDragonkai1 joins (~Thunderbi@124.19.3.250) |
| 04:59:25 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 05:01:53 | → | lemmih joins (~lemmih@2405:800:9030:2080:640b:57cc:705a:e759) |
| 05:02:02 | × | solonarv quits (~solonarv@astrasbourg-653-1-252-112.w92-161.abo.wanadoo.fr) (Ping timeout: 258 seconds) |
| 05:02:41 | → | knupfer1 joins (~Thunderbi@mue-88-130-61-009.dsl.tropolys.de) |
| 05:02:53 | → | ggole joins (~ggole@2001:8003:8119:7200:8514:d230:fa70:c54c) |
| 05:04:34 | → | HaskellYogi joins (~vivekrama@49.207.197.215) |
| 05:05:05 | knupfer1 | is now known as knupfer |
| 05:08:38 | × | voyons_calisse quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
| 05:09:09 | → | voyons_calisse joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 05:12:09 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 05:14:04 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 05:17:02 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
| 05:17:48 | × | knupfer quits (~Thunderbi@mue-88-130-61-009.dsl.tropolys.de) (Ping timeout: 256 seconds) |
| 05:19:30 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 05:23:55 | × | falafel quits (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Ping timeout: 240 seconds) |
| 05:26:55 | × | lemmih quits (~lemmih@2405:800:9030:2080:640b:57cc:705a:e759) (Ping timeout: 240 seconds) |
| 05:28:14 | → | dansho joins (~dansho@ip68-108-167-185.lv.lv.cox.net) |
| 05:32:25 | × | pacak quits (~pacak@bb116-14-220-91.singnet.com.sg) (Remote host closed the connection) |
| 05:34:08 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:34:37 | → | pacak joins (~pacak@bb116-14-220-91.singnet.com.sg) |
| 05:36:59 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 05:39:55 | × | DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Ping timeout: 260 seconds) |
| 05:40:43 | → | jle` joins (~mstksg@cpe-23-240-75-236.socal.res.rr.com) |
| 05:40:43 | × | jle` quits (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host) |
| 05:40:43 | → | jle` joins (~mstksg@unaffiliated/mstksg) |
| 05:40:54 | → | DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 05:42:58 | hackage | hasql-pipes 0.1.0.1 - A pipe to stream a postgres database cursor in the hasql ecosystem https://hackage.haskell.org/package/hasql-pipes-0.1.0.1 (PaoloVeronelli) |
| 05:44:28 | × | lagothrix quits (~lagothrix@unaffiliated/lagothrix) (Ping timeout: 272 seconds) |
| 05:44:52 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 05:46:22 | × | jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 246 seconds) |
| 05:46:26 | × | drewx2 quits (~drewx2@188.126.89.194) (Remote host closed the connection) |
| 05:52:15 | × | reppertj quits (~textual@pool-96-246-209-59.nycmny.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com) |
| 06:01:23 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 06:06:03 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 06:07:48 | → | Quarl joins (~Quarl@94.191.136.1.mobile.tre.se) |
| 06:12:22 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:705c:850:3ca2:e90e) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 06:13:02 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 06:14:02 | → | yoneda joins (~mike@193.206.102.122) |
| 06:14:05 | → | jle` joins (~mstksg@cpe-23-240-75-236.socal.res.rr.com) |
| 06:14:05 | × | jle` quits (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host) |
| 06:14:05 | → | jle` joins (~mstksg@unaffiliated/mstksg) |
| 06:16:02 | → | jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se) |
| 06:18:27 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 06:19:27 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:9424:53b3:93b4:eb3f) (Ping timeout: 240 seconds) |
| 06:26:37 | × | wei quits (~wei@66.42.41.89) (Ping timeout: 264 seconds) |
| 06:26:38 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 06:26:46 | → | wei joins (~wei@66.42.41.89) |
| 06:26:54 | × | jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 272 seconds) |
| 06:27:59 | → | dhouthoo joins (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) |
| 06:30:49 | → | danvet_ joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 06:30:56 | × | yoneda quits (~mike@193.206.102.122) (Quit: leaving) |
| 06:32:20 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:2167:f0f2:60e2:589) |
| 06:33:22 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 06:35:11 | × | ryansmccoy quits (~ryansmcco@193.37.254.27) (Ping timeout: 258 seconds) |
| 06:36:10 | → | ryansmccoy joins (~ryansmcco@193.37.254.27) |
| 06:37:03 | → | yoneda joins (~mike@193.206.102.122) |
| 06:38:11 | × | hiroaki quits (~hiroaki@2a02:908:4b18:e20::a362) (Ping timeout: 272 seconds) |
| 06:38:17 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 06:38:25 | × | danso quits (~dan@107-190-41-58.cpe.teksavvy.com) (Quit: WeeChat 2.9) |
| 06:41:06 | × | Sheilong quits (uid293653@gateway/web/irccloud.com/x-rtxvrjvmyhuaovrl) (Quit: Connection closed for inactivity) |
| 06:42:19 | × | dansho quits (~dansho@ip68-108-167-185.lv.lv.cox.net) (Quit: Leaving) |
| 06:42:55 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 06:43:25 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 264 seconds) |
| 06:43:27 | → | livvy joins (~livvy@gateway/tor-sasl/livvy) |
| 06:43:42 | × | voyons_calisse quits (~dan@107-190-41-58.cpe.teksavvy.com) (Quit: Leaving) |
| 06:44:39 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 06:46:40 | → | jle` joins (~mstksg@cpe-23-240-75-236.socal.res.rr.com) |
| 06:46:40 | × | jle` quits (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host) |
| 06:46:40 | → | jle` joins (~mstksg@unaffiliated/mstksg) |
| 06:47:32 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-impnfldsswehocvz) (Quit: Connection closed for inactivity) |
| 06:47:50 | <dminuoso> | hololeap: The ordering is not stable/defined as part of an API. |
| 06:48:22 | <dminuoso> | I'd expect it to be `n e f`, but if you need this to be part of the API, use the Proxy pattern |
| 06:48:36 | <dminuoso> | In fact, the ordering already changed once for some situation. |
| 06:49:31 | <dminuoso> | Oh wait, hold on. I misread, for runFoo the ordering is n e f. |
| 06:51:46 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 06:53:00 | × | tzh quits (~tzh@2601:448:c500:5300::143b) (Quit: zzz) |
| 06:55:53 | × | jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 258 seconds) |
| 06:57:20 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 06:58:37 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:03:12 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 07:08:28 | → | lagothrix joins (~lagothrix@unaffiliated/lagothrix) |
| 07:10:45 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds) |
| 07:11:19 | → | alp joins (~alp@2a01:e0a:58b:4920:b4e0:35e5:8ad8:3e24) |
| 07:11:21 | → | jgt joins (~jgt@188.239.64.32) |
| 07:11:21 | → | chele joins (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) |
| 07:13:12 | → | thc202 joins (~thc202@unaffiliated/thc202) |
| 07:14:55 | × | borne quits (~fritjof@200116b8644ae80060d3dbeddb543969.dip.versatel-1u1.de) (Ping timeout: 272 seconds) |
| 07:16:11 | → | mananamenos joins (~mananamen@84.122.202.215.dyn.user.ono.com) |
| 07:16:40 | → | whiteline joins (~whiteline@unaffiliated/whiteline) |
| 07:18:02 | → | jle` joins (~mstksg@unaffiliated/mstksg) |
| 07:21:52 | × | HaskellYogi quits (~vivekrama@49.207.197.215) (Remote host closed the connection) |
| 07:22:46 | → | HaskellYogi joins (~vivekrama@49.207.197.215) |
| 07:23:17 | → | kensanata joins (~kensanata@193.56.252.210) |
| 07:23:43 | × | jedws quits (~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 07:25:15 | → | HaskellY_ joins (~vivekrama@49.207.204.165) |
| 07:27:07 | × | revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 240 seconds) |
| 07:27:09 | × | HaskellYogi quits (~vivekrama@49.207.197.215) (Ping timeout: 256 seconds) |
| 07:28:15 | → | revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
| 07:29:13 | → | p3n joins (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) |
| 07:29:37 | × | HaskellY_ quits (~vivekrama@49.207.204.165) (Ping timeout: 258 seconds) |
| 07:30:14 | → | tbreslein joins (~tbreslein@2a02:8108:140:44f8::901) |
| 07:30:43 | → | HaskellYogi joins (~vivekrama@49.207.204.165) |
| 07:31:04 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 07:31:06 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 07:31:08 | × | xwvvvvwx quits (~xwvvvvwx@185.213.155.160) (Ping timeout: 256 seconds) |
| 07:31:13 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 07:34:15 | → | mav1 joins (~mav@i59F456E0.versanet.de) |
| 07:34:43 | × | jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 260 seconds) |
| 07:35:18 | × | HaskellYogi quits (~vivekrama@49.207.204.165) (Ping timeout: 260 seconds) |
| 07:36:23 | → | HaskellYogi joins (~vivekrama@49.207.204.165) |
| 07:36:29 | → | John20 joins (~John@82.46.59.122) |
| 07:39:25 | × | mav1 quits (~mav@i59F456E0.versanet.de) (Ping timeout: 246 seconds) |
| 07:41:08 | × | HaskellYogi quits (~vivekrama@49.207.204.165) (Ping timeout: 260 seconds) |
| 07:41:16 | → | Tops2 joins (~Tobias@dyndsl-095-033-090-070.ewe-ip-backbone.de) |
| 07:41:58 | → | HaskellYogi joins (~vivekrama@49.207.204.165) |
| 07:43:50 | → | chaosmasttter joins (~chaosmast@p200300c4a711ea011d677dd0bd985d37.dip0.t-ipconnect.de) |
| 07:45:20 | → | mmohammadi9812 joins (~mmohammad@2.178.202.133) |
| 07:46:46 | × | HaskellYogi quits (~vivekrama@49.207.204.165) (Ping timeout: 256 seconds) |
| 07:47:41 | → | HaskellYogi joins (~vivekrama@49.207.204.165) |
| 07:48:26 | → | Tops21 joins (~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de) |
| 07:48:43 | × | shatriff quits (~vitaliish@haunt.prize.volia.net) (Ping timeout: 260 seconds) |
| 07:49:13 | → | shatriff joins (~vitaliish@haunt.prize.volia.net) |
| 07:50:14 | → | jle` joins (~mstksg@cpe-23-240-75-236.socal.res.rr.com) |
| 07:50:14 | × | jle` quits (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host) |
| 07:50:14 | → | jle` joins (~mstksg@unaffiliated/mstksg) |
| 07:50:37 | × | Tops2 quits (~Tobias@dyndsl-095-033-090-070.ewe-ip-backbone.de) (Ping timeout: 264 seconds) |
| 07:51:45 | × | HaskellYogi quits (~vivekrama@49.207.204.165) (Ping timeout: 240 seconds) |
| 07:53:09 | → | HaskellYogi joins (~vivekrama@49.207.204.165) |
| 07:55:25 | × | macrover quits (~macrover@ip70-189-231-35.lv.lv.cox.net) (Ping timeout: 264 seconds) |
| 07:56:25 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye) |
| 07:56:43 | <Xnuk> | Why do Haskellers prefer naming type variables with just a single character like: `type Over p f s t a b = p a (f b) -> s -> f t`? |
| 07:57:19 | → | jedws joins (~jedws@121.209.139.222) |
| 07:57:49 | × | HaskellYogi quits (~vivekrama@49.207.204.165) (Ping timeout: 264 seconds) |
| 07:58:07 | <opqdonut> | heh that one could definitely use some better names |
| 07:58:36 | <opqdonut> | most type signatures only have 1 or 2 type variables, and the meanings of the variables are so abstract that it's hard to find good names |
| 07:58:45 | <opqdonut> | :t const -- for example here |
| 07:58:47 | <lambdabot> | a -> b -> a |
| 07:59:12 | <opqdonut> | there are also some conventions like f for functor and m for monad |
| 07:59:37 | × | jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 264 seconds) |
| 07:59:37 | <opqdonut> | it's also a cultural thing, people see one-letter type variables so they use them, not necessarily weighing the benefits |
| 08:00:58 | <opqdonut> | wanting to fit a type signature on one line might be an additional reason for short type variable names |
| 08:01:31 | × | Turmfalke quits (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 08:01:54 | <lortabac> | I have the impression that the same convention exists in other languages too, ex. List<T>, except that in Haskell we use type variables more often so it's probably more confusing |
| 08:02:07 | <opqdonut> | :t traverse |
| 08:02:09 | <lambdabot> | (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) |
| 08:02:29 | <opqdonut> | "traverse :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)" is almost 80 chars already |
| 08:02:31 | <dminuoso> | Xnuk: Imagine reading that particular type synonym if these were words 3-5 characters long |
| 08:02:42 | × | ryansmccoy quits (~ryansmcco@193.37.254.27) (Ping timeout: 256 seconds) |
| 08:03:05 | → | ryansmccoy joins (~ryansmcco@193.37.254.27) |
| 08:03:13 | × | taurux quits (~taurux@net-188-216-115-55.cust.vodafonedsl.it) (Ping timeout: 264 seconds) |
| 08:03:28 | → | abram joins (8b00731d@139.0.115.29) |
| 08:03:36 | → | taurux joins (~taurux@net-93-146-109-129.cust.vodafonedsl.it) |
| 08:04:54 | → | fendor joins (~fendor@91.141.2.239.wireless.dyn.drei.com) |
| 08:04:54 | → | aveltras joins (uid364989@gateway/web/irccloud.com/x-decqiotcaxthssop) |
| 08:05:10 | <Xnuk> | dminuoso: It would be more clear reading than pfstab, isn't it? |
| 08:05:40 | × | digia quits (~digia@unaffiliated/digia) (Quit: Beep Boop...) |
| 08:05:47 | × | chaosmasttter quits (~chaosmast@p200300c4a711ea011d677dd0bd985d37.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 08:07:50 | × | taurux quits (~taurux@net-93-146-109-129.cust.vodafonedsl.it) (Read error: Connection reset by peer) |
| 08:07:50 | → | osa1 joins (~osa1@haskell/developer/osa1) |
| 08:07:55 | → | kritzefitz joins (~kritzefit@fw-front.credativ.com) |
| 08:08:02 | → | tito_04 joins (~taurux@net-93-146-31-52.cust.vodafonedsl.it) |
| 08:08:42 | × | abram quits (8b00731d@139.0.115.29) (Remote host closed the connection) |
| 08:11:03 | ← | osa1 parts (~osa1@haskell/developer/osa1) () |
| 08:12:22 | × | Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
| 08:12:38 | × | jespada quits (~jespada@90.254.246.48) (Ping timeout: 260 seconds) |
| 08:13:08 | → | digia joins (~digia@unaffiliated/digia) |
| 08:14:18 | → | shafox joins (~shafox@106.51.234.111) |
| 08:14:46 | <dminuoso> | Xnuk: Doubtfully |
| 08:15:01 | → | jespada joins (~jespada@90.254.246.48) |
| 08:15:07 | × | coot quits (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
| 08:15:17 | <dminuoso> | It would require actively reading, with this you can just build up a mental mind model |
| 08:15:26 | <dminuoso> | And pretty much grok it with a first look |
| 08:15:40 | → | coot joins (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) |
| 08:15:44 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 08:15:54 | <dminuoso> | The one thing I sometimes miss, is operator variables |
| 08:16:02 | <dminuoso> | That is, that'd read much nicer if we could write: |
| 08:16:43 | <dminuoso> | type Over (~>) f s t a b = a ~> (f b) -> s -> f t |
| 08:16:50 | <dminuoso> | (Or something equivalent) |
| 08:17:28 | <dminuoso> | You used to be able to do that for certain situations |
| 08:17:54 | → | Neuromancer joins (~Neuromanc@unaffiliated/neuromancer) |
| 08:17:56 | <dminuoso> | (Maybe that needs some extra parens as well, not quite sure) |
| 08:18:07 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
| 08:18:25 | → | jle` joins (~mstksg@cpe-23-240-75-236.socal.res.rr.com) |
| 08:18:26 | × | jle` quits (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host) |
| 08:18:26 | → | jle` joins (~mstksg@unaffiliated/mstksg) |
| 08:19:30 | → | cpressey joins (~cpressey@88.144.70.46) |
| 08:25:13 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 08:25:13 | → | mav1 joins (~mav@i59F456E0.versanet.de) |
| 08:25:39 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 08:26:36 | → | borne joins (~fritjof@200116b8644ae80007933c164a08810c.dip.versatel-1u1.de) |
| 08:27:02 | × | ddere quits (uid110888@gateway/web/irccloud.com/x-jyvwqhdwbvlfvtyo) (Quit: Connection closed for inactivity) |
| 08:28:07 | × | ryansmccoy quits (~ryansmcco@193.37.254.27) (Ping timeout: 240 seconds) |
| 08:28:37 | → | ryansmccoy joins (~ryansmcco@193.37.254.27) |
| 08:29:28 | × | tito_04 quits (~taurux@net-93-146-31-52.cust.vodafonedsl.it) (Quit: ZNC 1.7.5 - https://znc.in) |
| 08:29:53 | × | hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-nrjrerspdzjidqfs) (Quit: Connection closed for inactivity) |
| 08:30:10 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 08:30:19 | → | taurux joins (~taurux@net-93-146-31-52.cust.vodafonedsl.it) |
| 08:31:37 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 08:32:08 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 08:32:26 | → | xwvvvvwx joins (~xwvvvvwx@185.213.155.160) |
| 08:33:45 | → | HaskellYogi joins (~vivekrama@49.207.204.165) |
| 08:34:37 | → | raichoo joins (~raichoo@213.240.178.58) |
| 08:35:29 | → | DavidEichmann joins (~david@43.240.198.146.dyn.plus.net) |
| 08:36:32 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 08:40:07 | × | jwynn6 quits (~jwynn6@050-088-122-078.res.spectrum.com) (Ping timeout: 240 seconds) |
| 08:41:17 | × | taurux quits (~taurux@net-93-146-31-52.cust.vodafonedsl.it) (Quit: ZNC 1.7.5 - https://znc.in) |
| 08:42:45 | × | mav1 quits (~mav@i59F456E0.versanet.de) (Ping timeout: 240 seconds) |
| 08:43:23 | × | drbean quits (~drbean@TC210-63-209-180.static.apol.com.tw) (Read error: Connection reset by peer) |
| 08:44:44 | → | taurux joins (~taurux@net-93-146-31-52.cust.vodafonedsl.it) |
| 08:45:04 | <jgt> | Xnuk: can you think of better names for those variables? |
| 08:45:14 | → | o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
| 08:45:49 | → | dhil joins (~dhil@11.29.39.217.dyn.plus.net) |
| 08:49:47 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds) |
| 08:51:25 | × | xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds) |
| 08:51:56 | × | aarvar quits (~foewfoiew@50.35.43.33) (Ping timeout: 256 seconds) |
| 08:52:34 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 246 seconds) |
| 08:53:41 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 08:55:27 | × | ryansmccoy quits (~ryansmcco@193.37.254.27) (Ping timeout: 260 seconds) |
| 08:56:11 | → | ryansmccoy joins (~ryansmcco@68.235.48.108) |
| 08:56:58 | × | taurux quits (~taurux@net-93-146-31-52.cust.vodafonedsl.it) (Ping timeout: 260 seconds) |
| 08:57:24 | → | taurux joins (~taurux@net-93-144-28-140.cust.vodafonedsl.it) |
| 08:58:39 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 08:58:51 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 09:00:02 | × | kensanata quits (~kensanata@193.56.252.210) () |
| 09:00:25 | × | joshua[m]1 quits (joshuajosh@gateway/shell/matrix.org/x-bsjzwfmkqnvbwcsg) (Quit: Idle for 30+ days) |
| 09:00:29 | → | jwynn6 joins (~jwynn6@050-088-122-078.res.spectrum.com) |
| 09:03:05 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 09:06:59 | × | HaskellYogi quits (~vivekrama@49.207.204.165) (Ping timeout: 240 seconds) |
| 09:07:20 | × | shatriff quits (~vitaliish@haunt.prize.volia.net) (Remote host closed the connection) |
| 09:07:34 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) |
| 09:07:35 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 09:08:13 | → | darjeeling_ joins (~darjeelin@122.245.210.179) |
| 09:10:17 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 09:13:46 | <maralorn> | I am writing a program that is supposed to quickly read the input, do some transformation on it (probably line by line) and then forward it to output. So that I can put nicely into a linux pipeline like grep or sed. |
| 09:14:10 | <maralorn> | Right now I have a very stupid forever loop that reads a line to Text and then prints a line to Text. |
| 09:14:33 | <maralorn> | Any tricks how I can do that more nicely? |
| 09:15:02 | × | jedws quits (~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 09:15:19 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 09:15:51 | → | jedws joins (~jedws@121.209.139.222) |
| 09:17:31 | <dminuoso> | Do what more nicely exactly? |
| 09:17:37 | <dminuoso> | % :t interact |
| 09:17:37 | <yahb> | dminuoso: (String -> String) -> IO () |
| 09:17:41 | <dminuoso> | That? :) |
| 09:19:07 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 09:19:35 | → | finkata joins (~dpetrov@83.222.188.39) |
| 09:22:18 | → | Franciman joins (~francesco@host-212-171-42-250.retail.telecomitalia.it) |
| 09:26:44 | → | perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 09:27:41 | → | mirrorbird joins (~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) |
| 09:29:57 | hackage | libmpd 0.9.2.0 - An MPD client library. https://hackage.haskell.org/package/libmpd-0.9.2.0 (psibi) |
| 09:34:09 | × | jedws quits (~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 09:34:27 | → | HaskellYogi joins (~vivekrama@49.207.204.165) |
| 09:39:07 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 09:39:13 | × | HaskellYogi quits (~vivekrama@49.207.204.165) (Ping timeout: 264 seconds) |
| 09:40:02 | → | HaskellYogi joins (~vivekrama@49.207.204.165) |
| 09:43:00 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 256 seconds) |
| 09:43:28 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 09:44:05 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 09:44:48 | × | HaskellYogi quits (~vivekrama@49.207.204.165) (Ping timeout: 260 seconds) |
| 09:45:37 | → | HaskellYogi joins (~vivekrama@49.207.204.165) |
| 09:47:46 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 09:49:37 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 09:50:34 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 09:51:17 | → | Frost1 joins (~Frost@84.39.117.57) |
| 09:54:14 | → | todda7 joins (~torstein@athedsl-4367507.home.otenet.gr) |
| 09:54:15 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 09:54:59 | × | noan quits (~noan@192.241.157.119) (Quit: ZNC 1.8.1 - https://znc.in) |
| 09:54:59 | × | DigitalKiwi quits (~kiwi@unaffiliated/digitalkiwi) (Quit: quite.) |
| 09:55:25 | → | DigitalKiwi joins (~kiwi@unaffiliated/digitalkiwi) |
| 09:55:30 | → | noan joins (~noan@2604:a880:400:d0::12fc:5001) |
| 09:58:35 | × | dhil quits (~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 265 seconds) |
| 09:58:55 | × | mirrorbird quits (~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Quit: Leaving) |
| 09:59:53 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 10:00:31 | → | Rudd0 joins (~Rudd0@185.189.115.98) |
| 10:04:05 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 10:05:23 | <ski> | dminuoso : yes. it was `(a ~> f b) -> s -> f t' |
| 10:06:47 | <ski> | hololeap : order parameters so that partial application makes more sense |
| 10:08:27 | → | acidjnk_new joins (~acidjnk@p200300d0c723788040fc08bec5cc5c11.dip0.t-ipconnect.de) |
| 10:09:48 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 10:13:35 | <tomjaguarpaw> | What is standard practice for getting small PRs to Cabal reviewed? |
| 10:13:45 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 240 seconds) |
| 10:14:20 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 10:15:12 | <ski> | (with `IsFoo f n e', you could do `newtype Blah = MkBlah Bork deriving (IsFoo MyF myN)', assuming you have `instance IsFoo MyF MyN Bork'. but perhaps you'd prefer another partial application here, from another ordering, in case such would be useful at all for you) |
| 10:16:27 | × | todda7 quits (~torstein@athedsl-4367507.home.otenet.gr) (Ping timeout: 240 seconds) |
| 10:18:12 | <dminuoso> | tomjaguarpaw: Bribing phadej could work. |
| 10:20:04 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 10:20:27 | <dminuoso> | tomjaguarpaw: I find your style harder to read. |
| 10:21:05 | × | rprije quits (~rprije@203.214.95.251) (Ping timeout: 240 seconds) |
| 10:21:14 | × | HaskellYogi quits (~vivekrama@49.207.204.165) (Ping timeout: 272 seconds) |
| 10:21:54 | → | madjestic joins (~madjestic@86-88-72-244.fixed.kpn.net) |
| 10:22:23 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:2167:f0f2:60e2:589) (Ping timeout: 272 seconds) |
| 10:24:20 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 10:24:25 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 10:24:47 | × | jgt quits (~jgt@188.239.64.32) (Ping timeout: 240 seconds) |
| 10:25:41 | × | hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Quit: hekkaidekapus) |
| 10:28:15 | <tomjaguarpaw> | If you could go to the PR and explain why that would be a good start :) |
| 10:28:45 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 240 seconds) |
| 10:29:16 | → | shatriff joins (~vitaliish@178-133-29-105.mobile.vf-ua.net) |
| 10:30:10 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 10:31:36 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 10:32:28 | → | hekkaidekapus joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 10:32:56 | → | ph88 joins (~ph88@46.183.103.8) |
| 10:33:25 | × | ph88 quits (~ph88@46.183.103.8) (Remote host closed the connection) |
| 10:33:27 | hackage | th-lego 0.1.0.3 - Template Haskell construction utilities https://hackage.haskell.org/package/th-lego-0.1.0.3 (NikitaVolkov) |
| 10:33:55 | × | alp quits (~alp@2a01:e0a:58b:4920:b4e0:35e5:8ad8:3e24) (Ping timeout: 240 seconds) |
| 10:34:24 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:85dd:325e:8566:f6fa) |
| 10:34:50 | × | niko quits (~niko@freenode/staff/ubuntu.member.niko) (Ping timeout: 619 seconds) |
| 10:34:51 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 10:36:15 | → | dhil joins (~dhil@11.29.39.217.dyn.plus.net) |
| 10:36:44 | <maralorn> | dminuoso: Does interact split line by line or does it rely on lazyness? |
| 10:36:51 | → | ph88 joins (~ph88@46.183.103.8) |
| 10:36:51 | <phadej> | dminuoso, tomjaguarpaw for whole of september I was concentrating on polishing 3.4 release, there are still some (but I hope only one in Cabal-the-lib), and GHC-9.0-alpha1 is already out |
| 10:36:59 | <phadej> | so sorry for not context switching |
| 10:37:28 | <hc> | context switching is bad anyway. (I do it everytime I am waiting for the compiler to finish, though ;p ) |
| 10:37:34 | <maralorn> | Also, I would like a solution that preserves terminal controlcode formating. |
| 10:37:50 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 258 seconds) |
| 10:38:29 | <hc> | maralorn: interact relies on lazyness |
| 10:39:43 | <maralorn> | Other question how can I build a state machine based parser? |
| 10:40:25 | → | jgt joins (~jgt@188.239.64.32) |
| 10:40:50 | → | draliana joins (draliana@bl6-172-220.dsl.telepac.pt) |
| 10:41:14 | <maralorn> | Right now I parse a line that could be one of many things with megaparsec and I do it very terribly by having one parser for every possible variant and "try" them one after the otherr. |
| 10:41:20 | → | HaskellYogi joins (~vivekrama@49.207.202.80) |
| 10:41:59 | × | shatriff quits (~vitaliish@178-133-29-105.mobile.vf-ua.net) (Remote host closed the connection) |
| 10:42:04 | <ski> | perhaps you could try Happy |
| 10:42:30 | → | Guest18 joins (567e8866@gateway/web/cgi-irc/kiwiirc.com/ip.86.126.136.102) |
| 10:44:10 | → | kuribas joins (~user@ptr-25vy0i9v0yveatz4g8h.18120a2.ip6.access.telenet.be) |
| 10:45:08 | <maralorn> | Is the documentation for happy rendered somewhere? The webpage linked on hackage apparently hasn‘t been updated since 2010 (!) https://www.haskell.org/happy/ |
| 10:46:25 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:85dd:325e:8566:f6fa) (Ping timeout: 240 seconds) |
| 10:48:18 | × | HaskellYogi quits (~vivekrama@49.207.202.80) (Remote host closed the connection) |
| 10:48:56 | → | HaskellYogi joins (~vivekrama@49.207.202.80) |
| 10:49:43 | <tomjaguarpaw> | phadej: No problem at all. |
| 10:49:48 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 10:50:02 | × | cpressey quits (~cpressey@88.144.70.46) (Quit: WeeChat 1.9.1) |
| 10:50:48 | <phadej> | s/some/some bugs |
| 10:51:28 | × | Wamanuz quits (~wamanuz@78-70-34-81-no84.tbcn.telia.com) (Remote host closed the connection) |
| 10:51:54 | <ski> | @hackage happy |
| 10:51:55 | <lambdabot> | https://hackage.haskell.org/package/happy |
| 10:52:04 | → | ph88^ joins (~ph88@46.183.103.8) |
| 10:52:20 | <ski> | perhaps |
| 10:52:22 | <ski> | @where bnfc |
| 10:52:22 | <lambdabot> | BNF Converter, http://bnfc.digitalgrammars.com/ |
| 10:52:34 | <ski> | could also be useful, depending on what you want to do |
| 10:52:44 | <ski> | (it uses Happy) |
| 10:53:08 | → | alp joins (~alp@2a01:e0a:58b:4920:1515:91a6:893c:5718) |
| 10:54:19 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
| 10:54:27 | × | HaskellYogi quits (~vivekrama@49.207.202.80) (Ping timeout: 260 seconds) |
| 10:55:27 | × | ph88 quits (~ph88@46.183.103.8) (Ping timeout: 240 seconds) |
| 10:55:33 | → | HaskellYogi joins (~vivekrama@49.207.202.80) |
| 10:55:53 | → | perdent joins (~blah@101.175.84.75) |
| 10:55:55 | <maralorn> | ski: happy seems a bit of an overkill for my purpose. Especially because I want to look at an input stream, see if something in there parses and if not take that line as "raw" and proceed to the next line. |
| 10:56:04 | <perdent> | For all the the integers in the interval [100, 1400] which are a multiple of 20, find the numbers that have a digit sum of 14. The solution to the challenge is the average of all the resulting numbers, rounded up to an integral value. The digit sum of a number is the sum of all decimal digits. For example, the digit sum of 324 is 3+2+4=9. |
| 10:56:29 | → | mmohammadi98120 joins (~mmohammad@5.238.160.203) |
| 10:58:25 | × | mmohammadi9812 quits (~mmohammad@2.178.202.133) (Ping timeout: 264 seconds) |
| 10:58:33 | → | Wamanuz joins (~wamanuz@78-70-34-81-no84.tbcn.telia.com) |
| 10:59:08 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
| 10:59:41 | <maralorn> | Or phrased differently: ski, how do I deal with a grammar where a certain input can have multiple generators? |
| 10:59:57 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 11:00:02 | → | mmohammadi9812 joins (~mmohammad@2.178.165.42) |
| 11:00:13 | <ski> | dunno what you mean by "multiple generators" ? |
| 11:00:16 | <tomsmeding> | maralorn: how hard is it to determine what case the line falls in from looking at the line? |
| 11:00:27 | × | HaskellYogi quits (~vivekrama@49.207.202.80) (Ping timeout: 265 seconds) |
| 11:00:29 | <ski> | you mean the grammar is ambiguous ? |
| 11:00:31 | <tomsmeding> | like, would case-switching on head (words line) work? :p |
| 11:00:39 | <ski> | perdent : is it Haskell-related ? |
| 11:01:04 | <perdent> | No ignore it |
| 11:01:09 | → | HaskellYogi joins (~vivekrama@49.207.202.80) |
| 11:01:42 | <maralorn> | tomsmeding: It's not that easy. |
| 11:01:44 | <ski> | (you mean you sent it in here, by mistake ?) |
| 11:02:14 | <tomsmeding> | maralorn: okay, what algorithm did you have in mind then, ignoring complexity of implementation? |
| 11:02:23 | × | mmohammadi98120 quits (~mmohammad@5.238.160.203) (Ping timeout: 265 seconds) |
| 11:03:05 | <perdent> | Yeah |
| 11:03:08 | → | mmohammadi98126 joins (~mmohammad@2.178.216.171) |
| 11:03:52 | <maralorn> | tomsmeding: Right now I do this: Look at the line, does it match a) if yes process if no does it match b) if yes ... until if it does not match anything at all process as "raw" |
| 11:04:14 | <maralorn> | The problem is that some of the cases have long common prefixes. |
| 11:04:22 | <tomsmeding> | ah |
| 11:04:31 | <tomsmeding> | long as in? |
| 11:04:32 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 11:04:52 | <ski> | maralorn : could you reasonably left-factor those cases ? |
| 11:05:10 | <maralorn> | long as in I don‘t have a performance problem at all, my program works I just want it to be pretty.^^ |
| 11:05:18 | <tomsmeding> | :D |
| 11:05:25 | <maralorn> | ski: I am not sure I know what that means. |
| 11:05:34 | × | mmohammadi9812 quits (~mmohammad@2.178.165.42) (Ping timeout: 272 seconds) |
| 11:05:49 | × | HaskellYogi quits (~vivekrama@49.207.202.80) (Ping timeout: 258 seconds) |
| 11:06:01 | <tomsmeding> | what ski said, or perhaps use an applicative parser library that includes a decent optimiser (I don't know if that exists)? |
| 11:06:10 | <maralorn> | I have actually solved the trickiest one by having a Parser (Either MatchA MatchB) … |
| 11:06:44 | → | HaskellYogi joins (~vivekrama@49.207.202.80) |
| 11:07:03 | <tomsmeding> | I take it that ski meant going from try (string "prefixA" >> return 1) <|> try (string "prefixB" >> return 2) to the following: try (string "prefix" >> ((char 'A' >> return 1) <|> (char 'B' >> return 2)) |
| 11:07:28 | <maralorn> | Ah, nice. |
| 11:07:36 | <ski> | yes |
| 11:08:01 | <tomsmeding> | modulo syntactic details :p |
| 11:08:13 | × | mmohammadi98126 quits (~mmohammad@2.178.216.171) (Ping timeout: 260 seconds) |
| 11:08:46 | <tomsmeding> | but I think that if you can express your parsers in applicative form, a good optimiser would be able to perform that left-factoring automatically |
| 11:08:59 | → | noobhaskell joins (6763cd07@103.99.205.7) |
| 11:09:06 | <tomsmeding> | but I don't know whether that's actually true, and also I don't know whether such a good library exists |
| 11:09:15 | <maralorn> | Does megaparsec do something like that? |
| 11:09:25 | <tomsmeding> | megaparsec is monadic parsing, right? |
| 11:09:43 | <tomsmeding> | applicative parsing is strictly weaker than monadic parsing, so unless it has two completely distinct parsing engines under the hood, I think it doesn't |
| 11:09:58 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 11:10:15 | <tomsmeding> | https://stackoverflow.com/questions/7861903/what-are-the-benefits-of-applicative-parsing-over-monadic-parsing |
| 11:10:15 | <ski> | i suppose you could also try something like <https://hackage.haskell.org/package/base-4.14.0.0/docs/Text-ParserCombinators-ReadP.html> or <https://hackage.haskell.org/package/base-4.14.0.0/docs/Text-ParserCombinators-ReadP.html> |
| 11:10:26 | <tomsmeding> | same link? |
| 11:11:34 | → | niko joins (~niko@freenode/staff/ubuntu.member.niko) |
| 11:11:35 | × | noobhaskell quits (6763cd07@103.99.205.7) (Remote host closed the connection) |
| 11:11:44 | × | conal quits (~conal@107.181.166.148) (Read error: Connection reset by peer) |
| 11:12:07 | <tomsmeding> | ski: looks cool, TIL |
| 11:12:58 | hackage | nri-prelude 0.1.0.1 - A Prelude inspired by the Elm programming language https://hackage.haskell.org/package/nri-prelude-0.1.0.1 (JasperWoudenberg) |
| 11:14:36 | <tomsmeding> | ski: is that able to optimise (string "prefixA" >> return 1) +++ (string "prefixB" >> return 2) to something like string "prefix" >> ((char 'A' >> return 1) +++ (char 'B' >> return 2)) ? |
| 11:14:37 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds) |
| 11:15:20 | <tomsmeding> | ah the ReadP representation is CPS'ed, so I guess not |
| 11:16:57 | hackage | fused-effects-readline 0.1.0.1 - A readline-like effect and carrier for fused-effects https://hackage.haskell.org/package/fused-effects-readline-0.1.0.1 (robrix) |
| 11:16:57 | → | conal joins (~conal@107.181.166.148) |
| 11:17:36 | × | HaskellYogi quits (~vivekrama@49.207.202.80) (Ping timeout: 272 seconds) |
| 11:17:42 | <tomsmeding> | or perhaps it does, there's some magic going on with the P type |
| 11:20:19 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 11:21:04 | <maralorn> | I think I need interact where the function can be IO … |
| 11:21:24 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 11:21:28 | <tomsmeding> | okay so it kind of does: the implementation of +++ via <|> does combine Look, and later Get values, but I think there's still some kind of double work performed but not sure |
| 11:22:05 | <tomsmeding> | :t \f -> getContents >>= f >>= putStr |
| 11:22:07 | <lambdabot> | (String -> IO String) -> IO () |
| 11:22:10 | <tomsmeding> | maralorn: ^ |
| 11:22:12 | <tomsmeding> | :p |
| 11:22:35 | <maralorn> | Also: Looks right.^^ |
| 11:23:18 | <ski> | what `IO' do you want/need ? |
| 11:23:35 | → | HaskellYogi joins (~vivekrama@49.207.202.80) |
| 11:23:51 | <maralorn> | ski: I want to e.g. put a current timestamp into my output. |
| 11:24:28 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 11:24:31 | <maralorn> | Or query the system for additional info about the input I am getting. |
| 11:24:50 | <maralorn> | I wonder if I should look into a Streaming lib. |
| 11:25:46 | <tomsmeding> | maralorn: caution: that expression doesn't work, it blocks until the entire input is read apparently |
| 11:27:00 | <ski> | if timestamps are always put in the same place in the generated lines, perhaps you could (incrementally) generate a list of `String's, and then insert the timestamps as you output the lines |
| 11:28:06 | <maralorn> | I think my Plan would be right now to do something like having a "Parser [ParseResult]", a function "ParseResult -> IO Text", map that to something like [ParseResult] -> IO [Text] and then return the concatenation of that … |
| 11:28:11 | × | HaskellYogi quits (~vivekrama@49.207.202.80) (Ping timeout: 240 seconds) |
| 11:28:27 | hackage | nri-prelude 0.1.0.2 - A Prelude inspired by the Elm programming language https://hackage.haskell.org/package/nri-prelude-0.1.0.2 (JasperWoudenberg) |
| 11:28:40 | → | raehik joins (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) |
| 11:28:43 | <maralorn> | Where I would write the Parser in a way that could never fail. |
| 11:29:02 | <ski> | tomsmeding : you could sprinkle `unsafeInterleaveIO' :) |
| 11:29:31 | × | borne quits (~fritjof@200116b8644ae80007933c164a08810c.dip.versatel-1u1.de) (Ping timeout: 272 seconds) |
| 11:29:34 | → | inkbottle joins (~inkbottle@aaubervilliers-654-1-1-33.w83-200.abo.wanadoo.fr) |
| 11:29:49 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 11:30:04 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-117-166.w86-198.abo.wanadoo.fr) (Ping timeout: 246 seconds) |
| 11:30:16 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 11:30:27 | hackage | nri-env-parser 0.1.0.1 - Read environment variables as settings to build 12-factor apps. https://hackage.haskell.org/package/nri-env-parser-0.1.0.1 (JasperWoudenberg) |
| 11:30:45 | → | borne joins (~fritjof@200116b864545000eb24a00afefc421b.dip.versatel-1u1.de) |
| 11:30:53 | <tomsmeding> | or use |
| 11:30:59 | <tomsmeding> | :t \f -> getContents >>= mapM_ (f >=> putStrLn) . lines |
| 11:31:00 | <lambdabot> | (String -> IO String) -> IO () |
| 11:31:10 | <tomsmeding> | which runs f for every line :) |
| 11:31:59 | → | hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 11:32:12 | <maralorn> | tomsmeding: Yeah, but sometimes the Parser needs to consume multiple lines |
| 11:33:50 | → | Tops2 joins (~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de) |
| 11:34:23 | × | hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
| 11:35:03 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 11:35:58 | → | jonatanb joins (~jonatanb@83.24.231.247.ipv4.supernova.orange.pl) |
| 11:36:41 | → | TCZ joins (~TCZ@ip-91.246.66.111.skyware.pl) |
| 11:36:58 | <orzo> | I'm trying to do scalar multiplication with hmatrix's type-safe "static" vectors http://dis.um.es/~alberto/hmatrix/static.html |
| 11:37:05 | <orzo> | i can't figure it out |
| 11:37:06 | → | polyrain joins (~polyrain@2001:8003:640b:b900:3932:cca7:5271:9742) |
| 11:37:11 | ← | TCZ parts (~TCZ@ip-91.246.66.111.skyware.pl) ("Leaving") |
| 11:37:14 | × | Tops21 quits (~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de) (Ping timeout: 272 seconds) |
| 11:40:30 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 11:41:15 | <orzo> | do i have to convert it to a dynamic vector just to multiply it by a scalar? |
| 11:41:19 | → | todda7 joins (~torstein@athedsl-4367507.home.otenet.gr) |
| 11:42:05 | × | zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving) |
| 11:42:27 | × | jgt quits (~jgt@188.239.64.32) (Ping timeout: 240 seconds) |
| 11:44:59 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 11:45:06 | → | drbean joins (~drbean@TC210-63-209-213.static.apol.com.tw) |
| 11:45:26 | <opqdonut> | orzo: is * perhaps element-wise multiplication? so you could create a constant matrix of the same size and then use * |
| 11:46:07 | <opqdonut> | so something like 'fromInteger 3 * mat' should work as far as I can see |
| 11:46:24 | <opqdonut> | but I'm just curious and reading the docs, I haven't used hmatrix |
| 11:46:27 | <tomsmeding> | orzo: https://hackage.haskell.org/package/hmatrix-0.20.0.0/docs/Numeric-LinearAlgebra.html#g:3 seems to suggest '3 * mat' should work |
| 11:46:40 | <tomsmeding> | though that does create a dynamic vector behind the scenes |
| 11:46:58 | <tomsmeding> | (if you follow the Num and >< definitions in the source) |
| 11:47:25 | <tomsmeding> | perhaps Vector fusion does magic and eliminates that intermediate vector? /shrug/ |
| 11:48:02 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 11:48:10 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection) |
| 11:48:47 | × | alx741_ quits (~alx741@186.178.110.227) (Ping timeout: 265 seconds) |
| 11:50:02 | <phadej> | probably no |
| 11:50:35 | <tomsmeding> | ah there is 'scale :: t -> Matrix t -> Matrix t' |
| 11:50:43 | <tomsmeding> | orzo: ^ |
| 11:52:07 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 11:52:33 | <tomsmeding> | and that seems to call out to a foreign C function via some detours |
| 11:53:43 | <tomsmeding> | (scale comes from the Linear typeclass) |
| 11:55:28 | hackage | stylish-haskell 0.12.0.0 - Haskell code prettifier https://hackage.haskell.org/package/stylish-haskell-0.12.0.0 (JasperVanDerJeugt) |
| 11:56:46 | <maralorn> | Wait, I can‘t have a lazy Parser, can I? At least parse :: s -> Either (ParseErrorBundle s e) a will be strict in the Either, so it needs to consume all input until it knows, it it succeeded, right? |
| 11:58:08 | <ski> | i guess if you assume your input is well-formed, don't care about potential errors, then you could be more lazy |
| 12:00:01 | × | Frost1 quits (~Frost@84.39.117.57) () |
| 12:00:39 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 12:01:11 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
| 12:01:19 | → | alx741_ joins (~alx741@181.196.69.166) |
| 12:01:52 | × | zabracks quits (sid322453@gateway/web/irccloud.com/x-quucjgaiznbgmxnq) (Quit: Connection closed for inactivity) |
| 12:03:07 | × | p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core) |
| 12:03:31 | × | DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 12:03:39 | <maralorn> | Yeah, it makes sense in my head. But I don‘t finde a lib which can do it. |
| 12:03:43 | → | p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) |
| 12:03:44 | → | Amras joins (~Amras@unaffiliated/amras0000) |
| 12:03:47 | <maralorn> | Or I don‘t see how to use them to do it. |
| 12:04:23 | → | DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 12:04:30 | × | p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection) |
| 12:04:47 | <maralorn> | I think the problem is that I need a Parser type that can say "Success this a is my Result, but oh btw. I haven‘t consumed this string s, so you might wanna look into that" |
| 12:05:10 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 12:05:29 | × | CMCDragonkai1 quits (~Thunderbi@124.19.3.250) (Quit: CMCDragonkai1) |
| 12:05:34 | <maralorn> | Huh, I could try that With Parser (a,s).^^ |
| 12:06:05 | <tomjaguarpaw> | What is the canonical location for Cabal documentation? |
| 12:06:22 | <tomjaguarpaw> | Is it cabal.readthedocs.io? |
| 12:06:56 | → | jgt joins (~jgt@195.225.146.77) |
| 12:07:06 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 12:08:43 | → | Sarma joins (~Amras@unaffiliated/amras0000) |
| 12:09:06 | <yushyin> | tomjaguarpaw: at least https://www.haskell.org/cabal/ links to https://cabal.readthedocs.io/ so I guess, yes! |
| 12:10:03 | → | HaskellYogi joins (~vivekrama@49.207.202.80) |
| 12:10:36 | <ski> | maralorn : `s' would be the remaining input ? |
| 12:10:47 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 12:10:56 | <maralorn> | ski: Yeas |
| 12:11:20 | <Axman6> | I thought most parser libraries gave you a way to parse something and also get the remaining input |
| 12:11:32 | <Axman6> | I'm sure Attoparsec does |
| 12:12:05 | × | draliana quits (draliana@bl6-172-220.dsl.telepac.pt) (Remote host closed the connection) |
| 12:12:45 | × | Rudd0 quits (~Rudd0@185.189.115.98) (Ping timeout: 240 seconds) |
| 12:12:52 | <ski> | yea, they usually do |
| 12:13:05 | <tomjaguarpaw> | yushyin: Thanks |
| 12:13:08 | <maralorn> | Do they? |
| 12:13:18 | → | draliana joins (draliana@bl6-172-220.dsl.telepac.pt) |
| 12:13:21 | × | draliana quits (draliana@bl6-172-220.dsl.telepac.pt) (Excess Flood) |
| 12:13:25 | → | cpressey joins (~cpressey@88.144.70.46) |
| 12:13:36 | → | draliana joins (draliana@bl6-172-220.dsl.telepac.pt) |
| 12:13:38 | × | draliana quits (draliana@bl6-172-220.dsl.telepac.pt) (Excess Flood) |
| 12:13:44 | <maralorn> | I see that you can provide more input to a partial parse in attoparsec. And that you can have a "Fail" that gives you the remaining input. |
| 12:13:53 | → | draliana joins (draliana@bl6-172-220.dsl.telepac.pt) |
| 12:13:55 | × | draliana quits (draliana@bl6-172-220.dsl.telepac.pt) (Excess Flood) |
| 12:14:06 | <maralorn> | But I don‘t see a function, that gives you a Success with the remaining input. |
| 12:14:11 | → | draliana joins (draliana@bl6-172-220.dsl.telepac.pt) |
| 12:14:12 | × | draliana quits (draliana@bl6-172-220.dsl.telepac.pt) (Excess Flood) |
| 12:14:59 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 12:17:29 | <maralorn> | I am a bit confused, because I know I have seen something like that, but I can‘t find it … |
| 12:18:29 | × | Amras quits (~Amras@unaffiliated/amras0000) (Quit: Leaving) |
| 12:18:39 | × | madjestic quits (~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 258 seconds) |
| 12:18:41 | × | Sarma quits (~Amras@unaffiliated/amras0000) (Quit: Leaving) |
| 12:18:49 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 264 seconds) |
| 12:19:01 | → | Amras joins (~Amras@unaffiliated/amras0000) |
| 12:20:55 | → | machinedgod joins (~machinedg@d67-193-126-196.home3.cgocable.net) |
| 12:20:57 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 12:21:00 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:7d75:9a99:2c63:b831) |
| 12:21:57 | → | st8less joins (~st8less@2603:a060:11fd:0:6883:ccc4:e325:916a) |
| 12:22:25 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 12:22:27 | <ski> | maralorn : <https://hackage.haskell.org/package/attoparsec-0.13.2.4/docs/Data-Attoparsec-ByteString.html#v:parse> ? |
| 12:23:24 | <maralorn> | Oh, the Done Constructor is different.^^ |
| 12:23:24 | <maralorn> | Sorry for that.^^ |
| 12:25:23 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 12:25:55 | × | ph88^ quits (~ph88@46.183.103.8) (Remote host closed the connection) |
| 12:26:19 | → | ph88^ joins (~ph88@46.183.103.8) |
| 12:29:08 | × | jonatanb quits (~jonatanb@83.24.231.247.ipv4.supernova.orange.pl) (Read error: Connection reset by peer) |
| 12:30:25 | × | Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 240 seconds) |
| 12:30:28 | hackage | record-dot-preprocessor 0.2.7 - Preprocessor to allow record.field syntax https://hackage.haskell.org/package/record-dot-preprocessor-0.2.7 (NeilMitchell) |
| 12:31:03 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 12:31:05 | × | HaskellYogi quits (~vivekrama@49.207.202.80) (Ping timeout: 240 seconds) |
| 12:33:18 | → | HaskellYogi joins (~vivekrama@49.207.202.80) |
| 12:35:16 | × | haasn quits (~haasn@mpv/developer/haasn) (Ping timeout: 256 seconds) |
| 12:35:26 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 12:35:31 | × | John20 quits (~John@82.46.59.122) (Ping timeout: 258 seconds) |
| 12:35:43 | → | Amras joins (~Amras@unaffiliated/amras0000) |
| 12:40:35 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 240 seconds) |
| 12:41:15 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 12:42:04 | × | HaskellYogi quits (~vivekrama@49.207.202.80) (Ping timeout: 256 seconds) |
| 12:42:23 | → | Sheilong joins (uid293653@gateway/web/irccloud.com/x-vlspjywaiiubsfqi) |
| 12:43:18 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 12:43:40 | → | HaskellYogi joins (~vivekrama@49.207.202.80) |
| 12:45:38 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 12:45:45 | → | haasn joins (~haasn@mpv/developer/haasn) |
| 12:49:24 | → | John20 joins (~John@82.46.59.122) |
| 12:51:19 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 12:52:43 | → | berberman joins (~berberman@2408:8207:2562:2400::a44) |
| 12:54:51 | × | ph88^ quits (~ph88@46.183.103.8) (Quit: Leaving) |
| 12:55:10 | → | mota joins (~mota@89.47.234.28) |
| 12:55:50 | × | Clough quits (~Cain@194-193-141-75.tpgi.com.au) (Read error: Connection reset by peer) |
| 12:55:58 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 12:56:33 | → | Tops21 joins (~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de) |
| 12:58:03 | → | Tops22 joins (~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de) |
| 12:59:59 | × | Tops2 quits (~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de) (Ping timeout: 260 seconds) |
| 13:01:23 | × | Tops21 quits (~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de) (Ping timeout: 240 seconds) |
| 13:01:29 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 13:02:33 | <maralorn> | Is there a way to flush stdout while writing a lazy Text? |
| 13:03:07 | × | juri_ quits (~juri@178.63.35.222) (Ping timeout: 258 seconds) |
| 13:03:49 | <phadej> | you mean, between chunks? |
| 13:05:47 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 13:06:16 | → | FreeBirdLjj joins (~freebirdl@240e:388:4f41:dc00:6980:7e19:3f7b:9844) |
| 13:06:36 | → | nineonine joins (~nineonine@216-19-190-182.dyn.novuscom.net) |
| 13:06:37 | <hc> | You could write your own lazy putStr function and do it there, I think |
| 13:06:42 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:7d75:9a99:2c63:b831) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 13:07:43 | <hc> | i.e., get Chunk, write it, flush stdout, unsafeInterleaveIO, repeat |
| 13:09:16 | <ski> | `unsafeInterleaveIO' ? |
| 13:10:41 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:41ee:e0ba:d692:129) |
| 13:10:47 | × | nineonine quits (~nineonine@216-19-190-182.dyn.novuscom.net) (Ping timeout: 240 seconds) |
| 13:11:40 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 13:12:53 | × | toorevitimirp quits (~tooreviti@117.182.181.38) (Ping timeout: 265 seconds) |
| 13:13:16 | → | chappi joins (~swaroop@157.49.90.100) |
| 13:13:25 | × | jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
| 13:14:01 | <phadej> | why |
| 13:14:08 | <phadej> | indeed why |
| 13:14:26 | → | jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se) |
| 13:16:04 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 13:19:06 | → | da39a3ee5e6b4b0d joins (~textual@n11211935170.netvigator.com) |
| 13:24:58 | × | da39a3ee5e6b4b0d quits (~textual@n11211935170.netvigator.com) (Max SendQ exceeded) |
| 13:26:28 | <maralorn> | yeah, I mean between chunks … |
| 13:26:53 | <maralorn> | but since I am concating them anyways before I can just putStr and flush them one after the other. |
| 13:30:03 | → | juri_ joins (~juri@79.140.121.173) |
| 13:33:06 | × | polyrain quits (~polyrain@2001:8003:640b:b900:3932:cca7:5271:9742) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 13:33:28 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 13:34:54 | → | toorevitimirp joins (~tooreviti@117.182.181.38) |
| 13:36:11 | × | borne quits (~fritjof@200116b864545000eb24a00afefc421b.dip.versatel-1u1.de) (Ping timeout: 272 seconds) |
| 13:36:48 | → | AlterEgo- joins (~ladew@124-198-158-163.dynamic.caiway.nl) |
| 13:39:20 | → | aarvar joins (~foewfoiew@50.35.43.33) |
| 13:39:27 | × | drbean quits (~drbean@TC210-63-209-213.static.apol.com.tw) (Ping timeout: 240 seconds) |
| 13:40:39 | → | juri__ joins (~juri@178.63.35.222) |
| 13:42:13 | × | jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 260 seconds) |
| 13:42:18 | → | jedws joins (~jedws@121.209.139.222) |
| 13:42:52 | × | coot quits (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 13:43:54 | × | juri_ quits (~juri@79.140.121.173) (Ping timeout: 272 seconds) |
| 13:44:06 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 13:44:37 | × | bitmapper quits (uid464869@gateway/web/irccloud.com/x-pdkqlqfnwurchqja) (Quit: Connection closed for inactivity) |
| 13:47:33 | → | son0p joins (~son0p@181.136.122.143) |
| 13:48:13 | → | madjestic joins (~madjestic@86-88-72-244.fixed.kpn.net) |
| 13:48:25 | × | toorevitimirp quits (~tooreviti@117.182.181.38) (Ping timeout: 240 seconds) |
| 13:48:58 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 13:50:20 | → | toorevitimirp joins (~tooreviti@117.182.181.38) |
| 13:52:55 | → | borne joins (~fritjof@200116b86454500007933c164a08810c.dip.versatel-1u1.de) |
| 13:54:08 | → | da39a3ee5e6b4b0d joins (~textual@n11211935170.netvigator.com) |
| 13:54:41 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 13:55:17 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 13:56:45 | → | ystael joins (~ystael@209.6.50.55) |
| 13:56:45 | × | lortabac quits (~lortabac@51.158.65.124) (Read error: Connection reset by peer) |
| 13:57:23 | grumble | is now known as Spooktober |
| 13:57:44 | e | is now known as deadk |
| 13:59:15 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 14:00:16 | → | ddellacosta joins (~dd@86.106.121.168) |
| 14:02:15 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 14:03:43 | → | lortabac joins (~lortabac@51.158.65.124) |
| 14:04:47 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 14:06:13 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 264 seconds) |
| 14:06:52 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 14:09:09 | × | yoneda quits (~mike@193.206.102.122) (Quit: leaving) |
| 14:09:26 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 14:11:45 | × | chappi quits (~swaroop@157.49.90.100) (Remote host closed the connection) |
| 14:11:45 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 14:13:58 | → | chappi joins (~swaroop@157.45.23.171) |
| 14:14:58 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 14:15:56 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 14:17:22 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 14:19:05 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 14:21:09 | × | alp quits (~alp@2a01:e0a:58b:4920:1515:91a6:893c:5718) (Ping timeout: 272 seconds) |
| 14:21:57 | → | mirrorbird joins (~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) |
| 14:24:16 | × | aveltras quits (uid364989@gateway/web/irccloud.com/x-decqiotcaxthssop) (Quit: Connection closed for inactivity) |
| 14:25:00 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 14:25:11 | × | o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection) |
| 14:25:29 | → | o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
| 14:26:19 | × | ft quits (~ft@shell.chaostreff-dortmund.de) (Ping timeout: 260 seconds) |
| 14:26:58 | → | ft joins (~ft@shell.chaostreff-dortmund.de) |
| 14:27:03 | × | albethere quits (sid457088@gateway/web/irccloud.com/x-euzbwktnggxsctak) (Ping timeout: 244 seconds) |
| 14:27:34 | × | fiadliel quits (sid399568@gateway/web/irccloud.com/x-llzgoofxbcculsva) (Ping timeout: 244 seconds) |
| 14:27:34 | → | voyons_osti joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 14:27:44 | → | fiadliel joins (sid399568@gateway/web/irccloud.com/x-qpjmurqekfenxlla) |
| 14:28:23 | × | conal quits (~conal@107.181.166.148) (Quit: Computer has gone to sleep.) |
| 14:28:39 | → | coot joins (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) |
| 14:28:45 | <Guest18> | Hey guys, common question here: can anyone make an ELI5 for what a monad is? I can't seem to grasp the concept on my own. Yes, I've heard the joke with the endofunctors :) |
| 14:29:07 | × | Kamuela quits (sid111576@gateway/web/irccloud.com/x-hizwwfvajxwuptvq) (Ping timeout: 244 seconds) |
| 14:29:07 | × | xyggos quits (uid216035@gateway/web/irccloud.com/x-gnlompqpniagbeqc) (Ping timeout: 244 seconds) |
| 14:29:07 | × | itai33[m] quits (itai33matr@gateway/shell/matrix.org/x-kefkftogqwbmbqbo) (Ping timeout: 244 seconds) |
| 14:29:14 | → | itai33[m] joins (itai33matr@gateway/shell/matrix.org/x-kkpfrvjedmohzgix) |
| 14:29:15 | → | albethere joins (sid457088@gateway/web/irccloud.com/x-nwltghldiblztrql) |
| 14:29:22 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
| 14:29:49 | <dolio> | Monads are a way of presenting abstract algebra. |
| 14:29:56 | × | wangoe[m] quits (wangoematr@gateway/shell/matrix.org/x-ejdppythnrvrfopr) (Ping timeout: 240 seconds) |
| 14:30:09 | × | alunduil quits (alunduil@gateway/web/irccloud.com/x-armiphmmyuoonyeh) (Ping timeout: 244 seconds) |
| 14:30:10 | → | wangoe[m] joins (wangoematr@gateway/shell/matrix.org/x-ygktxbgtoupbgdmu) |
| 14:30:20 | → | Kamuela joins (sid111576@gateway/web/irccloud.com/x-zosmoookvvrpusxu) |
| 14:30:30 | → | chreekat[m]1 joins (chreekatma@gateway/shell/matrix.org/x-jpfnucpqjtwzgcaa) |
| 14:30:37 | → | conal joins (~conal@107.181.166.148) |
| 14:30:40 | × | jared-w quits (uid405292@gateway/web/irccloud.com/x-lvabjzxurljtbtsc) (Ping timeout: 244 seconds) |
| 14:30:44 | <Guest18> | I understand monads are a way of introducing side-effects in a purely functional context. Don't know more than that |
| 14:31:45 | × | ft quits (~ft@shell.chaostreff-dortmund.de) (Ping timeout: 240 seconds) |
| 14:31:45 | → | alunduil joins (alunduil@gateway/web/irccloud.com/x-ykoppvalzkjzwxam) |
| 14:31:46 | <Taneb> | Guest18: forget everything you know about them. "IO" is a way of talking about (but not really introducing) side-effects in a purely functional context, and it happens that IO is an example of a monad |
| 14:31:55 | <tbreslein> | well, that is not true though. there are monads that introduce "side-effects", but side-effects aren't an inherent feature to monads |
| 14:32:01 | → | xyggos joins (uid216035@gateway/web/irccloud.com/x-xzyfcimlxufybwap) |
| 14:32:05 | → | ft joins (~ft@shell.chaostreff-dortmund.de) |
| 14:32:06 | <Taneb> | @where typeclassopedia |
| 14:32:06 | <lambdabot> | http://www.haskell.org/haskellwiki/Typeclassopedia |
| 14:32:07 | <tbreslein> | that was @Guest18 |
| 14:32:13 | × | heyj quits (sid171370@gateway/web/irccloud.com/x-ffzoewiykurlnmpn) (Ping timeout: 244 seconds) |
| 14:32:13 | × | rizary quits (sid220347@gateway/web/irccloud.com/x-asbilbwnyrijqcny) (Ping timeout: 244 seconds) |
| 14:32:13 | × | d0liver quits (sid363046@gateway/web/irccloud.com/x-jybzxemfqeasbqbs) (Ping timeout: 244 seconds) |
| 14:32:24 | <Taneb> | Guest18: Typeclassopedia (see the link that I got lambdabot to write) is what I recommend |
| 14:32:29 | → | jared-w joins (uid405292@gateway/web/irccloud.com/x-etyqmfyslkdvapeg) |
| 14:32:36 | → | polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
| 14:32:41 | <Uniaika> | Guest18: I'll try and ELI5 it |
| 14:32:43 | <Taneb> | But it's more "explain it like I'm a maths student" (which I was when I learnt) |
| 14:32:49 | × | acidjnk_new quits (~acidjnk@p200300d0c723788040fc08bec5cc5c11.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 14:32:49 | × | siraben quits (sirabenmat@gateway/shell/matrix.org/x-zchkdzekdlwvohec) (Ping timeout: 240 seconds) |
| 14:32:55 | × | psydruid quits (psydruidma@gateway/shell/matrix.org/x-agoyrynofjmbqrna) (Ping timeout: 240 seconds) |
| 14:33:18 | <Uniaika> | you can have some data in a datatype, and this datatype can implement something akin to the pipe operator in other languages (Elixir, OCaml, F#, maybe PHP one day…) |
| 14:33:26 | × | jvsg quits (~root@165.227.89.139) (Ping timeout: 240 seconds) |
| 14:33:37 | → | PoliticsII_____ joins (sid193551@gateway/web/irccloud.com/x-rcppzisukplddkpk) |
| 14:33:38 | <ski> | Guest18 : monads are used to express "effects" without the "side-" |
| 14:33:39 | → | rizary joins (sid220347@gateway/web/irccloud.com/x-exfwymetlgtfawlu) |
| 14:33:56 | × | sajith[m] quits (sajithmatr@gateway/shell/matrix.org/x-mvrgbpjqisezmtze) (Ping timeout: 240 seconds) |
| 14:34:09 | <Uniaika> | this something is the Monad typeclass |
| 14:34:14 | → | entel_ joins (uid256215@botters/entel) |
| 14:34:17 | × | kyagrd__ quits (sid102627@gateway/web/irccloud.com/x-cswsttltgsuxjilm) (Ping timeout: 244 seconds) |
| 14:34:22 | <Uniaika> | which provides a pipe-like operator called bind, or (>>=) |
| 14:34:46 | → | heyj joins (sid171370@gateway/web/irccloud.com/x-rhahyjccskeqwknw) |
| 14:34:48 | <Uniaika> | now, if you want an ELI10, or ELI15, we can talk about composing effects and stuff |
| 14:34:52 | → | jvsg joins (~root@165.227.89.139) |
| 14:34:52 | → | kyagrd__ joins (sid102627@gateway/web/irccloud.com/x-qmxuxjmljnokumzt) |
| 14:35:03 | → | d0liver joins (sid363046@gateway/web/irccloud.com/x-qxqtscijfywlxedk) |
| 14:35:05 | <Uniaika> | but at its core, a Monad is a datatype that implements/provides a pipe-like operator |
| 14:35:10 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 14:35:19 | × | jetpack_joe quits (sid146137@gateway/web/irccloud.com/x-zhxrcrokabwqiajh) (Ping timeout: 244 seconds) |
| 14:35:25 | × | iinuwa1 quits (iinuwamatr@gateway/shell/matrix.org/x-vnidwkjqityvsyww) (Ping timeout: 240 seconds) |
| 14:35:28 | → | sajith[m] joins (sajithmatr@gateway/shell/matrix.org/x-sazyjhonfaddxfuy) |
| 14:35:46 | → | mpickering_ joins (sid78412@gateway/web/irccloud.com/x-slbcncolvglbtszb) |
| 14:35:54 | → | teehemkay_ joins (sid14792@gateway/web/irccloud.com/x-baurjicxngheqyla) |
| 14:35:55 | × | pjb quits (~t@2a01cb04063ec50038cdaa6488b186d3.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
| 14:36:06 | → | iinuwa1 joins (iinuwamatr@gateway/shell/matrix.org/x-wkvtyebxdpjmoegf) |
| 14:36:06 | <Guest18> | so if i do 'data SomeType = ... deriving (Monad)' I get >>=, which is a pipe operator. By pipe operator, i understand i can redirect the output (the return value?) somewhere else |
| 14:36:25 | × | J_Arcane quits (sid119274@gateway/web/irccloud.com/x-napkkntthpzdedzn) (Ping timeout: 240 seconds) |
| 14:36:37 | × | jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
| 14:36:41 | → | Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net) |
| 14:36:51 | <Guest18> | Uniaika: ok then, do an ELI22, please :)) |
| 14:36:52 | × | Boarders quits (sid425905@gateway/web/irccloud.com/x-xkpxetjoxpjitwjh) (Ping timeout: 244 seconds) |
| 14:36:52 | × | hamishmack quits (sid389057@gateway/web/irccloud.com/x-kmbanmfbezzgjcwy) (Ping timeout: 244 seconds) |
| 14:36:55 | <hc> | Guest18: you have heard the endofunctor 'joke'... have you also heard the monad tutorial joke? ;) |
| 14:37:15 | <dolio> | Monad cannot be derived. |
| 14:37:28 | <Guest18> | hc: probably, but doesn't ring a bell right now |
| 14:37:34 | → | benwr___ joins (sid372383@gateway/web/irccloud.com/x-pbrsmtxwohmjfqbb) |
| 14:37:41 | → | J_Arcane joins (sid119274@gateway/web/irccloud.com/x-gzsviusepohntufp) |
| 14:37:43 | pierrot_ | is now known as pierrot |
| 14:37:54 | × | pierrot quits (~pi@vmi95795.contabo.host) (Changing host) |
| 14:37:54 | → | pierrot joins (~pi@unaffiliated/pierrot) |
| 14:37:54 | × | metadave quits (sid28102@gateway/web/irccloud.com/x-pebkddzdcftwierd) (Ping timeout: 244 seconds) |
| 14:38:03 | → | hamishmack joins (sid389057@gateway/web/irccloud.com/x-vwygwtdsmdorpubb) |
| 14:38:06 | → | angerman_ joins (sid209936@gateway/web/irccloud.com/x-ueaytjplpxideopo) |
| 14:38:10 | <hc> | Guest18: https://mvanier.livejournal.com/3917.html |
| 14:38:10 | → | eacameron_ joins (sid256985@gateway/web/irccloud.com/x-eeucajtixyfsxeoh) |
| 14:38:11 | → | Boarders joins (sid425905@gateway/web/irccloud.com/x-ogfzkwsrdtarvanw) |
| 14:38:13 | <Guest18> | dolio: but Uniaika said Monad is a typeclass, aren't all typeclasses derivable? |
| 14:38:19 | → | jetpack_joe joins (sid146137@gateway/web/irccloud.com/x-towxguynprtcozxt) |
| 14:38:22 | <dolio> | Nope. |
| 14:38:22 | <xsperry> | Guest18 there are many useful monads that have nothing to do with side-effects (or effects). the benefit of monad abstraction is that we can reuse all the generic functions that accept monads (as well as do-syntax) with all of them, without having to rewrite them for each one |
| 14:38:45 | <dolio> | In the report there's only like 8 that are derivable. |
| 14:38:55 | × | sureyeaah quits (shauryab98@gateway/shell/matrix.org/x-kczqpmbbcugstynw) (Ping timeout: 240 seconds) |
| 14:39:03 | → | jollygood2 joins (~bc815b99@217.29.117.252) |
| 14:39:07 | <hc> | Guest18: oh, see also https://blog.plover.com/prog/burritos.html for the monad tutorial joke ;p |
| 14:39:18 | → | nlofaro_ joins (sid258233@gateway/web/irccloud.com/x-nikllggowrrubhvb) |
| 14:39:23 | → | koankeeper_ joins (sid216950@gateway/web/irccloud.com/x-nqrzlezfaoiawuvb) |
| 14:39:27 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds) |
| 14:39:27 | × | kyagrd__ quits (sid102627@gateway/web/irccloud.com/x-qmxuxjmljnokumzt) (Ping timeout: 244 seconds) |
| 14:39:44 | → | metadave joins (sid28102@gateway/web/irccloud.com/x-qyjldscaiqukxlnz) |
| 14:40:26 | <dolio> | Also keep in mind that constantly referencing burritos isn't actually funny. |
| 14:40:29 | × | iinuwa1 quits (iinuwamatr@gateway/shell/matrix.org/x-wkvtyebxdpjmoegf) (Ping timeout: 244 seconds) |
| 14:40:29 | × | pent quits (sid313808@gateway/web/irccloud.com/x-dxofbfnqjnwrcfkh) (Ping timeout: 244 seconds) |
| 14:40:32 | × | thonkpod quits (~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) (*.net *.split) |
| 14:40:32 | × | entel quits (uid256215@botters/entel) (*.net *.split) |
| 14:40:32 | × | eacameron quits (sid256985@gateway/web/irccloud.com/x-kpwlorbysgtnxhte) (*.net *.split) |
| 14:40:32 | × | liff quits (liff@kapsi.fi) (*.net *.split) |
| 14:40:32 | × | PotatoHatsue quits (berbermanp@gateway/shell/matrix.org/x-lcuapfbpkatzswxh) (*.net *.split) |
| 14:40:32 | × | glowcoil quits (sid3405@gateway/web/irccloud.com/x-thsriowqmdkgjing) (*.net *.split) |
| 14:40:32 | × | PoliticsII____ quits (sid193551@gateway/web/irccloud.com/x-nvfqluymqsvazvtl) (*.net *.split) |
| 14:40:32 | × | koankeeper quits (sid216950@gateway/web/irccloud.com/x-zrkqcymdfzqfjfqv) (*.net *.split) |
| 14:40:32 | × | dequbed quits (~dequbed@yanduxian.paranoidlabs.org) (*.net *.split) |
| 14:40:32 | × | simony quits (sid226116@gateway/web/irccloud.com/x-ebcflagagczxghjj) (*.net *.split) |
| 14:40:32 | × | teehemkay quits (sid14792@gateway/web/irccloud.com/x-xjwybgbmcxfolzwh) (*.net *.split) |
| 14:40:32 | × | benwr__ quits (sid372383@gateway/web/irccloud.com/x-ehohzcwkyjbzpbwl) (*.net *.split) |
| 14:40:32 | × | miklcct quits (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (*.net *.split) |
| 14:40:32 | × | mpickering quits (sid78412@gateway/web/irccloud.com/x-ugziboqyrxfitrmv) (*.net *.split) |
| 14:40:32 | × | nlofaro quits (sid258233@gateway/web/irccloud.com/x-etxlydyigzmwkiap) (*.net *.split) |
| 14:40:32 | × | angerman quits (sid209936@gateway/web/irccloud.com/x-kbnupcpypxlxxlnc) (*.net *.split) |
| 14:40:32 | × | unlink__ quits (~unlink2@p200300ebcf25bd0068eb9d9c94da2a17.dip0.t-ipconnect.de) (*.net *.split) |
| 14:40:32 | × | srid quits (sridmatrix@gateway/shell/matrix.org/x-zqttickmrfyduksr) (*.net *.split) |
| 14:40:32 | × | michaelpj1 quits (michaelpjm@gateway/shell/matrix.org/x-bmrqrkqdmdnabvkc) (*.net *.split) |
| 14:40:32 | × | johnnyboy[m] quits (gifumatrix@gateway/shell/matrix.org/x-xczqbcixpmjhwvre) (*.net *.split) |
| 14:40:32 | × | chreekat[m] quits (chreekatma@gateway/shell/matrix.org/x-umxlgtkybcwevjvb) (*.net *.split) |
| 14:40:32 | × | lambdaclan quits (lambdaclan@gateway/shell/matrix.org/x-rosqvrjyauthsfym) (*.net *.split) |
| 14:40:32 | × | io_r_us[m] quits (commandlin@gateway/shell/matrix.org/x-kjrwesnzoyenqgzx) (*.net *.split) |
| 14:40:32 | × | barrucadu quits (~barrucadu@fsf/member/barrucadu) (*.net *.split) |
| 14:40:32 | × | bcoppens_ quits (~bartcopp@vpn2.bartcoppens.be) (*.net *.split) |
| 14:40:32 | × | noteness quits (~noteness@unaffiliated/nessessary129) (*.net *.split) |
| 14:40:32 | × | opqdonut quits (opqdonut@pseudo.fixme.fi) (*.net *.split) |
| 14:40:32 | × | Velpoman quits (~Velpoman@159.65.76.124) (*.net *.split) |
| 14:40:32 | × | dixie quits (~dixie@real.wilbury.sk) (*.net *.split) |
| 14:40:32 | × | uwap quits (~uwap@genja.uwap.name) (*.net *.split) |
| 14:40:33 | entel_ | is now known as entel |
| 14:40:34 | eacameron_ | is now known as eacameron |
| 14:40:36 | angerman_ | is now known as angerman |
| 14:40:36 | nlofaro_ | is now known as nlofaro |
| 14:40:45 | glguy | is now known as ghoulguy |
| 14:40:49 | <hc> | dolio: glad that you're here then to lighten up the mood :) |
| 14:40:54 | → | thonkpod joins (~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) |
| 14:40:54 | → | liff joins (liff@kapsi.fi) |
| 14:40:54 | → | PotatoHatsue joins (berbermanp@gateway/shell/matrix.org/x-lcuapfbpkatzswxh) |
| 14:40:54 | → | dequbed joins (~dequbed@yanduxian.paranoidlabs.org) |
| 14:40:54 | → | miklcct joins (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) |
| 14:40:54 | → | srid joins (sridmatrix@gateway/shell/matrix.org/x-zqttickmrfyduksr) |
| 14:40:54 | → | michaelpj1 joins (michaelpjm@gateway/shell/matrix.org/x-bmrqrkqdmdnabvkc) |
| 14:40:54 | → | johnnyboy[m] joins (gifumatrix@gateway/shell/matrix.org/x-xczqbcixpmjhwvre) |
| 14:40:54 | → | lambdaclan joins (lambdaclan@gateway/shell/matrix.org/x-rosqvrjyauthsfym) |
| 14:40:54 | → | io_r_us[m] joins (commandlin@gateway/shell/matrix.org/x-kjrwesnzoyenqgzx) |
| 14:40:54 | → | barrucadu joins (~barrucadu@fsf/member/barrucadu) |
| 14:40:54 | → | bcoppens_ joins (~bartcopp@vpn2.bartcoppens.be) |
| 14:40:54 | → | noteness joins (~noteness@unaffiliated/nessessary129) |
| 14:40:54 | → | opqdonut joins (opqdonut@pseudo.fixme.fi) |
| 14:40:54 | → | Velpoman joins (~Velpoman@159.65.76.124) |
| 14:40:54 | → | dixie joins (~dixie@real.wilbury.sk) |
| 14:40:54 | → | uwap joins (~uwap@genja.uwap.name) |
| 14:40:54 | koankeeper_ | is now known as koankeeper |
| 14:41:16 | × | Alleria_ quits (~AllahuAkb@2604:2000:1484:26:59c0:566a:2725:87ae) (Ping timeout: 240 seconds) |
| 14:41:16 | × | themsay[m] quits (themsaymat@gateway/shell/matrix.org/x-yeakmiacdwmqfqaq) (Ping timeout: 240 seconds) |
| 14:41:23 | <dolio> | :) |
| 14:41:23 | × | st8less quits (~st8less@2603:a060:11fd:0:6883:ccc4:e325:916a) (Quit: WeeChat 2.7.1) |
| 14:41:25 | → | pent joins (sid313808@gateway/web/irccloud.com/x-mbwahawoqthelmme) |
| 14:41:29 | <Taneb> | (I made the mistake of learning Haskell in 2011-ish, and only learning what a burrito is a while later) |
| 14:41:31 | → | Alleria_ joins (~AllahuAkb@2604:2000:1484:26:49a5:3539:b389:fbc6) |
| 14:41:35 | <Taneb> | (it's not all that much like a monad) |
| 14:41:48 | → | simony joins (sid226116@gateway/web/irccloud.com/x-dvavqmtzwqiayfvm) |
| 14:41:50 | → | glowcoil joins (sid3405@gateway/web/irccloud.com/x-pkehsujwjkxhciwt) |
| 14:42:02 | × | mpickering_ quits (sid78412@gateway/web/irccloud.com/x-slbcncolvglbtszb) (Ping timeout: 244 seconds) |
| 14:42:03 | <Guest18> | I'm now gonna look over the link hc sent with the tutorial. Fingers crossed that i understand it |
| 14:42:06 | → | kyagrd__ joins (sid102627@gateway/web/irccloud.com/x-btmubwofxuaipgll) |
| 14:42:07 | <ski> | xsperry : heh, my notion of "effect" includes every monad we can express computationally |
| 14:42:21 | <ski> | Guest18 : how much of basic Haskell do you understand ? |
| 14:42:33 | × | J_Arcane quits (sid119274@gateway/web/irccloud.com/x-gzsviusepohntufp) (Ping timeout: 244 seconds) |
| 14:43:12 | <dolio> | ski: Is completion of the rationals to the reals an effect? |
| 14:43:16 | × | typetetris quits (sid275937@gateway/web/irccloud.com/x-cpqzcabctkypxzuf) (Ping timeout: 246 seconds) |
| 14:43:20 | → | iinuwa1 joins (iinuwamatr@gateway/shell/matrix.org/x-kbcyykvavbzbuwyo) |
| 14:43:23 | → | themsay[m] joins (themsaymat@gateway/shell/matrix.org/x-rdynrutjzsdvufmx) |
| 14:43:49 | → | mpickering_ joins (sid78412@gateway/web/irccloud.com/x-kmcoybooadbmanxe) |
| 14:44:20 | → | typetetris joins (sid275937@gateway/web/irccloud.com/x-arltcnyiruapbdou) |
| 14:44:22 | <Guest18> | Well, I know about types, type classes, creating new types and their constructors, currying, pattern-matching, modules, Maybe. Most recently I've read about maps and sets |
| 14:44:37 | × | jetpack_joe quits (sid146137@gateway/web/irccloud.com/x-towxguynprtcozxt) (Ping timeout: 244 seconds) |
| 14:44:37 | × | Boarders quits (sid425905@gateway/web/irccloud.com/x-ogfzkwsrdtarvanw) (Ping timeout: 244 seconds) |
| 14:45:19 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 14:45:46 | <Guest18> | ski: Is that enough to understand monads? |
| 14:45:56 | → | J_Arcane joins (sid119274@gateway/web/irccloud.com/x-txzpuwgzvydklxqg) |
| 14:46:10 | × | cemerick quits (sid54985@gateway/web/irccloud.com/x-pdxhruraknqcvldm) (Ping timeout: 244 seconds) |
| 14:46:10 | × | ft quits (~ft@shell.chaostreff-dortmund.de) (Ping timeout: 256 seconds) |
| 14:46:57 | → | ft joins (~ft@shell.chaostreff-dortmund.de) |
| 14:47:04 | → | jetpack_joe joins (sid146137@gateway/web/irccloud.com/x-nugkqmiplnjcyaxx) |
| 14:47:12 | → | cemerick joins (sid54985@gateway/web/irccloud.com/x-ongnogrqassjmkgm) |
| 14:47:23 | <tbreslein> | personally, I've only learned about monads after learning about Semigroup, Monoid, Functor, and Applicative, which sounds like a lot, but they all flow into each other, and Monad is basically 5th element of that list |
| 14:47:23 | → | avdb joins (~avdb@ip-213-49-123-208.dsl.scarlet.be) |
| 14:47:26 | <jollygood2> | Guest18_, do you know how to deconstruct do to >>=? |
| 14:47:35 | → | psydruid joins (psydruidma@gateway/shell/matrix.org/x-zmirtmcuzxwhvczz) |
| 14:47:52 | <jollygood2> | can you write your own Maybe-like or list-like type and write monad instance for it? |
| 14:48:16 | × | ski quits (~ski@129.16.53.148) (Remote host closed the connection) |
| 14:48:24 | → | ski joins (~ski@m-1163-19.studat.chalmers.se) |
| 14:49:13 | <Guest18> | jollygood2: I haven't learned about do, >>=. I know how to write the Maybe type, but nothing about the monad instance for it |
| 14:49:34 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 14:49:48 | <jollygood2> | Guest18, you do'nt know about do-syntax yet? |
| 14:50:16 | → | alp joins (~alp@2a01:e0a:58b:4920:6d5a:70ac:290e:8fbe) |
| 14:50:18 | × | koankeeper quits (sid216950@gateway/web/irccloud.com/x-nqrzlezfaoiawuvb) (Ping timeout: 244 seconds) |
| 14:50:18 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:41ee:e0ba:d692:129) (Ping timeout: 244 seconds) |
| 14:50:24 | × | cpressey quits (~cpressey@88.144.70.46) (Ping timeout: 272 seconds) |
| 14:50:47 | <ski> | dolio : probably |
| 14:50:50 | <Guest18> | jollygood2: no |
| 14:51:13 | → | koankeeper joins (sid216950@gateway/web/irccloud.com/x-nrfuvoaktiahyvtf) |
| 14:51:23 | <Guest18> | I know about 'let ... in ...'. Is it something like that? |
| 14:51:25 | <ski> | knowing `do' is not a prerequisite |
| 14:52:02 | <ski> | Guest18 : well, you certainly know more (things that a relevant) than some people who're asking about monads, then |
| 14:52:05 | <jollygood2> | no, but it shows where he's at in his journey to learn haskell |
| 14:52:08 | → | sureyeaah joins (shauryab98@gateway/shell/matrix.org/x-hoohggsnwpuhljzi) |
| 14:52:40 | → | Saukk joins (~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3) |
| 14:52:41 | → | Boarders joins (sid425905@gateway/web/irccloud.com/x-kltbqwzwpqsqtnup) |
| 14:53:46 | <ski> | Guest18 : i'd say learn `Functor' first, at least. probably also `Applicative' is a good idea, now that it's a superclass of `Monad'. and having seen `Monoid' (and `Semigroup') shouldn't hurt (although is probably not as essential) |
| 14:53:54 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
| 14:54:31 | <Guest18> | jollygood2: well, i consider myself very much a beginner. As soon as i look over someone else's code, my lack of language knowledge becomes apparent immediately |
| 14:55:11 | <ski> | Guest18 : anyway, a good way to learn about monads is to first learn about particular monads, like `Maybe', list, `Either e', `Writer w', `Reader r', `State s', `Cont o', .. |
| 14:55:12 | × | livvy quits (~livvy@gateway/tor-sasl/livvy) (Remote host closed the connection) |
| 14:55:23 | → | livvy joins (~livvy@gateway/tor-sasl/livvy) |
| 14:55:28 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 14:56:58 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:6535:f906:9e43:db0f) |
| 14:57:18 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:41ee:e0ba:d692:129) |
| 14:57:59 | <ski> | Guest18 : you could say monads are a kind of design pattern; or a way to avoid certain kinds of boiler-plate (/ repetitive) code; or akin to an abstract data type interface, which could be implemented in different ways (compare with "queue", you could have different implementations of queues). but that doesn't really tell you what a monad is, in particular |
| 14:58:03 | × | mikr[m] quits (mikrdavral@gateway/shell/matrix.org/x-iihzpvcobeurnjqm) (Ping timeout: 244 seconds) |
| 14:58:05 | <Guest18> | ski: I can't help but notice some of those sound like group theory from algebra. Like you know, a monoid has certain composition operators, that must be commutative, associative and so on. Can't remember the exact conditions, it has been some time since 12th, but then you had groups, rings. I wonder how do those relate to the things you mentioned |
| 14:58:28 | hackage | machines 0.7.1 - Networked stream transducers https://hackage.haskell.org/package/machines-0.7.1 (ryanglscott) |
| 14:58:34 | × | teehemkay_ quits (sid14792@gateway/web/irccloud.com/x-baurjicxngheqyla) (Ping timeout: 244 seconds) |
| 14:58:39 | <dolio> | Well, if you know about group theory... |
| 14:58:41 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 14:58:45 | <ski> | yes, a monoid is "a group that doesn't have to have inverses" |
| 14:59:21 | → | mikr[m] joins (mikrdavral@gateway/shell/matrix.org/x-vlcvbwznoqddmtij) |
| 14:59:37 | <ski> | e.g. keeping a running counter, or a running sum, or appending messages to a log, would have to do with monoids |
| 14:59:53 | <Guest18> | My math professor in highschool used to say that the real numbers wanted to insult the naturals, and told them, "You are not a group, you are a monoid". Sounds funnier in Romanian.. |
| 15:00:02 | × | mota quits (~mota@89.47.234.28) () |
| 15:00:17 | <ski> | a semigroup is "a monoid that doesn't need to have a neutral element". e.g. computing minimum or maximum |
| 15:00:23 | → | teehemkay_ joins (sid14792@gateway/web/irccloud.com/x-hzwbijcgsbcqqaio) |
| 15:00:40 | <ski> | (every group is also a monoid, and every monoid is also a semigroup) |
| 15:01:10 | → | dyeplexer joins (~lol@unaffiliated/terpin) |
| 15:01:12 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 15:01:21 | <Guest18> | Then it was "You are just a monoid" :) |
| 15:01:22 | <ski> | (btw, neither semigroups, monoids, nor groups, need to have a commutative combination/composition operator) |
| 15:01:40 | × | caasih quits (sid13241@gateway/web/irccloud.com/x-teuwvboxinwdshpz) (Ping timeout: 244 seconds) |
| 15:01:46 | <Guest18> | I see |
| 15:02:08 | <Guest18> | Interesting, I wish I remembered more group theory then.. |
| 15:02:20 | <Guest18> | I need to relearn it |
| 15:02:30 | → | cpressey joins (~cpressey@88.144.95.167) |
| 15:02:38 | <ski> | well, natural numbers form a rig ("a ring that doen't need to have an additive inverse, negation") |
| 15:03:25 | <ski> | (sometimes aka "semiring") |
| 15:03:29 | → | caasih joins (sid13241@gateway/web/irccloud.com/x-hlizsalbvmrkznfg) |
| 15:03:30 | → | st8less joins (~st8less@2603:a060:11fd:0:f15a:c857:2711:378c) |
| 15:04:38 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 258 seconds) |
| 15:06:43 | × | ft quits (~ft@shell.chaostreff-dortmund.de) (Ping timeout: 246 seconds) |
| 15:06:52 | <ski> | Guest18 : if you want a quick and short tutorial on monads, i'd suggest "What the hell are Monads?" by Noel Winstanley in 1999 (one of the first monad tutorials) at <http://www-users.mat.uni.torun.pl/~fly/materialy/fp/haskell-doc/Monads.html> |
| 15:07:14 | <ski> | Guest18 : it's by no means complete, but could give you an idea of what they're about |
| 15:07:35 | → | ft joins (~ft@shell.chaostreff-dortmund.de) |
| 15:08:28 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 258 seconds) |
| 15:12:46 | × | FreeBirdLjj quits (~freebirdl@240e:388:4f41:dc00:6980:7e19:3f7b:9844) () |
| 15:13:02 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 15:13:41 | <dolio> | Monads are one of the ways mathematicians talk about algebra, too. And it's actually similar to what Haskell programmers use them for. |
| 15:14:14 | <dolio> | There is a monad that characterises the 'extra operations' on top of sets that an algebra (group, ring, etc.) has. |
| 15:14:39 | → | spew joins (uid195861@gateway/web/irccloud.com/x-nmkiijbefgbkmaqa) |
| 15:15:43 | × | toorevitimirp quits (~tooreviti@117.182.181.38) (Remote host closed the connection) |
| 15:15:50 | <dolio> | And Haskell programmers often find it convenient to work in an 'extended language' that has operations (throw/catch, get/put, etc.) that don't exist in the 'pure' language (because it would be confusing for them to exist there). |
| 15:16:10 | ski | . o O ( Let's use `do'-notation to talk about algebra. ) |
| 15:18:38 | <dolio> | You could. There's at least one exact correspondence with monoids. |
| 15:19:41 | <ski> | mhm ? |
| 15:19:53 | <Guest18> | ski: so.. many.. things.. to bookmark |
| 15:20:12 | × | borne quits (~fritjof@200116b86454500007933c164a08810c.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
| 15:20:13 | <dolio> | Although I guess monoids are too plain for traditional algebra. Only category theorists care about those. |
| 15:20:27 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 15:21:24 | → | solonarv joins (~solonarv@astrasbourg-653-1-252-112.w92-161.abo.wanadoo.fr) |
| 15:21:41 | → | yost3d joins (~yost3d@193.56.252.210) |
| 15:22:04 | <dolio> | Monoids are what you get by having `zero :: Void` and `bit :: Bool` effects. |
| 15:22:21 | × | cheater quits (~user@unaffiliated/cheater) (Quit: BitchX Official WWW Site -- http://www.bitchx.org/) |
| 15:22:30 | <TMA> | I remember from my algebra course that monoids were glossed over in one of the lectures. They are merely a stepping stone to groups from that vantage point |
| 15:22:47 | → | cheater joins (~user@unaffiliated/cheater) |
| 15:23:40 | → | constR joins (uid58205@gateway/web/irccloud.com/x-ljcnzijchvmxodjj) |
| 15:23:49 | <ski> | dolio : <https://en.wikipedia.org/wiki/Associative_algebra> ? |
| 15:24:29 | <dolio> | Oh yeah, they need to satisfy some equations, of course. |
| 15:24:44 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 15:25:48 | <ski> | these are just monoid objects in the monoidal category of vector spaces (with tensor), aiui |
| 15:26:13 | → | p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) |
| 15:26:25 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds) |
| 15:26:38 | <dolio> | Well, there's probably a lot of examples like that. |
| 15:26:50 | <dolio> | I meant specifically monoids in Set. |
| 15:27:32 | <ski> | TMA : endomorphisms over a structure naturally form a monoid, i suppose. for an abelian group, you even get a ring |
| 15:27:37 | <ski> | ok |
| 15:27:52 | → | fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
| 15:29:22 | <dolio> | I think traditional algebraists thought that monoids in set were too boring to be studied, but there are actually interesting things to say about them. |
| 15:29:54 | × | Franciman quits (~francesco@host-212-171-42-250.retail.telecomitalia.it) (Quit: Leaving) |
| 15:29:59 | <ski> | what about more restricted classes, that might not be as wild ? |
| 15:30:21 | <ski> | like cancellative monoids, idempotent monoids, .. |
| 15:30:24 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 15:30:40 | <dolio> | But, like, rings are monoid objects in Ab. And I think abelian groups are monoid objects in Grp. |
| 15:30:58 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 15:31:22 | × | Saukk quits (~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3) (Remote host closed the connection) |
| 15:32:23 | → | bitmapper joins (uid464869@gateway/web/irccloud.com/x-tarhbdjsvwboswmi) |
| 15:32:38 | × | madjestic quits (~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 15:33:03 | <dolio> | Oh, maybe it needs to be a group object for the latter. |
| 15:33:26 | ← | coot parts (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) () |
| 15:33:27 | <ski> | hm, perhaps it had something to do with the Erlangen program focusing on automorphisms and isomorphisms, rather than on more general endomorphisms and homomorphisms ? |
| 15:34:15 | <dolio> | I'm not clear on the details. I just know there's someone on the category zulip whose work is about monoids. |
| 15:34:35 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 15:35:18 | <dolio> | I think at least some of that is that monoids are a special case of categories, so a lot of things you can do with categories have special properties when you look at just doing them with monoids. |
| 15:35:24 | → | coot joins (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) |
| 15:35:40 | × | GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
| 15:35:41 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
| 15:36:02 | <dolio> | Like, "what special properties do presheaves on monoids have"? |
| 15:36:25 | <ski> | hm, `mempty = case zero of' and `x <> y = if bit then y else x' ? |
| 15:36:36 | × | dhil quits (~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 256 seconds) |
| 15:36:42 | <dolio> | Right. |
| 15:36:48 | → | GyroW joins (~GyroW@d54c03e98.access.telenet.be) |
| 15:36:48 | × | GyroW quits (~GyroW@d54c03e98.access.telenet.be) (Changing host) |
| 15:36:48 | → | GyroW joins (~GyroW@unaffiliated/gyrow) |
| 15:36:59 | × | mananamenos quits (~mananamen@84.122.202.215.dyn.user.ono.com) (Read error: Connection reset by peer) |
| 15:37:59 | → | madjestic joins (~madjestic@86-88-72-244.fixed.kpn.net) |
| 15:38:09 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 15:38:32 | <ski> | and then `x = if bit then case zero of else x',`if bit then x else case zero of = x',`if bit then if bit then x else y else z = if bit then x else if bit then y else z' |
| 15:38:33 | <dolio> | MonadPlus is basically the theory of monoids. |
| 15:38:55 | <ski> | "theory", in a Lawvere sense ? |
| 15:39:45 | <dolio> | Yeah. Probably only if you pick the right choice of the laws people have for it. |
| 15:39:56 | × | chappi quits (~swaroop@157.45.23.171) (Ping timeout: 256 seconds) |
| 15:40:32 | <dolio> | Like left/right cancellation. |
| 15:40:42 | <Guest18> | Say I want to make a safeDiv function that returns a string if the divider is 0, the result otherwise. Is this the way to do it? safeDiv :: (Num a, Fractional a, Eq a) => a -> a -> Either a String |
| 15:40:42 | <Guest18> | safeDiv _ 0 = Right "Ooops!" |
| 15:40:43 | <Guest18> | safeDiv x y = Left $ x/y |
| 15:40:50 | <Guest18> | Like, is there a better way here? |
| 15:40:57 | → | dan64- joins (~dan64@dannyadam.com) |
| 15:41:17 | <Guest18> | I don't want to use Maybe, but I want to learn how Either functions |
| 15:41:28 | <ski> | i'd flip the order of the alternatives (and not use `$') |
| 15:42:03 | <ski> | also .. `"Ooops!"' is not a that informative failure condition |
| 15:42:09 | <Guest18> | Why flip the order? |
| 15:42:28 | <ski> | because then one can use `fmap' (from `Functor') on the `a' in the result (if present) |
| 15:42:41 | <Guest18> | I know it isn't, just wrote it as an exercise, and wanted it to be a string |
| 15:42:45 | × | dan64 quits (~dan64@dannyadam.com) (Ping timeout: 240 seconds) |
| 15:42:51 | <cpressey> | Guest18: by convention, Left contains an error value and Right contains the "right answer". |
| 15:42:54 | <ski> | @quote stark |
| 15:42:54 | <lambdabot> | AlanPerlis says: The string is a stark data structure and everywhere it is passed there is much duplication of process. It is a perfect vehicle for hiding information. |
| 15:43:19 | <cpressey> | (when Either is used this way) |
| 15:43:46 | <ski> | (i'd generally try to avoid using `String's to represent failure conditions) |
| 15:44:42 | <Guest18> | safeDiv :: (Num a, Fractional a, Eq a) => a -> a -> Either String a |
| 15:44:43 | <Guest18> | safeDiv _ 0 = Left "The divider is zero, computation failed" |
| 15:44:43 | <Guest18> | safeDiv x y = Right $ x/y |
| 15:44:56 | <Guest18> | Ah, forgot to get rid of $ |
| 15:44:59 | × | machinedgod quits (~machinedg@d67-193-126-196.home3.cgocable.net) (Ping timeout: 240 seconds) |
| 15:45:03 | <Guest18> | Anyway, you mean like this? |
| 15:45:08 | <ski> | Guest18 : "Is this the way to do it?" -- anyway, it also depends on how you intend to use it, e.g. what other possibly-failing operation could you want to use, together with this ? or in what ways (if any) would you want to handle/catch the failure ? |
| 15:45:13 | <ski> | yes |
| 15:45:48 | <ski> | although `Num a' is redundant, since `Num' is a superclass of `Fractional' |
| 15:46:22 | → | hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-wrddzpzdlgkkaqhg) |
| 15:46:32 | <Guest18> | Well, I know this is a bad example, because it can only fail in one way. But say for some reason, I hate dividing by 3, so i add a pattern for that and return another string or something to signify that |
| 15:46:48 | <Guest18> | So i can see what actually happened |
| 15:46:59 | <Guest18> | Is this how Either is supposed to be used? |
| 15:47:32 | <ski> | (i've occasionally used e.g. `Either Integer' as a monad, or idiom. aborting some operation involving "attempts", reporting the first `Integer' that failed an attempt) |
| 15:48:22 | <ski> | Guest18 : it's really hard to say, without seeing the context in which you intend to use this |
| 15:49:34 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 15:49:37 | <cpressey> | Guest18: Yes, Either can be used this way. |
| 15:49:49 | <ski> | if you just want to represent possible failure, and don't care about a situation where you may want to distinguish between the possible failures of multiple operations, i'd just use `Maybe' |
| 15:50:01 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 264 seconds) |
| 15:50:12 | × | jedws quits (~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 15:50:15 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 258 seconds) |
| 15:50:27 | <ski> | if you do want to be able to distinguish between failures from different operations, then it could make more sense to use `Either' |
| 15:50:41 | <Guest18> | Ok, then, once i get the result, how do i extract the value? Through pattern-matching? |
| 15:51:48 | → | LKoen joins (~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr) |
| 15:51:57 | <Uniaika> | Guest18: you may, but helper functions such as `either` exist as well, to inline the case analysis |
| 15:52:03 | <ski> | Guest18 : again, "it depends" |
| 15:53:10 | → | mahene joins (~mahene@2a02:8109:86c0:8d68:5400:2bfd:d746:732c) |
| 15:53:44 | <ski> | if this is a "one off" case, sure, you can do that. or things like `maybe',`fromMaybe',`either'. or sometimes things like `catMaybe',`mapMaybe',`partitionEithers' could be what you're looking for |
| 15:53:54 | → | wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
| 15:53:55 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 15:54:08 | × | kritzefitz quits (~kritzefit@fw-front.credativ.com) (Remote host closed the connection) |
| 15:54:31 | <ski> | but often you e.g. want to "short-circuit" a combination of multiple possibly failing operations, so that if one operation fails, the "next one" won't be tried, instead failing the whole combination |
| 15:54:51 | <ski> | Guest18 : this is one thing that `Monad' (and `Applicative') is useful for |
| 15:54:52 | × | rotaerk quits (rotaerk@2600:3c02::f03c:91ff:fe70:4a45) (Read error: Connection reset by peer) |
| 15:56:26 | → | rotaerk joins (~rotaerk@ender.afternet.org) |
| 15:57:55 | × | avdb quits (~avdb@ip-213-49-123-208.dsl.scarlet.be) (Ping timeout: 240 seconds) |
| 15:58:23 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 15:58:29 | × | da39a3ee5e6b4b0d quits (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 15:59:46 | → | Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 15:59:51 | <ski> | @let safeDiv :: (Integral a,Eq a) => a -> a -> Maybe a; safeDiv _ 0 = Nothing; safeDiv n d = Just (div n d) |
| 15:59:53 | <lambdabot> | Defined. |
| 15:59:58 | → | avdb joins (~avdb@37.120.137.153) |
| 16:00:02 | <monochrom> | It always comes down to pattern matching. The only question is do you handwrite every time or do you refactor and reuse. |
| 16:00:04 | <ski> | > maybe "Oops !" show (for [1,2,3,4,5,6] (\d -> safeDiv 12 d)) |
| 16:00:08 | <lambdabot> | "[12,6,4,3,2,2]" |
| 16:00:11 | <ski> | > maybe "Oops !" show (for [1,2,3,0,5,6] (\d -> safeDiv 12 d)) |
| 16:00:14 | <lambdabot> | "Oops !" |
| 16:00:29 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 16:00:29 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 16:01:00 | <ski> | Guest18 : that's an example of performing a sequence of possibly-failing operations, short-circuiting so that it fails (doesn't continue) as soon as an individual operation fails |
| 16:01:03 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Client Quit) |
| 16:01:36 | × | kbse[m] quits (kbsematrix@gateway/shell/matrix.org/x-aveamwrjewluqtec) (Quit: Idle for 30+ days) |
| 16:02:25 | → | nineonine joins (~nineonine@216-19-190-182.dyn.novuscom.net) |
| 16:02:27 | × | jgt quits (~jgt@195.225.146.77) (Ping timeout: 260 seconds) |
| 16:02:30 | × | cpressey quits (~cpressey@88.144.95.167) (Quit: WeeChat 1.9.1) |
| 16:06:17 | × | xff0x quits (~fox@2001:1a81:5254:9a00:244e:e6:b68b:8071) (Ping timeout: 272 seconds) |
| 16:06:25 | → | xff0x joins (~fox@2001:1a81:5254:9a00:e9b2:76ba:9f0:a22b) |
| 16:06:41 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-modyeizvecmfjtqb) |
| 16:06:52 | <Guest18> | ski: I see, thank you for the thorough explanation. You too, Uniaika |
| 16:08:45 | × | hive-mind quits (~hivemind@rrcs-67-53-148-69.west.biz.rr.com) (Ping timeout: 240 seconds) |
| 16:08:49 | niko | is now known as ping |
| 16:09:17 | → | hive-mind joins (~hivemind@rrcs-67-53-148-69.west.biz.rr.com) |
| 16:09:47 | × | bloodstalker quits (~bloodstal@46.166.187.178) (Ping timeout: 240 seconds) |
| 16:10:06 | → | geekosaur joins (42d52102@66.213.33.2) |
| 16:11:07 | <ski> | > (either id absurd . (`evalStateT` 1) . forever) (do n <- get; when (n >= 1000) (throwError n); put (2 * n)) -- Guest18, another example, doubling (starting from `1'), aborting when we reach at least a thousand |
| 16:11:11 | <lambdabot> | 1024 |
| 16:12:05 | → | bloodstalker joins (~bloodstal@46.166.187.154) |
| 16:12:39 | <ski> | (if we didn't abort with `throwError' (which corresponds to `Nothing' or `Left' above, expressing (short-circuiting) failure), this would go on `forever') |
| 16:15:10 | <ski> | sometimes, one might also have an alternative branch (or a bunch of them), to try, in case the "main computation branch" failed. then one could reach for library operations having to do with `MonadPlus' (or `Alternative') |
| 16:16:19 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 16:16:46 | <Guest18> | Thank you, I'm gonna go over your examples later, i need to go now |
| 16:16:52 | × | Guest18 quits (567e8866@gateway/web/cgi-irc/kiwiirc.com/ip.86.126.136.102) (Quit: Connection closed) |
| 16:17:05 | × | jespada quits (~jespada@90.254.246.48) (Ping timeout: 258 seconds) |
| 16:18:01 | → | jespada joins (~jespada@90.254.246.48) |
| 16:18:46 | → | machinedgod joins (~machinedg@45.78.189.122) |
| 16:19:14 | × | avdb quits (~avdb@37.120.137.153) (Quit: WeeChat 2.9) |
| 16:19:32 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 16:20:13 | <fresheyeball> | anyone know how to get haddock themes to work? |
| 16:24:58 | hackage | blank-canvas 0.7.3 - HTML5 Canvas Graphics Library https://hackage.haskell.org/package/blank-canvas-0.7.3 (ryanglscott) |
| 16:27:49 | × | mahene quits (~mahene@2a02:8109:86c0:8d68:5400:2bfd:d746:732c) (Ping timeout: 272 seconds) |
| 16:29:44 | → | chappi joins (~swaroop@157.49.95.64) |
| 16:31:21 | → | b_52 joins (~btk@89-64-93-156.dynamic.chello.pl) |
| 16:32:49 | → | pjb joins (~t@2a01cb04063ec50074da2bfcb3222c7a.ipv6.abo.wanadoo.fr) |
| 16:34:39 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 16:35:23 | → | tzh joins (~tzh@2601:448:c500:5300::143b) |
| 16:38:21 | × | conal quits (~conal@107.181.166.148) (Quit: Computer has gone to sleep.) |
| 16:38:33 | × | b_52 quits (~btk@89-64-93-156.dynamic.chello.pl) (Quit: Leaving) |
| 16:40:06 | × | voyons_osti quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
| 16:40:42 | → | voyons_osti joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 16:40:57 | → | zacts joins (~zacts@dragora/developer/zacts) |
| 16:41:09 | × | aldum quits (~vishera@aldum.pw) (Remote host closed the connection) |
| 16:41:19 | → | aldum joins (~vishera@aldum.pw) |
| 16:41:45 | → | slack1256 joins (~slack1256@181.203.37.183) |
| 16:42:04 | × | nineonine quits (~nineonine@216-19-190-182.dyn.novuscom.net) (Remote host closed the connection) |
| 16:42:06 | × | jespada quits (~jespada@90.254.246.48) (Quit: Leaving) |
| 16:46:43 | → | conal joins (~conal@107.181.166.148) |
| 16:48:28 | → | jgt joins (~jgt@188.239.64.32) |
| 16:49:43 | × | conal quits (~conal@107.181.166.148) (Client Quit) |
| 16:50:06 | × | finkata quits (~dpetrov@83.222.188.39) (Remote host closed the connection) |
| 16:50:24 | → | conal joins (~conal@107.181.166.148) |
| 16:50:50 | × | conal quits (~conal@107.181.166.148) (Client Quit) |
| 16:51:06 | → | Franciman joins (~francesco@host-212-171-42-250.retail.telecomitalia.it) |
| 16:51:20 | → | nineonine joins (~nineonine@216.81.48.202) |
| 16:51:28 | → | conal joins (~conal@107.181.166.148) |
| 16:51:38 | × | conal quits (~conal@107.181.166.148) (Client Quit) |
| 16:51:59 | × | slack1256 quits (~slack1256@181.203.37.183) (Remote host closed the connection) |
| 16:52:17 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 16:52:35 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
| 16:52:57 | × | st8less quits (~st8less@2603:a060:11fd:0:f15a:c857:2711:378c) (Ping timeout: 260 seconds) |
| 16:53:09 | × | alp quits (~alp@2a01:e0a:58b:4920:6d5a:70ac:290e:8fbe) (Ping timeout: 272 seconds) |
| 16:53:54 | → | conal joins (~conal@107.181.166.148) |
| 16:54:01 | × | conal quits (~conal@107.181.166.148) (Client Quit) |
| 16:54:05 | → | reallymemorable joins (~quassel@ip68-9-215-56.ri.ri.cox.net) |
| 16:55:10 | → | mav1 joins (~mav@i59F456E0.versanet.de) |
| 16:55:10 | × | carlomagno quits (~cararell@inet-hqmc02-o.oracle.com) (Remote host closed the connection) |
| 16:57:40 | × | madjestic quits (~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 246 seconds) |
| 16:58:05 | × | John20 quits (~John@82.46.59.122) (Ping timeout: 240 seconds) |
| 16:59:15 | × | coot quits (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
| 16:59:18 | × | reallymemorable quits (~quassel@ip68-9-215-56.ri.ri.cox.net) (Remote host closed the connection) |
| 16:59:55 | → | coot joins (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) |
| 17:00:11 | × | ym555 quits (~ym@156.199.76.92) (Ping timeout: 240 seconds) |
| 17:00:25 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 240 seconds) |
| 17:03:30 | × | coot quits (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) (Client Quit) |
| 17:03:47 | → | conal joins (~conal@107.181.166.148) |
| 17:03:49 | → | worc3131 joins (~quassel@2a02:c7f:c026:9500:7d0b:65d0:38a4:4786) |
| 17:06:30 | → | MaoZeDong_ joins (~sweety@176.59.33.165) |
| 17:07:35 | → | Kirana joins (76658b6a@118.101.139.106) |
| 17:10:43 | × | Kirana quits (76658b6a@118.101.139.106) (Remote host closed the connection) |
| 17:11:25 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 17:11:37 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 17:13:59 | → | John20 joins (~John@82.46.59.122) |
| 17:15:16 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 17:16:28 | hackage | vivid 0.4.2.4 - Sound synthesis with SuperCollider https://hackage.haskell.org/package/vivid-0.4.2.4 (TomMurphy) |
| 17:19:06 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 17:24:50 | × | wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 17:25:12 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 17:27:22 | → | alp joins (~alp@2a01:e0a:58b:4920:508d:ea72:5dcf:184b) |
| 17:27:27 | <maralorn> | Is there something nicer than "fold <$> sequence [pure "a", pure "b"]"? |
| 17:29:25 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 17:30:25 | → | ubert joins (~Thunderbi@91.141.3.51.wireless.dyn.drei.com) |
| 17:30:37 | → | Carl69 joins (726cdb9f@114.108.219.159) |
| 17:30:42 | × | tbreslein quits (~tbreslein@2a02:8108:140:44f8::901) (Remote host closed the connection) |
| 17:31:00 | <tomjaguarpaw> | Nicer in what way? "ab" is pretty nice. |
| 17:31:02 | <ski> | do you have those `pure's in your code ? |
| 17:31:16 | Carl69 | is now known as Carl20 |
| 17:32:38 | <ski> | note that `sequence (fmap pure as) = pure as' (at least when `as' is finite) |
| 17:33:37 | <Carl20> | Hello good evening, I tried to install chocolatey but only 4/5 packages succeeded, ghc failed to install, hoping for some help, thanks! |
| 17:37:41 | × | p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core) |
| 17:38:13 | <lordcirth_> | Carl20, was there an error message? |
| 17:39:23 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 240 seconds) |
| 17:40:54 | × | geekosaur quits (42d52102@66.213.33.2) (Ping timeout: 245 seconds) |
| 17:44:36 | × | ryansmccoy quits (~ryansmcco@68.235.48.108) (Ping timeout: 256 seconds) |
| 17:44:36 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 17:44:38 | <Carl20> | It only showed this one: ghc (exited -1) - Error while running 'C:\ProgramData\chocolatey\lib\ghc\tools\chocolateyInstall.ps1' |
| 17:44:47 | <Carl20> | lordcirth_ |
| 17:44:47 | → | ryansmccoy joins (~ryansmcco@193.37.254.27) |
| 17:45:52 | Carl20 | is now known as C20 |
| 17:46:43 | × | zacts quits (~zacts@dragora/developer/zacts) (Quit: leaving) |
| 17:46:47 | × | aarvar quits (~foewfoiew@50.35.43.33) (Ping timeout: 258 seconds) |
| 17:46:58 | <C20> | Within the chocolatey.log, it only showed this one: The install of ghc was NOT successful. |
| 17:47:01 | → | zacts joins (~zacts@dragora/developer/zacts) |
| 17:47:50 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
| 17:49:27 | → | Buntspecht joins (~user@unaffiliated/siracusa) |
| 17:49:59 | <lordcirth_> | C20, maybe you should ask on chocolatey help how to get better logs |
| 17:50:16 | × | ubert quits (~Thunderbi@91.141.3.51.wireless.dyn.drei.com) (Ping timeout: 272 seconds) |
| 17:51:34 | juri__ | is now known as juri_ |
| 17:53:13 | → | frdg joins (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) |
| 17:54:58 | hackage | structs 0.1.4 - Strict GC'd imperative object-oriented programming with cheap pointers. https://hackage.haskell.org/package/structs-0.1.4 (ryanglscott) |
| 17:55:25 | × | Neuromancer quits (~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 246 seconds) |
| 17:55:53 | × | C20 quits (726cdb9f@114.108.219.159) (Remote host closed the connection) |
| 17:56:55 | <frdg> | I am trying to use lenses and I am not understanding what I need to do. `:t (^.) :: s -> Getting a s a -> a`. To me I should get back a string with this function (which is what I want) but I am not really sure what I am getting. https://dpaste.org/xYe9 |
| 17:57:56 | → | coot joins (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) |
| 17:58:04 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:58:07 | <[exa]> | frdg: the lens is usually not called _time |
| 17:58:27 | <[exa]> | (as a first guess, can you try just `time` ?) |
| 17:58:48 | <[exa]> | _time is the accessor function which is certainly not going to work in that place |
| 17:58:52 | <frdg> | [exa]: yup |
| 17:58:58 | <frdg> | thanks |
| 17:59:12 | × | dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection) |
| 18:00:02 | × | yost3d quits (~yost3d@193.56.252.210) () |
| 18:02:54 | × | raichoo quits (~raichoo@213.240.178.58) (Quit: Lost terminal) |
| 18:06:31 | × | dhouthoo quits (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.8) |
| 18:10:33 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 18:11:36 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 18:11:42 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 18:11:47 | → | borne joins (~fritjof@200116b86454500007933c164a08810c.dip.versatel-1u1.de) |
| 18:13:27 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 18:13:42 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 18:14:38 | × | frdg quits (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection) |
| 18:16:25 | × | Franciman quits (~francesco@host-212-171-42-250.retail.telecomitalia.it) (Ping timeout: 240 seconds) |
| 18:16:51 | → | Franciman joins (~francesco@host-212-171-42-250.pool212171.interbusiness.it) |
| 18:17:48 | → | jle` joins (~mstksg@cpe-23-240-75-236.socal.res.rr.com) |
| 18:17:48 | × | jle` quits (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host) |
| 18:17:48 | → | jle` joins (~mstksg@unaffiliated/mstksg) |
| 18:18:06 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 18:20:43 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 18:21:16 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 18:22:31 | → | ThunderChicken1 joins (~ThunderCh@185.244.214.216) |
| 18:22:37 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 18:22:45 | → | chaosmasttter joins (~chaosmast@p200300c4a711ea011d677dd0bd985d37.dip0.t-ipconnect.de) |
| 18:23:25 | × | jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 240 seconds) |
| 18:23:48 | → | ubert joins (~Thunderbi@91.141.3.51.wireless.dyn.drei.com) |
| 18:24:34 | → | frdg joins (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) |
| 18:25:00 | → | jle` joins (~mstksg@cpe-23-240-75-236.socal.res.rr.com) |
| 18:25:00 | × | jle` quits (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host) |
| 18:25:00 | → | jle` joins (~mstksg@unaffiliated/mstksg) |
| 18:26:22 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 18:26:45 | × | HaskellYogi quits (~vivekrama@49.207.202.80) (Remote host closed the connection) |
| 18:27:23 | → | HaskellYogi joins (~vivekrama@49.207.202.80) |
| 18:27:58 | hackage | acc 0.1.2 - Sequence optimized for monoidal construction and folding https://hackage.haskell.org/package/acc-0.1.2 (NikitaVolkov) |
| 18:30:07 | × | Tops22 quits (~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de) (Quit: Leaving.) |
| 18:31:20 | × | machinedgod quits (~machinedg@45.78.189.122) (Quit: Lost terminal) |
| 18:32:03 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 18:32:24 | × | jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 258 seconds) |
| 18:32:43 | × | HaskellYogi quits (~vivekrama@49.207.202.80) (Ping timeout: 260 seconds) |
| 18:33:24 | → | ThaEwat joins (thaewraptm@gateway/shell/matrix.org/x-mopjnwlxyxbzydyc) |
| 18:34:32 | → | zaquest joins (~notzaques@5.128.210.178) |
| 18:35:45 | → | machinedgod joins (~machinedg@45.78.189.122) |
| 18:38:56 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 18:39:28 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 18:39:50 | → | johnw joins (~johnw@haskell/developer/johnw) |
| 18:40:22 | × | ping quits (~niko@freenode/staff/ubuntu.member.niko) (Quit: leaving) |
| 18:41:49 | → | niko joins (~niko@freenode/staff/ubuntu.member.niko) |
| 18:43:22 | × | Franciman quits (~francesco@host-212-171-42-250.pool212171.interbusiness.it) (Ping timeout: 246 seconds) |
| 18:46:47 | → | jle` joins (~mstksg@cpe-23-240-75-236.socal.res.rr.com) |
| 18:46:47 | × | jle` quits (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host) |
| 18:46:47 | → | jle` joins (~mstksg@unaffiliated/mstksg) |
| 18:49:04 | → | Franciman joins (~francesco@host-212-171-42-250.pool212171.interbusiness.it) |
| 18:50:43 | × | machinedgod quits (~machinedg@45.78.189.122) (Ping timeout: 246 seconds) |
| 18:54:22 | × | xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds) |
| 18:55:36 | × | NinjaTrappeur quits (~ninja@unaffiliated/ninjatrappeur) (Quit: WeeChat 2.9) |
| 18:56:14 | × | jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 256 seconds) |
| 18:56:25 | → | NinjaTrappeur joins (~ninja@unaffiliated/ninjatrappeur) |
| 18:59:03 | × | Franciman quits (~francesco@host-212-171-42-250.pool212171.interbusiness.it) (Quit: Leaving) |
| 18:59:29 | → | Franciman joins (~francesco@host-212-171-42-250.retail.telecomitalia.it) |
| 19:00:19 | × | DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 19:00:24 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 19:00:42 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 19:00:43 | → | DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 19:02:03 | × | Aquazi quits (uid312403@gateway/web/irccloud.com/x-qegeokaunvltnjjt) (Quit: Connection closed for inactivity) |
| 19:04:30 | → | geekosaur joins (42d52102@66.213.33.2) |
| 19:05:00 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 19:05:37 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
| 19:06:42 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 19:07:33 | × | chappi quits (~swaroop@157.49.95.64) (Remote host closed the connection) |
| 19:08:11 | × | Franciman quits (~francesco@host-212-171-42-250.retail.telecomitalia.it) (Ping timeout: 260 seconds) |
| 19:11:11 | <frdg> | with lenses what is the nicest way to `get, apply a function, set`? |
| 19:12:20 | → | avdb joins (~avdb@ip-213-49-123-208.dsl.scarlet.be) |
| 19:12:24 | <ghoulguy> | frdg: over |
| 19:12:49 | <frdg> | okay thank you |
| 19:14:25 | → | dhil joins (~dhil@11.29.39.217.dyn.plus.net) |
| 19:15:43 | <solonarv> | frdg: or %~ as an operator |
| 19:15:59 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 19:16:11 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 19:16:15 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 19:19:30 | × | avdb quits (~avdb@ip-213-49-123-208.dsl.scarlet.be) (Quit: WeeChat 2.9) |
| 19:20:03 | → | Franciman joins (~francesco@host-212-171-42-250.pool212171.interbusiness.it) |
| 19:21:46 | <frdg> | solonarv: I have never seen a non-binary operator. |
| 19:22:11 | <koz_> | frdg: GHC allows you to define unary postfix operators I think? |
| 19:22:18 | <solonarv> | fear not, %~ still isn't a ternary operator |
| 19:22:22 | <koz_> | Not many folks do it, but I think it's technically possible. |
| 19:23:01 | <ghoulguy> | > let (!) = "wow" in (+) ++ (+) |
| 19:23:03 | <lambdabot> | error: |
| 19:23:03 | <lambdabot> | • Couldn't match expected type ‘[a]’ |
| 19:23:03 | <lambdabot> | with actual type ‘a0 -> a0 -> a0’ |
| 19:23:07 | <ghoulguy> | :( |
| 19:23:17 | <solonarv> | 'lens %~ func' is a function again; commonly it's applied using & which is a flipped version of $ |
| 19:23:25 | <lordcirth_> | ghoulguy, ... what did you expect that to do? |
| 19:23:35 | <ghoulguy> | > let (!) = "wow" in (!) ++ (!) |
| 19:23:35 | <frdg> | ohh I see what is going on there |
| 19:23:37 | <lambdabot> | "wowwow" |
| 19:23:58 | <geekosaur> | PostfixOperators extension is a thing, yes |
| 19:23:58 | <solonarv> | e.g.: bigRecord & lenses.here %~ func |
| 19:24:49 | <geekosaur> | of curse it plays oddly with operator section syntax, like unary negation does |
| 19:25:03 | <geekosaur> | *of course |
| 19:25:20 | <geekosaur> | although "curse" might also describe it :) |
| 19:28:26 | <cohn> | any Wreq gurus around? |
| 19:28:34 | <ghoulguy> | lordcirth_: to show that there are non-function operator symbols |
| 19:28:38 | <Uniaika> | (~) of irrefutable pattern is technique a non-binary operator |
| 19:28:42 | <Uniaika> | (I love that term) |
| 19:28:48 | <Uniaika> | (but I'll call it "unary") |
| 19:29:26 | <geekosaur> | "technically"? ("technique" seems wrong there) |
| 19:29:26 | <lordcirth_> | ghoulguy, is it really an operator if it's just a value? |
| 19:29:45 | <ghoulguy> | lordcirth_: being a value is more general than being a function |
| 19:29:55 | <ghoulguy> | being composed of symbols like that is what makes something an operator symbol |
| 19:30:14 | <ghoulguy> | The "binary" aspect comes from being used in an infix position |
| 19:30:38 | <lordcirth_> | Just a concrete value, then |
| 19:30:39 | <ghoulguy> | but that's about the syntax at the use-site, not the thing itself |
| 19:30:51 | <ghoulguy> | "concrete value" doesn't really mean anything |
| 19:30:59 | <lordcirth_> | value of concrete kind? |
| 19:31:09 | <lordcirth_> | To me an operator has to operate on something, that is, take at least one argument |
| 19:31:15 | <ghoulguy> | concrete doesn't really mean anything, what are you hoping to get to? |
| 19:31:30 | <lordcirth_> | "concrete" is usually how people pronouce the kind "*", AFAIK |
| 19:31:44 | <lordcirth_> | As opposed to kind "* -> *" |
| 19:31:48 | <ghoulguy> | maybe some do, but that's not an official thing |
| 19:31:50 | <Uniaika> | geekosaur: yeah, I just switched to french and forgot to end the adverb |
| 19:32:15 | <ghoulguy> | lordcirth_: Maybe the term you mean is just "non-function"? |
| 19:32:33 | <lordcirth_> | A non-function value, yes |
| 19:32:52 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 272 seconds) |
| 19:32:55 | → | coot_ joins (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) |
| 19:33:12 | <lordcirth_> | I don't see how something can be considered an operator if it doesn't take an argument. |
| 19:33:32 | <ghoulguy> | lordcirth_: it's just a syntactic construct |
| 19:35:48 | <koz_> | \me o O O (A concrete value: 'x :: Concrete') |
| 19:36:27 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 19:36:31 | → | brown121408 joins (~brown@46.97.168.83) |
| 19:36:48 | × | coot quits (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 256 seconds) |
| 19:36:49 | coot_ | is now known as coot |
| 19:36:54 | <ghoulguy> | I suppose you could take the position that nothing "is an operator" but things can be "used as operators" |
| 19:37:27 | <ghoulguy> | (!) would be a variable symbol, f could be a variable identifier, and then if you use either as: x!y or x`f`y you're using them *as an operator* |
| 19:37:53 | → | zargoertzel joins (~zar@fw2.ciirc.cvut.cz) |
| 19:40:25 | × | zariuq quits (~zar@fw2.ciirc.cvut.cz) (Ping timeout: 256 seconds) |
| 19:40:42 | → | zariuq joins (~zar@fw2.ciirc.cvut.cz) |
| 19:41:33 | → | aenesidemus joins (~aenesidem@c-73-53-247-25.hsd1.fl.comcast.net) |
| 19:41:44 | × | brown121408 quits (~brown@46.97.168.83) (Ping timeout: 272 seconds) |
| 19:42:49 | × | zargoertzel quits (~zar@fw2.ciirc.cvut.cz) (Ping timeout: 264 seconds) |
| 19:44:03 | <ski> | "operator" is a syntactic thing, yea |
| 19:44:25 | × | Franciman quits (~francesco@host-212-171-42-250.pool212171.interbusiness.it) (Ping timeout: 240 seconds) |
| 19:45:34 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 19:47:02 | × | mirrorbird quits (~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Remote host closed the connection) |
| 19:47:13 | → | machinedgod joins (~machinedg@d67-193-126-196.home3.cgocable.net) |
| 19:49:21 | × | zacts quits (~zacts@dragora/developer/zacts) (Quit: leaving) |
| 19:51:14 | × | taurux quits (~taurux@net-93-144-28-140.cust.vodafonedsl.it) (Quit: ZNC 1.7.5 - https://znc.in) |
| 19:51:53 | → | mirrorbird joins (~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) |
| 19:52:10 | × | jollygood2 quits (~bc815b99@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout)) |
| 19:54:55 | → | iteratee_ joins (~kyle@162.211.154.4) |
| 19:55:19 | <maralorn> | I have a _very_ silly problem. |
| 19:55:23 | × | MaoZeDong_ quits (~sweety@176.59.33.165) (Read error: Connection reset by peer) |
| 19:55:44 | <maralorn> | I have a hunit test. I run it with "runTestTT" |
| 19:55:47 | → | MaoZeDong_ joins (~sweety@176.59.33.165) |
| 19:55:58 | <maralorn> | But that returns "()" so I do |
| 19:55:59 | → | shafox_ joins (~shafox@106.51.234.111) |
| 19:55:59 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 19:56:11 | <maralorn> | main = print <=< runTestTT $ myTest |
| 19:56:16 | × | mantovani quits (~mantovani@104.131.207.121) (Ping timeout: 240 seconds) |
| 19:56:16 | × | c-rog quits (~c-rog@traffic.simst.im) (Ping timeout: 240 seconds) |
| 19:56:21 | × | lep-delete quits (~lep@94.31.82.44) (Read error: Connection reset by peer) |
| 19:56:34 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 19:56:35 | → | haasn` joins (~haasn@mpv/developer/haasn) |
| 19:56:37 | → | lep-delete joins (~lep@94.31.82.44) |
| 19:56:45 | × | pepeiborra quits (sid443799@gateway/web/irccloud.com/x-zjvxjrszspxcqhac) (Ping timeout: 240 seconds) |
| 19:56:45 | × | brown121407 quits (~brown1214@fsf/member/brown121407) (Ping timeout: 240 seconds) |
| 19:56:53 | <maralorn> | But now if I run "cabal test" it will say all tests passed. |
| 19:56:54 | lep-delete | is now known as test |
| 19:56:59 | <maralorn> | There has to be a simple solution to this. |
| 19:56:59 | × | iteratee quits (~kyle@162.211.154.4) (Read error: Connection reset by peer) |
| 19:57:05 | × | banjiewen quits (sid115913@gateway/web/irccloud.com/x-xhvpjulpxhwqhcqy) (Ping timeout: 240 seconds) |
| 19:57:08 | test | is now known as Guest40023 |
| 19:57:09 | → | pepeiborra joins (sid443799@gateway/web/irccloud.com/x-srqetfybaannrdjz) |
| 19:57:11 | <maralorn> | But all hunit examples I find use ghci. |
| 19:57:24 | <maralorn> | I mean this is _the_ use case for hunit.^^ |
| 19:57:27 | × | alp quits (~alp@2a01:e0a:58b:4920:508d:ea72:5dcf:184b) (Ping timeout: 272 seconds) |
| 19:57:27 | → | banjiewen joins (sid115913@gateway/web/irccloud.com/x-shqhqasrwahmjagb) |
| 19:57:41 | → | brown121407 joins (~brown1214@2001:19f0:6c01:2b9c:3c66:4201:22f3:3ebc) |
| 19:57:41 | × | brown121407 quits (~brown1214@2001:19f0:6c01:2b9c:3c66:4201:22f3:3ebc) (Changing host) |
| 19:57:41 | → | brown121407 joins (~brown1214@fsf/member/brown121407) |
| 19:57:45 | × | Hijiri quits (~Hijiri@104.236.61.10) (Ping timeout: 240 seconds) |
| 19:57:45 | × | jtcs quits (~jtcs@vmi359854.contaboserver.net) (Ping timeout: 240 seconds) |
| 19:57:53 | → | Hijiri_ joins (~Hijiri@104.236.61.10) |
| 19:57:56 | → | jtcs_ joins (~jtcs@vmi359854.contaboserver.net) |
| 19:58:00 | × | MaoZeDong_ quits (~sweety@176.59.33.165) (Remote host closed the connection) |
| 19:58:01 | → | mantovani joins (~mantovani@104.131.207.121) |
| 19:58:05 | × | haasn quits (~haasn@mpv/developer/haasn) (Ping timeout: 240 seconds) |
| 19:58:22 | → | c-rog joins (~c-rog@traffic.simst.im) |
| 19:58:23 | → | MaoZeDong_ joins (~sweety@176.59.33.165) |
| 19:58:25 | × | shafox quits (~shafox@106.51.234.111) (Ping timeout: 240 seconds) |
| 19:58:30 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
| 19:58:37 | × | geekosaur quits (42d52102@66.213.33.2) (Remote host closed the connection) |
| 19:59:03 | → | Franciman joins (~francesco@host-212-171-42-250.retail.telecomitalia.it) |
| 19:59:04 | <frdg> | what is the way to do multiple lens operations in one expression? This should kind of show what I mean: https://dpaste.org/rs1B |
| 19:59:08 | <maralorn> | https://github.com/hspec/HUnit/blob/master/tests/HUnitTests.hs |
| 19:59:20 | <maralorn> | I can just copy that from there … |
| 19:59:36 | <dolio> | `cabal test` only shows test output if tests fail, I think. |
| 20:00:46 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 20:01:01 | <dsal> | frdg: tr & temp %~ (fmap MYP.celsiusToFahr) & feels %~ (fmap MYP.celsiusToFahr) |
| 20:01:41 | <dsal> | I guess you don't need all those parens. |
| 20:02:03 | <frdg> | ok nice |
| 20:02:28 | hackage | uniqueness-periods-vector-examples 0.7.2.0 - Usage examples for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.7.2.0 (OleksandrZhabenko) |
| 20:07:00 | × | MaoZeDong_ quits (~sweety@176.59.33.165) (Remote host closed the connection) |
| 20:07:01 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 20:07:41 | → | MaoZeDong_ joins (~sweety@176.59.33.165) |
| 20:08:27 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 20:09:13 | <solonarv> | note that 'temp %~ fmap func' can also be written as 'temp.mapped %~ func' |
| 20:13:44 | × | borne quits (~fritjof@200116b86454500007933c164a08810c.dip.versatel-1u1.de) (Ping timeout: 244 seconds) |
| 20:15:51 | × | son0p quits (~son0p@181.136.122.143) (Ping timeout: 260 seconds) |
| 20:17:03 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 20:17:13 | × | MaoZeDong_ quits (~sweety@176.59.33.165) (Remote host closed the connection) |
| 20:17:25 | → | GyroW_ joins (~GyroW@d54c03e98.access.telenet.be) |
| 20:17:25 | × | GyroW_ quits (~GyroW@d54c03e98.access.telenet.be) (Changing host) |
| 20:17:25 | → | GyroW_ joins (~GyroW@unaffiliated/gyrow) |
| 20:17:40 | × | darjeeling_ quits (~darjeelin@122.245.210.179) (Ping timeout: 256 seconds) |
| 20:17:55 | × | GyroW quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds) |
| 20:18:18 | × | raehik quits (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 20:18:29 | <ezzieyguywuf> | can anyone recommend a package that will allow me to 'stream' csv data, i.e. like pipes or conduits or w/e? |
| 20:18:37 | <ezzieyguywuf> | i'm interested in reading the data in one row at a time |
| 20:18:45 | → | raehik joins (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) |
| 20:19:30 | → | MaoZeDong_ joins (~sweety@176.59.33.165) |
| 20:20:20 | <cohn> | hi, what's the difference between "import qualified Foo.Bar as B" and "import Foo.Bar as B"? |
| 20:20:39 | → | darjeeling_ joins (~darjeelin@122.245.210.179) |
| 20:20:45 | <cohn> | I know what a qualified import means but it seems like you don't really need to use the "qualified" keyword |
| 20:21:22 | <dolio> | Without the `qualified`, it imports everything unqualified as well. |
| 20:21:23 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 240 seconds) |
| 20:21:23 | <ezzieyguywuf> | cohn: when you don't use the 'qualified' keyword, thet `B.SomeFooFunc` and `SomeFooFunc` are both valid. |
| 20:21:39 | → | rprije joins (~rprije@203.214.95.251) |
| 20:21:44 | <ezzieyguywuf> | yea what dolio said. |
| 20:21:49 | → | borne joins (~fritjof@200116b86454500007933c164a08810c.dip.versatel-1u1.de) |
| 20:22:00 | <[exa]> | cohn: 'qualified' is mainly for preventing name ambiguity in the "unprefixed" globally available names |
| 20:23:27 | <[exa]> | .....btw why is it called 'qualified'? |
| 20:25:00 | <ezzieyguywuf> | b/c it forces you to 'qualify' any functions from the imported module that you wish to use with a prefix, I imagine |
| 20:25:13 | × | MaoZeDong_ quits (~sweety@176.59.33.165) (Ping timeout: 246 seconds) |
| 20:25:44 | <ezzieyguywuf> | `import Foo; import Bar; someFuncInBothFooAndBar` ghc won't know which to use, so it'll ask you to "qualify" the function name with a prefix (in this case the module name) |
| 20:26:10 | <cohn> | ok, thanks everybody. |
| 20:26:54 | <cohn> | coming from python, where qualifying an import is just "import foo as bar", the difference was confusing |
| 20:27:10 | → | jle` joins (~mstksg@cpe-23-240-75-236.socal.res.rr.com) |
| 20:27:10 | × | jle` quits (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host) |
| 20:27:10 | → | jle` joins (~mstksg@unaffiliated/mstksg) |
| 20:28:15 | <ezzieyguywuf> | cohn: it's similar, just adds an extra layer of tunability in haskell |
| 20:28:46 | <ezzieyguywuf> | i.e. to accomplish `import Foo as Bar` in python you'd need two lines, `import Foo; import Foo as Bar` |
| 20:28:47 | → | MaoZeDong_ joins (~sweety@176.59.33.165) |
| 20:29:00 | × | MaoZeDong_ quits (~sweety@176.59.33.165) (Remote host closed the connection) |
| 20:29:44 | DTZUZU_ | is now known as DTZUZU |
| 20:29:48 | → | MaoZeDong_ joins (~sweety@176.59.33.165) |
| 20:31:03 | × | Franciman quits (~francesco@host-212-171-42-250.retail.telecomitalia.it) (Quit: Leaving) |
| 20:32:11 | → | Franciman joins (~francesco@host-212-171-42-250.retail.telecomitalia.it) |
| 20:32:52 | <ezzieyguywuf> | hrm, maybe pipes-csv |
| 20:33:08 | × | jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 256 seconds) |
| 20:33:28 | × | elliott_ quits (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
| 20:34:12 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 20:35:14 | <cohn> | ezzieyguywuf: true, but I was only curious about qualifying an import. So, seems like I need to use the "qualified" keyword so I don't potentially step on similar-named functions |
| 20:36:09 | <cohn> | so for Python's "import foo.bar as b" I need to do "import qualified Foo.Bar as B" in Haskell |
| 20:36:36 | <ezzieyguywuf> | cohn: yea, I use qualified pretty much every time |
| 20:36:42 | × | MaoZeDong_ quits (~sweety@176.59.33.165) (Read error: Connection reset by peer) |
| 20:36:49 | → | sweety_ joins (~sweety@176.59.33.165) |
| 20:36:58 | <ezzieyguywuf> | correction: I use qualified every time I import a whole module. |
| 20:37:14 | <ezzieyguywuf> | cohn: usually I just import exactly what I need, i.e. `import Foo(Bar, Baz)` |
| 20:37:31 | <cohn> | exactly |
| 20:37:57 | <ezzieyguywuf> | cohn: but this is unqualified, so I use Bar and Baz "bare". I prefer this, though, as it keeps my namespace uncluttered |
| 20:39:19 | <cohn> | yea. The hlint utility definitely helps in that regard! |
| 20:39:57 | → | shatriff joins (~vitaliish@188.163.30.117) |
| 20:41:11 | agrif | is now known as agrim |
| 20:42:13 | × | DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 20:42:15 | × | sweety_ quits (~sweety@176.59.33.165) (Read error: Connection reset by peer) |
| 20:42:38 | Sigyn | is now known as feralSigyn |
| 20:42:51 | → | sweety_ joins (~sweety@176.59.33.165) |
| 20:43:14 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 20:43:35 | × | sweety_ quits (~sweety@176.59.33.165) (Remote host closed the connection) |
| 20:44:24 | → | sweety_ joins (~sweety@176.59.33.165) |
| 20:44:25 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 20:45:01 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 20:45:02 | × | sweety_ quits (~sweety@176.59.33.165) (Remote host closed the connection) |
| 20:47:27 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 20:50:04 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:41ee:e0ba:d692:129) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:50:08 | × | shatriff quits (~vitaliish@188.163.30.117) (Remote host closed the connection) |
| 20:51:23 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds) |
| 20:51:44 | × | chele quits (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 20:52:54 | → | falafel joins (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
| 20:53:59 | niko | is now known as Citrouille |
| 20:56:05 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 20:57:08 | → | taurux joins (~taurux@net-93-144-28-140.cust.vodafonedsl.it) |
| 20:57:54 | × | Franciman quits (~francesco@host-212-171-42-250.retail.telecomitalia.it) (Quit: Leaving) |
| 20:58:45 | × | frdg quits (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection) |
| 21:00:02 | × | ThunderChicken1 quits (~ThunderCh@185.244.214.216) () |
| 21:00:20 | → | jle` joins (~mstksg@cpe-23-240-75-236.socal.res.rr.com) |
| 21:00:20 | × | jle` quits (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host) |
| 21:00:20 | → | jle` joins (~mstksg@unaffiliated/mstksg) |
| 21:00:25 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 21:00:55 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 21:02:57 | → | madjestic joins (~madjestic@86-88-72-244.fixed.kpn.net) |
| 21:04:12 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 21:05:23 | × | jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 240 seconds) |
| 21:13:02 | → | GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
| 21:13:02 | × | GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
| 21:13:02 | → | GyroW joins (~GyroW@unaffiliated/gyrow) |
| 21:13:10 | × | GyroW_ quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 246 seconds) |
| 21:13:26 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 21:14:32 | × | falafel quits (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Remote host closed the connection) |
| 21:15:57 | → | falafel joins (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
| 21:16:00 | × | ggole quits (~ggole@2001:8003:8119:7200:8514:d230:fa70:c54c) (Quit: Leaving) |
| 21:16:14 | × | chaosmasttter quits (~chaosmast@p200300c4a711ea011d677dd0bd985d37.dip0.t-ipconnect.de) (Quit: WeeChat 2.9) |
| 21:18:37 | × | __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 21:20:15 | × | falafel quits (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Read error: Connection reset by peer) |
| 21:20:38 | → | falafel joins (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
| 21:27:32 | × | falafel quits (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Remote host closed the connection) |
| 21:28:41 | → | falafel joins (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
| 21:28:42 | × | mirrorbird quits (~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Quit: Leaving) |
| 21:29:25 | × | taurux quits (~taurux@net-93-144-28-140.cust.vodafonedsl.it) (Ping timeout: 240 seconds) |
| 21:29:50 | haasn` | is now known as haasn |
| 21:29:52 | → | taurux joins (~taurux@net-188-216-115-169.cust.vodafonedsl.it) |
| 21:30:33 | × | danvet_ quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds) |
| 21:31:16 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 21:32:02 | × | falafel quits (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Remote host closed the connection) |
| 21:32:05 | → | jle` joins (~mstksg@cpe-23-240-75-236.socal.res.rr.com) |
| 21:32:05 | × | jle` quits (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host) |
| 21:32:05 | → | jle` joins (~mstksg@unaffiliated/mstksg) |
| 21:32:46 | → | alp joins (~alp@2a01:e0a:58b:4920:348b:a0fc:3b69:4893) |
| 21:35:48 | → | mahene joins (~mahene@2a02:8109:86c0:8d68:5400:2bfd:d746:732c) |
| 21:35:55 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 21:37:30 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 21:38:05 | × | jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 240 seconds) |
| 21:38:55 | → | falafel joins (~falafel@cpe-104-172-194-249.socal.res.rr.com) |
| 21:42:04 | → | elliott_ joins (~elliott_@pool-71-127-56-236.washdc.fios.verizon.net) |
| 21:44:47 | × | johs quits (sid246410@gateway/web/irccloud.com/x-mkeicffdlyarxtfa) (Ping timeout: 240 seconds) |
| 21:45:05 | → | johs joins (sid246410@gateway/web/irccloud.com/x-muqxisckhdengjbz) |
| 21:45:25 | × | thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds) |
| 21:47:08 | × | elliott_ quits (~elliott_@pool-71-127-56-236.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
| 21:47:39 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 21:48:49 | × | DavidEichmann quits (~david@43.240.198.146.dyn.plus.net) (Ping timeout: 264 seconds) |
| 21:50:46 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 256 seconds) |
| 21:51:17 | × | falafel quits (~falafel@cpe-104-172-194-249.socal.res.rr.com) (Remote host closed the connection) |
| 21:51:43 | → | falafel joins (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
| 21:56:17 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:6535:f906:9e43:db0f) (Ping timeout: 260 seconds) |
| 21:57:35 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 22:00:12 | × | John20 quits (~John@82.46.59.122) (Ping timeout: 265 seconds) |
| 22:01:15 | → | Rudd0 joins (~Rudd0@185.189.115.103) |
| 22:02:15 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 22:02:36 | × | conal quits (~conal@107.181.166.148) (Quit: Computer has gone to sleep.) |
| 22:03:29 | × | GyroW quits (~GyroW@unaffiliated/gyrow) (Remote host closed the connection) |
| 22:03:39 | → | GyroW joins (~GyroW@d54C03E98.access.telenet.be) |
| 22:03:39 | × | GyroW quits (~GyroW@d54C03E98.access.telenet.be) (Changing host) |
| 22:03:39 | → | GyroW joins (~GyroW@unaffiliated/gyrow) |
| 22:06:25 | × | solonarv quits (~solonarv@astrasbourg-653-1-252-112.w92-161.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
| 22:08:47 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:4db2:8fe2:8bd1:e1c0) |
| 22:10:31 | × | darjeeling_ quits (~darjeelin@122.245.210.179) (Ping timeout: 258 seconds) |
| 22:10:53 | → | darjeeling_ joins (~darjeelin@122.245.210.179) |
| 22:12:27 | × | falafel quits (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Ping timeout: 240 seconds) |
| 22:13:00 | × | LKoen quits (~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr) (Remote host closed the connection) |
| 22:16:07 | × | alp quits (~alp@2a01:e0a:58b:4920:348b:a0fc:3b69:4893) (Ping timeout: 240 seconds) |
| 22:18:00 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 22:20:55 | × | mahene quits (~mahene@2a02:8109:86c0:8d68:5400:2bfd:d746:732c) (Ping timeout: 240 seconds) |
| 22:21:03 | → | elliott_ joins (~elliott_@pool-108-28-204-229.washdc.fios.verizon.net) |
| 22:21:55 | → | wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
| 22:22:47 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 260 seconds) |
| 22:26:27 | → | tomatopotato joins (~tomatopot@188.126.89.194) |
| 22:26:27 | hackage | fourmolu 0.2.0.0 - A formatter for Haskell source code https://hackage.haskell.org/package/fourmolu-0.2.0.0 (GeorgeThomas) |
| 22:31:13 | × | taurux quits (~taurux@net-188-216-115-169.cust.vodafonedsl.it) (Ping timeout: 246 seconds) |
| 22:31:17 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 22:31:50 | → | taurux joins (~taurux@net-188-216-43-60.cust.vodafonedsl.it) |
| 22:35:03 | → | mirrorbird joins (~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) |
| 22:40:28 | → | conal joins (~conal@107.181.166.148) |
| 22:42:49 | → | GyroW_ joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
| 22:42:49 | × | GyroW_ quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
| 22:42:49 | → | GyroW_ joins (~GyroW@unaffiliated/gyrow) |
| 22:43:19 | × | GyroW quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds) |
| 22:45:30 | × | o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection) |
| 22:46:02 | × | conal quits (~conal@107.181.166.148) (Quit: Computer has gone to sleep.) |
| 22:48:00 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Read error: Connection reset by peer) |
| 22:48:22 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 22:52:48 | → | conal joins (~conal@107.181.166.148) |
| 22:57:04 | → | falafel joins (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
| 22:57:31 | × | conal quits (~conal@107.181.166.148) (Quit: Computer has gone to sleep.) |
| 22:57:53 | <monochrom> | http://www.vex.net/~trebla/tmp/hasdoc :) |
| 23:01:35 | × | madjestic quits (~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 23:03:23 | × | livvy quits (~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds) |
| 23:10:25 | × | falafel quits (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Ping timeout: 240 seconds) |
| 23:20:52 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 272 seconds) |
| 23:27:08 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:f016:8714:fb84:1abd) |
| 23:29:45 | × | AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
| 23:35:07 | × | coot quits (~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 23:39:02 | × | shafox_ quits (~shafox@106.51.234.111) (Remote host closed the connection) |
| 23:42:37 | → | jedws joins (~jedws@121.209.139.222) |
| 23:46:49 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 23:46:56 | → | frdg joins (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) |
| 23:48:12 | × | spew quits (uid195861@gateway/web/irccloud.com/x-nmkiijbefgbkmaqa) (Quit: Connection closed for inactivity) |
| 23:50:09 | → | shatriff joins (~vitaliish@188.163.30.117) |
| 23:50:23 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 23:50:33 | × | m0rphism quits (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Quit: WeeChat 2.7.1) |
| 23:52:58 | hackage | pandoc-plot 0.9.4.0 - A Pandoc filter to include figures generated from code blocks using your plotting toolkit of choice. https://hackage.haskell.org/package/pandoc-plot-0.9.4.0 (LaurentRDC) |
| 23:54:52 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 246 seconds) |
| 23:55:25 | × | jgt quits (~jgt@188.239.64.32) (Ping timeout: 240 seconds) |
All times are in UTC on 2020-10-02.