Logs: freenode/#haskell
| 2020-11-12 01:32:01 | × | wwwww quits (~wwwww@unaffiliated/wwwww) (Ping timeout: 246 seconds) |
| 2020-11-12 01:33:48 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:90a4:2273:4a7:996a) |
| 2020-11-12 01:34:11 | → | wwwww joins (~wwwww@unaffiliated/wwwww) |
| 2020-11-12 01:35:07 | × | xff0x quits (~fox@2001:1a81:5388:cb00:8fe4:ec20:878e:f666) (Ping timeout: 260 seconds) |
| 2020-11-12 01:35:30 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@cm-171-98-69-228.revip7.asianet.co.th) (Ping timeout: 260 seconds) |
| 2020-11-12 01:35:39 | × | mputz quits (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 258 seconds) |
| 2020-11-12 01:36:05 | → | xff0x joins (~fox@2001:1a81:5388:cb00:38e6:5a6a:4097:75d1) |
| 2020-11-12 01:38:40 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-11-12 01:39:05 | × | Varis quits (~Tadas@unaffiliated/varis) (Ping timeout: 256 seconds) |
| 2020-11-12 01:39:20 | → | shailangsa joins (~shailangs@host86-186-136-90.range86-186.btcentralplus.com) |
| 2020-11-12 01:42:50 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer) |
| 2020-11-12 01:43:13 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 246 seconds) |
| 2020-11-12 01:44:24 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2020-11-12 01:44:28 | × | wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 2020-11-12 01:44:45 | × | wwwww quits (~wwwww@unaffiliated/wwwww) (Ping timeout: 256 seconds) |
| 2020-11-12 01:45:51 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-11-12 01:46:07 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@67.23.55.162) |
| 2020-11-12 01:46:36 | → | wwwww joins (~wwwww@unaffiliated/wwwww) |
| 2020-11-12 01:50:49 | → | maroloccio joins (~marolocci@2a02:8084:221:ce00:164f:8aff:fed8:411d) |
| 2020-11-12 01:53:32 | × | Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
| 2020-11-12 01:54:01 | → | Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
| 2020-11-12 01:54:49 | × | Chi1thangoo quits (~Chi1thang@87.112.60.168) (Ping timeout: 264 seconds) |
| 2020-11-12 01:57:05 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds) |
| 2020-11-12 01:57:52 | <bqv> | Translating imperative code to funct |
| 2020-11-12 01:57:59 | <bqv> | onal is a pain |
| 2020-11-12 01:57:59 | → | tabemann joins (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
| 2020-11-12 01:58:17 | → | dbmikus__ joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 2020-11-12 01:58:36 | <bqv> | requires full redesign, not just porting |
| 2020-11-12 01:59:03 | × | wwwww quits (~wwwww@unaffiliated/wwwww) (Ping timeout: 260 seconds) |
| 2020-11-12 02:00:41 | <sm[m]> | it's often said that you can replicate imperative code in haskell. It's true, but not often done. If the techniques were better known it might be used a bit more |
| 2020-11-12 02:01:01 | → | wwwww joins (~wwwww@unaffiliated/wwwww) |
| 2020-11-12 02:01:56 | <bqv> | I mean you can, it's just not ergonomic to write or efficient to run |
| 2020-11-12 02:02:05 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 2020-11-12 02:02:52 | × | dbmikus__ quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 258 seconds) |
| 2020-11-12 02:03:05 | → | acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 2020-11-12 02:05:47 | × | LKoen quits (~LKoen@77.174.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 2020-11-12 02:10:02 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-11-12 02:11:38 | × | m0rphism quits (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 272 seconds) |
| 2020-11-12 02:17:13 | × | lucasb quits (uid333435@gateway/web/irccloud.com/x-pbogwxffcquqlbnb) (Quit: Connection closed for inactivity) |
| 2020-11-12 02:17:38 | → | sdrodge joins (~sdrodge@unaffiliated/sdrodge) |
| 2020-11-12 02:17:57 | <koz_> | bqv: I dunno why you claim the latter. ST is pretty efficient IIRC. |
| 2020-11-12 02:18:09 | × | angerman quits (sid209936@gateway/web/irccloud.com/x-vpzhonusupvskvmg) (Excess Flood) |
| 2020-11-12 02:18:19 | → | angerman joins (sid209936@gateway/web/irccloud.com/x-mlhkemfvngmbvuol) |
| 2020-11-12 02:19:28 | <bqv> | My gut feeling is it wouldnt be as effective as the pure haskell approach, since its kinda a mixture of both, but im happy to be corrected |
| 2020-11-12 02:20:43 | <koz_> | bqv: If you need mutability (which is what I guess the problem in translation would be), you can have it with ST. |
| 2020-11-12 02:21:06 | <koz_> | And it's pretty efficient as far as I'm aware. |
| 2020-11-12 02:23:22 | <bqv> | For the specific example im looking at (nasty nested for loops) i wouldnt doubt, but if i were to try and use it for the whole port im doing, id have to find an analogue for pointers too, as well as any freaky memory tricks, so i think its fair to assume it'd be less effective without some pretty sharp optimizing |
| 2020-11-12 02:23:57 | <koz_> | Uhh, we have pointers in GHC. |
| 2020-11-12 02:24:00 | <koz_> | Of various stripes even. |
| 2020-11-12 02:24:19 | <koz_> | And you can have 'nasty nested for-loops' in ST using ... wait for it... 'for'? :P |
| 2020-11-12 02:24:28 | <koz_> | (or for_ if you just need mutation) |
| 2020-11-12 02:25:01 | <koz_> | Like, I admit that it's not the nicest way to write Haskell, but it's neither particularly hard, nor particularly inefficient. |
| 2020-11-12 02:25:27 | <bqv> | *shrug* i'll take your word for it, still steering clear |
| 2020-11-12 02:27:11 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@67.23.55.162) (Quit: Textual IRC Client: www.textualapp.com) |
| 2020-11-12 02:28:41 | → | drbean joins (~drbean@TC210-63-209-169.static.apol.com.tw) |
| 2020-11-12 02:30:56 | → | dbmikus__ joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 2020-11-12 02:31:11 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:dc2f:c1a2:afcc:89b0) |
| 2020-11-12 02:32:13 | × | aarvar quits (~foewfoiew@c.24.56.239.179.static.broadstripe.net) (Ping timeout: 246 seconds) |
| 2020-11-12 02:32:31 | × | ericsagn1 quits (~ericsagne@2405:6580:0:5100:c30c:e109:135c:6061) (Ping timeout: 244 seconds) |
| 2020-11-12 02:34:07 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 2020-11-12 02:35:42 | × | dbmikus__ quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 260 seconds) |
| 2020-11-12 02:37:31 | <jophish> | Perhaps I'm having a moment, but is there a nicer way of using values at compile time in quasiquotes than: $(lift [q|...|]). For example, lets say I have a quasiquoter doing string interpolation (so [q|$x$y|] becomes `x <> y`) but I'd like to evaluate that at compile time |
| 2020-11-12 02:37:41 | <jophish> | $(lift foo) seems pretty weird |
| 2020-11-12 02:37:52 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@cm-171-98-69-228.revip7.asianet.co.th) |
| 2020-11-12 02:38:13 | <jophish> | I mean, I guess I could incorporate the lift into the output of the quoter, but $([q|...|]) also looks quite clumsy |
| 2020-11-12 02:38:59 | × | Sheilong quits (uid293653@gateway/web/irccloud.com/x-amyflsszyhqepalq) () |
| 2020-11-12 02:39:26 | → | jonatanb joins (~jonatanb@83.24.9.26.ipv4.supernova.orange.pl) |
| 2020-11-12 02:40:12 | × | thunderrd quits (~thunderrd@183.182.112.251) (Read error: Connection reset by peer) |
| 2020-11-12 02:40:33 | × | Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2020-11-12 02:41:23 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:90a4:2273:4a7:996a) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-11-12 02:41:56 | <koz_> | If you have QuasiQuotes turned on, and 'q' is a quasiquoter you defined, you can just do [q|..|]? |
| 2020-11-12 02:43:17 | <jophish> | [q|$x$y|] will insert the expression `x <> y` (for this interpolating quasiquoter), but what I really want is a string literal with contents equal to `x <> y` |
| 2020-11-12 02:43:28 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 2020-11-12 02:43:41 | <jophish> | stage restrictions notwithstanding |
| 2020-11-12 02:44:01 | × | jonatanb quits (~jonatanb@83.24.9.26.ipv4.supernova.orange.pl) (Ping timeout: 264 seconds) |
| 2020-11-12 02:44:08 | → | Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net) |
| 2020-11-12 02:44:22 | <jophish> | I suppose perhaps a simpler example is, can I write a quasiquoter [file|x|] which will become the results of: `readFile x` |
| 2020-11-12 02:44:33 | <jophish> | instead of becoming literally `readFile x` |
| 2020-11-12 02:45:08 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2020-11-12 02:45:28 | <jophish> | This is tantamount to getting the RHS of declarations in a splice |
| 2020-11-12 02:45:31 | <jophish> | which GHC doesn't support |
| 2020-11-12 02:45:51 | <jophish> | so perhaps this two stage process (i.e. $([q|...|])) is necessary |
| 2020-11-12 02:47:12 | → | elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-11-12 02:48:53 | × | xff0x quits (~fox@2001:1a81:5388:cb00:38e6:5a6a:4097:75d1) (Ping timeout: 272 seconds) |
| 2020-11-12 02:50:15 | → | xff0x joins (~fox@2001:1a81:53be:a900:d560:4ea6:2896:65fd) |
| 2020-11-12 02:51:18 | <jophish> | Seems quite relevant: https://stackoverflow.com/questions/48489622/why-is-there-no-representation-for-th-in-th |
| 2020-11-12 02:53:23 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 2020-11-12 02:53:38 | → | thir joins (~thir@p200300f27f0b7e00894576386620b0d0.dip0.t-ipconnect.de) |
| 2020-11-12 02:53:40 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:90a4:2273:4a7:996a) |
| 2020-11-12 02:54:53 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 2020-11-12 02:56:08 | × | drbean quits (~drbean@TC210-63-209-169.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin1 - https://znc.in) |
| 2020-11-12 02:57:58 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 2020-11-12 02:58:14 | × | thir quits (~thir@p200300f27f0b7e00894576386620b0d0.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 2020-11-12 02:58:50 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 258 seconds) |
| 2020-11-12 03:00:01 | × | TheCavalry quits (~TheCavalr@185.204.1.185) () |
| 2020-11-12 03:01:07 | → | toorevitimirp joins (~tooreviti@117.182.180.38) |
| 2020-11-12 03:02:47 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection) |
| 2020-11-12 03:04:12 | → | Tario joins (~Tario@201.192.165.173) |
| 2020-11-12 03:04:13 | → | adm_ joins (~adm@43.229.89.44) |
| 2020-11-12 03:04:56 | → | jakalx joins (~jakalx@base.jakalx.net) |
All times are in UTC.