2020-11-23 00:01:09 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2020-11-23 00:01:37 +0100 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:31ca:eef6:b3d5:eefb) |
2020-11-23 00:02:17 +0100 | crdrost | (~crdrost@2601:646:8280:85f0:20c8:1ab8:3926:f8e3) |
2020-11-23 00:02:22 +0100 | Ariakenom | (~Ariakenom@h-98-128-229-104.NA.cust.bahnhof.se) (Quit: Leaving) |
2020-11-23 00:03:41 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 00:04:21 +0100 | ph88 | (~ph88@2a02:8109:9e00:7e5c:5dee:702e:778c:4427) (Ping timeout: 272 seconds) |
2020-11-23 00:04:41 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal) |
2020-11-23 00:05:41 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving) |
2020-11-23 00:05:43 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds) |
2020-11-23 00:07:41 +0100 | rtpchan | (~rtpchan@c-98-198-235-37.hsd1.tx.comcast.net) (Quit: Leaving) |
2020-11-23 00:07:50 +0100 | LostCanvas | (~iharper@75-108-155-188.chstcmtk01.res.dyn.suddenlink.net) |
2020-11-23 00:07:58 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 260 seconds) |
2020-11-23 00:08:02 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-11-23 00:08:46 +0100 | shadowdaemon | (~user@unaffiliated/shadowdaemon) |
2020-11-23 00:11:30 +0100 | s00pcan | (~chris@107.181.165.217) (Ping timeout: 260 seconds) |
2020-11-23 00:11:52 +0100 | conal_ | (~conal@66.115.157.141) |
2020-11-23 00:12:44 +0100 | crdrost | (~crdrost@2601:646:8280:85f0:20c8:1ab8:3926:f8e3) (Quit: Leaving) |
2020-11-23 00:13:00 +0100 | hackage | massiv 0.5.6.0 - Massiv (Массив) is an Array Library. https://hackage.haskell.org/package/massiv-0.5.6.0 (lehins) |
2020-11-23 00:13:09 +0100 | s00pcan | (~chris@075-133-056-178.res.spectrum.com) |
2020-11-23 00:13:33 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-23 00:14:19 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 2.8) |
2020-11-23 00:14:30 +0100 | hackage | massiv-test 0.1.5 - Library that contains generators, properties and tests for Massiv Array Library. https://hackage.haskell.org/package/massiv-test-0.1.5 (lehins) |
2020-11-23 00:14:35 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
2020-11-23 00:14:36 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2020-11-23 00:15:14 +0100 | rednaZ2 | (rednaZ2@freebnc.bnc4you.xyz) (Quit: ZNC from ##bnc4you) |
2020-11-23 00:15:19 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2020-11-23 00:15:39 +0100 | e2 | (e2@sponsored.by.bnc4you.xyz) (Quit: Stable ZNC provider ##bnc4you) |
2020-11-23 00:15:56 +0100 | <dolio> | Why do you need the Haskell report if it's just going to say that Haskell is GHC? |
2020-11-23 00:16:14 +0100 | <monochrom> | :) |
2020-11-23 00:18:23 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2020-11-23 00:18:30 +0100 | mputz | (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
2020-11-23 00:19:38 +0100 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) |
2020-11-23 00:20:48 +0100 | <hekkaidekapus> | lol See also the GHC20XX proposal. |
2020-11-23 00:21:29 +0100 | <hekkaidekapus> | Some people fork compilers, we fork the report. |
2020-11-23 00:24:07 +0100 | <koz_> | :t uncurry |
2020-11-23 00:24:08 +0100 | <lambdabot> | (a -> b -> c) -> (a, b) -> c |
2020-11-23 00:24:37 +0100 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:55f1:c3a3:cdbe:bf52) (Ping timeout: 272 seconds) |
2020-11-23 00:27:13 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds) |
2020-11-23 00:31:41 +0100 | jbox | (~atlas@unaffiliated/jbox) |
2020-11-23 00:31:56 +0100 | incertia | (~incertia@d4-50-42-33.try.wideopenwest.com) (Ping timeout: 240 seconds) |
2020-11-23 00:33:19 +0100 | evanm | (182c6bd4@ool-182c6bd4.dyn.optonline.net) |
2020-11-23 00:34:37 +0100 | <dolio> | I mean, that probably makes sense, if it does what I think it does. Why not have some additional 'default language' levels that turn on a bunch of GHC stuff that is generally safe and useful, if that's the only tangible difference including them in the report makes? |
2020-11-23 00:34:37 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-11-23 00:35:02 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 00:35:03 +0100 | <Lycurgus> | since Algol, she's gotta have it |
2020-11-23 00:35:13 +0100 | hyiltiz | (~quassel@unaffiliated/hyiltiz) |
2020-11-23 00:35:13 +0100 | hyiltiz | (~quassel@unaffiliated/hyiltiz) (Client Quit) |
2020-11-23 00:36:30 +0100 | GuerrillaMonkey | (~Jeanne-Ka@66.115.189.157) (Ping timeout: 256 seconds) |
2020-11-23 00:36:40 +0100 | <Lycurgus> | only lumpen langs don't have a report |
2020-11-23 00:36:42 +0100 | Chi1thangoo | (~Chi1thang@87.112.60.168) (Ping timeout: 260 seconds) |
2020-11-23 00:37:28 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2020-11-23 00:38:03 +0100 | sondr3 | (~sondr3@cm-84.211.56.132.getinternet.no) (Quit: Leaving) |
2020-11-23 00:38:10 +0100 | Fractalis | (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) |
2020-11-23 00:38:27 +0100 | hyiltiz | (~quassel@unaffiliated/hyiltiz) |
2020-11-23 00:39:02 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 00:41:21 +0100 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-11-23 00:42:43 +0100 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
2020-11-23 00:43:28 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 246 seconds) |
2020-11-23 00:43:45 +0100 | hekkaidekapus_ | hekkaidekapus |
2020-11-23 00:44:41 +0100 | <hekkaidekapus> | dolio: “[GHC20XX] can be used as a language extension […] but also as a language versions in places where Haskell98 or Haskell2010 is valid.” |
2020-11-23 00:44:47 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Quit: Lost terminal) |
2020-11-23 00:45:10 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2020-11-23 00:45:14 +0100 | stu002 | (77120261@119-18-2-97.771202.syd.nbn.aussiebb.net) |
2020-11-23 00:46:02 +0100 | <hekkaidekapus> | That’s a low-key way of saying let’s throw away any attemps of making a new report geared to the ‘greater’ Haskell. |
2020-11-23 00:46:30 +0100 | <dminuoso> | hekkaidekapus: I thought everyone has given up on any further Haskell reports. |
2020-11-23 00:46:42 +0100 | <hekkaidekapus> | It seems so. |
2020-11-23 00:47:03 +0100 | <hekkaidekapus> | But that’s betting on GHC being forever maintained. |
2020-11-23 00:47:04 +0100 | <stu002> | Is there an idiomatic way to create a haddock hyperlink to a local file in the library source tree? I'd like to refer to the README and other markdown files from the package haddock docs |
2020-11-23 00:47:56 +0100 | <dminuoso> | hekkaidekapus: Well, what other implementation is keeping up with GHC extensions anyway? |
2020-11-23 00:48:01 +0100 | feliocrat | (~feliocrat@95.70.154.29) (Remote host closed the connection) |
2020-11-23 00:48:16 +0100 | <dminuoso> | hekkaidekapus: I mean it's largely a management and manpower problem |
2020-11-23 00:48:31 +0100 | <merijn> | UHC implements a handful, iirc |
2020-11-23 00:48:52 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
2020-11-23 00:48:55 +0100 | <dolio> | A new report isn't going to happen by making average users type more crap at the top of their files. |
2020-11-23 00:49:06 +0100 | <dminuoso> | hekkaidekapus: https://reasonablypolymorphic.com/blog/haskell202x/ |
2020-11-23 00:49:09 +0100 | <hekkaidekapus> | I’m not disputing the practical considerations of focusing on GHC right now. |
2020-11-23 00:49:35 +0100 | <dminuoso> | hekkaidekapus: Different people, different team, different job. |
2020-11-23 00:49:39 +0100 | <dminuoso> | It's not about "focusing on GHC" |
2020-11-23 00:50:14 +0100 | <merijn> | Haskell' needs a cat herder :p |
2020-11-23 00:51:02 +0100 | <hekkaidekapus> | If you are a compiler hacker in 2050, starting from a spec is far more interesting than reviving a 60 years old project. |
2020-11-23 00:51:55 +0100 | arahael | (~arahael@124-150-64-50.tpgi.com.au) (Quit: WeeChat 2.7.1) |
2020-11-23 00:56:23 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds) |
2020-11-23 00:58:04 +0100 | conal_ | (~conal@66.115.157.141) (Quit: Computer has gone to sleep.) |
2020-11-23 01:00:10 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 01:00:15 +0100 | atk | (~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.) |
2020-11-23 01:00:37 +0100 | m0rphism | (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 246 seconds) |
2020-11-23 01:01:08 +0100 | conal | (~conal@66.115.157.141) |
2020-11-23 01:01:39 +0100 | atk | (~Arch-TK@ircpuzzles/staff/Arch-TK) |
2020-11-23 01:05:37 +0100 | <hekkaidekapus> | dminuoso: I read the page you linked. The main point there is a need of Benefactor Dictator For Life. Let’s say that I am a bit skeptic. ;) |
2020-11-23 01:06:04 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 2.8) |
2020-11-23 01:06:44 +0100 | <dminuoso> | And funding. |
2020-11-23 01:06:46 +0100 | <dolio> | I don't understand the argument. First off, it's inappropriate for a language standard to specify things down to an intermediate language level. That means every compiler has to make a ton of decisions exactly like GHC down to a very low level. If you just want documentation of what GHC does, there's already a bunch of papers and wikis and users guides that actually describe GHC already. |
2020-11-23 01:07:36 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2020-11-23 01:08:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-11-23 01:08:35 +0100 | <hekkaidekapus> | dolio: If you check the backlog, you will see that I expressed a few hours ago that I am not fond of rigourous standards. |
2020-11-23 01:09:21 +0100 | <hekkaidekapus> | My argument here is that taking over Haskell98 and Haskell2010 by a backdoor is a sneaky way of handling matters. |
2020-11-23 01:12:33 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2020-11-23 01:12:48 +0100 | <hekkaidekapus> | As to why very detailed standard are not my cup of coffee, things end up set in stone, drastic changes practically impossible. |
2020-11-23 01:13:41 +0100 | weilzach | (~weilzach@pool-72-66-93-213.washdc.fios.verizon.net) |
2020-11-23 01:13:48 +0100 | <dminuoso> | Unrelatedly, is there some cool trick to traverse over a data structure and fail if it has more than one target? |
2020-11-23 01:13:59 +0100 | Lycurgus | (~niemand@98.4.114.74) (Quit: Exeunt) |
2020-11-23 01:14:09 +0100 | <dminuoso> | Beyond the very obvious toList and pattern matching on its length |
2020-11-23 01:14:09 +0100 | weilzach | (~weilzach@pool-72-66-93-213.washdc.fios.verizon.net) (Client Quit) |
2020-11-23 01:14:11 +0100 | <dolio> | Also, if you want an active standard process, you need to make new viable Haskell implementations. The standard process is useful as a way of codifying the commonalities of multiple implementations. That's how it originated. The standards process being useless is a symptom of GHC being the only viable choice. |
2020-11-23 01:15:29 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:6c06:c056:20b8:f8ee:6530) |
2020-11-23 01:15:31 +0100 | weilzach | (~weilzach@pool-72-66-93-213.washdc.fios.verizon.net) |
2020-11-23 01:15:43 +0100 | <dminuoso> | dolio: Perhaps, it could arguably also help in that regard. If we had a new vision of what "standard haskell" in the current state of haskell could be, it would reduce the willingness to flip on extensions and stick to "standard haskell" - perhaps opening up doors for newer implementations |
2020-11-23 01:15:50 +0100 | <dminuoso> | Right now hackage is extension wild west. |
2020-11-23 01:16:30 +0100 | <dolio> | You mean, like specifying a bunch of standard GHC extensions that are considered good enough to be mainstream? |
2020-11-23 01:16:35 +0100 | <dolio> | The 'sneaky' thing? |
2020-11-23 01:16:40 +0100 | <hekkaidekapus> | heh |
2020-11-23 01:16:57 +0100 | <dminuoso> | Not necessarily just that. But at least part of it, yes. |
2020-11-23 01:17:07 +0100 | Fractalis | (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) (Ping timeout: 260 seconds) |
2020-11-23 01:17:27 +0100 | weilzach | (~weilzach@pool-72-66-93-213.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-11-23 01:17:27 +0100 | <dminuoso> | Haskell has resulted from academics doing research and trying out ideas. GHCs extensions are just that process. |
2020-11-23 01:17:43 +0100 | <dminuoso> | I dont see anything fundamentally wrong as GHC extensions as precursors of haskell report features. |
2020-11-23 01:18:33 +0100 | weilzach | (~weilzach@pool-72-66-93-213.washdc.fios.verizon.net) |
2020-11-23 01:18:37 +0100 | <Axman6> | unpopular opinion: extensions are just language feature flags #facebookdev |
2020-11-23 01:19:10 +0100 | <hpc> | how else would you develop new language features, anyway? |
2020-11-23 01:19:29 +0100 | <Axman6> | laborious committee process like C++ |
2020-11-23 01:19:43 +0100 | jb55 | (~jb55@gateway/tor-sasl/jb55) (Ping timeout: 240 seconds) |
2020-11-23 01:19:52 +0100 | <hpc> | even then you have an implementation of it somewhere before it gets standardized |
2020-11-23 01:20:20 +0100 | <hekkaidekapus> | hpc: Let’s do that then. |
2020-11-23 01:20:45 +0100 | <hpc> | and then make that implementation optional |
2020-11-23 01:20:48 +0100 | vhs | (~vhs@41.44.147.255) (Remote host closed the connection) |
2020-11-23 01:20:56 +0100 | <hpc> | and then to make it easy to use, make it enabled with a comment at the top of the file |
2020-11-23 01:20:59 +0100 | <hpc> | :P |
2020-11-23 01:21:07 +0100 | vhs | (~vhs@41.44.147.255) |
2020-11-23 01:21:35 +0100 | <hekkaidekapus> | How many compilers are Report2010-compliants? |
2020-11-23 01:22:28 +0100 | <Axman6> | probably up to one |
2020-11-23 01:22:39 +0100 | <hekkaidekapus> | That’s a bummer. |
2020-11-23 01:22:53 +0100 | alp | (~alp@2a01:e0a:58b:4920:2d01:9668:71aa:c2be) (Ping timeout: 272 seconds) |
2020-11-23 01:23:00 +0100 | <hekkaidekapus> | No standard process possible with a singleton. |
2020-11-23 01:23:03 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 01:25:56 +0100 | <hekkaidekapus> | stu002: I am not aware of such a Haddock feature. |
2020-11-23 01:26:39 +0100 | <hekkaidekapus> | You can distribute the README by setting the `extra-files` in .cabal. |
2020-11-23 01:26:45 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-23 01:27:37 +0100 | <hekkaidekapus> | Some programmers make Haskell modules containing only documentation. Therein, the full extent of the Haddock syntax is available. |
2020-11-23 01:28:00 +0100 | <dolio> | Anyhow, my point is, don't think about this in a backwards way. Forcing people to demand the release of another 'official standard' before they can type less garbage in their files isn't going to create more Haskell implementations. Because the implementations created the standard, not the other way around. |
2020-11-23 01:29:16 +0100 | <dminuoso> | One prohibiting factor for new implementations to arise, is that without supporting most extensions, you couldn't use much of hackage. Transitively you quickly depend on a lot of extensions. |
2020-11-23 01:29:48 +0100 | <hekkaidekapus> | dolio: Point taken. |
2020-11-23 01:30:19 +0100 | arahael | (~arahael@124-150-64-50.tpgi.com.au) |
2020-11-23 01:30:38 +0100 | <hekkaidekapus> | stu002: For instance, this module has not a single Haskell identifier: <https://hackage.haskell.org/package/dhall-1.36.0/docs/Dhall-Tutorial.html> |
2020-11-23 01:30:43 +0100 | <dminuoso> | And part of why so packages so freely depend on extensions without caring about interoperability, is because there's not even some principle Haskell2020 that you could even adhere to |
2020-11-23 01:30:58 +0100 | <dminuoso> | The best we have is Haskell2010, and that's very limiting |
2020-11-23 01:31:10 +0100 | <dolio> | Even if there was, there would be no reason to not use GHC's extensions beyond 2020. |
2020-11-23 01:31:25 +0100 | <dolio> | Because there is no other compiler to use. |
2020-11-23 01:31:32 +0100 | fendor_ | (~fendor@91.141.2.69.wireless.dyn.drei.com) |
2020-11-23 01:31:51 +0100 | <dminuoso> | I guess it's a vicious circle. |
2020-11-23 01:32:49 +0100 | jb55 | (~jb55@gateway/tor-sasl/jb55) |
2020-11-23 01:33:29 +0100 | siwica | (~user@p200300f6171ea70026a3ceac3db524b2.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2020-11-23 01:33:45 +0100 | <monochrom> | At this point, you can compare (another Haskell compiler competing with GHC) with (a new manufacturer of photocopiers competing with existing brands) |
2020-11-23 01:33:52 +0100 | fendor__ | (~fendor@77.119.131.102.wireless.dyn.drei.com) (Ping timeout: 246 seconds) |
2020-11-23 01:33:58 +0100 | <dminuoso> | But I stand by my opinion that with a modern Haskell 202x standard, it would be easier to get people away from just using off-standard GHC extensions. |
2020-11-23 01:34:11 +0100 | <dminuoso> | Without a standard you can't even try |
2020-11-23 01:35:06 +0100 | <monochrom> | Users now have so much expectations of a Haskell compiler or a photocopier (now called "office document centre") that only GHC and only the existing very experienced manufacturers can live up to those expectations. |
2020-11-23 01:35:14 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 01:35:51 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 01:35:52 +0100 | jb55 | (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
2020-11-23 01:36:07 +0100 | <monochrom> | Indeed look at the feature creeps into GHC that bring it further and further away from very simple Haskell, and the feature creeps that turned simple photocopiers to monstrous know-it-alls. |
2020-11-23 01:36:13 +0100 | jb55 | (~jb55@gateway/tor-sasl/jb55) |
2020-11-23 01:36:41 +0100 | <dolio> | I don't think you need to compile hackage to be a useful Haskell compiler, incidentally. There's probably like 0.1% of hackage or less that matters. |
2020-11-23 01:36:56 +0100 | <dolio> | Maybe less. |
2020-11-23 01:37:34 +0100 | <dminuoso> | Ability to compile a notable portion of hackage is what a new implementation would require for good adoption. |
2020-11-23 01:37:52 +0100 | <dminuoso> | Unless this was an industry implementation for some special use |
2020-11-23 01:38:03 +0100 | <dolio> | PureScript compiles 0% of hackage, I expect. |
2020-11-23 01:38:11 +0100 | <dminuoso> | PureScript is not Haskell though. |
2020-11-23 01:38:22 +0100 | <dolio> | And yet people use it. |
2020-11-23 01:38:43 +0100 | <monochrom> | But purescript compiles 100% of the purescript library repository :) |
2020-11-23 01:39:11 +0100 | <hekkaidekapus> | dminuoso: That’s a tall order. Look at head.hackage and all the cycles going there to test new GHC features against a few Hackage packages. |
2020-11-23 01:39:21 +0100 | <dminuoso> | If you tell me "this is a haskell compiler", and yet it cant compile most packages dubbed as "haskell package", then why should I buy your implementation? |
2020-11-23 01:39:37 +0100 | <dolio> | monochrom: That's probably wrong, too. |
2020-11-23 01:39:40 +0100 | Tops2 | (~Tobias@dyndsl-095-033-027-066.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2020-11-23 01:39:46 +0100 | <dolio> | They keep making major language changes. |
2020-11-23 01:39:53 +0100 | <dolio> | Or at least, did in the past. |
2020-11-23 01:40:03 +0100 | <monochrom> | There is the expectattion that if you called your compiler "purescript compiler" people don't expect it to be compatible with any of Hackage, whereas if you call it "Haskell compiler" people suddenly do. |
2020-11-23 01:40:26 +0100 | <monochrom> | Ah OK, oh well. |
2020-11-23 01:40:55 +0100 | <dolio> | dminuoso: Why would anyone buy it, period. The problem is, there's nothing that isn't GHC that has a tangible reason for people to use it. The tangible reason to not use GHC comes first. |
2020-11-23 01:41:01 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-11-23 01:41:37 +0100 | <dminuoso> | That's a fair point. |
2020-11-23 01:41:39 +0100 | <hekkaidekapus> | dolio: You seem to be okay with monocultures. |
2020-11-23 01:41:53 +0100 | <dminuoso> | I don't think dolio suggested he's *okay* with the situation. |
2020-11-23 01:42:26 +0100 | <hekkaidekapus> | I got the point about implementations preceding standardisation. |
2020-11-23 01:42:28 +0100 | <dolio> | I'm describing what the reality is, yes. |
2020-11-23 01:42:51 +0100 | <dolio> | If you don't like it, you need to change the reality. |
2020-11-23 01:43:10 +0100 | <stu002> | @hekkaidekapus thanks for that |
2020-11-23 01:43:10 +0100 | <lambdabot> | Unknown command, try @list |
2020-11-23 01:43:28 +0100 | <hekkaidekapus> | stu002: yw |
2020-11-23 01:43:59 +0100 | <dminuoso> | Perhaps its actually projects like Frege that could drive alternate implementations. |
2020-11-23 01:44:21 +0100 | weilzach | (~weilzach@pool-72-66-93-213.washdc.fios.verizon.net) () |
2020-11-23 01:44:35 +0100 | <dminuoso> | A reason not to use GHC is because you might want more free interop with the JVM if inline-java is not enough. |
2020-11-23 01:44:44 +0100 | <monochrom> | I suddenly have a feeling that the Haskell Report died because Paul Hudak died. |
2020-11-23 01:44:47 +0100 | <dminuoso> | At the very least that's a large industry. |
2020-11-23 01:45:03 +0100 | <dolio> | If there were a real alternative to GHC that did something way better, but didn't implement all of GHC's stuff, there'd be people saying, "hey, can you make stuff compatible with this other thing? Maybe we should standardize it." |
2020-11-23 01:45:37 +0100 | <dminuoso> | dolio: Yeah. Frege fits that description exactly I guess. |
2020-11-23 01:45:57 +0100 | <dolio> | But making the alternative is the significant work, and just asking people to behave as if that other thing existed won't make the work happen, and eventually people will notice that you're asking them to do a lot of work conforming to your morality for no real benefit. |
2020-11-23 01:46:36 +0100 | cosimone | (~cosimone@5.171.24.24) |
2020-11-23 01:46:56 +0100 | <monochrom> | Yeah, hell, when I write in C I code to folklore x86-64 C, not the C standard. |
2020-11-23 01:47:32 +0100 | <dminuoso> | Heh, barely anyone ever adheres to the C standard |
2020-11-23 01:47:36 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 240 seconds) |
2020-11-23 01:47:57 +0100 | <monochrom> | When I teach Haskell to students I shamelessly say "lazy evaluation" not what the Haskell Report tries to avoid to say. |
2020-11-23 01:48:16 +0100 | <monochrom> | (BTW IMO the Haskell Report also fails in its attempt to shy away from lazy evaluation.) |
2020-11-23 01:48:22 +0100 | <dminuoso> | Most of C appears to be not even folklore C but "whatever I imagine"-C |
2020-11-23 01:48:29 +0100 | <hekkaidekapus> | Standards are for compiler implementors anyway. |
2020-11-23 01:48:42 +0100 | <monochrom> | (For example explain to me why else "seq" is called "seq" not merely "strict" or "strictify") |
2020-11-23 01:48:45 +0100 | <dminuoso> | hekkaidekapus: That's a pretty inadequate bar, honestly. |
2020-11-23 01:48:52 +0100 | <hekkaidekapus> | heh |
2020-11-23 01:49:00 +0100 | <dminuoso> | If only language implementors can read it, how should a language user understand your language? |
2020-11-23 01:49:45 +0100 | cosimone | (~cosimone@5.171.24.24) (Client Quit) |
2020-11-23 01:50:11 +0100 | <dminuoso> | If you take this to the extreme you end with something like C++ where not even the C++ committee understands what some of their standard means. |
2020-11-23 01:50:22 +0100 | cosimone | (~user@5.171.24.24) |
2020-11-23 01:50:35 +0100 | cosimone | (~user@5.171.24.24) (Remote host closed the connection) |
2020-11-23 01:50:56 +0100 | conal | (~conal@66.115.157.141) (Quit: Computer has gone to sleep.) |
2020-11-23 01:51:09 +0100 | <dminuoso> | [13] is a great source for inconclusive debates |
2020-11-23 01:51:32 +0100 | <hekkaidekapus> | I bet LLVM and GCC coders have a great grasp of the standard (those not on the C++ committee). |
2020-11-23 01:51:42 +0100 | cosimone | (~user@5.171.24.24) |
2020-11-23 01:51:45 +0100 | hekkaidekapus | is just hyperboling at this point. |
2020-11-23 01:52:02 +0100 | <int-e> | monochrom: you like puns, how would you like an independent Haskell implementation without type literals and type-in-type shenanigans? :) |
2020-11-23 01:52:25 +0100 | <monochrom> | Hrm, why is pun involved in that? |
2020-11-23 01:52:34 +0100 | cosimone | (~user@5.171.24.24) (Remote host closed the connection) |
2020-11-23 01:52:50 +0100 | <monochrom> | Oh hahahahaha |
2020-11-23 01:52:59 +0100 | <int-e> | (More seriously though, without another relevant Haskell implementation, the point of a standard is rather moon.) |
2020-11-23 01:53:06 +0100 | <int-e> | moot. |
2020-11-23 01:53:26 +0100 | <hekkaidekapus> | Define: relevant. |
2020-11-23 01:53:40 +0100 | <hekkaidekapus> | Implementing the previous standard? |
2020-11-23 01:53:50 +0100 | <int-e> | No, actually in use. |
2020-11-23 01:54:07 +0100 | <monochrom> | I have a weak reason for wishing for a standard even though there is only one implementation. Much more precise, reliable documentation of what the hell the implementation does. |
2020-11-23 01:54:13 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 264 seconds) |
2020-11-23 01:54:17 +0100 | conal | (~conal@66.115.157.141) |
2020-11-23 01:54:36 +0100 | <dolio> | Weren't you the one that said GHC is better documented than the actual standard? :þ |
2020-11-23 01:54:41 +0100 | <dminuoso> | int-e: okay it took me a minute to get the pub. quite cute |
2020-11-23 01:55:26 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-11-23 01:55:54 +0100 | <monochrom> | I think I didn't say quite that quite directly. What I really think though is GHC is less worse than the Haskell Report. |
2020-11-23 01:56:34 +0100 | <monochrom> | And GHC's is somewhat better than "less worse" (but not a lot better) if you also include the papers it cites. |
2020-11-23 01:57:19 +0100 | <monochrom> | For example if you're looking for the typing rules of GHC 9's RankNTypes, you'd better read that bidirectional inference paper. |
2020-11-23 01:57:37 +0100 | <dolio> | Yeah. |
2020-11-23 01:57:39 +0100 | <monochrom> | rules that should have been in a standardized document. |
2020-11-23 01:58:18 +0100 | Jonkimi727406120 | (~Jonkimi@113.87.161.66) |
2020-11-23 01:58:18 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-11-23 01:58:33 +0100 | <dolio> | It'd be nice if their wiki gave a compilation of how it works, since you never know what all from the past is relevant. |
2020-11-23 01:58:34 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 01:58:36 +0100 | cosimone | (~user@5.171.24.24) |
2020-11-23 01:59:15 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
2020-11-23 01:59:29 +0100 | <Axman6> | The top story on lobste.rs has the title "Booting from a vinyl record" and I was sad to see it wasn't haskell related |
2020-11-23 01:59:51 +0100 | <monochrom> | heh |
2020-11-23 02:00:55 +0100 | cosimone | (~user@5.171.24.24) (Client Quit) |
2020-11-23 02:02:36 +0100 | <monochrom> | err, the bidirectional inference paper for pre-9 RankNTypes; the quick-look paper for post-9 RankNTypes and impredicativity. |
2020-11-23 02:03:04 +0100 | <monochrom> | but the latter tells you that they assume you have read the former, so you're still toasted. |
2020-11-23 02:04:39 +0100 | <monochrom> | What I fear is that if a comittee were formed to add these to Haskell Report, a very vocal, counterproductive minority would argue "cannot go with these rules verbatim, we need to allow different compilers to make different trade-offs" |
2020-11-23 02:04:59 +0100 | LKoen | (~LKoen@169.244.88.92.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-23 02:05:14 +0100 | <monochrom> | And that will land you with: either no change to the Haskell Report, or the C standard. |
2020-11-23 02:07:03 +0100 | <dolio> | Yeah, that would probably be useless. |
2020-11-23 02:07:18 +0100 | tv- | (~tv@unaffiliated/tv-) (Quit: WeeChat 2.8) |
2020-11-23 02:08:08 +0100 | <dolio> | Although what would the situation be if it were standardized? GHC keeps changing what you're allowed to do. |
2020-11-23 02:08:15 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2020-11-23 02:08:20 +0100 | <dolio> | Would the standard keep shifting? |
2020-11-23 02:10:59 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) |
2020-11-23 02:11:09 +0100 | <monochrom> | That's a tough one. My preference is GHC changes quickly, the standard changes slowly to summarize the sweet spots GHC has found. |
2020-11-23 02:11:14 +0100 | <dolio> | I think a lot of the development has been allowing it to infer strictly more cases, but sometimes it has switched trade-offs. |
2020-11-23 02:11:47 +0100 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2020-11-23 02:12:54 +0100 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2020-11-23 02:13:30 +0100 | <dolio> | Oh, and of course, keeping multiple, distinct checking algorithms around in a single implementation wouldn't be very nice. :) |
2020-11-23 02:13:41 +0100 | <dolio> | So that wouldn't be a solution. |
2020-11-23 02:14:01 +0100 | vhs | (~vhs@41.44.147.255) (Quit: Leaving) |
2020-11-23 02:14:07 +0100 | guest1123 | (~user@49.5.6.87) |
2020-11-23 02:14:30 +0100 | conal | (~conal@66.115.157.141) (Quit: Computer has gone to sleep.) |
2020-11-23 02:15:32 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 02:16:31 +0100 | <monochrom> | Windows 95 managed to have two kernels inside it haha |
2020-11-23 02:18:14 +0100 | <monochrom> | to be sure, you would be fair to point out "that exactly shows what wrong with it" |
2020-11-23 02:18:46 +0100 | Feuermagier | (~Feuermagi@213.178.26.41) (Remote host closed the connection) |
2020-11-23 02:19:02 +0100 | Feuermagier | (~Feuermagi@213.178.26.41) |
2020-11-23 02:19:39 +0100 | conal | (~conal@66.115.157.141) |
2020-11-23 02:19:39 +0100 | conal | (~conal@66.115.157.141) (Remote host closed the connection) |
2020-11-23 02:20:35 +0100 | Fractalis | (~Fractalis@2601:987:280:8d40:389d:748e:cbb9:62) |
2020-11-23 02:21:08 +0100 | <dolio> | Lots more workers, too. |
2020-11-23 02:23:26 +0100 | JWS | (8d54455c@141.84.69.92) |
2020-11-23 02:25:13 +0100 | incertia | (~incertia@d4-50-26-103.nap.wideopenwest.com) |
2020-11-23 02:27:05 +0100 | mirrorbird | (~psutcliff@89.45.7.148) (Ping timeout: 240 seconds) |
2020-11-23 02:29:27 +0100 | Fractalis | (~Fractalis@2601:987:280:8d40:389d:748e:cbb9:62) (Ping timeout: 260 seconds) |
2020-11-23 02:31:40 +0100 | jedws | (~jedws@101.184.150.93) |
2020-11-23 02:35:12 +0100 | Lord_of_Life | (~Lord@46.217.221.12) |
2020-11-23 02:35:37 +0100 | Lord_of_Life_ | (~Lord@46.217.221.152) (Ping timeout: 264 seconds) |
2020-11-23 02:36:31 +0100 | JWS | (8d54455c@141.84.69.92) (Remote host closed the connection) |
2020-11-23 02:45:28 +0100 | incertia | (~incertia@d4-50-26-103.nap.wideopenwest.com) (Quit: ZNC 1.7.5 - https://znc.in) |
2020-11-23 02:45:47 +0100 | incertia | (~incertia@d4-50-26-103.nap.wideopenwest.com) |
2020-11-23 02:46:15 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 02:46:30 +0100 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) (Remote host closed the connection) |
2020-11-23 02:46:48 +0100 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) |
2020-11-23 02:48:26 +0100 | stu002 | (77120261@119-18-2-97.771202.syd.nbn.aussiebb.net) (Remote host closed the connection) |
2020-11-23 02:50:01 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-11-23 02:53:37 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 264 seconds) |
2020-11-23 02:54:36 +0100 | sdrodge | (~sdrodge@unaffiliated/sdrodge) |
2020-11-23 02:57:36 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 265 seconds) |
2020-11-23 02:58:34 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-11-23 02:58:57 +0100 | incertia | (~incertia@d4-50-26-103.nap.wideopenwest.com) (Quit: ZNC 1.7.5 - https://znc.in) |
2020-11-23 03:00:19 +0100 | Entertainment | (~entertain@104.246.132.210) (Ping timeout: 246 seconds) |
2020-11-23 03:01:03 +0100 | incertia | (~incertia@d4-50-26-103.nap.wideopenwest.com) |
2020-11-23 03:02:08 +0100 | cosimone | (~user@5.171.24.24) |
2020-11-23 03:03:22 +0100 | cosimone | (~user@5.171.24.24) (Client Quit) |
2020-11-23 03:05:24 +0100 | cosimone | (~user@5.171.24.24) |
2020-11-23 03:06:30 +0100 | incertia_ | (~incertia@d4-50-26-103.nap.wideopenwest.com) |
2020-11-23 03:06:37 +0100 | cosimone | (~user@5.171.24.24) (Remote host closed the connection) |
2020-11-23 03:06:42 +0100 | tv- | (~tv@unaffiliated/tv-) |
2020-11-23 03:07:00 +0100 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) (Remote host closed the connection) |
2020-11-23 03:07:18 +0100 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) |
2020-11-23 03:08:01 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-23 03:08:22 +0100 | incertia | (~incertia@d4-50-26-103.nap.wideopenwest.com) (Ping timeout: 260 seconds) |
2020-11-23 03:09:40 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 03:11:39 +0100 | jb55 | (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
2020-11-23 03:11:58 +0100 | jb55 | (~jb55@gateway/tor-sasl/jb55) |
2020-11-23 03:13:15 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 03:14:40 +0100 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 246 seconds) |
2020-11-23 03:17:05 +0100 | Deide | (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
2020-11-23 03:18:27 +0100 | renzhi | (~renzhi@2607:fa49:655f:e600::28da) (Ping timeout: 260 seconds) |
2020-11-23 03:19:10 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 03:20:17 +0100 | Sarma | (~Amras@unaffiliated/amras0000) |
2020-11-23 03:24:05 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-11-23 03:28:55 +0100 | boxscape | (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) |
2020-11-23 03:29:02 +0100 | <boxscape> | :o are there no operator sections on the type level? |
2020-11-23 03:29:26 +0100 | <boxscape> | % :kind (+ 4) 6 |
2020-11-23 03:29:26 +0100 | <yahb> | boxscape: ; <interactive>:1:2: error: Operator applied to too few arguments: + |
2020-11-23 03:30:03 +0100 | <boxscape> | I can see why it's not a thing for type families (since we don't have unsaturated ones yet) but it seems like it should work for type constructors at least |
2020-11-23 03:30:16 +0100 | <boxscape> | but it's syntax error from what I can tell :( |
2020-11-23 03:32:54 +0100 | <monochrom> | There is no type-level lambda, therefore no type operator sections. |
2020-11-23 03:33:00 +0100 | hackage | sr-extra 1.85 - Module limbo https://hackage.haskell.org/package/sr-extra-1.85 (DavidFox) |
2020-11-23 03:34:22 +0100 | <monochrom> | OK, one of them is OK, (Int :+:) is just (:+:) Int, uncontroversial. I guess no one got around to implement it. |
2020-11-23 03:34:29 +0100 | jedws | (~jedws@101.184.150.93) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-11-23 03:35:07 +0100 | <boxscape> | hm, maybe I'll look into it once we have unsaturated type families, which I think might make it worth it |
2020-11-23 03:35:15 +0100 | xff0x | (~fox@2001:1a81:53fc:6700:2ab6:9c1b:8ed5:c7e5) (Ping timeout: 272 seconds) |
2020-11-23 03:35:19 +0100 | solonarv | (~solonarv@astrasbourg-653-1-156-4.w90-6.abo.wanadoo.fr) (Ping timeout: 246 seconds) |
2020-11-23 03:36:04 +0100 | sleblanc | (~sleblanc@unaffiliated/sebleblanc) |
2020-11-23 03:36:34 +0100 | xff0x | (~fox@2001:1a81:5237:b800:d8c8:bfa0:43f3:b736) |
2020-11-23 03:36:55 +0100 | <sleblanc> | I like XMonad's approach to configuration, where it "recompiles" itself when you update your configuration file. How does XMonad do it? |
2020-11-23 03:40:16 +0100 | Iceland_jack | (~user@31.124.48.169) (Ping timeout: 240 seconds) |
2020-11-23 03:40:25 +0100 | jedws | (~jedws@101.184.150.93) |
2020-11-23 03:41:11 +0100 | toorevitimirp | (~tooreviti@117.182.183.18) |
2020-11-23 03:41:16 +0100 | jedws | (~jedws@101.184.150.93) (Client Quit) |
2020-11-23 03:43:36 +0100 | mozzarella | (~sam@unaffiliated/sam113101) (Ping timeout: 272 seconds) |
2020-11-23 03:46:01 +0100 | mozzarella | (~sam@unaffiliated/sam113101) |
2020-11-23 03:47:36 +0100 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) (Remote host closed the connection) |
2020-11-23 03:48:30 +0100 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) |
2020-11-23 03:49:56 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 272 seconds) |
2020-11-23 03:50:21 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 03:50:55 +0100 | <sim590> | I have this code: https://paste.debian.net/1173920/ which makes use of lenses. It is a multi constructor data type. One of which doesn't have private key, hence using (view privateKey) asks me to put the Monoid constraint on my function. How can I solve that? |
2020-11-23 03:51:05 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
2020-11-23 03:51:24 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2020-11-23 03:51:32 +0100 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) |
2020-11-23 03:52:28 +0100 | Cthalupa | (~cthulhu@47.186.47.75) (Ping timeout: 272 seconds) |
2020-11-23 03:52:56 +0100 | <sim590> | Is there a way to call some Lens magic functions that would return (Maybe v) instead of the plain (view privateKey) ? |
2020-11-23 03:53:26 +0100 | kupi | (uid212005@gateway/web/irccloud.com/x-fgjaulxwhgglmlzx) (Quit: Connection closed for inactivity) |
2020-11-23 03:53:26 +0100 | Cthalupa | (~cthulhu@47.186.47.75) |
2020-11-23 03:55:55 +0100 | <dibblego> | you'd use a Traversal |
2020-11-23 03:58:02 +0100 | LostCanvas | (~iharper@75-108-155-188.chstcmtk01.res.dyn.suddenlink.net) ("Leaving") |
2020-11-23 03:58:53 +0100 | <sim590> | dibblego: hmmmmmm. OK. |
2020-11-23 03:59:00 +0100 | <sim590> | I'm a bit new to lenses. |
2020-11-23 03:59:43 +0100 | acidjnk_new | (~acidjnk@p200300d0c719ff94358934eb0dfd70c0.dip0.t-ipconnect.de) |
2020-11-23 03:59:53 +0100 | <dibblego> | _StartUpRemoteUser :: Prism' (UserInfo v b) (v, b) |
2020-11-23 04:00:03 +0100 | <dibblego> | _StartUpRemoteUser_privateKey :: Traversal' (UserInfo v b) v |
2020-11-23 04:03:25 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2020-11-23 04:04:19 +0100 | <sim590> | OK. I didn't understand the types you wrote... I'm sorry. However, I found that I can use (^?) instead of view. I really need to a good course on lenses. |
2020-11-23 04:04:24 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-23 04:04:29 +0100 | <sim590> | I've watched and read already, but not enough. |
2020-11-23 04:05:20 +0100 | Fractalis | (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) |
2020-11-23 04:06:02 +0100 | <dibblego> | or use preview |
2020-11-23 04:06:08 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 04:08:07 +0100 | jedws | (~jedws@101.184.150.93) |
2020-11-23 04:08:10 +0100 | Lowl3v3l | (~Lowl3v3l@dslb-090-186-186-201.090.186.pools.vodafone-ip.de) (Ping timeout: 265 seconds) |
2020-11-23 04:09:49 +0100 | <dibblego> | https://gist.github.com/tonymorris/1bbc3aff874a97722d78cb9a9154c494 |
2020-11-23 04:10:35 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 265 seconds) |
2020-11-23 04:12:37 +0100 | <sim590> | So that's what makePrisms and makeLenses expand to (partly)? |
2020-11-23 04:13:46 +0100 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2020-11-23 04:15:26 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-11-23 04:16:28 +0100 | clynamen | (~clynamen@net-2-35-88-16.cust.vodafonedsl.it) (Read error: Connection reset by peer) |
2020-11-23 04:16:30 +0100 | <dibblego> | yes |
2020-11-23 04:16:42 +0100 | <dibblego> | makePrisms makes that prism among other things |
2020-11-23 04:16:51 +0100 | justsomeguy | (~justsomeg@216.186.218.241) |
2020-11-23 04:16:51 +0100 | justsomeguy | (~justsomeg@216.186.218.241) (Changing host) |
2020-11-23 04:16:51 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
2020-11-23 04:19:04 +0100 | noteness | (noteness@unaffiliated/nessessary129) (Quit: I'LL BE BACK) |
2020-11-23 04:19:23 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-23 04:20:04 +0100 | clynamen | (~clynamen@37.183.22.31) |
2020-11-23 04:21:14 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-11-23 04:22:39 +0100 | Lowl3v3l | (~Lowl3v3l@dslb-088-072-167-013.088.072.pools.vodafone-ip.de) |
2020-11-23 04:24:50 +0100 | dftxbs3e_ | (~dftxbs3e@unaffiliated/dftxbs3e) |
2020-11-23 04:24:52 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-11-23 04:27:49 +0100 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) (Ping timeout: 264 seconds) |
2020-11-23 04:28:03 +0100 | dftxbs3e_ | (~dftxbs3e@unaffiliated/dftxbs3e) (Remote host closed the connection) |
2020-11-23 04:29:43 +0100 | Sarma | (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds) |
2020-11-23 04:31:15 +0100 | koala_man | (~vidar@unaffiliated/koala-man/x-2491903) (Remote host closed the connection) |
2020-11-23 04:35:55 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2020-11-23 04:39:06 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 265 seconds) |
2020-11-23 04:40:27 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-11-23 04:42:25 +0100 | lagothrix | Guest16478 |
2020-11-23 04:42:25 +0100 | Guest16478 | (~lagothrix@unaffiliated/lagothrix) (Killed (orwell.freenode.net (Nickname regained by services))) |
2020-11-23 04:42:31 +0100 | lagothrix | (~lagothrix@unaffiliated/lagothrix) |
2020-11-23 04:43:03 +0100 | drbean | (~drbean@TC210-63-209-85.static.apol.com.tw) |
2020-11-23 04:48:06 +0100 | theDon | (~td@muedsl-82-207-238-007.citykom.de) (Ping timeout: 256 seconds) |
2020-11-23 04:48:59 +0100 | whatisRT | (~whatisRT@2002:5b41:6a33:0:d589:f18c:8211:e758) |
2020-11-23 04:49:56 +0100 | jlamothe | (~jlamothe@198.251.55.207) (Ping timeout: 240 seconds) |
2020-11-23 04:50:00 +0100 | theDon | (~td@94.134.91.120) |
2020-11-23 04:55:36 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 04:58:54 +0100 | <ezzieyguywuf> | in hledger do I have to use $ for dollars, or can I use "USD" like in beancount? |
2020-11-23 05:00:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-11-23 05:00:49 +0100 | z0 | (~z0@188.251.79.4) |
2020-11-23 05:01:28 +0100 | z0 | (~z0@188.251.79.4) (Client Quit) |
2020-11-23 05:01:52 +0100 | <jle`> | ezzieyguywuf: there are no built-in currencies i believe, either are valid currency labels |
2020-11-23 05:02:01 +0100 | <ezzieyguywuf> | jle`: 👍️ |
2020-11-23 05:02:01 +0100 | <jle`> | so there is no special-casing for dollars |
2020-11-23 05:02:05 +0100 | <ezzieyguywuf> | gotcha |
2020-11-23 05:02:15 +0100 | <ezzieyguywuf> | I'm used to the USD now, so I think I'll just go with that |
2020-11-23 05:02:37 +0100 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection) |
2020-11-23 05:03:08 +0100 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-11-23 05:06:46 +0100 | <MarcelineVQ> | there's a #hledger channel too that's quite helpful |
2020-11-23 05:06:58 +0100 | <MarcelineVQ> | in particular due to sm[m] |
2020-11-23 05:15:28 +0100 | <texasmynsted> | Where may I find more information about how to best unit test modules. Specifically if you use something like hunit, how do you test code in a module that is not exported? |
2020-11-23 05:15:46 +0100 | boxscape | (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Ping timeout: 246 seconds) |
2020-11-23 05:17:45 +0100 | Jonkimi727406120 | (~Jonkimi@113.87.161.66) (Ping timeout: 240 seconds) |
2020-11-23 05:19:05 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 240 seconds) |
2020-11-23 05:19:38 +0100 | Saukk | (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) |
2020-11-23 05:20:07 +0100 | keep_learning | (~keep_lear@43.231.26.152) |
2020-11-23 05:22:07 +0100 | <hololeap> | is hledger really more useful than a spreadsheet? |
2020-11-23 05:22:46 +0100 | <MarcelineVQ> | idk but it's pretty nice |
2020-11-23 05:23:14 +0100 | <sleblanc> | hololeap, for one, hledger supports currencies and ad-hoc commodities |
2020-11-23 05:23:15 +0100 | cosimone | (~cosimone@5.171.24.44) |
2020-11-23 05:23:35 +0100 | <hololeap> | i took a look at it once and didn't understand what was so good about it. i'm sure i didn't give it enough of a chance. |
2020-11-23 05:24:00 +0100 | <sleblanc> | hololeap, I hope no one is trying to sell it to you |
2020-11-23 05:24:34 +0100 | <hololeap> | no, i was just looking for a ledger program, and i like haskell. seemed like a natural choice to check it out. |
2020-11-23 05:25:58 +0100 | <hololeap> | it seems popular enough, though |
2020-11-23 05:26:07 +0100 | <MarcelineVQ> | I find it really convenient to edit plaintext files rather than work in a spreadsheet, especially to add more-specific/sub accounts on the fly |
2020-11-23 05:28:09 +0100 | jlamothe | (~jlamothe@198.251.55.207) |
2020-11-23 05:29:36 +0100 | <jle`> | hololeap: for me i sort of juts treat it like spreadsheet with built in command line tools for querying and stuff |
2020-11-23 05:30:08 +0100 | <jle`> | so i don't have to implement it all myself |
2020-11-23 05:30:49 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 264 seconds) |
2020-11-23 05:30:57 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 05:32:06 +0100 | <jle`> | it makes it more simple to do double-entry accounting too |
2020-11-23 05:37:38 +0100 | <dsal> | texasmynsted: You don't test stuff that's not exported. You can't import it to test it. What kind of testing are you doing? hunit style is usually my second choice. |
2020-11-23 05:39:30 +0100 | awk | (~mnrmnaugh@unaffiliated/mnrmnaugh) (Remote host closed the connection) |
2020-11-23 05:43:38 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
2020-11-23 05:43:48 +0100 | keep_learning | (~keep_lear@43.231.26.152) (Quit: Leaving) |
2020-11-23 05:43:50 +0100 | <sm[m]> | hail hololeap! It's a good question, I think each is good at certain things |
2020-11-23 05:44:53 +0100 | <texasmynsted> | Have some routines to read TSV files for redirects and things. I only export the data and the functions needed. I wanted to add and test some validation. I have a redirect so two URLs per record. |
2020-11-23 05:45:32 +0100 | <texasmynsted> | I want to validate that the first URL is relative, not absolute and does not start with /. I would not export this validation function but I would like to test it. |
2020-11-23 05:46:38 +0100 | cosimone | (~cosimone@5.171.24.44) (Quit: cosimone) |
2020-11-23 05:46:46 +0100 | falafel | (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) |
2020-11-23 05:46:52 +0100 | <texasmynsted> | How would you handle this? |
2020-11-23 05:47:15 +0100 | SanchayanMaity | (~Sanchayan@106.200.254.25) |
2020-11-23 05:51:51 +0100 | Jonkimi727406120 | (~Jonkimi@113.87.161.66) |
2020-11-23 05:52:08 +0100 | <texasmynsted> | It seems like if it is exported it is a bit more like an integration test than a unit test. |
2020-11-23 05:52:24 +0100 | <texasmynsted> | I do not care what it is called though |
2020-11-23 05:55:47 +0100 | MrSalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
2020-11-23 05:56:19 +0100 | fxg | (~fxg@unaffiliated/fxg) |
2020-11-23 05:58:22 +0100 | <dsal> | My first choice is usually property tests. Define what a kinds of things make up a valid relative URL. Verify you parse it as such. |
2020-11-23 06:00:48 +0100 | <dsal> | You can get a massive amount of test coverage (usually including things you didn't think of) this way. I assume you've got a RelativeURL type. You just need an Arbitrary instance and a way to serialize it to a string in the format the parser wants. Then you just ask if there's any valid RelativeURL that can't be parsed as a RelativeURL. |
2020-11-23 06:02:01 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 264 seconds) |
2020-11-23 06:05:14 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-11-23 06:07:22 +0100 | Jonkimi727406120 | (~Jonkimi@113.87.161.66) (Ping timeout: 272 seconds) |
2020-11-23 06:07:52 +0100 | whatisRT | (~whatisRT@2002:5b41:6a33:0:d589:f18c:8211:e758) (Quit: ZNC 1.7.5 - https://znc.in) |
2020-11-23 06:08:17 +0100 | <dsal> | Your test could be something like this: |
2020-11-23 06:08:18 +0100 | <dsal> | @check read . show >>= (===) |
2020-11-23 06:08:20 +0100 | <lambdabot> | +++ OK, passed 100 tests. |
2020-11-23 06:09:14 +0100 | <dsal> | I use that kind of thing when I hand-write read or show (or do some other kind of parser/serialize thing). |
2020-11-23 06:16:07 +0100 | ggole | (~ggole@2001:8003:8119:7200:1c3c:45be:a6d:c507) |
2020-11-23 06:19:03 +0100 | <texasmynsted> | :-) |
2020-11-23 06:19:25 +0100 | <texasmynsted> | nice |
2020-11-23 06:19:27 +0100 | <texasmynsted> | thank you |
2020-11-23 06:20:26 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2020-11-23 06:21:31 +0100 | hackage | time 1.11.1 - A time library https://hackage.haskell.org/package/time-1.11.1 (AshleyYakeley) |
2020-11-23 06:28:02 +0100 | Fractalis | (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) (Ping timeout: 260 seconds) |
2020-11-23 06:31:31 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-11-23 06:32:01 +0100 | texasmynsted | (~texasmyns@212.102.45.121) (Remote host closed the connection) |
2020-11-23 06:32:28 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 06:32:52 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 06:35:56 +0100 | redmp | (~redmp@mobile-166-137-178-144.mycingular.net) (Ping timeout: 240 seconds) |
2020-11-23 06:37:55 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-11-23 06:38:24 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 06:49:26 +0100 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) |
2020-11-23 06:52:30 +0100 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...) |
2020-11-23 06:52:49 +0100 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) |
2020-11-23 06:55:39 +0100 | koala_man | (~vidar@157.146.251.23.bc.googleusercontent.com) |
2020-11-23 06:55:39 +0100 | koala_man | (~vidar@157.146.251.23.bc.googleusercontent.com) (Changing host) |
2020-11-23 06:55:39 +0100 | koala_man | (~vidar@unaffiliated/koala-man/x-2491903) |
2020-11-23 06:59:41 +0100 | knupfer | (~Thunderbi@i59F7FFC3.versanet.de) |
2020-11-23 07:03:14 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) |
2020-11-23 07:08:02 +0100 | guest112` | (~user@49.5.6.87) |
2020-11-23 07:08:16 +0100 | Jonkimi727406120 | (~Jonkimi@113.87.161.66) |
2020-11-23 07:09:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 07:12:15 +0100 | guest1123 | (~user@49.5.6.87) (Ping timeout: 256 seconds) |
2020-11-23 07:12:36 +0100 | knupfer | (~Thunderbi@i59F7FFC3.versanet.de) (Ping timeout: 256 seconds) |
2020-11-23 07:12:48 +0100 | Jonkimi727406120 | (~Jonkimi@113.87.161.66) (Ping timeout: 265 seconds) |
2020-11-23 07:14:12 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2020-11-23 07:23:14 +0100 | Jonkimi727406120 | (~Jonkimi@113.87.161.66) |
2020-11-23 07:24:13 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
2020-11-23 07:28:18 +0100 | cur8or | (~cur8or@2c0f:fbe1:3:17:d58e:e362:b2fa:46da) |
2020-11-23 07:29:15 +0100 | dennisb | (~dennisb@89-160-106-195.cust.bredband2.com) (Ping timeout: 256 seconds) |
2020-11-23 07:32:58 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2020-11-23 07:35:21 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
2020-11-23 07:36:05 +0100 | maksio | (~user@185.246.204.42) |
2020-11-23 07:39:59 +0100 | Jonkimi727406120 | (~Jonkimi@113.87.161.66) (Ping timeout: 260 seconds) |
2020-11-23 07:42:13 +0100 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
2020-11-23 07:43:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-11-23 07:43:54 +0100 | Saukk | (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection) |
2020-11-23 07:44:05 +0100 | Jonkimi727406120 | (~Jonkimi@113.87.161.66) |
2020-11-23 07:44:33 +0100 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) |
2020-11-23 07:45:02 +0100 | falafel | (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) (Ping timeout: 260 seconds) |
2020-11-23 07:46:19 +0100 | coot | (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) |
2020-11-23 07:51:15 +0100 | Sarma | (~Amras@unaffiliated/amras0000) |
2020-11-23 07:53:03 +0100 | dansho | (~dansho@ip68-108-167-185.lv.lv.cox.net) |
2020-11-23 07:57:45 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
2020-11-23 08:04:03 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
2020-11-23 08:08:23 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-11-23 08:08:23 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2020-11-23 08:08:42 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds) |
2020-11-23 08:10:41 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 08:10:53 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-11-23 08:11:13 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2020-11-23 08:11:33 +0100 | ironmarx | (~ironmarx@185.163.110.116) (Remote host closed the connection) |
2020-11-23 08:13:18 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-11-23 08:15:36 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-11-23 08:15:51 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 08:18:07 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2020-11-23 08:18:36 +0100 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2020-11-23 08:25:04 +0100 | sfvm | (~sfvm@37.228.215.148) (Quit: off to the basement, mixing up the medicine) |
2020-11-23 08:26:18 +0100 | chaosmasttter | (~chaosmast@p200300c4a72cf80165f6d709b523305b.dip0.t-ipconnect.de) |
2020-11-23 08:27:29 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-23 08:32:06 +0100 | JohnONolan | (~JohnONola@217.146.82.202) |
2020-11-23 08:32:24 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2020-11-23 08:33:02 +0100 | jlamothe | (~jlamothe@198.251.55.207) (Quit: leaving) |
2020-11-23 08:34:49 +0100 | cur8or | (~cur8or@2c0f:fbe1:3:17:d58e:e362:b2fa:46da) (Ping timeout: 272 seconds) |
2020-11-23 08:36:24 +0100 | Ariakenom | (~Ariakenom@h-98-128-229-104.NA.cust.bahnhof.se) |
2020-11-23 08:37:32 +0100 | maksio | (~user@185.246.204.42) (Ping timeout: 260 seconds) |
2020-11-23 08:38:46 +0100 | acidjnk_new | (~acidjnk@p200300d0c719ff94358934eb0dfd70c0.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-11-23 08:39:17 +0100 | acidjnk_new | (~acidjnk@p200300d0c719ff94358934eb0dfd70c0.dip0.t-ipconnect.de) |
2020-11-23 08:39:18 +0100 | darjeeling_ | (~darjeelin@122.245.219.209) (Ping timeout: 256 seconds) |
2020-11-23 08:39:29 +0100 | Franciman | (~francesco@host-82-51-90-98.retail.telecomitalia.it) |
2020-11-23 08:41:05 +0100 | chele | (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) |
2020-11-23 08:41:16 +0100 | acidjnk_new | (~acidjnk@p200300d0c719ff94358934eb0dfd70c0.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-11-23 08:41:36 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 240 seconds) |
2020-11-23 08:41:41 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2020-11-23 08:42:23 +0100 | cur8or | (~cur8or@2c0f:fbe1:3:17:d58e:e362:b2fa:46da) |
2020-11-23 08:43:40 +0100 | dhouthoo | (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) |
2020-11-23 08:44:20 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-11-23 08:45:14 +0100 | Aquazi | (uid312403@gateway/web/irccloud.com/x-kgipcwwyhxxkjxhq) |
2020-11-23 08:46:37 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2020-11-23 08:47:15 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 08:48:32 +0100 | francesco_ | (~francesco@host-82-54-193-143.retail.telecomitalia.it) |
2020-11-23 08:48:37 +0100 | Franciman | (~francesco@host-82-51-90-98.retail.telecomitalia.it) (Ping timeout: 260 seconds) |
2020-11-23 08:49:30 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2020-11-23 08:50:16 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-11-23 08:51:06 +0100 | jlamothe | (~jlamothe@198.251.55.207) |
2020-11-23 08:53:07 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-11-23 08:54:49 +0100 | SanchayanMaity | (~Sanchayan@106.200.254.25) (Quit: SanchayanMaity) |
2020-11-23 08:55:13 +0100 | SanchayanMaity | (~Sanchayan@106.200.254.25) |
2020-11-23 08:58:03 +0100 | darjeeling_ | (~darjeelin@122.245.219.209) |
2020-11-23 09:00:36 +0100 | invaser | (~Thunderbi@31.148.23.125) |
2020-11-23 09:00:45 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2020-11-23 09:01:05 +0100 | bitmagie | (~Thunderbi@200116b806ed110085bc8dfe3e60bb59.dip.versatel-1u1.de) |
2020-11-23 09:02:24 +0100 | francesco_ | Franciman |
2020-11-23 09:04:14 +0100 | invaser1 | (~Thunderbi@178-133-218-247.mobile.vf-ua.net) |
2020-11-23 09:04:14 +0100 | taurux | (~taurux@net-188-152-78-21.cust.dsl.teletu.it) (Ping timeout: 256 seconds) |
2020-11-23 09:04:16 +0100 | invaser1 | (~Thunderbi@178-133-218-247.mobile.vf-ua.net) (Client Quit) |
2020-11-23 09:04:27 +0100 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) |
2020-11-23 09:04:40 +0100 | jespada | (~jespada@90.254.245.49) |
2020-11-23 09:04:50 +0100 | bitmagie | (~Thunderbi@200116b806ed110085bc8dfe3e60bb59.dip.versatel-1u1.de) (Client Quit) |
2020-11-23 09:06:51 +0100 | oish | (~charlie@228.25.169.217.in-addr.arpa) |
2020-11-23 09:07:06 +0100 | Fractalis | (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) |
2020-11-23 09:07:38 +0100 | invaser | (~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds) |
2020-11-23 09:07:51 +0100 | kish` | (~oracle@unaffiliated/oracle) (Ping timeout: 256 seconds) |
2020-11-23 09:11:15 +0100 | m0rphism | (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) |
2020-11-23 09:11:16 +0100 | toorevitimirp | (~tooreviti@117.182.183.18) (Remote host closed the connection) |
2020-11-23 09:12:01 +0100 | oish | (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 246 seconds) |
2020-11-23 09:12:22 +0100 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2020-11-23 09:13:05 +0100 | andos | (~dan@69-165-210-185.cable.teksavvy.com) (Ping timeout: 240 seconds) |
2020-11-23 09:14:43 +0100 | toorevitimirp | (~tooreviti@117.182.183.18) |
2020-11-23 09:14:51 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2020-11-23 09:17:15 +0100 | Lycurgus | (~niemand@98.4.114.74) |
2020-11-23 09:18:27 +0100 | oish | (~charlie@228.25.169.217.in-addr.arpa) |
2020-11-23 09:19:55 +0100 | alp | (~alp@2a01:e0a:58b:4920:21cf:ab8e:85fd:bb5c) |
2020-11-23 09:20:56 +0100 | toorevitimirp | (~tooreviti@117.182.183.18) (Remote host closed the connection) |
2020-11-23 09:22:05 +0100 | Jonkimi727406120 | (~Jonkimi@113.87.161.66) (Ping timeout: 240 seconds) |
2020-11-23 09:22:39 +0100 | toorevitimirp | (~tooreviti@117.182.183.18) |
2020-11-23 09:22:42 +0100 | cur8or | (~cur8or@2c0f:fbe1:3:17:d58e:e362:b2fa:46da) (Ping timeout: 260 seconds) |
2020-11-23 09:22:46 +0100 | Jonkimi727406120 | (~Jonkimi@113.87.161.66) |
2020-11-23 09:22:47 +0100 | _linker_ | (~linker@2a02:a31a:a041:9a80:1550:ab25:bf6f:9a3a) |
2020-11-23 09:26:00 +0100 | hackage | mu-protobuf 0.4.0.3 - Protocol Buffers serialization and gRPC schema import for Mu microservices https://hackage.haskell.org/package/mu-protobuf-0.4.0.3 (AlejandroSerrano) |
2020-11-23 09:27:27 +0100 | <Xnuk> | What are the benefits of the Monad concept in other language, if you have to explain? |
2020-11-23 09:27:34 +0100 | cur8or | (~cur8or@2c0f:fbe1:3:17:d58e:e362:b2fa:46da) |
2020-11-23 09:28:38 +0100 | toorevitimirp | (~tooreviti@117.182.183.18) (Remote host closed the connection) |
2020-11-23 09:28:56 +0100 | drbean | (~drbean@TC210-63-209-85.static.apol.com.tw) (Ping timeout: 240 seconds) |
2020-11-23 09:30:32 +0100 | toorevitimirp | (~tooreviti@117.182.183.18) |
2020-11-23 09:30:47 +0100 | <merijn> | almost none, since most other languages don't have typeclasses nor type inference |
2020-11-23 09:31:25 +0100 | <Xnuk> | Lots of people say "Monad is good and important concept", but I still think Monad is just one of typeclasses satisfying `(>>=)` and `return`. |
2020-11-23 09:32:25 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
2020-11-23 09:32:43 +0100 | <Xnuk> | merijn: I completely agree |
2020-11-23 09:34:00 +0100 | hackage | typesafe-precure 0.7.10.1 - Type-safe transformations and purifications of PreCures (Japanese Battle Heroine) https://hackage.haskell.org/package/typesafe-precure-0.7.10.1 (igrep) |
2020-11-23 09:34:35 +0100 | <dminuoso> | 09:31:25 Xnuk | Lots of people say "Monad is good and important concept", but I still think Monad is just one of typeclasses satisfying `(>>=)` and `return`. |
2020-11-23 09:34:39 +0100 | <dminuoso> | You're thinking just right. :) |
2020-11-23 09:34:56 +0100 | <dminuoso> | The usefulness of monad comes from not using it, but writing code polymorphically over it. |
2020-11-23 09:35:43 +0100 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 240 seconds) |
2020-11-23 09:36:25 +0100 | fxg | (~fxg@unaffiliated/fxg) (Ping timeout: 240 seconds) |
2020-11-23 09:36:33 +0100 | <dminuoso> | Well and not having to remember different names for functions that all follow the same shape, the same reason we have say `<>` and `mempty` |
2020-11-23 09:36:47 +0100 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:55f1:c3a3:cdbe:bf52) |
2020-11-23 09:37:00 +0100 | hackage | hlint 3.2.3 - Source code suggestions https://hackage.haskell.org/package/hlint-3.2.3 (NeilMitchell) |
2020-11-23 09:37:30 +0100 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
2020-11-23 09:37:43 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds) |
2020-11-23 09:37:43 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds) |
2020-11-23 09:37:49 +0100 | <Xnuk> | dminuoso: "The usefulness of monad comes from not using it" Can I steal your words |
2020-11-23 09:37:52 +0100 | <[exa]> | Xnuk: 'first-class overloaded code sequencing with assignment' is the main feature the other languages should be after, imo |
2020-11-23 09:38:03 +0100 | gxt | (~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds) |
2020-11-23 09:38:04 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) |
2020-11-23 09:38:09 +0100 | <dminuoso> | Xnuk: Oh haha sorry. That was supposed to read "not from using it" |
2020-11-23 09:38:32 +0100 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) |
2020-11-23 09:38:42 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2020-11-23 09:38:50 +0100 | <tomsmeding> | 23:16:42 maerwald | hmm, we need latex support on tomsmeding paste |
2020-11-23 09:38:55 +0100 | <tomsmeding> | I await your case maerwald |
2020-11-23 09:39:06 +0100 | <dminuoso> | tomsmeding: I think it was cheek-in-tongue.. |
2020-11-23 09:39:12 +0100 | <tomsmeding> | :p I think so too |
2020-11-23 09:39:13 +0100 | <dminuoso> | Considering the surrounding discussion. :p |
2020-11-23 09:39:23 +0100 | gxt | (~gxt@gateway/tor-sasl/gxt) |
2020-11-23 09:39:24 +0100 | <dminuoso> | Oh haha. tongue-in-cheek |
2020-11-23 09:39:34 +0100 | <dminuoso> | Doing it the other way is anatomically difficult |
2020-11-23 09:39:46 +0100 | <tomsmeding> | kind of |
2020-11-23 09:42:11 +0100 | kritzefitz | (~kritzefit@fw-front.credativ.com) |
2020-11-23 09:43:43 +0100 | stu002 | (77120261@119-18-2-97.771202.syd.nbn.aussiebb.net) |
2020-11-23 09:44:54 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 09:46:27 +0100 | raichoo | (~raichoo@dslb-178-001-144-018.178.001.pools.vodafone-ip.de) |
2020-11-23 09:49:38 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-11-23 09:51:35 +0100 | oish | (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 260 seconds) |
2020-11-23 09:51:50 +0100 | danvet_ | (~danvet@2a02:168:57f4:0:5f80:650d:c6e6:3453) |
2020-11-23 09:52:00 +0100 | solonarv | (~solonarv@astrasbourg-653-1-156-4.w90-6.abo.wanadoo.fr) |
2020-11-23 09:54:01 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-23 09:55:03 +0100 | denisse | (~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds) |
2020-11-23 09:55:17 +0100 | f-a | (~f-a@151.68.193.237) |
2020-11-23 09:55:57 +0100 | SanchayanM | (~Sanchayan@171.76.82.54) |
2020-11-23 09:57:34 +0100 | SanchayanMaity | (~Sanchayan@106.200.254.25) (Ping timeout: 256 seconds) |
2020-11-23 10:00:00 +0100 | hackage | servant-openapi3 2.0.1.1 - Generate a Swagger/OpenAPI/OAS 3.0 specification for your servant API. https://hackage.haskell.org/package/servant-openapi3-2.0.1.1 (maksbotan) |
2020-11-23 10:00:07 +0100 | sureyeaah | (shauryab98@gateway/shell/matrix.org/x-mqricolhiyievodh) (Quit: Idle for 30+ days) |
2020-11-23 10:00:48 +0100 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:31ca:eef6:b3d5:eefb) (Quit: Leaving) |
2020-11-23 10:01:45 +0100 | plutoniix | (~q@ppp-27-55-84-13.revip3.asianet.co.th) |
2020-11-23 10:01:48 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-11-23 10:02:48 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 10:03:58 +0100 | Yumasi | (~guillaume@2a01cb09b06b29ea1c5ab82b3b485150.ipv6.abo.wanadoo.fr) |
2020-11-23 10:07:06 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-ndxrdxmbozimfblk) (Quit: Connection closed for inactivity) |
2020-11-23 10:07:08 +0100 | Foritus | (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Ping timeout: 256 seconds) |
2020-11-23 10:08:23 +0100 | tinwood_ | tinwood |
2020-11-23 10:08:35 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
2020-11-23 10:09:05 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-11-23 10:11:16 +0100 | Lord_of_Life | (~Lord@46.217.221.12) (Changing host) |
2020-11-23 10:11:16 +0100 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2020-11-23 10:12:10 +0100 | plutoniix | (~q@ppp-27-55-84-13.revip3.asianet.co.th) (Quit: Leaving) |
2020-11-23 10:13:50 +0100 | <dminuoso> | For associated tyfams, would you rather write `f :: n ~ TyF t => Proxy t -> n -> ...` or `t :: Proxy t -> TyF t -> ...`? |
2020-11-23 10:15:29 +0100 | Foritus | (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) |
2020-11-23 10:15:58 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 10:16:48 +0100 | kuribas | (~user@ptr-25vy0i8kkf9triykmnn.18120a2.ip6.access.telenet.be) |
2020-11-23 10:18:07 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-11-23 10:18:35 +0100 | <kuribas> | I don't understand how you can make effects independent of the order. |
2020-11-23 10:18:56 +0100 | <kuribas> | For example ExceptT and StateT, at one point you have to decide which one takes precedence right? |
2020-11-23 10:19:20 +0100 | <kuribas> | like, is state passed when throwing an exception? |
2020-11-23 10:19:30 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fae3-133.dhcp.inet.fi) |
2020-11-23 10:19:58 +0100 | <kuribas> | both are valid IMO |
2020-11-23 10:21:46 +0100 | borne | (~fritjof@200116b864880200394a967dc8ef4e61.dip.versatel-1u1.de) |
2020-11-23 10:22:16 +0100 | danvet_ | (~danvet@2a02:168:57f4:0:5f80:650d:c6e6:3453) (Quit: Leaving) |
2020-11-23 10:22:25 +0100 | hololeap | (~hololeap@unaffiliated/hololeap) (Ping timeout: 240 seconds) |
2020-11-23 10:23:16 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
2020-11-23 10:24:09 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fae3-133.dhcp.inet.fi) (Max SendQ exceeded) |
2020-11-23 10:24:23 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fae3-133.dhcp.inet.fi) |
2020-11-23 10:24:23 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fae3-133.dhcp.inet.fi) (Max SendQ exceeded) |
2020-11-23 10:24:38 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fae3-133.dhcp.inet.fi) |
2020-11-23 10:24:38 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fae3-133.dhcp.inet.fi) (Max SendQ exceeded) |
2020-11-23 10:24:53 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fae3-133.dhcp.inet.fi) |
2020-11-23 10:24:53 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fae3-133.dhcp.inet.fi) (Max SendQ exceeded) |
2020-11-23 10:25:08 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fae3-133.dhcp.inet.fi) |
2020-11-23 10:25:08 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fae3-133.dhcp.inet.fi) (Max SendQ exceeded) |
2020-11-23 10:31:10 +0100 | jbox | (~atlas@unaffiliated/jbox) (Quit: WeeChat 2.9) |
2020-11-23 10:34:14 +0100 | travis_scott | (~prateekpr@37.231.243.133) |
2020-11-23 10:34:22 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2020-11-23 10:34:33 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 10:34:46 +0100 | travis_scott | (~prateekpr@37.231.243.133) (Quit: leaving) |
2020-11-23 10:38:02 +0100 | Lycurgus | (~niemand@98.4.114.74) (Quit: Exeunt) |
2020-11-23 10:40:22 +0100 | <merijn> | kuribas: Hence why the typeclassy mtl approach doesn't work so well |
2020-11-23 10:41:26 +0100 | cur8or | (~cur8or@2c0f:fbe1:3:17:d58e:e362:b2fa:46da) (Ping timeout: 264 seconds) |
2020-11-23 10:41:27 +0100 | <kuribas> | merijn: you mean the typeclasses don't show the order? |
2020-11-23 10:41:45 +0100 | <merijn> | yeah |
2020-11-23 10:41:52 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Quit: WeeChat 3.0) |
2020-11-23 10:42:46 +0100 | <kuribas> | That's why I never write functions that have mtl typeclass constraints. |
2020-11-23 10:42:58 +0100 | <kuribas> | I just use them as convenience inside my own transformer stacks. |
2020-11-23 10:43:56 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
2020-11-23 10:43:58 +0100 | <kuribas> | where I already *know* the order, so it doesn't matter. |
2020-11-23 10:44:53 +0100 | stu002 | (77120261@119-18-2-97.771202.syd.nbn.aussiebb.net) (Remote host closed the connection) |
2020-11-23 10:44:53 +0100 | cur8or | (~cur8or@72canterbury.cybersmart.co.za) |
2020-11-23 10:45:41 +0100 | cads | (~cads@ip-64-72-99-232.lasvegas.net) |
2020-11-23 10:46:23 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 10:46:56 +0100 | <cads> | does ghc have installation directions hidden somewhere in the manual? I may be missing it https://downloads.haskell.org/ghc/latest/docs/html/users_guide/ |
2020-11-23 10:47:15 +0100 | <cads> | the 6.2 instructions had it as chapter 2 https://downloads.haskell.org/~ghc/6.2/docs/html/users_guide/users-guide.html |
2020-11-23 10:48:47 +0100 | <Uniaika> | cads: https://www.haskell.org/ghcup/ |
2020-11-23 10:50:21 +0100 | larou | (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) |
2020-11-23 10:51:13 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds) |
2020-11-23 10:51:52 +0100 | <cads> | thanks Uniaika |
2020-11-23 10:52:04 +0100 | <Uniaika> | you're welcome |
2020-11-23 10:52:26 +0100 | cads | likes that there are clear wsl instructions |
2020-11-23 10:53:05 +0100 | <cads> | so the idea is that haskell platform takes care of install, so GHC docs don't need to have an install chapter? |
2020-11-23 10:53:56 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-11-23 10:55:11 +0100 | <merijn> | cads: tbh, the install instructions on *nix of GHC itself are basically just "./configure --prefix=path/to/install && make install" and in the README, so that doesn't really warrant a user guide thing. And the windows story is still a bit of a mess |
2020-11-23 10:55:45 +0100 | <cads> | g h c u p - a slightly perverse claim :D |
2020-11-23 10:58:48 +0100 | <merijn> | rats...I just realised I need to refactor my code to handle connections to multiple databases, that's gonna suck >.> |
2020-11-23 10:59:16 +0100 | <cads> | merijn, I did see that, but of course I managed to encounter a totally inexcplicable make issue, and wished I had something more to sanity check that I had not missed some dependency or important config parameter |
2020-11-23 10:59:36 +0100 | <merijn> | cads: Which platform? Linux? |
2020-11-23 10:59:41 +0100 | <cads> | WSL |
2020-11-23 10:59:53 +0100 | <cads> | so yes/no |
2020-11-23 10:59:55 +0100 | <merijn> | ah, yeah, that's probably rather untested ;) |
2020-11-23 11:00:35 +0100 | <cads> | well I will give credit to gh-ketchup, because the WSL solution /worked/ https://www.haskell.org/ghcup/ |
2020-11-23 11:01:26 +0100 | <cads> | and it's right there under my unobservant nose. It felt really good as a user experience to finally see something that I had some reason to believe will work <3 |
2020-11-23 11:01:26 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-11-23 11:01:46 +0100 | <maerwald> | gh-ketchup? |
2020-11-23 11:01:53 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 11:02:14 +0100 | rsoeldner | (c3916504@195.145.101.4) |
2020-11-23 11:02:24 +0100 | <cads> | for some reason I see ghcup and my brain turns it into gh-ketchup |
2020-11-23 11:02:40 +0100 | oish | (~charlie@228.25.169.217.in-addr.arpa) |
2020-11-23 11:02:41 +0100 | cads | shrugs |
2020-11-23 11:03:13 +0100 | <Uniaika> | cads: fantastic hahaha |
2020-11-23 11:03:18 +0100 | <cads> | usually if I'm making a wierd mnemonic or nick-name that's a sign that I like it and will remember it |
2020-11-23 11:03:39 +0100 | rsoeldner | (c3916504@195.145.101.4) (Remote host closed the connection) |
2020-11-23 11:03:51 +0100 | <cads> | Uniaika, whoever put that wsl line there has my specific thanks and admiration! |
2020-11-23 11:03:55 +0100 | <Uniaika> | < merijn> rats...I just realised I need to refactor my code to handle connections to multiple databases, that's gonna suck >.> // RIP 💀 |
2020-11-23 11:04:08 +0100 | <Uniaika> | cads: héhé, you may ask for maerwald I think? |
2020-11-23 11:04:22 +0100 | <guest112`> | is ghc available on linux distro on arm? |
2020-11-23 11:04:34 +0100 | <merijn> | guest112`: Yes * |
2020-11-23 11:04:44 +0100 | <merijn> | * - some masochism maybe required |
2020-11-23 11:04:46 +0100 | <Uniaika> | *conditions may apply |
2020-11-23 11:04:50 +0100 | <guest112`> | merijn: I tried archlinuxarm, there's no ghc yet |
2020-11-23 11:04:57 +0100 | <maerwald> | https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-armv7-deb10-linux.tar.xz |
2020-11-23 11:05:02 +0100 | <Uniaika> | guest112`: which ARM arch? |
2020-11-23 11:05:22 +0100 | <guest112`> | Uniaika: arm v8 |
2020-11-23 11:05:24 +0100 | <Uniaika> | if it's armv7 there is a bindist, as maerwald showed |
2020-11-23 11:05:25 +0100 | <Uniaika> | ah |
2020-11-23 11:05:34 +0100 | <guest112`> | aha |
2020-11-23 11:05:48 +0100 | <maerwald> | I think angerman is currently the only one doing ARM love? |
2020-11-23 11:05:52 +0100 | <merijn> | guest112`: arm is a tier2 architecture, so it requires some amount of DIY involved, depending on exactly which architecture, etc. |
2020-11-23 11:06:14 +0100 | <guest112`> | maerwald: it's debian only? |
2020-11-23 11:06:51 +0100 | <Uniaika> | hmm I think it's for debian derivatives too, guest112` |
2020-11-23 11:06:53 +0100 | <maerwald> | well, who cares... just have to fix your dynamic libs |
2020-11-23 11:06:55 +0100 | <guest112`> | merijn: is it in debian's repo? could I use apt to install |
2020-11-23 11:07:19 +0100 | <angerman> | PSA: Do not use arm for anything critical right now. The rts is seriously broken wrt correctness. |
2020-11-23 11:07:35 +0100 | <guest112`> | dynamic libs on arm, I think that's a lot |
2020-11-23 11:07:50 +0100 | <angerman> | Head with the llvm backend is ok, it you don’t use perf. |
2020-11-23 11:08:42 +0100 | f-a | (~f-a@151.68.193.237) () |
2020-11-23 11:08:51 +0100 | <angerman> | If you must use older GHCs. Ensure you use single threaded only. |
2020-11-23 11:09:43 +0100 | <cads> | merijn, do you think WSL will become the primary path for haskell on windows? |
2020-11-23 11:09:52 +0100 | <angerman> | Patched 8.6.5 that’s somewhat usable https://github.com/input-output-hk/ghc/tree/release/8.6.5-iohk |
2020-11-23 11:10:24 +0100 | <angerman> | Ghc 9.2 will likely be pretty good on arm. |
2020-11-23 11:11:46 +0100 | guest112` | (~user@49.5.6.87) (Quit: ERC (IRC client for Emacs 27.1)) |
2020-11-23 11:12:22 +0100 | <arahael> | angerman: Sweet. :) |
2020-11-23 11:12:51 +0100 | <cads> | Uniaika, this is the commit that adds the line - thanks Julian Ospald / ! https://gitlab.haskell.org/haskell/ghcup-hs/-/commit/8c4cde3d14ca79e8dac95cc3fd63581be2cda4b2 |
2020-11-23 11:13:19 +0100 | <cads> | though I am not 100% on the attribution - could be a that Julian applied a patch |
2020-11-23 11:14:53 +0100 | <maerwald> | lol |
2020-11-23 11:15:17 +0100 | <cads> | lol, was it really you, maerwald ? |
2020-11-23 11:15:57 +0100 | sphalerite | (~sphalerit@NixOS/user/lheckemann) (Quit: reboot time!) |
2020-11-23 11:16:16 +0100 | <maerwald> | gitlab shows nickname if you hover over the real name |
2020-11-23 11:19:05 +0100 | <aplainzetakind> | So I can't handle encoding: https://gist.github.com/aplainzetakind/155843dab732f0aeffb5bb0e3b679021 |
2020-11-23 11:19:24 +0100 | <aplainzetakind> | When I try this out I gen invalid utf8 bytes. |
2020-11-23 11:19:34 +0100 | <aplainzetakind> | s/gen/get |
2020-11-23 11:19:44 +0100 | <dminuoso> | Of course, not every byte sequence is valid UTF8. |
2020-11-23 11:20:01 +0100 | <dminuoso> | With md5 in the pipeline, you're essentially generating pseudo random bytes |
2020-11-23 11:20:07 +0100 | sphalerite | (~sphalerit@NixOS/user/lheckemann) |
2020-11-23 11:20:31 +0100 | tomsmeding | expects you want to encode the bytes as hexadecimal |
2020-11-23 11:20:47 +0100 | <aplainzetakind> | That makes sense. |
2020-11-23 11:21:09 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2020-11-23 11:21:38 +0100 | <dminuoso> | aplainzetakind: Check out base16-bytestring |
2020-11-23 11:21:47 +0100 | <dminuoso> | (Or base64-bytestring) |
2020-11-23 11:23:21 +0100 | <aplainzetakind> | How do I get from String to those? |
2020-11-23 11:24:13 +0100 | Jonkimi727406120 | (~Jonkimi@113.87.161.66) (Ping timeout: 264 seconds) |
2020-11-23 11:24:19 +0100 | <aplainzetakind> | Ah I need this only to decode? |
2020-11-23 11:24:26 +0100 | <aplainzetakind> | No encode. |
2020-11-23 11:24:34 +0100 | <merijn> | You probably just wanna show the resulting Digest |
2020-11-23 11:24:34 +0100 | hidedagger | (~nate@unaffiliated/hidedagger) |
2020-11-23 11:25:06 +0100 | <dminuoso> | https://hackage.haskell.org/package/cryptonite-0.27/docs/src/Crypto.Hash.Types.html#line-86 |
2020-11-23 11:25:12 +0100 | <merijn> | That's what works for cryptonite |
2020-11-23 11:25:12 +0100 | <dminuoso> | That seems to run it through base16-bytestring already indeed. |
2020-11-23 11:25:19 +0100 | <aplainzetakind> | merijn: Argh, it has Show. OK. |
2020-11-23 11:25:24 +0100 | <merijn> | And this seems to use the same API |
2020-11-23 11:25:34 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-11-23 11:26:21 +0100 | fendor_ | fendor |
2020-11-23 11:26:35 +0100 | <aplainzetakind> | Yes using show in place of T.unpack . T.decodeUtf8 . md5DigestBytes just works. |
2020-11-23 11:26:37 +0100 | <aplainzetakind> | Thanks. |
2020-11-23 11:28:34 +0100 | hidedagger | (~nate@unaffiliated/hidedagger) (Client Quit) |
2020-11-23 11:30:36 +0100 | oish | (~charlie@228.25.169.217.in-addr.arpa) (Quit: leaving) |
2020-11-23 11:32:20 +0100 | <cads> | maerwald, thank you thank thank you for caring about wsl users! |
2020-11-23 11:32:57 +0100 | <maerwald> | I think native ghcup on windows could be a thing too, but I haven't had anyone knowledgable about msys2 speak up on how to do it. |
2020-11-23 11:33:23 +0100 | <maerwald> | And handling that right basically determines most of the user experience. |
2020-11-23 11:33:45 +0100 | <cads> | imo anything that does linux on windows and uses mingw/msys rather than wsl is now a smell |
2020-11-23 11:34:04 +0100 | <cads> | but I don't REALLY know what I am talking about, lmao |
2020-11-23 11:34:14 +0100 | <cads> | just using that internally |
2020-11-23 11:34:18 +0100 | kadoban | (kadobanmat@gateway/shell/matrix.org/x-kttvbwikdhecuywx) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:18 +0100 | jeffcasavant[m] | (jeffcasava@gateway/shell/matrix.org/x-uqeetjdjsxvnlnzz) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:18 +0100 | Ericson2314 | (ericson231@gateway/shell/matrix.org/x-hlgbkoswcxilbeqd) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:19 +0100 | dominicusin[m] | (dominicusi@gateway/shell/matrix.org/x-qrkglxioyiapvbuy) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:19 +0100 | drozdziak1 | (drozdziak1@gateway/shell/matrix.org/x-xyfuxdepxamenewg) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:19 +0100 | PotatoHatsue | (berbermanp@gateway/shell/matrix.org/x-cjitwcshsbuodjyn) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:19 +0100 | fgaz | (fgazmatrix@gateway/shell/matrix.org/x-nhvyoqyawfdgtgqa) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:20 +0100 | themsay[m] | (themsaymat@gateway/shell/matrix.org/x-ioynzpwjpjzmejjh) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:20 +0100 | unclechu | (unclechuma@gateway/shell/matrix.org/x-guiiopktxpzvwhvz) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:20 +0100 | lambdaclan | (lambdaclan@gateway/shell/matrix.org/x-hhpdgpqllhwmhgtm) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:21 +0100 | hsiktas[m] | (hsiktasmat@gateway/shell/matrix.org/x-jpmuglwgcakxllmq) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:21 +0100 | betrion[m] | (betrionmat@gateway/shell/matrix.org/x-xwiqijmgzeynpvoj) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:23 +0100 | wanaks[m] | (wanaksmatr@gateway/shell/matrix.org/x-hwcfdrwbfomwajud) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:26 +0100 | falling-edge[m] | (falling-ed@gateway/shell/matrix.org/x-gqfvjootjpkyvsru) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:27 +0100 | dyniec[m] | (dyniecmatr@gateway/shell/matrix.org/x-zwmchqxypgwrfvvf) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:27 +0100 | elpfen[m] | (elpfenmatr@gateway/shell/matrix.org/x-drqtnjthyplttipt) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:28 +0100 | ComaGrayce[m] | (commagrays@gateway/shell/matrix.org/x-dqibnbgwhohubrkt) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:28 +0100 | domenkozar[m] | (domenkozar@NixOS/user/domenkozar) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:28 +0100 | ttc | (tomtauma1@gateway/shell/matrix.org/x-ipfwgcjvwwdcokds) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:28 +0100 | Hanma[m] | (hanmamatri@gateway/shell/matrix.org/x-okkoowimutlrlfkb) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:28 +0100 | sm[m] | (simonmicma@gateway/shell/matrix.org/x-vlvwwxdsuamzwmii) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:29 +0100 | jkaye[m] | (jkayematri@gateway/shell/matrix.org/x-rgucqpzlqszwinfz) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:29 +0100 | rednaZ[m] | (r3dnazmatr@gateway/shell/matrix.org/x-uudppykggjqnwgdt) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:29 +0100 | srid | (sridmatrix@gateway/shell/matrix.org/x-wcquiejsxgjdmcxb) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:29 +0100 | pqwy[m] | (pqwymatrix@gateway/shell/matrix.org/x-ywgcsarxvhxyblcm) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:29 +0100 | johnnyboy[m] | (gifumatrix@gateway/shell/matrix.org/x-djygzhrhshoknqyz) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:30 +0100 | iinuwa | (iinuwamatr@gateway/shell/matrix.org/x-cburarlywoxtjfrp) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:30 +0100 | zerstroyer[m] | (zerstroyer@gateway/shell/matrix.org/x-thvxsfmerzqegbym) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:30 +0100 | Noughtmare[m] | (naughtmare@gateway/shell/matrix.org/x-srizjjooaoqrlgvr) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:30 +0100 | jesser[m] | (jessermatr@gateway/shell/matrix.org/x-fnrjbdbcxycnmdhs) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:30 +0100 | ThaEwat | (thaewraptm@gateway/shell/matrix.org/x-dfjdlbdjkbnyawpv) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:30 +0100 | siraben | (sirabenmat@gateway/shell/matrix.org/x-moaedtsqvaqtshxu) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:30 +0100 | camlriot42 | (camlriotma@gateway/shell/matrix.org/x-iyuyyccohcedziwd) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:30 +0100 | mikr[m] | (mikrdavral@gateway/shell/matrix.org/x-xaesttypbsiulkoz) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:30 +0100 | wi[m] | (w1gzmatrix@gateway/shell/matrix.org/x-xtlrgyxrbktyedto) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:30 +0100 | andreabedini[m] | (andreabedi@gateway/shell/matrix.org/x-mbuhwpnbmozobgqs) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:30 +0100 | patier[m] | (patiermatr@gateway/shell/matrix.org/x-defohognfbqcqriu) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:31 +0100 | maralorn | (maralornma@gateway/shell/matrix.org/x-qdyphvplrxcjzfoq) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:31 +0100 | tersetears[m] | (tersetears@gateway/shell/matrix.org/x-sudqunulnrivtufh) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:32 +0100 | tsrt^ | (tsrt@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded) |
2020-11-23 11:34:33 +0100 | psydruid | (psydruidma@gateway/shell/matrix.org/x-tkomzubgcyrydslv) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:33 +0100 | rab24ack[m] | (rab24ackma@gateway/shell/matrix.org/x-psmufgypmrylcnyv) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:35 +0100 | theduke | (thedukem1@gateway/shell/matrix.org/x-gnkymjnxqweoqcmt) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:36 +0100 | lnxw37d4 | (lnxw37d4ma@gateway/shell/matrix.org/x-gplzcqsrpqncxxzx) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:36 +0100 | alexfmpe | (alexfmpema@gateway/shell/matrix.org/x-rqudkbffvwwbtfrf) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:36 +0100 | michaelpj | (michaelpjm@gateway/shell/matrix.org/x-xcnlzlahcxbogqup) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:36 +0100 | jtojnar | (jtojnarmat@gateway/shell/matrix.org/x-xtyqemcpdpeklcda) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:36 +0100 | TekShifter[m] | (tekshifter@gateway/shell/matrix.org/x-xtsbzpbdrwjrjwbu) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:36 +0100 | boistordu1 | (boistordum@gateway/shell/matrix.org/x-zpdpvjbuxlhmobsh) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:36 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds) |
2020-11-23 11:34:47 +0100 | chreekat[m] | (chreekatma@gateway/shell/matrix.org/x-hzsdhguuchtmbexg) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:48 +0100 | jlv | (jlvjustinl@gateway/shell/matrix.org/x-gfijbqrqwhvwkgqs) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:48 +0100 | loprakoa[m] | (loprakoama@gateway/shell/matrix.org/x-uehnwgnrwlslrkww) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:48 +0100 | miseenplace[m] | (miseenplac@gateway/shell/matrix.org/x-ywbimksbsmmywabw) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:49 +0100 | CRTified[m] | (schnecfkru@gateway/shell/matrix.org/x-qudvjaxqzetifqrv) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:49 +0100 | berberman[T] | (berberma4@gateway/shell/matrix.org/x-jhiqdhcukfrwwucl) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:49 +0100 | alephu5[m] | (alephu5mat@gateway/shell/matrix.org/x-ldzorvnirgjegsey) (Quit: Bridge terminating on SIGTERM) |
2020-11-23 11:34:50 +0100 | <cads> | but it makes sense from the perspective of how much msft is investing in it, and how much more comfortable it is |
2020-11-23 11:35:22 +0100 | Codaraxis | (Codaraxis@gateway/vpn/mullvad/codaraxis) (Remote host closed the connection) |
2020-11-23 11:35:29 +0100 | tsrt^ | (tsrt@ip98-184-89-2.mc.at.cox.net) |
2020-11-23 11:35:42 +0100 | <cads> | does ghcup compete with stack? Or can I see it as part of? |
2020-11-23 11:36:46 +0100 | <maerwald> | cads: not really. I personally use stack and ghcup together in some docker images to build static executables (because ghcup provides alpine bindists that stack doesn't) |
2020-11-23 11:37:06 +0100 | <maerwald> | you can tell stack to use system GHCs and then use ghcup to manage them |
2020-11-23 11:37:12 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
2020-11-23 11:37:16 +0100 | jedws | (~jedws@101.184.150.93) (Ping timeout: 246 seconds) |
2020-11-23 11:37:54 +0100 | <maerwald> | but stack doesn't help you much when you want to use cabal with multiple GHCs |
2020-11-23 11:38:34 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2020-11-23 11:38:36 +0100 | <maerwald> | so you could say cabal + ghcup is kind of a substitute for stack for some use cases |
2020-11-23 11:38:40 +0100 | lagothrix | (~lagothrix@unaffiliated/lagothrix) (Ping timeout: 246 seconds) |
2020-11-23 11:38:41 +0100 | <cads> | and how much user share can we estimate it pulls? Is it well enough accepted for Darcs installation instructions to mention it? Currently they mention stack, and cabal. IMO these aren't the beginning of the story in windows, but ghcup is. |
2020-11-23 11:39:02 +0100 | <cads> | https://darcsbook.acmelabs.space/chapter02.html#installing-darcs |
2020-11-23 11:39:44 +0100 | lagothrix | (~lagothrix@unaffiliated/lagothrix) |
2020-11-23 11:40:51 +0100 | jedws | (~jedws@101.184.150.93) |
2020-11-23 11:41:41 +0100 | theduke | (thedukem1@gateway/shell/matrix.org/x-fkzkadqaqklwkoxx) |
2020-11-23 11:42:50 +0100 | tomsmeding | is a happy user of ghcup, please spread |
2020-11-23 11:43:12 +0100 | <maerwald> | I'm not sure, the last haskell survey result had a data bug, but it's probably somewhere between 9-20% |
2020-11-23 11:43:51 +0100 | <cads> | oo, we have a survey? |
2020-11-23 11:43:55 +0100 | <maerwald> | https://taylor.fausak.me/2019/11/16/haskell-survey-results/#s2q1 |
2020-11-23 11:44:03 +0100 | <maerwald> | https://taylor.fausak.me/2020/11/22/haskell-survey-results/#s2q1 |
2020-11-23 11:44:12 +0100 | <cads> | and up to 1/5th is really something |
2020-11-23 11:47:06 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 11:48:27 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
2020-11-23 11:49:05 +0100 | <cads> | Hmm, I notice that the haskell call to action calls users to type a haskell expression, but now download a haskell installer or binary package |
2020-11-23 11:50:42 +0100 | <cads> | If we look at go-lang.org - it has a code tester plus download button. Rust-lang.org has a download button, and then a notably accessible download page with a) Large flat download buttons in attention catching colors b) a curl line for deploying rustup. |
2020-11-23 11:51:01 +0100 | <cads> | this is what windows user see https://imgur.com/a/ZI4UsBT |
2020-11-23 11:51:24 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-11-23 11:51:45 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2020-11-23 11:52:40 +0100 | <maerwald> | cads: you may want to comment on https://gitlab.haskell.org/ghc/ghc/-/issues/18104 |
2020-11-23 11:53:00 +0100 | <cads> | could we borrow this "flat buttons mean actions" motif, and give haskel.org a awesome, rounded, regal purple button saying "Download Haskell" or "Get Started", and make similar updates for the download page? |
2020-11-23 11:53:23 +0100 | <maerwald> | And https://github.com/haskell-infra/www.haskell.org/issues/12 |
2020-11-23 11:53:49 +0100 | zerstroyer[m] | (zerstroyer@gateway/shell/matrix.org/x-gegiretuusxprcab) |
2020-11-23 11:53:50 +0100 | CRTified[m] | (schnecfkru@gateway/shell/matrix.org/x-eenugdcfqkikhazz) |
2020-11-23 11:53:50 +0100 | iinuwa | (iinuwamatr@gateway/shell/matrix.org/x-nirgmkkuiglbzdym) |
2020-11-23 11:53:50 +0100 | berberman[T] | (berberma4@gateway/shell/matrix.org/x-gbdkkegajrsrxxkg) |
2020-11-23 11:53:50 +0100 | themsay[m] | (themsaymat@gateway/shell/matrix.org/x-ijyhmdsdchceasci) |
2020-11-23 11:53:50 +0100 | ComaGrayce[m] | (commagrays@gateway/shell/matrix.org/x-hgvgmfuatspyagpw) |
2020-11-23 11:53:50 +0100 | Ericson2314 | (ericson231@gateway/shell/matrix.org/x-tegudoxxgcuckrrp) |
2020-11-23 11:53:50 +0100 | sm[m] | (simonmicma@gateway/shell/matrix.org/x-kwpeizyjcphohngd) |
2020-11-23 11:53:50 +0100 | PotatoHatsue | (berbermanp@gateway/shell/matrix.org/x-libkhcmbrdqpqido) |
2020-11-23 11:53:51 +0100 | ttc | (tomtauma1@gateway/shell/matrix.org/x-lgjugwvkytxobgef) |
2020-11-23 11:53:51 +0100 | Noughtmare[m] | (naughtmare@gateway/shell/matrix.org/x-qinronskgvjuesgd) |
2020-11-23 11:53:51 +0100 | siraben | (sirabenmat@gateway/shell/matrix.org/x-kbzgfwlklcotpjnz) |
2020-11-23 11:53:51 +0100 | domenkozar[m] | (domenkozar@NixOS/user/domenkozar) |
2020-11-23 11:53:51 +0100 | psydruid | (psydruidma@gateway/shell/matrix.org/x-mpmiqxkbrlzaygik) |
2020-11-23 11:53:51 +0100 | lambdaclan | (lambdaclan@gateway/shell/matrix.org/x-cunxvrjdwttunvim) |
2020-11-23 11:53:51 +0100 | sureyeaah | (shauryab98@gateway/shell/matrix.org/x-xujaibeehyrzrqgr) |
2020-11-23 11:53:51 +0100 | ThaEwat | (thaewraptm@gateway/shell/matrix.org/x-eowhntdvamvdarxm) |
2020-11-23 11:53:51 +0100 | hnOsmium0001[m] | (hnosmium00@gateway/shell/matrix.org/x-cujgdqencyyvcwtx) |
2020-11-23 11:53:51 +0100 | fgaz | (fgazmatrix@gateway/shell/matrix.org/x-ckdeidekxaxmbkrv) |
2020-11-23 11:53:51 +0100 | SlackIntegration | (slackbotma@gateway/shell/matrix.org/x-jwlsctxhtztxaioq) |
2020-11-23 11:53:51 +0100 | lnxw37d4 | (lnxw37d4ma@gateway/shell/matrix.org/x-gyetbkvikjbbsrrd) |
2020-11-23 11:53:51 +0100 | tersetears[m] | (tersetears@gateway/shell/matrix.org/x-yuvadosdugsnqrxf) |
2020-11-23 11:53:51 +0100 | boistordu | (boistordum@gateway/shell/matrix.org/x-mdyiyodwbwwmjcwq) |
2020-11-23 11:53:51 +0100 | hsiktas[m] | (hsiktasmat@gateway/shell/matrix.org/x-diupvlqwumdpqenf) |
2020-11-23 11:53:51 +0100 | chreekat[m] | (chreekatma@gateway/shell/matrix.org/x-qrurbafjmusxfuce) |
2020-11-23 11:53:52 +0100 | rednaZ[m] | (r3dnazmatr@gateway/shell/matrix.org/x-ozioktnmvrvopylv) |
2020-11-23 11:53:52 +0100 | pqwy[m] | (pqwymatrix@gateway/shell/matrix.org/x-qkyseftxctvdhmhh) |
2020-11-23 11:53:52 +0100 | maralorn | (maralornma@gateway/shell/matrix.org/x-opsadexttgzjqxrr) |
2020-11-23 11:53:52 +0100 | micahsovereign[m | (micahsover@gateway/shell/matrix.org/x-frusjvfqlxbbwchl) |
2020-11-23 11:53:52 +0100 | unclechu | (unclechuma@gateway/shell/matrix.org/x-fmibtulmvlcrrtyt) |
2020-11-23 11:53:52 +0100 | michaelpj | (michaelpjm@gateway/shell/matrix.org/x-bpqwjlstbvbemkvx) |
2020-11-23 11:53:52 +0100 | jtojnar | (jtojnarmat@gateway/shell/matrix.org/x-ygesxqztjkwljyzz) |
2020-11-23 11:53:52 +0100 | dominicusin[m] | (dominicusi@gateway/shell/matrix.org/x-qzmdyqsqeazfuaho) |
2020-11-23 11:53:52 +0100 | drozdziak1 | (drozdziak1@gateway/shell/matrix.org/x-vthisqiohgxugfqd) |
2020-11-23 11:53:53 +0100 | srid | (sridmatrix@gateway/shell/matrix.org/x-ddfumpcsdmsgnklz) |
2020-11-23 11:53:53 +0100 | kadoban | (kadobanmat@gateway/shell/matrix.org/x-ufwuzjufmgpbpvll) |
2020-11-23 11:53:53 +0100 | PotatoHatsue|T | (berbermanm@gateway/shell/matrix.org/x-ofrgdpmkybpiprzw) |
2020-11-23 11:53:53 +0100 | jeffcasavant[m] | (jeffcasava@gateway/shell/matrix.org/x-javvwevsrvfabsjm) |
2020-11-23 11:53:53 +0100 | johnnyboy[m] | (gifumatrix@gateway/shell/matrix.org/x-grtayloopdscsgus) |
2020-11-23 11:53:53 +0100 | camlriot42 | (camlriotma@gateway/shell/matrix.org/x-iykqiffyqrfswvid) |
2020-11-23 11:53:53 +0100 | kaychaks_riot | (kaychaksma@gateway/shell/matrix.org/x-wzfqmwqobnsimpzc) |
2020-11-23 11:53:55 +0100 | jkaye[m] | (jkayematri@gateway/shell/matrix.org/x-xgtxrdifoozwqxqt) |
2020-11-23 11:53:56 +0100 | loprakoa[m] | (loprakoama@gateway/shell/matrix.org/x-jggrqgksdtnpxwbo) |
2020-11-23 11:53:56 +0100 | TekShifter[m] | (tekshifter@gateway/shell/matrix.org/x-cfzrvymgkwpsjlwz) |
2020-11-23 11:53:56 +0100 | betrion[m] | (betrionmat@gateway/shell/matrix.org/x-lhecpqwtjkkiglwb) |
2020-11-23 11:53:56 +0100 | miseenplace[m] | (miseenplac@gateway/shell/matrix.org/x-wnnpqyuemudervxu) |
2020-11-23 11:53:56 +0100 | wi[m] | (w1gzmatrix@gateway/shell/matrix.org/x-ywaugiascvhtlbjk) |
2020-11-23 11:53:57 +0100 | mikr[m] | (mikrdavral@gateway/shell/matrix.org/x-wijhaydyfjgkrnqd) |
2020-11-23 11:53:57 +0100 | falling-edge[m] | (falling-ed@gateway/shell/matrix.org/x-ingloazughuslvcy) |
2020-11-23 11:53:57 +0100 | alexfmpe | (alexfmpema@gateway/shell/matrix.org/x-uqlbdbsmgeiylcyi) |
2020-11-23 11:53:58 +0100 | dyniec[m] | (dyniecmatr@gateway/shell/matrix.org/x-rvvlgbaxbtmzugej) |
2020-11-23 11:53:58 +0100 | patier[m] | (patiermatr@gateway/shell/matrix.org/x-yjfgmheqbsrvyvho) |
2020-11-23 11:53:58 +0100 | jesser[m] | (jessermatr@gateway/shell/matrix.org/x-qvghulfnrarmvzsf) |
2020-11-23 11:53:58 +0100 | andreabedini[m] | (andreabedi@gateway/shell/matrix.org/x-qitqfbtrbfnzbcmu) |
2020-11-23 11:53:58 +0100 | wanaks[m] | (wanaksmatr@gateway/shell/matrix.org/x-evkorzdwtetbvvid) |
2020-11-23 11:53:58 +0100 | alephu5[m] | (alephu5mat@gateway/shell/matrix.org/x-iqqwqpszzorkjviq) |
2020-11-23 11:53:58 +0100 | jlv | (jlvjustinl@gateway/shell/matrix.org/x-pkbhavgbkzlvwwnm) |
2020-11-23 11:53:59 +0100 | Hanma[m] | (hanmamatri@gateway/shell/matrix.org/x-fchldacgfrgiwucu) |
2020-11-23 11:53:59 +0100 | rab24ack[m] | (rab24ackma@gateway/shell/matrix.org/x-djastgiuyzrwwale) |
2020-11-23 11:54:02 +0100 | elpfen[m] | (elpfenmatr@gateway/shell/matrix.org/x-aisvdtstqpsxnxki) |
2020-11-23 11:54:07 +0100 | Fractalis | (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) (Ping timeout: 260 seconds) |
2020-11-23 11:54:41 +0100 | <cads> | lol @ issue 12 |
2020-11-23 11:54:53 +0100 | <cads> | sounds like I need to make a proposal, is all |
2020-11-23 11:55:00 +0100 | <cads> | thanks! |
2020-11-23 11:56:48 +0100 | boxscape | (86ab2d68@gateway/web/cgi-irc/kiwiirc.com/ip.134.171.45.104) |
2020-11-23 11:58:17 +0100 | <merijn> | cads: People can't agree on what installer should be used :p |
2020-11-23 11:58:25 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 256 seconds) |
2020-11-23 12:01:14 +0100 | <maerwald> | everyone has an opinion, but no one has time :p |
2020-11-23 12:01:40 +0100 | <cads> | makes it very very easy for anyone with the time |
2020-11-23 12:05:20 +0100 | <cads> | unless the other folks think they still get an opinion ;) |
2020-11-23 12:06:45 +0100 | <cads> | like, sorry, but this the new download button, lmao https://imgur.com/a/tVkTeak ;) |
2020-11-23 12:07:02 +0100 | cads | is partially kidding of course |
2020-11-23 12:09:45 +0100 | jedws | (~jedws@101.184.150.93) (Read error: Connection reset by peer) |
2020-11-23 12:11:37 +0100 | <tomsmeding> | oh, can I order the Hask category? that would be neat |
2020-11-23 12:12:27 +0100 | cads | thinks the hask category is the first category they ever heard of |
2020-11-23 12:13:06 +0100 | <tomsmeding> | I believe it's not a particular interesting one, but don't ask me about category theory lol |
2020-11-23 12:14:40 +0100 | <cads> | maerwald, I'm very interested in your docker workers - was trying to set that up earlier today when I thought that the installer story was broken for WSL |
2020-11-23 12:15:17 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 12:15:25 +0100 | <cads> | I was going to have a ghc docker machine that I send builds to |
2020-11-23 12:15:40 +0100 | dansho | (~dansho@ip68-108-167-185.lv.lv.cox.net) (Quit: Leaving) |
2020-11-23 12:16:18 +0100 | daGrevis | (~daGrevis@unaffiliated/dagrevis) (Remote host closed the connection) |
2020-11-23 12:16:44 +0100 | daGrevis | (~daGrevis@unaffiliated/dagrevis) |
2020-11-23 12:17:41 +0100 | <cads> | maerwald, also at this juncture I'm thinking about adding buttons, not forcing a choice on the installers. Although adding buttons kind of foregrounds the issue that we don't really have buttons for windows, I'm not against making buttons point to what we've got |
2020-11-23 12:18:14 +0100 | <cads> | ie, that design can even remain in draft status till we figure out what the buttons are |
2020-11-23 12:20:16 +0100 | rprije | (~rprije@124.148.131.132) (Ping timeout: 240 seconds) |
2020-11-23 12:22:05 +0100 | <maerwald> | cads: here's an example https://git.io/Jk6OS |
2020-11-23 12:26:03 +0100 | <cads> | I'm currently building design references from: https://go-lang.org, https://rust-lang.org, https://typescriptlang.org, https://quarkus.io - these are four examples of programming platforms, whose web pages visually eliminate uncertainty and reduce the stress of getting started.. Other examples are welcome! |
2020-11-23 12:26:21 +0100 | DavidEichmann | (~david@62.110.198.146.dyn.plus.net) |
2020-11-23 12:27:04 +0100 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:55f1:c3a3:cdbe:bf52) (Ping timeout: 240 seconds) |
2020-11-23 12:27:20 +0100 | <cads> | maerwald, thanks! I did not know that I could fork a gist. But I do now, and I'm not ashamed :) |
2020-11-23 12:28:18 +0100 | LKoen | (~LKoen@169.244.88.92.rev.sfr.net) |
2020-11-23 12:28:51 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 260 seconds) |
2020-11-23 12:29:44 +0100 | Tops2 | (~Tobias@dyndsl-095-033-021-036.ewe-ip-backbone.de) |
2020-11-23 12:33:59 +0100 | Martinsos | (~user@cpe-188-129-116-164.dynamic.amis.hr) (Remote host closed the connection) |
2020-11-23 12:36:48 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-11-23 12:38:00 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 12:38:32 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2020-11-23 12:41:21 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 12:46:12 +0100 | oleks | (~oleks@188.166.34.97) (Remote host closed the connection) |
2020-11-23 12:46:13 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2020-11-23 12:46:28 +0100 | Guest42 | (56ca6780@gateway/web/cgi-irc/kiwiirc.com/ip.86.202.103.128) (Quit: Connection closed) |
2020-11-23 12:47:00 +0100 | klixto | (~klixto@49.188.65.219) |
2020-11-23 12:47:43 +0100 | enoq | (~textual@194-208-146-143.lampert.tv) |
2020-11-23 12:47:55 +0100 | SanchayanM | (~Sanchayan@171.76.82.54) (Quit: SanchayanM) |
2020-11-23 12:49:53 +0100 | cosimone | (~user@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-11-23 12:51:14 +0100 | SanchayanMaity | (~Sanchayan@171.76.82.54) |
2020-11-23 12:52:43 +0100 | _ht | (~huub@82-169-194-8.biz.kpn.net) |
2020-11-23 12:53:01 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 264 seconds) |
2020-11-23 12:53:09 +0100 | klixto | (~klixto@49.188.65.219) (Quit: WeeChat 2.9) |
2020-11-23 12:53:32 +0100 | SanchayanMaity | (~Sanchayan@171.76.82.54) (Client Quit) |
2020-11-23 12:53:37 +0100 | _ht | (~huub@82-169-194-8.biz.kpn.net) (Client Quit) |
2020-11-23 12:57:01 +0100 | alp | (~alp@2a01:e0a:58b:4920:21cf:ab8e:85fd:bb5c) (Ping timeout: 272 seconds) |
2020-11-23 12:58:58 +0100 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:55f1:c3a3:cdbe:bf52) |
2020-11-23 13:01:23 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds) |
2020-11-23 13:03:13 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2020-11-23 13:04:16 +0100 | boxscape33 | (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) |
2020-11-23 13:05:26 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 13:07:02 +0100 | chaosmasttter | (~chaosmast@p200300c4a72cf80165f6d709b523305b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-11-23 13:07:08 +0100 | boxscape | (86ab2d68@gateway/web/cgi-irc/kiwiirc.com/ip.134.171.45.104) (Ping timeout: 246 seconds) |
2020-11-23 13:08:20 +0100 | sondr3 | (~sondr3@cm-84.211.56.132.getinternet.no) |
2020-11-23 13:10:41 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2020-11-23 13:10:49 +0100 | <sondr3> | when writing parsers in Haskell where parsing depends on a sequence you parsec earlier on is there a way to avoid using state? The parser has a 'boundary' that is the end of a multiline string that you find in the beginning of parsing |
2020-11-23 13:11:21 +0100 | statusfailed | (~statusfai@statusfailed.com) (Quit: leaving) |
2020-11-23 13:13:45 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) (Remote host closed the connection) |
2020-11-23 13:13:53 +0100 | statusfailed | (~statusfai@statusfailed.com) |
2020-11-23 13:14:38 +0100 | Entertainment | (~entertain@104.246.132.210) |
2020-11-23 13:16:09 +0100 | <tomsmeding> | that's what monadic parsing is for, right? |
2020-11-23 13:16:28 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds) |
2020-11-23 13:16:43 +0100 | <tomsmeding> | do { sep <- choice [string "'", string "\""] ; body <- parseMultilineBody sep ; string sep ; return body } |
2020-11-23 13:16:54 +0100 | alp | (~alp@2a01:e0a:58b:4920:e13d:1293:cf10:eb67) |
2020-11-23 13:17:05 +0100 | <tomsmeding> | of course changed to your particular situation sondr3 |
2020-11-23 13:17:31 +0100 | <tomsmeding> | your state is on the call stack, sort of |
2020-11-23 13:18:17 +0100 | <tomsmeding> | now, if you'd need to know which separator was used in a completely different part of the thing you're parsing, then you probably need some kind of state |
2020-11-23 13:19:22 +0100 | cosimone | (~user@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: ERC (IRC client for Emacs 27.1)) |
2020-11-23 13:20:13 +0100 | <sondr3> | Yeah, the separator is shared between many entries when parsing where each entries separator must be an exact match to the first found separator |
2020-11-23 13:22:43 +0100 | Iceland_jack | (~user@31.124.48.169) |
2020-11-23 13:22:49 +0100 | <tomsmeding> | is that only within the actual multiline string you're parsing? If so, can you not somehow write that parseMultilineBody function? |
2020-11-23 13:22:57 +0100 | <tomsmeding> | note that it gets the used separator as an argument sondr3 |
2020-11-23 13:24:24 +0100 | <sondr3> | The spec says that the content is "any sequence of characters that neither begins with boundary nor NEWLINE boundary", I've been able to make a parser with state where it works |
2020-11-23 13:24:39 +0100 | <sondr3> | But it feels kinda icky and I |
2020-11-23 13:24:57 +0100 | <sondr3> | new keyboard, bear with me x) |
2020-11-23 13:25:30 +0100 | oleks | (~oleks@188.166.34.97) |
2020-11-23 13:25:30 +0100 | oleks | (~oleks@188.166.34.97) (Client Quit) |
2020-11-23 13:25:36 +0100 | <sondr3> | *and I can't get hspec-megaparsec to agree with me when using ParsecT and not just Parsec |
2020-11-23 13:27:20 +0100 | chaosmasttter | (~chaosmast@p200300c4a72cf80165f6d709b523305b.dip0.t-ipconnect.de) |
2020-11-23 13:28:01 +0100 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection) |
2020-11-23 13:30:47 +0100 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
2020-11-23 13:31:48 +0100 | danza | (~francesco@151.74.104.171) |
2020-11-23 13:32:57 +0100 | sheb | (~Thunderbi@77.244.36.161) |
2020-11-23 13:33:01 +0100 | <tomsmeding> | sondr3: which spec? |
2020-11-23 13:33:29 +0100 | <Iceland_jack> | :t curr |
2020-11-23 13:33:30 +0100 | <lambdabot> | error: |
2020-11-23 13:33:30 +0100 | <lambdabot> | • Variable not in scope: curr |
2020-11-23 13:33:30 +0100 | <lambdabot> | • Perhaps you meant ‘curry’ (imported from Data.Tuple) |
2020-11-23 13:33:31 +0100 | <Iceland_jack> | :t curry |
2020-11-23 13:33:32 +0100 | <lambdabot> | ((a, b) -> c) -> a -> b -> c |
2020-11-23 13:33:43 +0100 | <Iceland_jack> | curry :: ((a, b) -> c) |
2020-11-23 13:33:43 +0100 | <Iceland_jack> | -> (a -> b -> c) |
2020-11-23 13:33:57 +0100 | <tomsmeding> | neat, isn't it? |
2020-11-23 13:34:10 +0100 | sheb | (~Thunderbi@77.244.36.161) () |
2020-11-23 13:34:15 +0100 | <sondr3> | tomsmeding: https://github.com/google/hrx, looked like a simple and useful thing to use when learning parsing in Haskell, it's just the boundary stuff that's tripping me up |
2020-11-23 13:35:03 +0100 | <tomsmeding> | sondr3: can't you do this recursively? |
2020-11-23 13:35:22 +0100 | Franciman | (~francesco@host-82-54-193-143.retail.telecomitalia.it) (Quit: Leaving) |
2020-11-23 13:35:54 +0100 | <sondr3> | tomsmeding: the thought have struck me, yeah |
2020-11-23 13:37:42 +0100 | sheb | (~Thunderbi@77.244.36.161) |
2020-11-23 13:37:55 +0100 | NieDzejkob | (~quassel@188.123.215.55) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2020-11-23 13:38:38 +0100 | <sondr3> | I'll try doing it recursively, thanks for being a rubber duck tomsmeding :) |
2020-11-23 13:38:57 +0100 | <tomsmeding> | or even in a kind of continuation-passing style; parseComponent :: Maybe Boundary -> Parsec HRX ; parseComponent Nothing = parseNewBoundary >>= parseAfterBoundary ; parseComponent (Just bnd) = parseBoundary bnd >> parseAfterBoundary bnd ; parseAfterBoundary :: Boundary -> Parser HRX ; parseAfterBoundary bnd = do { item <- pComment bnd <|> pFile bnd <|> pDirectory bnd ; HRX rest <- parseComponent |
2020-11-23 13:38:57 +0100 | <tomsmeding> | (Just bnd) ; return HRX (item : rest) } |
2020-11-23 13:39:00 +0100 | <tomsmeding> | or something like that? |
2020-11-23 13:39:06 +0100 | NieDzejkob | (~quassel@188.123.215.55) |
2020-11-23 13:39:10 +0100 | <tomsmeding> | s/ ; /\n/g |
2020-11-23 13:39:20 +0100 | <tomsmeding> | pseudocode though :p |
2020-11-23 13:39:24 +0100 | <tomsmeding> | that's CPS-like |
2020-11-23 13:40:19 +0100 | sheb | (~Thunderbi@77.244.36.161) () |
2020-11-23 13:40:38 +0100 | boxscape33 | boxscape |
2020-11-23 13:40:50 +0100 | <sondr3> | Looks like Haskell to me :P thanks! |
2020-11-23 13:41:08 +0100 | <boxscape> | % type TypeOf :: forall t . forall (a :: t) -> *; type family TypeOf t where TypeOf @t a = t |
2020-11-23 13:41:08 +0100 | <yahb> | boxscape: |
2020-11-23 13:41:09 +0100 | <boxscape> | % :kind! TypeOf (Just True) |
2020-11-23 13:41:09 +0100 | <yahb> | boxscape: *; = Maybe Bool |
2020-11-23 13:41:12 +0100 | <boxscape> | I like that this works |
2020-11-23 13:41:28 +0100 | <boxscape> | feels almost like using a dynamically typed language in a way |
2020-11-23 13:41:44 +0100 | sheb | (~Thunderbi@77.244.36.161) |
2020-11-23 13:43:35 +0100 | <boxscape> | % type TypeOf' :: forall t . t -> *; type family TypeOf' a where TypeOf' @t a = t -- I suppose my kind sig is more complicated than it has to be |
2020-11-23 13:43:36 +0100 | <yahb> | boxscape: |
2020-11-23 13:44:16 +0100 | danza | (~francesco@151.74.104.171) (Quit: Leaving) |
2020-11-23 13:45:31 +0100 | hackage | sr-extra 1.85.1 - Module limbo https://hackage.haskell.org/package/sr-extra-1.85.1 (DavidFox) |
2020-11-23 13:46:04 +0100 | <boxscape> | % Just True :: TypeOf (Just True) -- :) |
2020-11-23 13:46:04 +0100 | <yahb> | boxscape: Just True |
2020-11-23 13:46:23 +0100 | geekosaur | (ac3a8b3a@172.58.139.58) |
2020-11-23 13:48:10 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2020-11-23 13:48:17 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 13:49:10 +0100 | _xor | (~xor@74.215.46.133) (Quit: WeeChat 3.0) |
2020-11-23 13:49:28 +0100 | hseg | (~gesh@185.120.126.113) |
2020-11-23 13:49:31 +0100 | _xor | (~xor@74.215.46.133) |
2020-11-23 13:49:42 +0100 | <hseg> | hi. is there some way of dumping all bindings made in ghci? |
2020-11-23 13:50:12 +0100 | <hseg> | have had a long ghci session, would like to save some of the more useful ones for tomorrow |
2020-11-23 13:50:34 +0100 | Lden | (5fa448e7@95.164.72.231) |
2020-11-23 13:50:41 +0100 | <geekosaur> | not really |
2020-11-23 13:50:53 +0100 | <hseg> | pity |
2020-11-23 13:51:01 +0100 | <boxscape> | % :show bindings |
2020-11-23 13:51:01 +0100 | <yahb> | boxscape: type Ghci6.Fam :: forall k (a :: k) (b :: k). a :~: b; type family Ghci6.Fam; type Ghci7.Fam :: forall k (a :: k) (b :: k). a :~: b; type family Ghci7.Fam; type Ghci8.Fam :: forall k (a :: k) (b :: k). a :~: b; type family Ghci8.Fam; type Ghci9.Fam :: forall k (a :: k) (b :: k). a :~: b; type family Ghci9.Fam; type Fam :: forall k (a :: k) (b :: k). a :~: b; type family Fam; type Foo :: *; data Foo = ...; foo |
2020-11-23 13:51:11 +0100 | <boxscape> | hseg does that work? |
2020-11-23 13:51:45 +0100 | <boxscape> | wait |
2020-11-23 13:51:47 +0100 | <boxscape> | it doesn't |
2020-11-23 13:51:58 +0100 | <boxscape> | it doesn't give you the definition, only the type |
2020-11-23 13:51:59 +0100 | <boxscape> | :( |
2020-11-23 13:52:21 +0100 | <hseg> | which is enough to ctrl-r back to the definition |
2020-11-23 13:52:24 +0100 | <hseg> | thanks! |
2020-11-23 13:52:29 +0100 | <boxscape> | np |
2020-11-23 13:52:34 +0100 | <boxscape> | glad it help |
2020-11-23 13:52:35 +0100 | <boxscape> | s |
2020-11-23 13:52:45 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-11-23 13:53:30 +0100 | <hseg> | well, up to a point, but i'll take what i can get |
2020-11-23 13:53:54 +0100 | pavonia | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2020-11-23 13:54:06 +0100 | SanchayanMaity | (~Sanchayan@171.76.82.54) |
2020-11-23 13:56:07 +0100 | carlomagno | (~cararell@148.87.23.7) (Remote host closed the connection) |
2020-11-23 13:58:33 +0100 | Lden | (5fa448e7@95.164.72.231) () |
2020-11-23 13:58:44 +0100 | Lden | (5fa448e7@95.164.72.231) |
2020-11-23 13:58:55 +0100 | Lden | (5fa448e7@95.164.72.231) (Remote host closed the connection) |
2020-11-23 13:59:18 +0100 | LDem | (5fa448e7@95.164.72.231) |
2020-11-23 14:00:01 +0100 | hexfive | (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Quit: i must go. my people need me.) |
2020-11-23 14:00:43 +0100 | Tario | (~Tario@201.192.165.173) |
2020-11-23 14:01:26 +0100 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
2020-11-23 14:01:44 +0100 | urodna | (~urodna@unaffiliated/urodna) |
2020-11-23 14:03:02 +0100 | texasmynsted | (~texasmyns@212.102.45.103) |
2020-11-23 14:03:20 +0100 | <tomsmeding> | hseg: try ~/.ghc/ghci_history? |
2020-11-23 14:03:21 +0100 | texasmynsted | (~texasmyns@212.102.45.103) (Read error: Connection reset by peer) |
2020-11-23 14:03:44 +0100 | texasmynsted | (~texasmyns@212.102.45.103) |
2020-11-23 14:04:00 +0100 | <tomsmeding> | though it seems it only writes that file upon closing ghci, so that's going to be a scary close :p |
2020-11-23 14:04:00 +0100 | ian-mi | (~ian_milli@c-67-160-8-14.hsd1.wa.comcast.net) (Ping timeout: 256 seconds) |
2020-11-23 14:04:06 +0100 | <hseg> | yup |
2020-11-23 14:04:19 +0100 | <hseg> | and it's of bounded length |
2020-11-23 14:04:30 +0100 | <hseg> | oh well |
2020-11-23 14:04:31 +0100 | <tomsmeding> | oh true |
2020-11-23 14:04:35 +0100 | <hseg> | not too much was lost |
2020-11-23 14:04:49 +0100 | <hseg> | and needed to rewrite what was lost anyway |
2020-11-23 14:06:44 +0100 | <hseg> | recommendations for improvement on http://ix.io/2FbY ? |
2020-11-23 14:06:45 +0100 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection) |
2020-11-23 14:07:18 +0100 | <hseg> | (trying to compute the cycle notation of a permutation s, written out as [s 1, s 2, ..., s n]) |
2020-11-23 14:07:26 +0100 | <ski> | Xnuk : "Escaping Hell with Monads" by Philip Nilsson in 2017-05-08 at <https://philipnilsson.github.io/Badness10k/escaping-hell-with-monads/> might be interesting |
2020-11-23 14:08:18 +0100 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
2020-11-23 14:09:42 +0100 | lmw | (866594e0@gateway/web/thelounge/ip.134.101.148.224) |
2020-11-23 14:09:52 +0100 | lmw | hugs ski |
2020-11-23 14:10:07 +0100 | <hseg> | ski: neat exposition |
2020-11-23 14:10:45 +0100 | Rudd0 | (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds) |
2020-11-23 14:11:15 +0100 | <ski> | dminuoso : "The usefulness of monad comes from not using it" -- actually i think this (the original, unintended, formulation), is partially true, if you interpret it as expressing effects through monads, instead of by having side-effects in the language |
2020-11-23 14:11:23 +0100 | <ski> | heya lmw :) |
2020-11-23 14:12:28 +0100 | Fractalis | (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) |
2020-11-23 14:13:31 +0100 | carlomagno | (~cararell@148.87.23.7) |
2020-11-23 14:17:22 +0100 | <sondr3> | I like how DuckDuckGo displays a little `Safe Haskell: Trustworthy Language: Haskell2010` beneath some Hackage packages |
2020-11-23 14:17:54 +0100 | SanchayanMaity | (~Sanchayan@171.76.82.54) (Quit: SanchayanMaity) |
2020-11-23 14:18:08 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:6c06:c056:20b8:f8ee:6530) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-11-23 14:18:20 +0100 | <Iceland_jack> | :D |
2020-11-23 14:18:50 +0100 | <ski> | (in other words, part of the usefulness of expressing effects through monads (and idioms / applicative functors), rather than through side-effects, is that this clearly (in both types/interfaces, and in code) delineates and distinguishes where effects can occur, rather than potentially every call having a side-effect, thereby helping/improving refactoring and other reasoning) |
2020-11-23 14:22:22 +0100 | <hseg> | ie a particular case of "sufficiently well-typed programs can only go limitedly wrong" |
2020-11-23 14:22:34 +0100 | lmw | (866594e0@gateway/web/thelounge/ip.134.101.148.224) (Quit: The Lounge - https://thelounge.chat) |
2020-11-23 14:24:14 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:6c06:c056:20b8:f8ee:6530) |
2020-11-23 14:26:11 +0100 | <hseg> | TIL: import Module as M imports all names from M as well as qualified versions qualified by M -- particularly useful when only a couple of names overlap |
2020-11-23 14:26:26 +0100 | Fractalis | (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) (Ping timeout: 264 seconds) |
2020-11-23 14:30:07 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Ping timeout: 260 seconds) |
2020-11-23 14:30:27 +0100 | JohnONolan | (~JohnONola@217.146.82.202) (Remote host closed the connection) |
2020-11-23 14:32:32 +0100 | coot | (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2020-11-23 14:32:51 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2020-11-23 14:33:15 +0100 | Kaivo | (~Kaivo@104-200-86-99.mc.derytele.com) |
2020-11-23 14:33:49 +0100 | LDem | (5fa448e7@95.164.72.231) (Ping timeout: 245 seconds) |
2020-11-23 14:34:28 +0100 | Chi1thangoo | (~Chi1thang@87.112.60.168) |
2020-11-23 14:36:36 +0100 | fendor | (~fendor@91.141.2.69.wireless.dyn.drei.com) (Ping timeout: 240 seconds) |
2020-11-23 14:36:46 +0100 | SanchayanMaity | (~Sanchayan@171.76.82.54) |
2020-11-23 14:39:10 +0100 | ian-mi | (~ian_milli@2601:600:9c80:322d:fffc:f6e1:b33f:3002) |
2020-11-23 14:42:31 +0100 | fendor | (~fendor@91.141.0.31.wireless.dyn.drei.com) |
2020-11-23 14:43:05 +0100 | solonarv | (~solonarv@astrasbourg-653-1-156-4.w90-6.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2020-11-23 14:45:35 +0100 | lxsameer | (~lxsameer@unaffiliated/lxsameer) (Ping timeout: 260 seconds) |
2020-11-23 14:47:27 +0100 | <tomsmeding> | I recommend using an unqualified import with an "as" binding very sparingly |
2020-11-23 14:48:09 +0100 | <tomsmeding> | it suggests that this module exports names that collide with other things (otherwise you wouldn't need the "as"), and thus probably exports names that are fairly generic and hard to trace back to the module |
2020-11-23 14:48:26 +0100 | <tomsmeding> | which _usually_ makes it hard to understand the code without IDE support |
2020-11-23 14:48:39 +0100 | <tomsmeding> | but this is a very subjective recommendation, use your own judgement :) |
2020-11-23 14:49:09 +0100 | <tomsmeding> | in particular 'import Data.Text as T' is very bad IMO |
2020-11-23 14:49:18 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 14:49:18 +0100 | Chi1thangoo | (~Chi1thang@87.112.60.168) (Read error: Connection reset by peer) |
2020-11-23 14:53:52 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-11-23 14:54:13 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds) |
2020-11-23 14:55:07 +0100 | st8less | (~st8less@2603:a060:11fd:0:b95c:25ed:47d7:d69f) |
2020-11-23 14:55:16 +0100 | boxscape | (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Ping timeout: 240 seconds) |
2020-11-23 14:56:56 +0100 | PacoV | (~pcoves@16.194.31.93.rev.sfr.net) |
2020-11-23 14:56:58 +0100 | <PacoV> | Hi. |
2020-11-23 14:57:45 +0100 | <tomsmeding> | hseg: a pattern that I (and other people) do use is something like 'import qualified Data.Map.Strict as Map ; import Data.Map.Strict (Map)' |
2020-11-23 14:58:05 +0100 | <tomsmeding> | re:your IS.IntSet |
2020-11-23 15:00:15 +0100 | lxsameer | (lxsameer@gateway/vpn/protonvpn/lxsameer) |
2020-11-23 15:00:23 +0100 | resolve | (~resolve@178.162.212.214) |
2020-11-23 15:01:39 +0100 | <tomsmeding> | PacoV: 👋 |
2020-11-23 15:08:08 +0100 | qwfpmluy | (2e0505e2@HSI-KBW-046-005-005-226.hsi8.kabel-badenwuerttemberg.de) |
2020-11-23 15:08:44 +0100 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
2020-11-23 15:10:38 +0100 | boxscape | (86ab2c1f@gateway/web/cgi-irc/kiwiirc.com/ip.134.171.44.31) |
2020-11-23 15:12:25 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2020-11-23 15:17:42 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) |
2020-11-23 15:18:05 +0100 | Achylles | (~Achylles@177.45.205.205) |
2020-11-23 15:18:14 +0100 | cur8or | (~cur8or@72canterbury.cybersmart.co.za) (Ping timeout: 256 seconds) |
2020-11-23 15:18:55 +0100 | Achylles | (~Achylles@177.45.205.205) (Max SendQ exceeded) |
2020-11-23 15:19:25 +0100 | Achylles | (~Achylles@177.45.205.205) |
2020-11-23 15:21:57 +0100 | Achylles | (~Achylles@177.45.205.205) (Max SendQ exceeded) |
2020-11-23 15:22:19 +0100 | mputz | (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) |
2020-11-23 15:22:33 +0100 | son0p | (~son0p@181.136.122.143) |
2020-11-23 15:22:36 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 240 seconds) |
2020-11-23 15:23:52 +0100 | Achylles | (~Achylles@177.45.205.205) |
2020-11-23 15:24:58 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 15:26:17 +0100 | <qwfpmluy> | what are the best resources for learning about the different ways of doing `deriving` (deriving via, standalone deriving, ...) in haskell? |
2020-11-23 15:28:09 +0100 | <boxscape> | I think the User Guide, starting here, is a decent resource https://downloads.haskell.org/ghc/latest/docs/html/users_guide/glasgow_exts.html#generalised-deriv… |
2020-11-23 15:28:39 +0100 | <boxscape> | (actually standalone deriving is a bit further up) |
2020-11-23 15:31:11 +0100 | <Uniaika> | I wonder if Kowainik didn't make a short guide on that |
2020-11-23 15:31:31 +0100 | <lyxia> | qwfpmluy: https://kowainik.github.io/posts/deriving |
2020-11-23 15:31:42 +0100 | <Uniaika> | glorious, thanks lyxia |
2020-11-23 15:31:55 +0100 | <lyxia> | Uniaika: :P |
2020-11-23 15:32:08 +0100 | <Uniaika> | :9 |
2020-11-23 15:32:21 +0100 | <hseg> | tomsmeding: fair. i use unqualified imports more frequently in ghci for this reason |
2020-11-23 15:32:56 +0100 | <tomsmeding> | ghci is playground anyway :) |
2020-11-23 15:33:56 +0100 | cads | (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 240 seconds) |
2020-11-23 15:33:58 +0100 | <qwfpmluy> | boxscape lyxia thanks! |
2020-11-23 15:34:36 +0100 | <hseg> | exactly |
2020-11-23 15:34:43 +0100 | <hseg> | any other recs? |
2020-11-23 15:34:56 +0100 | <hseg> | feel my recursion is a bit ad-hoc |
2020-11-23 15:36:01 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2020-11-23 15:36:06 +0100 | cads | (~cads@ip-64-72-99-232.lasvegas.net) |
2020-11-23 15:36:56 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 240 seconds) |
2020-11-23 15:37:18 +0100 | coot | (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) |
2020-11-23 15:37:24 +0100 | Fractalis | (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) |
2020-11-23 15:37:39 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:1ca0:7a83:5454:b1ba) |
2020-11-23 15:38:00 +0100 | hackage | prolude 0.0.0.10 - ITProTV's custom prelude https://hackage.haskell.org/package/prolude-0.0.0.10 (saramuse) |
2020-11-23 15:42:53 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2020-11-23 15:44:53 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 15:45:05 +0100 | falafel | (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) |
2020-11-23 15:48:25 +0100 | sheb | (~Thunderbi@77.244.36.161) (Ping timeout: 240 seconds) |
2020-11-23 15:48:34 +0100 | geekosaur | (ac3a8b3a@172.58.139.58) (Remote host closed the connection) |
2020-11-23 15:49:32 +0100 | kish` | (~oracle@unaffiliated/oracle) |
2020-11-23 15:49:44 +0100 | sheb | (~Thunderbi@77.244.36.161) |
2020-11-23 15:49:53 +0100 | larou | (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) (Quit: Connection closed) |
2020-11-23 15:51:32 +0100 | xff0x | (~fox@2001:1a81:5237:b800:d8c8:bfa0:43f3:b736) (Ping timeout: 260 seconds) |
2020-11-23 15:51:58 +0100 | xff0x | (~fox@2001:1a81:5237:b800:aac7:5690:7e90:eba4) |
2020-11-23 15:52:14 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:6c06:c056:20b8:f8ee:6530) (Ping timeout: 264 seconds) |
2020-11-23 15:52:14 +0100 | chaosmasttter | (~chaosmast@p200300c4a72cf80165f6d709b523305b.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2020-11-23 15:53:06 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:6c06:c056:20b8:f8ee:6530) |
2020-11-23 15:53:53 +0100 | <boxscape> | hmm, I'm idly wondering if there is some way to take a non-IO value and unsafeCoerce it to print a non-empty string to the terminal |
2020-11-23 15:54:02 +0100 | <boxscape> | I suppose there has to be |
2020-11-23 15:54:16 +0100 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection) |
2020-11-23 15:54:54 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-lkssxccumhdupnut) |
2020-11-23 15:57:57 +0100 | <tomsmeding> | hseg: I haven't even tried to compile this, but theoretically this should do the same as yours? https://paste.tomsmeding.com/FbLBhrVM |
2020-11-23 15:58:23 +0100 | <tomsmeding> | using ! instead of !? I do assume that the permutation is valid, i.e. doesn't contain out of bounds values |
2020-11-23 15:58:50 +0100 | falafel | (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) (Ping timeout: 264 seconds) |
2020-11-23 15:58:54 +0100 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
2020-11-23 16:00:14 +0100 | <dminuoso> | boxscape: Do you mean Debug.Trace.trace ? |
2020-11-23 16:00:22 +0100 | <dminuoso> | That's not quite unsafeCoerce though. |
2020-11-23 16:01:20 +0100 | <boxscape> | dminuoso well, basically what I'm looking for (for no particular reason) is something like (unsafeCoerce (23874893274 :: Integer) :: IO ()), which, when bound to main, prints "hello" to the terminal, or whatever |
2020-11-23 16:01:44 +0100 | <merijn> | boxscape: You are a bad person and you should feel bad >.> |
2020-11-23 16:01:45 +0100 | <dminuoso> | How is that even remotely related to unsafeCoerce... ? |
2020-11-23 16:01:52 +0100 | <boxscape> | merijn sorry :( |
2020-11-23 16:01:53 +0100 | <merijn> | dminuoso: l33t ahx |
2020-11-23 16:01:58 +0100 | <merijn> | s/ahx/hax |
2020-11-23 16:02:16 +0100 | <dminuoso> | boxscape: Why should that print "hello" and not "goodbye"? |
2020-11-23 16:02:19 +0100 | <merijn> | dminuoso: Like those people who write C, but main is a char* whose values happen to be sensible code |
2020-11-23 16:02:30 +0100 | <boxscape> | dminuoso because the number is carefully chosen |
2020-11-23 16:02:38 +0100 | <boxscape> | (though my example is random) |
2020-11-23 16:02:49 +0100 | <dminuoso> | boxscape: Maybe you should elaborate on that "carefully chosen" |
2020-11-23 16:02:55 +0100 | <dminuoso> | because so far you didn't mentoin this |
2020-11-23 16:03:11 +0100 | <dminuoso> | All I got was "I want `unsafeCoerce a` to turn it into a printing thing" |
2020-11-23 16:03:13 +0100 | alp | (~alp@2a01:e0a:58b:4920:e13d:1293:cf10:eb67) (Ping timeout: 272 seconds) |
2020-11-23 16:03:13 +0100 | <dminuoso> | :p |
2020-11-23 16:03:15 +0100 | <merijn> | dminuoso: He wants to figure out how to pick a value, such that unsafeCoerce leads toe xecutable code |
2020-11-23 16:03:29 +0100 | <boxscape> | dminuoso The essence of my wondering is exactly how to find such a value (and I suppose a type that supports it) |
2020-11-23 16:03:48 +0100 | <dolio> | I think that might not even be possible. |
2020-11-23 16:03:57 +0100 | <dminuoso> | boxscape: unsafePerformIO does it for you. |
2020-11-23 16:03:57 +0100 | <boxscape> | hmm what makes you say that? |
2020-11-23 16:04:06 +0100 | <dminuoso> | Or.. wait no. IO is that thing. |
2020-11-23 16:04:49 +0100 | <tomsmeding> | boxscape: I think the problem you're going to run into is that a valid valid of type IO a is going to have lots of pointers in it |
2020-11-23 16:04:51 +0100 | <dminuoso> | boxscape: For starters you have no knowledge of the hepa |
2020-11-23 16:04:58 +0100 | <dminuoso> | *heap |
2020-11-23 16:05:01 +0100 | <dolio> | Because there'd be no closure layout for an integer that actually matches an IO thing. |
2020-11-23 16:05:13 +0100 | <dolio> | Or any other type, really. |
2020-11-23 16:05:16 +0100 | <boxscape> | hmm okay |
2020-11-23 16:05:32 +0100 | <tomsmeding> | a ByteArray# could perhaps accidentally match something? |
2020-11-23 16:05:38 +0100 | <dminuoso> | ByteArray# lives on the heap too. |
2020-11-23 16:05:46 +0100 | <tomsmeding> | sure, but an IO value does too |
2020-11-23 16:05:58 +0100 | <tomsmeding> | and embedded pointers will go wrong though |
2020-11-23 16:06:47 +0100 | NieDzejkob | (~quassel@188.123.215.55) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2020-11-23 16:07:34 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2020-11-23 16:07:53 +0100 | NieDzejkob | (~quassel@188.123.215.55) |
2020-11-23 16:08:08 +0100 | <dminuoso> | My feeling tells me boxscape lied about the "for no particular reason" part. |
2020-11-23 16:08:13 +0100 | <hseg> | tomsmeding: yeah, that looks great! my code is an object example of tunnel-visioned use of One Trick(TM) |
2020-11-23 16:08:20 +0100 | <dminuoso> | boxscape: Are you trying to be really sneaky? |
2020-11-23 16:08:21 +0100 | <hseg> | thanks! |
2020-11-23 16:08:25 +0100 | <boxscape> | dminuoso your feelings are lying to you :P |
2020-11-23 16:08:29 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) |
2020-11-23 16:09:03 +0100 | <boxscape> | I was watching a stephanie werich talk about dependent haskell and somehow ended up using unsafeCoerce on a bunch of values with yahb, but I'm not sure how I got there |
2020-11-23 16:09:29 +0100 | <boxscape> | s/werich/weirich |
2020-11-23 16:09:49 +0100 | <hseg> | for some reason i have been avoiding let..in expressions in favor of where clauses recently |
2020-11-23 16:10:01 +0100 | <dminuoso> | boxscape: Can you provide a link to the talk, perhaps indexed at the right time |
2020-11-23 16:10:07 +0100 | <merijn> | hseg: I've always done that, let..in is hard to format nicely and almost never necessary |
2020-11-23 16:10:29 +0100 | <tomsmeding> | hseg: you could even replace the otherwise-line of 'peel' with 'uncurry (:) (peel <$> orbit (IS.findMin remaining) IS.empty)', but that's not making it better :p |
2020-11-23 16:10:32 +0100 | <boxscape> | dminuoso er, I can, but it won't help much because it has nothing to do with unsafeCoerce |
2020-11-23 16:10:33 +0100 | <boxscape> | https://youtu.be/n-b1PYbRUOY?t=1878 |
2020-11-23 16:10:38 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection) |
2020-11-23 16:10:58 +0100 | <Iceland_jack> | qwfpmluy: you can use :instances to list possible instance to derive for -XDerivingVia |
2020-11-23 16:11:14 +0100 | <Iceland_jack> | newtype LL a = LL [[a]] deriving (Functor, Applicative) via Compose [] [] |
2020-11-23 16:11:28 +0100 | <Iceland_jack> | :instances Compose [] [], lists (possible) instances to derive |
2020-11-23 16:11:50 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-11-23 16:12:01 +0100 | <Iceland_jack> | newtype Age = A Int deriving newtype Num |
2020-11-23 16:12:01 +0100 | <Iceland_jack> | ={equivalent} |
2020-11-23 16:12:02 +0100 | <Iceland_jack> | newtype Age = A Int deriving Num via Int |
2020-11-23 16:12:16 +0100 | <Iceland_jack> | -XDerivingVia generalizes -XGeneralizedNewtypeDeriving |
2020-11-23 16:13:01 +0100 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...) |
2020-11-23 16:13:12 +0100 | <Iceland_jack> | *generalises?? |
2020-11-23 16:13:20 +0100 | <Iceland_jack> | I must obey UK |
2020-11-23 16:13:25 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 264 seconds) |
2020-11-23 16:13:31 +0100 | <boxscape> | then use -XGeneralisedNewtypeDeriving |
2020-11-23 16:13:32 +0100 | <hseg> | i think this recursion pattern of :: (s -> (a,s)) -> (s -> Bool) -> s -> [a] should generalize, no? |
2020-11-23 16:13:41 +0100 | <Iceland_jack> | I think GND somewhat recently added -XGeneralisedNewtypeDeriving, UK spelling |
2020-11-23 16:13:59 +0100 | <boxscape> | yeah |
2020-11-23 16:14:17 +0100 | <tomsmeding> | :t unfoldr -- hseg |
2020-11-23 16:14:18 +0100 | <lambdabot> | (b -> Maybe (a, b)) -> b -> [a] |
2020-11-23 16:14:26 +0100 | <hseg> | merijn: that must be it |
2020-11-23 16:14:47 +0100 | <hseg> | ok, so peel can be written as an unfoldr |
2020-11-23 16:15:24 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 16:16:28 +0100 | <tomsmeding> | interesting, you're right |
2020-11-23 16:17:23 +0100 | <hseg> | also, IntSet is missing lookupMin :: IntSet -> Maybe Key |
2020-11-23 16:17:32 +0100 | <ski> | @where strategic-deriving |
2020-11-23 16:17:33 +0100 | <lambdabot> | I know nothing about strategic-deriving. |
2020-11-23 16:18:39 +0100 | <ski> | @where+ strategic-deriving "Strategic Deriving" by Veronika Romashkina,Dmitrii Kovanikov in 2020-09-21 at <https://kowainik.github.io/posts/deriving> |
2020-11-23 16:18:39 +0100 | <lambdabot> | Good to know. |
2020-11-23 16:18:54 +0100 | <merijn> | hseg: That's just "fmap fst . minView" ? :) |
2020-11-23 16:19:13 +0100 | zaquest | (~notzaques@5.128.210.178) |
2020-11-23 16:19:34 +0100 | <hseg> | sure... it did encourage me to reverse the iteration of my algorithm |
2020-11-23 16:19:47 +0100 | <hseg> | (i.e. replace "seen" by "to-process") |
2020-11-23 16:21:18 +0100 | <hseg> | also, considering the rest of containers have lookups, it's an annoying hole |
2020-11-23 16:21:47 +0100 | andos | (~dan@69-165-210-185.cable.teksavvy.com) |
2020-11-23 16:23:01 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 264 seconds) |
2020-11-23 16:23:50 +0100 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) |
2020-11-23 16:25:22 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-23 16:25:23 +0100 | <hseg> | tomsmeding: also, orbit's output is flipped from what peel wants |
2020-11-23 16:25:36 +0100 | <hseg> | it returns (seen, orbit) |
2020-11-23 16:25:53 +0100 | <tomsmeding> | oh that's too bad, I wrote it that way to make the <$> nice and compact :p |
2020-11-23 16:26:56 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 240 seconds) |
2020-11-23 16:27:01 +0100 | <hseg> | no problem -- just add a flip on the unfoldr |
2020-11-23 16:28:34 +0100 | enoq | (~textual@194-208-146-143.lampert.tv) (Read error: Connection reset by peer) |
2020-11-23 16:29:01 +0100 | <tomsmeding> | :t flip flip |
2020-11-23 16:29:02 +0100 | <lambdabot> | b -> (a -> b -> c) -> a -> c |
2020-11-23 16:29:22 +0100 | <hseg> | cool! |
2020-11-23 16:29:30 +0100 | <dminuoso> | flip flip looks cute and useful |
2020-11-23 16:29:45 +0100 | mputz | (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
2020-11-23 16:29:47 +0100 | <dminuoso> | Just dont know what for. |
2020-11-23 16:29:55 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 16:30:02 +0100 | <hseg> | it reverses operators |
2020-11-23 16:30:16 +0100 | toorevitimirp | (~tooreviti@117.182.183.18) (Remote host closed the connection) |
2020-11-23 16:30:16 +0100 | <xerox_> | :t flip flip flip |
2020-11-23 16:30:17 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 16:30:18 +0100 | <lambdabot> | (a1 -> ((a2 -> b -> c1) -> b -> a2 -> c1) -> c2) -> a1 -> c2 |
2020-11-23 16:30:20 +0100 | enoq | (~textual@194-208-146-143.lampert.tv) |
2020-11-23 16:30:25 +0100 | <hseg> | > flip flip (++) ", world" "hello" |
2020-11-23 16:30:27 +0100 | <lambdabot> | error: |
2020-11-23 16:30:27 +0100 | <lambdabot> | • Couldn't match expected type ‘[Char] |
2020-11-23 16:30:27 +0100 | <lambdabot> | -> ([a0] -> [a0] -> [a0]) -> c’ |
2020-11-23 16:30:28 +0100 | <maerwald> | :t flip . flip . flip |
2020-11-23 16:30:30 +0100 | <lambdabot> | (a -> b -> c) -> b -> a -> c |
2020-11-23 16:30:37 +0100 | <xerox_> | that's what I was after |
2020-11-23 16:30:47 +0100 | <tomsmeding> | you know what's more fun? iterating 'flip' converges https://paste.tomsmeding.com/SefRZrAn |
2020-11-23 16:30:49 +0100 | <hseg> | > flip flip ", world" (++) "hello" |
2020-11-23 16:30:52 +0100 | <lambdabot> | "hello, world" |
2020-11-23 16:31:09 +0100 | <dminuoso> | Also, random occurences of `flip const id` in your code are good to ensure the reader is paying full attention. |
2020-11-23 16:31:28 +0100 | vollenweider_ | (~vollenwei@4e69b241.skybroadband.com) (Ping timeout: 260 seconds) |
2020-11-23 16:31:46 +0100 | <tomsmeding> | nah, should replace that 'id' with an arbitrarily complex expression |
2020-11-23 16:31:46 +0100 | <hseg> | :t flip const id |
2020-11-23 16:31:48 +0100 | <lambdabot> | c -> c |
2020-11-23 16:31:56 +0100 | <hseg> | neat |
2020-11-23 16:32:00 +0100 | <hseg> | :t id id id id id |
2020-11-23 16:32:01 +0100 | ski | seconds the `where' over `let'-`in' |
2020-11-23 16:32:01 +0100 | <lambdabot> | a -> a |
2020-11-23 16:32:16 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone) |
2020-11-23 16:32:20 +0100 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection) |
2020-11-23 16:32:29 +0100 | <dminuoso> | ski: Ive started to become quite fond of `let` in pattern guards. |
2020-11-23 16:32:44 +0100 | <dminuoso> | for small bits, this can create less noise than where |
2020-11-23 16:32:46 +0100 | <ski> | that's not `let'-`in', though |
2020-11-23 16:32:58 +0100 | <dminuoso> | sure, just introducing this as a third alternative option |
2020-11-23 16:33:03 +0100 | <ski> | @type map `flip` "foo" |
2020-11-23 16:33:05 +0100 | <lambdabot> | (Char -> b) -> [b] |
2020-11-23 16:33:14 +0100 | <merijn> | dminuoso: What do you need let for in pattern guards? |
2020-11-23 16:33:14 +0100 | ski | nods |
2020-11-23 16:33:28 +0100 | <dminuoso> | merijn: foo x | let y = ... = ... |
2020-11-23 16:33:36 +0100 | <dminuoso> | Same reason you'd use where |
2020-11-23 16:33:43 +0100 | <merijn> | dminuoso: You can just do "| y <- .." |
2020-11-23 16:33:50 +0100 | <boxscape> | "merijn: Like those people who write C, but main is a char* whose values happen to be sensible code" I can't help but look into this now :/ |
2020-11-23 16:34:00 +0100 | <dminuoso> | merijn: We had this discussion before. <- has more potential for bugs |
2020-11-23 16:34:18 +0100 | <merijn> | boxscape: You haven't heard about IOCCC? |
2020-11-23 16:34:19 +0100 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
2020-11-23 16:34:20 +0100 | <merijn> | boxscape: https://www.ioccc.org/ |
2020-11-23 16:34:27 +0100 | <dminuoso> | i.e. `foo x | F x <- ...` vs `foo x | let Foo x = ...` |
2020-11-23 16:34:29 +0100 | <dminuoso> | err |
2020-11-23 16:34:35 +0100 | <dminuoso> | `foo x | F x <- ...` vs `foo x | let F x = ...` |
2020-11-23 16:34:48 +0100 | <boxscape> | merijn I've heard of it but tbh I haven't really looked at any of their programs in detail |
2020-11-23 16:34:53 +0100 | <dminuoso> | The former will behave differently if we suddenly introduce another contructor to F's type |
2020-11-23 16:34:59 +0100 | vollenweider_ | (~vollenwei@4e69b241.skybroadband.com) |
2020-11-23 16:35:01 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 264 seconds) |
2020-11-23 16:35:39 +0100 | ski | . o O ( `blah | let f x = ..x..,... = ...' ) |
2020-11-23 16:35:56 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 240 seconds) |
2020-11-23 16:36:01 +0100 | <dminuoso> | mm, is that allowed? |
2020-11-23 16:36:03 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2020-11-23 16:36:11 +0100 | <dminuoso> | % blah | let f x = x^2 = f 10 |
2020-11-23 16:36:11 +0100 | <yahb> | dminuoso: |
2020-11-23 16:36:16 +0100 | <dminuoso> | Oh cool. TIL |
2020-11-23 16:36:24 +0100 | mirrorbird | (psutcliffe@gateway/vpn/mullvad/psutcliffe) |
2020-11-23 16:37:11 +0100 | <ski> | @wiki Obfuscation |
2020-11-23 16:37:11 +0100 | <lambdabot> | https://wiki.haskell.org/Obfuscation |
2020-11-23 16:37:58 +0100 | SanchayanMaity | (~Sanchayan@171.76.82.54) (Quit: SanchayanMaity) |
2020-11-23 16:38:50 +0100 | <ski> | % let blah y | let f x = x^2,(f . f -> z) <- y = z in blah 2 |
2020-11-23 16:38:51 +0100 | <yahb> | ski: 16 |
2020-11-23 16:39:40 +0100 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
2020-11-23 16:40:27 +0100 | <ski> | % let blah (f . f -> z) | let f x = x^2 = z in blah 2 |
2020-11-23 16:40:27 +0100 | <yahb> | ski: ; <interactive>:19:11: error: Variable not in scope: f :: b0 -> c1; <interactive>:19:15: error: Variable not in scope: f :: a -> b0 |
2020-11-23 16:40:30 +0100 | <ski> | too bad |
2020-11-23 16:41:57 +0100 | <boxscape> | % let {f | let Nothing = Just 4 = True | otherwise = False} in f |
2020-11-23 16:41:57 +0100 | <yahb> | boxscape: True |
2020-11-23 16:41:58 +0100 | <boxscape> | % let {f | Nothing <- Just 4 = True | otherwise = False} in f |
2020-11-23 16:41:58 +0100 | <yahb> | boxscape: False |
2020-11-23 16:42:00 +0100 | <boxscape> | nice |
2020-11-23 16:42:41 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
2020-11-23 16:42:53 +0100 | <boxscape> | I suppose instead of let guards you could use pattern guards with a lazy pattern |
2020-11-23 16:43:04 +0100 | <boxscape> | % let {f | ~Nothing <- Just 4 = True | otherwise = False} in f |
2020-11-23 16:43:04 +0100 | <yahb> | boxscape: True |
2020-11-23 16:43:07 +0100 | <ski> | yes |
2020-11-23 16:43:59 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
2020-11-23 16:44:05 +0100 | haritz | (~hrtz@unaffiliated/haritz) (Ping timeout: 240 seconds) |
2020-11-23 16:44:18 +0100 | cross | (~cross@spitfire.i.gajendra.net) |
2020-11-23 16:45:00 +0100 | <ski> | dminuoso : hm, you mean it will suddenly skip to the next alternative, in such case ? |
2020-11-23 16:45:58 +0100 | Lycurgus | (~niemand@98.4.114.74) |
2020-11-23 16:46:17 +0100 | <ski> | `let' in list comprehensions is occasionally useful, too. but sometimes i find myself using `... <- [...]' (singleton list), instead |
2020-11-23 16:47:36 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
2020-11-23 16:48:16 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 240 seconds) |
2020-11-23 16:48:37 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 16:48:45 +0100 | <dminuoso> | ski: Yes. |
2020-11-23 16:49:15 +0100 | <dminuoso> | It can be what you want, but if not it can cause subtle bugs. With let you get an incomplete pattern match warning, so if the "skip" behavior is what you want you can opt-in still |
2020-11-23 16:49:36 +0100 | alp | (~alp@2a01:e0a:58b:4920:d40a:f511:3b1a:9c8d) |
2020-11-23 16:49:41 +0100 | <ski> | yes |
2020-11-23 16:50:40 +0100 | <dminuoso> | <- just saves me a few characters with nothing to gain :) |
2020-11-23 16:50:46 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 16:52:53 +0100 | <ski> | i see |
2020-11-23 16:55:13 +0100 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-23 16:55:42 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
2020-11-23 16:56:43 +0100 | <hseg> | tomsmeding: http://ix.io/2Fde is my latest version |
2020-11-23 16:56:49 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 246 seconds) |
2020-11-23 16:57:06 +0100 | <hseg> | still feels like orbit could be improved, and am not too happy about the required plumbing |
2020-11-23 16:57:13 +0100 | <hseg> | but it's a marked improvement |
2020-11-23 16:57:19 +0100 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2020-11-23 16:57:41 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) |
2020-11-23 16:57:55 +0100 | <tomsmeding> | hseg: IS.notMember |
2020-11-23 16:57:58 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 256 seconds) |
2020-11-23 16:58:12 +0100 | <hseg> | d'oh! missed it |
2020-11-23 16:58:25 +0100 | haritz | (~hrtz@62.3.70.206) |
2020-11-23 16:58:25 +0100 | haritz | (~hrtz@62.3.70.206) (Changing host) |
2020-11-23 16:58:25 +0100 | haritz | (~hrtz@unaffiliated/haritz) |
2020-11-23 16:59:12 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-ivgwdqliaykucuud) |
2020-11-23 16:59:50 +0100 | <tomsmeding> | hseg: why not this? orbit x rs = if x `IS.member` rs then (x :) <$> orbit (nextMap ! x) (IS.delete x rs) else (rs, []) |
2020-11-23 16:59:54 +0100 | <hseg> | seems like the underlying logic for orbit is some takeWhileM :: (a -> m Bool) -> f a -> m [a]. not too certain on f |
2020-11-23 16:59:56 +0100 | <Iceland_jack> | :t (??) |
2020-11-23 16:59:56 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds) |
2020-11-23 16:59:57 +0100 | <lambdabot> | Functor f => f (a -> b) -> a -> f b |
2020-11-23 16:59:58 +0100 | <tomsmeding> | why look ahead once |
2020-11-23 17:00:00 +0100 | <Iceland_jack> | :t (??) (??) |
2020-11-23 17:00:03 +0100 | <lambdabot> | Functor f => a -> f (a -> b) -> f b |
2020-11-23 17:00:05 +0100 | micahsovereign[m | (micahsover@gateway/shell/matrix.org/x-frusjvfqlxbbwchl) (Quit: Idle for 30+ days) |
2020-11-23 17:00:05 +0100 | sureyeaah | (shauryab98@gateway/shell/matrix.org/x-xujaibeehyrzrqgr) (Quit: Idle for 30+ days) |
2020-11-23 17:00:09 +0100 | PotatoHatsue|T | (berbermanm@gateway/shell/matrix.org/x-ofrgdpmkybpiprzw) (Quit: Idle for 30+ days) |
2020-11-23 17:00:09 +0100 | hnOsmium0001[m] | (hnosmium00@gateway/shell/matrix.org/x-cujgdqencyyvcwtx) (Quit: Idle for 30+ days) |
2020-11-23 17:00:13 +0100 | <Iceland_jack> | where flip = (??) @((->) _) |
2020-11-23 17:00:16 +0100 | kaychaks_riot | (kaychaksma@gateway/shell/matrix.org/x-wzfqmwqobnsimpzc) (Quit: Idle for 30+ days) |
2020-11-23 17:00:26 +0100 | Rudd0 | (~Rudd0@185.189.115.103) |
2020-11-23 17:00:29 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Quit: ZNC 1.7.5 - https://znc.in) |
2020-11-23 17:00:51 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2020-11-23 17:01:46 +0100 | <hseg> | bc it kills the search immediately |
2020-11-23 17:02:08 +0100 | <hseg> | since the first element has already been deleted by the unfolding |
2020-11-23 17:02:13 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
2020-11-23 17:02:23 +0100 | <tomsmeding> | oh right |
2020-11-23 17:02:51 +0100 | <tomsmeding> | but then I'd say fix the unfolding :p |
2020-11-23 17:03:27 +0100 | PacoV | (~pcoves@16.194.31.93.rev.sfr.net) (Remote host closed the connection) |
2020-11-23 17:03:48 +0100 | <hseg> | ofc |
2020-11-23 17:04:16 +0100 | sondr3 | (~sondr3@cm-84.211.56.132.getinternet.no) (Ping timeout: 256 seconds) |
2020-11-23 17:04:31 +0100 | <ski> | Iceland_jack : `flip' used to have that type, in lambdabot. (and `(.)' in lambdabot used to be `fmap') |
2020-11-23 17:04:33 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2020-11-23 17:04:39 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
2020-11-23 17:05:01 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 17:05:48 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:6c06:c056:20b8:f8ee:6530) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-11-23 17:06:28 +0100 | mirrorbird | (psutcliffe@gateway/vpn/mullvad/psutcliffe) (Ping timeout: 256 seconds) |
2020-11-23 17:06:30 +0100 | hackage | implicit-hie 0.1.2.4 - Auto generate hie-bios cradles & hie.yaml https://hackage.haskell.org/package/implicit-hie-0.1.2.4 (Avi_Dessauer) |
2020-11-23 17:07:03 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 260 seconds) |
2020-11-23 17:07:36 +0100 | boxscape47 | (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) |
2020-11-23 17:07:47 +0100 | <hseg> | http://ix.io/2Fdl even more plumbing, but it works now |
2020-11-23 17:08:14 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 17:09:08 +0100 | <hseg> | frankly, orbit feels like a unfoldWhileM :: (a -> m Bool) -> (a -> m a) -> m [a] |
2020-11-23 17:10:36 +0100 | <hseg> | actually, should be :: (a -> Bool) -> m a -> m [a] |
2020-11-23 17:10:56 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 240 seconds) |
2020-11-23 17:11:07 +0100 | <ski> | @hoogle m (Maybe a) -> m [a] |
2020-11-23 17:11:08 +0100 | <lambdabot> | Control.Monad.Loops unfoldM :: Monad m => m (Maybe a) -> m [a] |
2020-11-23 17:11:08 +0100 | <lambdabot> | Data.Typeable gcast1 :: forall c t t' a . (Typeable t, Typeable t') => c (t a) -> Maybe (c (t' a)) |
2020-11-23 17:11:08 +0100 | <lambdabot> | BasePrelude gcast1 :: (Typeable t, Typeable t') => c (t a) -> Maybe (c (t' a)) |
2020-11-23 17:11:08 +0100 | boxscape | (86ab2c1f@gateway/web/cgi-irc/kiwiirc.com/ip.134.171.44.31) (Ping timeout: 260 seconds) |
2020-11-23 17:12:22 +0100 | reallymemorable | (~quassel@2601:180:8300:8fd0:6c3d:6186:76f:e94b) |
2020-11-23 17:12:43 +0100 | <hseg> | hrm... no, that's not quite right |
2020-11-23 17:12:56 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 17:13:20 +0100 | <hseg> | orbit :: State (Int, IntSet) [Int] |
2020-11-23 17:14:01 +0100 | <ski> | not `orbit :: Int -> State IntSet [Int]', then ? |
2020-11-23 17:14:25 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 17:14:30 +0100 | <hseg> | you're right |
2020-11-23 17:14:34 +0100 | <hseg> | thanks |
2020-11-23 17:14:46 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2020-11-23 17:15:00 +0100 | fxg | (~fxg@unaffiliated/fxg) |
2020-11-23 17:15:13 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2020-11-23 17:15:15 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-23 17:15:19 +0100 | <hseg> | right, basically want some kind of iterateUntilM :: (a -> a) -> (a -> m Bool) -> a -> m [a] |
2020-11-23 17:17:05 +0100 | <hseg> | and indeed, given *more* plumbing could just use unfoldM :: (a -> m (Maybe a)) -> a -> m [a] |
2020-11-23 17:17:36 +0100 | <ski> | @hoogle Monad m => (a -> m (Maybe a)) -> a -> m [a] |
2020-11-23 17:17:37 +0100 | <lambdabot> | Control.Monad.Extra iterateMaybeM :: Monad m => (a -> m (Maybe a)) -> a -> m [a] |
2020-11-23 17:19:16 +0100 | bmurt | (~bmurt@c-76-99-78-62.hsd1.pa.comcast.net) |
2020-11-23 17:19:20 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) (Ping timeout: 272 seconds) |
2020-11-23 17:19:33 +0100 | bmurt | (~bmurt@c-76-99-78-62.hsd1.pa.comcast.net) () |
2020-11-23 17:19:33 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
2020-11-23 17:19:44 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-11-23 17:24:15 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 256 seconds) |
2020-11-23 17:24:38 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2020-11-23 17:25:00 +0100 | knupfer | (~Thunderbi@200116b8240c1500d4c0d3fffeca1dc0.dip.versatel-1u1.de) |
2020-11-23 17:26:02 +0100 | knupfer | (~Thunderbi@200116b8240c1500d4c0d3fffeca1dc0.dip.versatel-1u1.de) (Remote host closed the connection) |
2020-11-23 17:26:10 +0100 | knupfer | (~Thunderbi@200116b8240c1500510f95f5a248f852.dip.versatel-1u1.de) |
2020-11-23 17:26:19 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2020-11-23 17:29:01 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 246 seconds) |
2020-11-23 17:29:31 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 17:31:43 +0100 | <ski> | hseg : why the name `cycnot' ? |
2020-11-23 17:32:16 +0100 | <hseg> | cycle notation |
2020-11-23 17:32:31 +0100 | alp | (~alp@2a01:e0a:58b:4920:d40a:f511:3b1a:9c8d) (Ping timeout: 272 seconds) |
2020-11-23 17:32:47 +0100 | <sm[m]> | g'day haskellers |
2020-11-23 17:34:28 +0100 | <ski> | oh, "notation" |
2020-11-23 17:34:28 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 260 seconds) |
2020-11-23 17:34:48 +0100 | ski | was thinking "not" as in negation, and it didn't seem to make sense |
2020-11-23 17:35:04 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-11-23 17:35:15 +0100 | <ski> | heyo, sm[m] |
2020-11-23 17:35:32 +0100 | <hseg> | h |
2020-11-23 17:35:35 +0100 | <hseg> | ah |
2020-11-23 17:36:00 +0100 | <ski> | ok. so each of the computed permutations are cycles |
2020-11-23 17:36:12 +0100 | <hseg> | yup |
2020-11-23 17:36:34 +0100 | <hseg> | basically i'm breaking up the permutation into cycle |
2020-11-23 17:36:36 +0100 | <hseg> | cycles |
2020-11-23 17:36:47 +0100 | <ski> | right |
2020-11-23 17:37:06 +0100 | ski | was just checking it seems to make sense, for the empty permutation |
2020-11-23 17:38:10 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 17:38:16 +0100 | jess | (jess@freenode/staff/jess) (Remote host closed the connection) |
2020-11-23 17:38:32 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
2020-11-23 17:38:54 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-11-23 17:39:01 +0100 | jess | (jess@freenode/staff/jess) |
2020-11-23 17:39:04 +0100 | <ski> | hm .. reminds me i was investigating a sort of arithmetic on permutations. addition, multiplication, power/exponential |
2020-11-23 17:39:38 +0100 | <hseg> | oh? |
2020-11-23 17:40:31 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
2020-11-23 17:40:53 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 17:42:00 +0100 | hackage | gi-gobject 2.0.25 - GObject bindings https://hackage.haskell.org/package/gi-gobject-2.0.25 (inaki) |
2020-11-23 17:42:35 +0100 | __monty__ | (~toonn@unaffiliated/toonn) |
2020-11-23 17:43:55 +0100 | michalz | (~user@185.246.204.61) |
2020-11-23 17:45:18 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 272 seconds) |
2020-11-23 17:45:35 +0100 | conal | (~conal@64.71.133.70) |
2020-11-23 17:46:53 +0100 | conal_ | (~conal@64.71.133.70) |
2020-11-23 17:48:09 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-11-23 17:50:05 +0100 | conal | (~conal@64.71.133.70) (Ping timeout: 240 seconds) |
2020-11-23 17:50:44 +0100 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2020-11-23 17:51:31 +0100 | Sarma | (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds) |
2020-11-23 17:52:32 +0100 | <ski> | hseg : if ⌜π : A!⌝ and ⌜ϙ : B!⌝, then ⌜π + ϙ : (A + B)!⌝ is defined by ⌜(π + ϙ) (ι₀ x) = ι₀ (π x)⌝ and ⌜(π + ϙ) (ι₁ y) = ι₁ (ϙ y)⌝; ⌜π × ϙ : (A × B)!⌝ is defined by ⌜(π × ϙ) (x₀,x₁) = (π x₀,ϙ x₁)⌝; and ⌜ϙ ^ π : (Bᴬ)!⌝ by ⌜(ϙ ^ π) f = ϙ ∘ f ∘ π⌝ |
2020-11-23 17:53:24 +0100 | qwfpmluy | (2e0505e2@HSI-KBW-046-005-005-226.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 245 seconds) |
2020-11-23 17:53:46 +0100 | geekosaur | (ac3a5347@172.58.83.71) |
2020-11-23 17:54:24 +0100 | <hseg> | ok, so basically specializing (|||), (***) and promap to the case that the maps are isos? |
2020-11-23 17:54:31 +0100 | Wamanuz2 | (~wamanuz@78-70-34-81-no84.tbcn.telia.com) (Remote host closed the connection) |
2020-11-23 17:54:48 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 272 seconds) |
2020-11-23 17:55:22 +0100 | enoq | (~textual@194-208-146-143.lampert.tv) (Quit: Textual IRC Client: www.textualapp.com) |
2020-11-23 17:55:25 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-11-23 17:56:06 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 17:56:48 +0100 | <ski> | furthermore, you can define ⌜0 : 0!⌝ as the empty permutation, and ⌜1 : 1!⌝ as the identity permutation given by ⌜1 () = ()⌝. then you can for each positive integer ⌜n⌝ define ⌜cₙ : n!⌝ as the cyclic permutation given by ⌜cₙ i = i+1 ⇐ i+1 < n⌝ and ⌜cₙ (i−1) = 0⌝ |
2020-11-23 17:57:51 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 17:59:07 +0100 | <hseg> | yeah -- the unique permutations on the initial and terminal objects. cyclics are more ad-hoc |
2020-11-23 17:59:21 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone) |
2020-11-23 18:01:25 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
2020-11-23 18:01:26 +0100 | <ski> | hseg : yes. now the question is how these operations behave, wrt cycle decomposition, e.g. if we work with permutations upto isomorphism on the carrier (so that e.g. ⌜c₂ × c₃ = c₆⌝ but ⌜c₂ × c₄ = c₄ + c₄ = 2 × c₄⌝ (where ⌜2 = 1 + 1⌝)) |
2020-11-23 18:02:11 +0100 | <hseg> | "perms mod carrier iso" = cycle types, no? |
2020-11-23 18:02:48 +0100 | <ski> | i think so (if my guess of the meaning of "cycle types" is correct) |
2020-11-23 18:04:25 +0100 | <hseg> | cycle type is basically the multiset of lengths of the cycle decomposition |
2020-11-23 18:04:59 +0100 | <hseg> | product of cyclics will be cyclic iff lengths coprime |
2020-11-23 18:05:08 +0100 | mirrorbird | (~psutcliff@89.45.7.132) |
2020-11-23 18:05:23 +0100 | <hseg> | and in general will decompose into gcd*c_lcm |
2020-11-23 18:05:39 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 18:05:48 +0100 | raichoo | (~raichoo@dslb-178-001-144-018.178.001.pools.vodafone-ip.de) (Quit: Lost terminal) |
2020-11-23 18:05:50 +0100 | <ski> | multiplication distributes over addition. so, to understand multiplication, in terms of cycles, it suffices to understand how to multiply single cycles with each other. as you saw, we can't cancel even multiplication with non-zero permutation. exponentiation of cycles is even more interesting, it can yield a sum of cycles of different lengths |
2020-11-23 18:06:05 +0100 | <ski> | hseg : right |
2020-11-23 18:06:19 +0100 | evanm | (182c6bd4@ool-182c6bd4.dyn.optonline.net) (Ping timeout: 245 seconds) |
2020-11-23 18:06:56 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-11-23 18:07:55 +0100 | b7471 | (~kvirc@139.30.225.215) |
2020-11-23 18:07:57 +0100 | <b7471> | hi |
2020-11-23 18:08:01 +0100 | <ski> | e.g. ⌜c₂ ^ c₂ = 2 + c₂⌝ |
2020-11-23 18:08:05 +0100 | <hseg> | well, that's unsurprising -- exponentiation is just composition |
2020-11-23 18:08:07 +0100 | <ski> | hello b7471 |
2020-11-23 18:08:10 +0100 | <hseg> | yo |
2020-11-23 18:08:18 +0100 | <b7471> | is this the official channel for the programming language haskell |
2020-11-23 18:08:21 +0100 | <b7471> | ? |
2020-11-23 18:08:22 +0100 | <ski> | composition on both sides |
2020-11-23 18:08:24 +0100 | <hseg> | yes |
2020-11-23 18:08:26 +0100 | <ski> | yes, b7471 |
2020-11-23 18:08:57 +0100 | <__monty__> | b7471: You just joined in the middle of discrete math 101 or 201, not sure. |
2020-11-23 18:09:17 +0100 | <hseg> | discrete math coffee talk, more like |
2020-11-23 18:09:30 +0100 | <b7471> | its okay |
2020-11-23 18:09:45 +0100 | <b7471> | i am having big trouble with haskell |
2020-11-23 18:10:18 +0100 | <ski> | mhm ? |
2020-11-23 18:10:18 +0100 | kritzefitz | (~kritzefit@fw-front.credativ.com) (Remote host closed the connection) |
2020-11-23 18:11:05 +0100 | conal_ | (~conal@64.71.133.70) (Ping timeout: 240 seconds) |
2020-11-23 18:12:15 +0100 | <hseg> | ski: no, i meant you can embed m! in n! for m=<n, and in particular have π^σ=π^1∘1^σ where the composition is the usual one in (m^n)! |
2020-11-23 18:12:52 +0100 | <hseg> | in particular, it is unsurprising that the composite of two cycles has pretty wild structure |
2020-11-23 18:12:59 +0100 | Wamanuz | (~wamanuz@78-70-34-81-no84.tbcn.telia.com) |
2020-11-23 18:13:07 +0100 | <b7471> | is there any book on how to understand the language |
2020-11-23 18:13:10 +0100 | <b7471> | _ |
2020-11-23 18:13:11 +0100 | <b7471> | ? |
2020-11-23 18:13:27 +0100 | conal | (~conal@66.115.157.94) |
2020-11-23 18:15:43 +0100 | geekosaur6 | (ac3a5347@172.58.83.71) |
2020-11-23 18:17:01 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 264 seconds) |
2020-11-23 18:17:09 +0100 | geekosaur | (ac3a5347@172.58.83.71) (Ping timeout: 245 seconds) |
2020-11-23 18:17:24 +0100 | <ski> | hseg : yes, that embedding is basically ⌜π ↦ π + idₘ₋ₙ⌝, right ? hm, your ⌜1⌝ is identity (on any carrier). hmm |
2020-11-23 18:17:33 +0100 | <ski> | b7471 : there's several books |
2020-11-23 18:17:47 +0100 | Franciman | (~francesco@host-82-54-193-143.retail.telecomitalia.it) |
2020-11-23 18:18:08 +0100 | <b7471> | more university class ,oriented |
2020-11-23 18:18:12 +0100 | <hseg> | yup. though s/in particular/also have/ |
2020-11-23 18:18:34 +0100 | <ski> | @where PIH |
2020-11-23 18:18:34 +0100 | <lambdabot> | "Programming in Haskell" by Graham Hutton in 2007-01-15,2016-09-01 at <http://www.cs.nott.ac.uk/~pszgmh/pih.html> |
2020-11-23 18:18:49 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
2020-11-23 18:18:52 +0100 | <ski> | @where HPFFP |
2020-11-23 18:18:52 +0100 | <lambdabot> | "Haskell Programming: from first principles - Pure functional programming without fear or frustration" by Chistopher Allen (bitemyapp),Julie Moronuki at <http://haskellbook.com/>,#haskell-beginners |
2020-11-23 18:18:52 +0100 | <hseg> | b7471: https://www.cis.upenn.edu/~cis194/spring13/ is pretty good as well |
2020-11-23 18:18:57 +0100 | <ski> | yes |
2020-11-23 18:20:43 +0100 | mrus | (~mrus@128.199.6.232) (Remote host closed the connection) |
2020-11-23 18:20:48 +0100 | <ski> | hseg : oh, the embedding you used was from ⌜1⌝ to ⌜π⌝ respectively to ⌜ϙ⌝ ? |
2020-11-23 18:21:49 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
2020-11-23 18:22:22 +0100 | <hseg> | ski: sorry, mixed two unrelated things. firstly you have the enlarging embeddings. but more relevantly, you also can embed n!,m! into n^m! by exponentiation against the identity |
2020-11-23 18:22:56 +0100 | <ski> | b7471 : fwiw, i learned using "Haskell: The Craft of Functional Programming" by Simon Thompson |
2020-11-23 18:23:24 +0100 | <hseg> | and these embeddings decompose exponentiation and commute with each other (basically because of associativity) |
2020-11-23 18:24:44 +0100 | <ski> | @where HTAC |
2020-11-23 18:24:44 +0100 | <lambdabot> | "Haskell Tutorial and Cookbook" by Mark Watson in 2017-09-04 at <https://leanpub.com/haskell-cookbook> |
2020-11-23 18:24:48 +0100 | <ski> | @where wikibook |
2020-11-23 18:24:48 +0100 | <lambdabot> | http://en.wikibooks.org/wiki/Haskell |
2020-11-23 18:27:37 +0100 | <ski> | ϙ ^ π = f ↦ ϙ ∘ f ∘ π = (ϙ ∘) ∘ (∘ π) = (ϙ ^ 1) ∘ (1 ^ π) |
2020-11-23 18:27:40 +0100 | <ski> | = (∘ π) ∘ (ϙ ∘) = (1 ^ π) ∘ (ϙ ^ 1) |
2020-11-23 18:27:42 +0100 | <ski> | i see |
2020-11-23 18:30:15 +0100 | <ski> | b7471 : do you have any particular question, or maybe some code you're struggling with ? |
2020-11-23 18:30:16 +0100 | s00pcan | (~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 272 seconds) |
2020-11-23 18:30:44 +0100 | <b7471> | ski yes i dont know where to begin |
2020-11-23 18:30:52 +0100 | <b7471> | i mean i cant even declare a variable |
2020-11-23 18:31:00 +0100 | <b7471> | and we have homework to do |
2020-11-23 18:31:19 +0100 | <ski> | x :: Int |
2020-11-23 18:31:23 +0100 | <b7471> | i couldnt even install a compiler or interpreter in windows 10 or something like that |
2020-11-23 18:31:28 +0100 | <ski> | will declare `x' to be a variable of type `Int' |
2020-11-23 18:31:32 +0100 | <ski> | x = 42 |
2020-11-23 18:31:39 +0100 | <ski> | will define it to be `42' |
2020-11-23 18:31:49 +0100 | <b7471> | i am using a online interpreter ripl dot it |
2020-11-23 18:31:51 +0100 | s00pcan | (~chris@107.181.165.217) |
2020-11-23 18:32:05 +0100 | <Lycurgus> | tell the instructor ur skipping the dumb hassell or haskell or whatever and doin a practical lang instead |
2020-11-23 18:32:29 +0100 | <b7471> | we are expected to create a function , that takes 4 arguments |
2020-11-23 18:32:54 +0100 | <b7471> | and only if the 4 arguments are the same , the funktion should output: true |
2020-11-23 18:32:57 +0100 | <Lycurgus> | do it in one of FP php pkgs, that have currying |
2020-11-23 18:33:08 +0100 | <ski> | b7471 : hm. tried <https://www.haskell.org/platform/#windows> ? |
2020-11-23 18:33:09 +0100 | <xerox_> | when I try to run the haskell-language-server over ghcup I get this, anybody knows why? I'm stumped https://paste.tomsmeding.com/6zEhhfAi |
2020-11-23 18:33:45 +0100 | <b7471> | i cant install chocoletey thing on windows |
2020-11-23 18:33:50 +0100 | <ski> | b7471 : hm, something like |
2020-11-23 18:33:51 +0100 | <b7471> | there is no setup or something |
2020-11-23 18:34:00 +0100 | hackage | resourcet-pool 0.1.0.0 - A small library to convert a Pool into an Acquire https://hackage.haskell.org/package/resourcet-pool-0.1.0.0 (brandonchinn178) |
2020-11-23 18:34:06 +0100 | <ski> | allFourEqual x y z w = ..x..y..z..w.. |
2020-11-23 18:34:23 +0100 | <b7471> | ? |
2020-11-23 18:34:38 +0100 | <koz_> | b7471: Chocolatey requires you to use PowerShell. Its site has fairly clear instructions on what you gotta do. |
2020-11-23 18:34:40 +0100 | <Sose> | isn't there a Windows installer for Stack atleast? and you could use stack to download and run GHC? |
2020-11-23 18:34:57 +0100 | <Sose> | never installed any haskell tools on windows myself tho.. |
2020-11-23 18:34:58 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-11-23 18:35:07 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 18:35:10 +0100 | <Uniaika> | I think there is indeed a windows installer for stack |
2020-11-23 18:35:17 +0100 | <b7471> | Sose you will never be able to |
2020-11-23 18:35:20 +0100 | <maerwald> | xerox_: is that an error even? |
2020-11-23 18:35:20 +0100 | <koz_> | Perhaps - I don't really recall. |
2020-11-23 18:35:21 +0100 | <b7471> | not in this age |
2020-11-23 18:35:27 +0100 | <ski> | b7471 : that would be the start of a function `allFourEqual' that accepts four inputs (parameters/arguments), named `x',`y',`z',`w'. then, after the `=' sign, you'd have to fill in a `Bool'ean expression for checking whether they're all the same/equal |
2020-11-23 18:35:34 +0100 | <koz_> | b7471: You're literally talking to a minimum of one person who has. |
2020-11-23 18:35:38 +0100 | <koz_> | (if not more) |
2020-11-23 18:36:41 +0100 | Saukk | (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) |
2020-11-23 18:36:52 +0100 | knupfer | (~Thunderbi@200116b8240c1500510f95f5a248f852.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2020-11-23 18:38:31 +0100 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) |
2020-11-23 18:38:47 +0100 | Lycurgus | (~niemand@98.4.114.74) (Quit: Exeunt) |
2020-11-23 18:39:28 +0100 | conal | (~conal@66.115.157.94) (Quit: Computer has gone to sleep.) |
2020-11-23 18:40:32 +0100 | conal | (~conal@66.115.157.94) |
2020-11-23 18:40:35 +0100 | conal | (~conal@66.115.157.94) (Client Quit) |
2020-11-23 18:40:44 +0100 | <xerox_> | maerwald: it starts back up trying ot compile, over and over, after that message |
2020-11-23 18:40:49 +0100 | <b7471> | i will first watch the online lecture and the try again |
2020-11-23 18:40:57 +0100 | <b7471> | to understand all of this |
2020-11-23 18:41:00 +0100 | <b7471> | i hope |
2020-11-23 18:41:10 +0100 | <b7471> | i will be able within one year |
2020-11-23 18:41:15 +0100 | <b7471> | to make sense of all this |
2020-11-23 18:41:24 +0100 | <b7471> | ist really horrible and bad |
2020-11-23 18:41:39 +0100 | mrus | (~mrus@128.199.8.231) |
2020-11-23 18:41:59 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 18:42:29 +0100 | kritzefitz | (~kritzefit@212.86.56.80) |
2020-11-23 18:43:07 +0100 | <ski> | b7471 : you're welcome to ask questions here, if anything is unclear |
2020-11-23 18:45:02 +0100 | Fractalis | (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) (Ping timeout: 264 seconds) |
2020-11-23 18:45:25 +0100 | <xerox_> | maerwald: coc.nvim helpfully says "the server has crashed 5 times I won't run it again", vscode just goes head on never stopping |
2020-11-23 18:45:26 +0100 | <b7471> | how to read the variable |
2020-11-23 18:45:29 +0100 | <b7471> | that i declared |
2020-11-23 18:45:35 +0100 | <b7471> | the variable x |
2020-11-23 18:46:07 +0100 | <b7471> | :t x |
2020-11-23 18:46:08 +0100 | <lambdabot> | Expr |
2020-11-23 18:46:27 +0100 | <geekosaur6> | if you're in ghci or equivalent, just enter x at the prompt |
2020-11-23 18:47:04 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2020-11-23 18:48:22 +0100 | <maerwald> | xerox_: no idea, I don't use HLS on ghcup codebase frequently |
2020-11-23 18:48:31 +0100 | Fractalis | (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) |
2020-11-23 18:48:42 +0100 | <maerwald> | maybe try to write a different hie.yaml |
2020-11-23 18:48:52 +0100 | <xerox_> | I was looking for some way to figure out where imported stuff is from |
2020-11-23 18:49:04 +0100 | <xerox_> | not married to it, just what I thought of, is there anything else I could use? |
2020-11-23 18:50:14 +0100 | alp | (~alp@2a01:e0a:58b:4920:ece0:78fb:1f80:8fc7) |
2020-11-23 18:52:05 +0100 | lxsameer | (lxsameer@gateway/vpn/protonvpn/lxsameer) (Ping timeout: 256 seconds) |
2020-11-23 18:52:12 +0100 | boxscape47 | (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Quit: Connection closed) |
2020-11-23 18:52:45 +0100 | geekosaur | (ac3a5347@172.58.83.71) |
2020-11-23 18:54:51 +0100 | <ski> | b7471 : if you have an interactor, where you can enter expressions and get feedback, you should probably be able to just write the variable name `x' in there (assuming `x' is defined globally in your source file) |
2020-11-23 18:55:21 +0100 | <b7471> | i am using an online interpreter |
2020-11-23 18:55:24 +0100 | <ski> | it seems <https://repl.it/> requires a login ? |
2020-11-23 18:55:28 +0100 | <b7471> | called ripl .it |
2020-11-23 18:55:28 +0100 | <ski> | yes |
2020-11-23 18:55:29 +0100 | geekosaur6 | (ac3a5347@172.58.83.71) (Ping timeout: 245 seconds) |
2020-11-23 18:55:40 +0100 | <b7471> | am i logged in |
2020-11-23 18:56:09 +0100 | <ski> | if you're using <https://repl.it/>, i'd guess so ? |
2020-11-23 18:56:47 +0100 | <ski> | (when i click on "Start coding", it asks me to sign up) |
2020-11-23 18:57:06 +0100 | lucasb | (uid333435@gateway/web/irccloud.com/x-detutdhidmcqqrwp) |
2020-11-23 18:57:50 +0100 | <maerwald> | xerox_: let me try |
2020-11-23 18:57:52 +0100 | <b7471> | i signed up to that |
2020-11-23 18:58:01 +0100 | <b7471> | now i am experimenting with it a bit |
2020-11-23 18:58:14 +0100 | <ski> | if you write |
2020-11-23 18:58:15 +0100 | <b7471> | i declared a few variables as you told me to |
2020-11-23 18:58:17 +0100 | <ski> | x :: Int |
2020-11-23 18:58:19 +0100 | <ski> | x = 42 |
2020-11-23 18:58:31 +0100 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 260 seconds) |
2020-11-23 18:58:39 +0100 | <b7471> | yes a was successful in adding two variables together |
2020-11-23 18:58:44 +0100 | <ski> | in the part of the editor where you write programs, that should define `x' as a variable in global scope |
2020-11-23 18:59:09 +0100 | <ski> | if you write e.g. |
2020-11-23 18:59:22 +0100 | <ski> | cube :: Int -> Int |
2020-11-23 18:59:28 +0100 | <ski> | cube x = x * x * x |
2020-11-23 19:00:04 +0100 | <b7471> | what does this mean: cube :: Int -> Int |
2020-11-23 19:00:10 +0100 | <ski> | then this should define a function, called `cube'. the `x' here is unrelated to the previous `x'. this `x' here is a local parameter name, local to the `cube' function definition |
2020-11-23 19:00:21 +0100 | <xerox_> | maerwald: I am getting implicit-hie to see if it creates an entry for 3rdparty/ |
2020-11-23 19:00:28 +0100 | geekosaur96 | (ac3a5347@172.58.83.71) |
2020-11-23 19:00:34 +0100 | conal | (~conal@66.115.157.94) |
2020-11-23 19:00:35 +0100 | <b7471> | ok? |
2020-11-23 19:00:37 +0100 | <ski> | it means that `cube' is a function that consumes an `Int' as input parameter, and produces an `Int' as output result |
2020-11-23 19:00:48 +0100 | <b7471> | aha |
2020-11-23 19:00:52 +0100 | <b7471> | ok |
2020-11-23 19:00:59 +0100 | <ski> | you could define e.g. |
2020-11-23 19:01:04 +0100 | <ski> | isEven :: Int -> Bool |
2020-11-23 19:01:12 +0100 | <ski> | isEven n = n `mod` 2 == 0 |
2020-11-23 19:01:50 +0100 | <maerwald> | xerox_: I don't seem to have this problem |
2020-11-23 19:01:54 +0100 | <ski> | to define a function (a "predicate"), that given an `Int' as input, gives a `Bool'ean result, being `True' if the input was an even integer, and `False' otherwise (i.e. when it was odd) |
2020-11-23 19:01:57 +0100 | <monochrom> | xerox_: If you mean "I imported 10 modules, one of them gives me f, I want to find out which", I first try ":info f", usually it's good enough. Bu its can answer can be cryptic. When I feel like a big hammer, I use GHC's -ddump-minimal-imports |
2020-11-23 19:02:56 +0100 | <maerwald> | xerox_: but I have a cabal.project.local with this content https://paste.tomsmeding.com/Qo3YwsbF |
2020-11-23 19:02:59 +0100 | geekosaur | (ac3a5347@172.58.83.71) (Ping timeout: 245 seconds) |
2020-11-23 19:03:02 +0100 | <b7471> | and what would this expression mean: fourEqual :: Int -> Int -> Int -> Int -> Bool |
2020-11-23 19:03:03 +0100 | <ski> | b7471 : so the type of the input parameter comes before (to the left of) the `->', and the type of output result comes after (to the right of) it, in a type signature of a function |
2020-11-23 19:03:07 +0100 | <b7471> | thats our homework |
2020-11-23 19:03:29 +0100 | <ski> | yes, that means that it accepts four inputs, all of type `Int', and gives back a `Bool'ean as output |
2020-11-23 19:03:32 +0100 | incertia_ | (~incertia@d4-50-26-103.nap.wideopenwest.com) (Quit: ZNC 1.7.5 - https://znc.in) |
2020-11-23 19:03:55 +0100 | <maerwald> | xerox_: also make sure 8.10.2 is the default ghc symlink... I believe there were issues with hls when the project ghc isn't the default one |
2020-11-23 19:03:55 +0100 | <b7471> | ok i will try to enter that on ripl |
2020-11-23 19:04:00 +0100 | <ski> | fourEqual :: Int -> Int -> Int -> Int -> Bool |
2020-11-23 19:04:04 +0100 | <ski> | fourEqual x y z w = ..x..y..z..w.. |
2020-11-23 19:04:35 +0100 | <ski> | (you'll have to replace `..x..y..z..w..' by some actual code expression that checks when those four inputs are all equal) |
2020-11-23 19:04:59 +0100 | <ski> | (of course you can choose other parameter names than `x',`y',`z',`w', if you prefer) |
2020-11-23 19:05:41 +0100 | <shapr> | xerox_: Are the same person who wrote GoA? |
2020-11-23 19:05:54 +0100 | <ski> | the lines with `::' in them are called "type signatures". then lines with `=' in them are "defining equations" (or simply "definitions") |
2020-11-23 19:06:11 +0100 | incertia | (~incertia@d4-50-26-103.nap.wideopenwest.com) |
2020-11-23 19:06:28 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-11-23 19:06:29 +0100 | <xerox_> | shapr: I am hi buddy (: |
2020-11-23 19:06:40 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-11-23 19:06:40 +0100 | <shapr> | hi hi hi! I haven't seen you since AngloHaskell! |
2020-11-23 19:06:45 +0100 | <xerox_> | I know! |
2020-11-23 19:06:52 +0100 | <xerox_> | that was a good time |
2020-11-23 19:07:09 +0100 | <shapr> | Yeah, lots of fun. It's been a few years though |
2020-11-23 19:07:41 +0100 | <shapr> | xerox_: 20th anniversary of #haskell in ~20 weeks! |
2020-11-23 19:07:41 +0100 | <xerox_> | many years at this point in fact… how time flies |
2020-11-23 19:07:45 +0100 | shapr | hops cheerfully |
2020-11-23 19:07:54 +0100 | <shapr> | xerox_: are you writing Haskell for a living these days? |
2020-11-23 19:07:55 +0100 | <xerox_> | hopefully on a monocycle |
2020-11-23 19:08:05 +0100 | <shapr> | haha, yes! |
2020-11-23 19:08:10 +0100 | <xerox_> | nope! for fun, setting it up to do advent of code :D |
2020-11-23 19:08:19 +0100 | <shapr> | that does sound like fun! |
2020-11-23 19:08:49 +0100 | <shapr> | xerox_: do you write code for a living? |
2020-11-23 19:08:50 +0100 | <xerox_> | how about you? |
2020-11-23 19:09:02 +0100 | <shapr> | I have a Haskell job, it's great fun! |
2020-11-23 19:09:10 +0100 | <shapr> | I'm working for SimSpace |
2020-11-23 19:09:37 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2020-11-23 19:09:37 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
2020-11-23 19:09:37 +0100 | neiluj | (~jco@unaffiliated/neiluj) |
2020-11-23 19:09:40 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-23 19:09:57 +0100 | <xerox_> | looks like serious business |
2020-11-23 19:10:46 +0100 | <maerwald> | I'm picking rust for a new project, but getting devs doesn't seem any easier than haskellers lol (unless you're a bank) |
2020-11-23 19:11:00 +0100 | <maerwald> | so there's that |
2020-11-23 19:11:15 +0100 | chaosmasttter | (~chaosmast@p200300c4a72cf80165f6d709b523305b.dip0.t-ipconnect.de) |
2020-11-23 19:11:26 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
2020-11-23 19:11:54 +0100 | <xerox_> | shapr: so yeah I have been programming for a living but I'm not at this very moment in time |
2020-11-23 19:12:11 +0100 | <shapr> | you saved up enough money to coast for a few years? :-D |
2020-11-23 19:12:46 +0100 | geekosaur | (ac3a5347@172.58.83.71) |
2020-11-23 19:13:09 +0100 | <xerox_> | thereabouts (: |
2020-11-23 19:13:13 +0100 | alp | (~alp@2a01:e0a:58b:4920:ece0:78fb:1f80:8fc7) (Ping timeout: 272 seconds) |
2020-11-23 19:13:24 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 19:13:52 +0100 | <shapr> | yeah, writing code pays well |
2020-11-23 19:14:13 +0100 | <xerox_> | maerwald: gen-hie doesn't see 3rdparty on its own, nor your .local magically saves the day, more digging required... |
2020-11-23 19:14:14 +0100 | geekosaur96 | (ac3a5347@172.58.83.71) (Ping timeout: 245 seconds) |
2020-11-23 19:14:29 +0100 | <maerwald> | xerox_: which cabal version? |
2020-11-23 19:14:30 +0100 | <maerwald> | oooh |
2020-11-23 19:14:45 +0100 | <maerwald> | you must be running 3.2 |
2020-11-23 19:14:47 +0100 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds) |
2020-11-23 19:14:52 +0100 | <maerwald> | upgrade to 3.4 prerelease |
2020-11-23 19:15:31 +0100 | <xerox_> | ok! |
2020-11-23 19:16:04 +0100 | lambda-11235 | (~lambda-11@2600:1700:7c70:4600:6511:46eb:c421:ce43) |
2020-11-23 19:23:45 +0100 | sand_dull | (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) |
2020-11-23 19:28:04 +0100 | Yumasi | (~guillaume@2a01cb09b06b29ea1c5ab82b3b485150.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2020-11-23 19:28:12 +0100 | jcd | (~user@2601:282:1300:7cb0::adb4) |
2020-11-23 19:28:42 +0100 | <xerox_> | maerwald: that helped but the 3rdparty stuff still produces the same errors |
2020-11-23 19:28:55 +0100 | <maerwald> | but that doesn't matter I think |
2020-11-23 19:29:54 +0100 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) |
2020-11-23 19:30:01 +0100 | <xerox_> | it keeps going in a loop |
2020-11-23 19:30:24 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-11-23 19:30:38 +0100 | <maerwald> | ignore the loop, does it actually work? :p |
2020-11-23 19:30:49 +0100 | gproto23 | (~gproto23@unaffiliated/gproto23) |
2020-11-23 19:33:54 +0100 | solonarv | (~solonarv@astrasbourg-653-1-156-4.w90-6.abo.wanadoo.fr) |
2020-11-23 19:34:10 +0100 | <xerox_> | maerwald: nope, both editors hang or give no answers, while running the same neverending output as before in the debug logs |
2020-11-23 19:34:37 +0100 | alp | (~alp@2a01:e0a:58b:4920:99e8:704d:3180:71f2) |
2020-11-23 19:34:46 +0100 | <maerwald> | :D |
2020-11-23 19:36:42 +0100 | <monochrom> | At least it's quiescent now. >:) |
2020-11-23 19:37:07 +0100 | <monochrom> | (The next best thing you can hope for, if you can't prove termination.) |
2020-11-23 19:37:21 +0100 | frdg | (~nick@pool-71-184-143-249.bstnma.fios.verizon.net) |
2020-11-23 19:38:08 +0100 | <hseg> | ok, a little refactoring later: http://ix.io/2Feg |
2020-11-23 19:38:48 +0100 | <xerox_> | I will propose as next best thing having dinner instead, yeah |
2020-11-23 19:40:03 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:1ca0:7a83:5454:b1ba) (Remote host closed the connection) |
2020-11-23 19:40:09 +0100 | lxsameer | (~lxsameer@unaffiliated/lxsameer) |
2020-11-23 19:40:45 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:1ca0:7a83:5454:b1ba) |
2020-11-23 19:41:19 +0100 | qwfpmluy | (2e0505e2@HSI-KBW-046-005-005-226.hsi8.kabel-badenwuerttemberg.de) |
2020-11-23 19:43:22 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-23 19:46:55 +0100 | cads | (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 246 seconds) |
2020-11-23 19:47:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-11-23 19:47:26 +0100 | <hseg> | http://ix.io/2Fek |
2020-11-23 19:47:55 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-11-23 19:48:12 +0100 | <hseg> | http://ix.io/2Fel |
2020-11-23 19:48:39 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 19:49:14 +0100 | <monochrom> | dinner and wine are always good |
2020-11-23 19:50:33 +0100 | christo | (~chris@81.96.113.213) (Read error: No route to host) |
2020-11-23 19:51:07 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 19:52:12 +0100 | Deide | (~Deide@217.155.19.23) |
2020-11-23 19:55:25 +0100 | cheater | (~user@unaffiliated/cheater) (Ping timeout: 264 seconds) |
2020-11-23 19:55:29 +0100 | geekosaur | (ac3a5347@172.58.83.71) (Ping timeout: 245 seconds) |
2020-11-23 19:57:36 +0100 | <domenkozar[m]> | I'm using async to start two concurrent threads. The first thread is doing stuff and feeding things to a channel. The second one is consuming from channel and doing things based on those message. How could I make the second thread exit once channel is emptied and the first thread is also exited? |
2020-11-23 19:58:15 +0100 | cheater | (~user@unaffiliated/cheater) |
2020-11-23 19:59:00 +0100 | knupfer | (~Thunderbi@200116b8240c1500ace8d9fffee870c4.dip.versatel-1u1.de) |
2020-11-23 19:59:27 +0100 | borne | (~fritjof@200116b864880200394a967dc8ef4e61.dip.versatel-1u1.de) (Ping timeout: 272 seconds) |
2020-11-23 19:59:32 +0100 | knupfer | (~Thunderbi@200116b8240c1500ace8d9fffee870c4.dip.versatel-1u1.de) (Remote host closed the connection) |
2020-11-23 19:59:45 +0100 | knupfer | (~Thunderbi@200116b8240c15009967b89ece4ca4cf.dip.versatel-1u1.de) |
2020-11-23 20:01:28 +0100 | jespada | (~jespada@90.254.245.49) (Ping timeout: 272 seconds) |
2020-11-23 20:03:26 +0100 | jespada | (~jespada@90.254.245.49) |
2020-11-23 20:03:38 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds) |
2020-11-23 20:03:39 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2020-11-23 20:03:39 +0100 | Saukk | (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection) |
2020-11-23 20:03:49 +0100 | <__monty__> | domenkozar[m]: Can you send an exit message? |
2020-11-23 20:03:50 +0100 | <monochrom> | The message type has to include a "quit" case. The first thread has to send the "quit" message. |
2020-11-23 20:03:59 +0100 | frdg | (~nick@pool-71-184-143-249.bstnma.fios.verizon.net) (Quit: Leaving.) |
2020-11-23 20:04:20 +0100 | <monochrom> | Lest it's the "does quiescent imply termination?" question again. |
2020-11-23 20:05:12 +0100 | <dminuoso> | domenkozar[m]: Do you want the second thread to terminate as a "nothing more to do" case, or rather immediately if the first one dies? |
2020-11-23 20:05:32 +0100 | revprez_stg | (~revprez_s@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 256 seconds) |
2020-11-23 20:05:42 +0100 | <dminuoso> | Also, do not forget to consider the case of the first thread receiving an async exception. |
2020-11-23 20:05:50 +0100 | geekosaur | (ac3a53fb@172.58.83.251) |
2020-11-23 20:06:16 +0100 | revprez_stg | (~revprez_s@pool-108-49-213-40.bstnma.fios.verizon.net) |
2020-11-23 20:06:31 +0100 | <monochrom> | Ah yeah, I forgot that too. But it's easy to fix: foo `finally` send quit message |
2020-11-23 20:07:13 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 20:08:07 +0100 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-23 20:08:22 +0100 | Franciman | (~francesco@host-82-54-193-143.retail.telecomitalia.it) (Ping timeout: 256 seconds) |
2020-11-23 20:08:55 +0100 | <monochrom> | I want to point out that humanity has not thought up any other solution. They have only thought up other packagings of this same solution. |
2020-11-23 20:10:11 +0100 | <monochrom> | For example Unix and C. The writer process has two commands at its disposable, "write" and "close". The writer has to issue "close" at some point of time. Sometimes this is masked by "if the process dies, the OS calls close for you", but it's there. |
2020-11-23 20:10:42 +0100 | <domenkozar[m]> | dminuoso: in "nothing to do case" |
2020-11-23 20:10:46 +0100 | <monochrom> | Well that isn't much different from having two kinds of meessage at your disposal, is it? s/close/send quit message/ |
2020-11-23 20:11:22 +0100 | <dminuoso> | domenkozar[m]: Then the usual technique is to, indeed, decorate the "things" you feed into the channel with some outer signaling layer |
2020-11-23 20:11:25 +0100 | <geekosaur> | "send quit message" is just "close" at a higher protocol level |
2020-11-23 20:11:33 +0100 | <monochrom> | And on the reader side, like wise. You have a "read" command, but it has two kinds of outcomes, "normal" message and "EOF". |
2020-11-23 20:11:40 +0100 | <dminuoso> | data Message = Done | Do Thing |
2020-11-23 20:11:44 +0100 | <dminuoso> | And then you have a channel of Message. |
2020-11-23 20:11:46 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
2020-11-23 20:12:08 +0100 | <domenkozar[m]> | dminuoso: so that the last message is Done? |
2020-11-23 20:12:09 +0100 | qwfpmluy | (2e0505e2@HSI-KBW-046-005-005-226.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 245 seconds) |
2020-11-23 20:12:11 +0100 | <dminuoso> | Yes. |
2020-11-23 20:12:21 +0100 | <domenkozar[m]> | hmm that's simple and clever :) |
2020-11-23 20:12:37 +0100 | <domenkozar[m]> | thanks dminuoso ! |
2020-11-23 20:12:56 +0100 | <dminuoso> | To be fair I just rephrased what monochrom, __monty__ and geekosaur also said above. |
2020-11-23 20:13:34 +0100 | <domenkozar[m]> | ah indeed, thanks monochrom & __monty__ :) |
2020-11-23 20:14:07 +0100 | <__monty__> | I definitely don't mind my nick being mentioned in the same breath as those other ones : ) |
2020-11-23 20:14:18 +0100 | michalz | (~user@185.246.204.61) (Remote host closed the connection) |
2020-11-23 20:14:45 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 240 seconds) |
2020-11-23 20:14:46 +0100 | sh9 | (~sh9@softbank060116136158.bbtec.net) (Ping timeout: 272 seconds) |
2020-11-23 20:15:04 +0100 | LKoen | (~LKoen@169.244.88.92.rev.sfr.net) (Remote host closed the connection) |
2020-11-23 20:15:10 +0100 | darjeeling_ | (~darjeelin@122.245.219.209) (Ping timeout: 256 seconds) |
2020-11-23 20:16:07 +0100 | LKoen | (~LKoen@169.244.88.92.rev.sfr.net) |
2020-11-23 20:17:22 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) (Quit: ->) |
2020-11-23 20:20:14 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 20:23:27 +0100 | <texasmynsted> | If you look at the source here --> https://jaspervdj.be/hakyll/reference/src/Hakyll.Web.Redirect.html#createRedirects |
2020-11-23 20:23:41 +0100 | <texasmynsted> | There is a function "redirectToHtml :: Redirect -> String" |
2020-11-23 20:24:42 +0100 | <texasmynsted> | I do not like the string being used, but I think I have no way to replace it short of writing all my own Redirect logic. Right? The Writable type class already has an instance defined. |
2020-11-23 20:24:43 +0100 | dqd | (id@wikipedia/dqd) (Ping timeout: 246 seconds) |
2020-11-23 20:25:05 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-11-23 20:25:10 +0100 | veverak | JarJar |
2020-11-23 20:25:15 +0100 | JarJar | veverak |
2020-11-23 20:26:23 +0100 | veverak | JarJarEatingHawa |
2020-11-23 20:26:27 +0100 | JarJarEatingHawa | veverak |
2020-11-23 20:26:33 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2020-11-23 20:26:51 +0100 | <hseg> | ok, final version http://ix.io/2FeB. pretty happy with it, but would welcome improvements |
2020-11-23 20:30:41 +0100 | <jcd> | I'm trying to make a String into the type "HTTP String", what's the best way to do this? |
2020-11-23 20:31:08 +0100 | conal | (~conal@66.115.157.94) (Quit: Computer has gone to sleep.) |
2020-11-23 20:31:08 +0100 | <dminuoso> | That depends on what HTTP even is.. |
2020-11-23 20:31:11 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
2020-11-23 20:31:13 +0100 | <dminuoso> | And what you want it to mean |
2020-11-23 20:31:26 +0100 | <geekosaur> | depending on where you're doing this, possibly "pure" |
2020-11-23 20:31:31 +0100 | <jcd> | A user-defined data type. |
2020-11-23 20:31:39 +0100 | <dminuoso> | jcd: How is the data type defined? |
2020-11-23 20:31:49 +0100 | <jcd> | data Person = Person |
2020-11-23 20:31:49 +0100 | <jcd> | { firstName :: String |
2020-11-23 20:31:49 +0100 | <jcd> | , lastName :: String |
2020-11-23 20:31:49 +0100 | <jcd> | , age :: Int |
2020-11-23 20:31:49 +0100 | <jcd> | , hometown :: String |
2020-11-23 20:31:49 +0100 | <dminuoso> | Did you define it, or does it appear in a library? |
2020-11-23 20:31:51 +0100 | <geekosaur> | but that depends on what it is and what instances it has |
2020-11-23 20:32:08 +0100 | <jcd> | Ignore that ^, still learning the emacs keychords |
2020-11-23 20:32:19 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-23 20:32:21 +0100 | <dminuoso> | @where paste -- jcd |
2020-11-23 20:32:21 +0100 | <lambdabot> | Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com |
2020-11-23 20:33:13 +0100 | ystael | (~ystael@209.6.50.55) (Ping timeout: 264 seconds) |
2020-11-23 20:34:35 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 20:35:34 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 256 seconds) |
2020-11-23 20:35:55 +0100 | <jcd> | https://paste.tomsmeding.com/J6ffGVxv |
2020-11-23 20:36:05 +0100 | <jcd> | Thank you in advance |
2020-11-23 20:37:37 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 20:38:14 +0100 | <jcd> | I want to take input from an arbitrary source, mark it as an HTTP message, and then process the HTTP data structure accordingly. |
2020-11-23 20:38:15 +0100 | <geekosaur> | that code seems somewhat off |
2020-11-23 20:38:51 +0100 | <jcd> | tell me about it haha |
2020-11-23 20:39:24 +0100 | <geekosaur> | readHTTPMessage already does what you want, although it has a pointless "do". I'm not sure what it's supposed to be doing, though |
2020-11-23 20:40:05 +0100 | Varis | (~Tadas@unaffiliated/varis) (Ping timeout: 240 seconds) |
2020-11-23 20:40:31 +0100 | darjeeling_ | (~darjeelin@122.245.219.209) |
2020-11-23 20:40:33 +0100 | Franciman | (~francesco@host-82-54-193-143.retail.telecomitalia.it) |
2020-11-23 20:42:23 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 265 seconds) |
2020-11-23 20:43:18 +0100 | <kuribas> | what would be a good alternative to bash? Something not heavy, but likely installed on any system? |
2020-11-23 20:43:25 +0100 | <kuribas> | and not python |
2020-11-23 20:43:45 +0100 | <kuribas> | wait, wrong channel... |
2020-11-23 20:43:55 +0100 | <chreekat[m]> | Haha |
2020-11-23 20:44:35 +0100 | <chreekat[m]> | But since you asked, I don't think there is a good alternative, not for scripting the Unix shell anyway |
2020-11-23 20:45:06 +0100 | <geekosaur> | zsh, but I'm not sure that's an improvement. |
2020-11-23 20:45:10 +0100 | kuribas | moving the discussion to #haskell-offtopic |
2020-11-23 20:45:27 +0100 | <sm[m]> | aw |
2020-11-23 20:45:27 +0100 | <geekosaur> | and, well, if there were something bettter, there wouldnt be so many bad shell scripts out there |
2020-11-23 20:45:51 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 260 seconds) |
2020-11-23 20:46:05 +0100 | <sm[m]> | I think it's bash or python, unless you think writing perl in 2020 is a good idea |
2020-11-23 20:46:20 +0100 | <geekosaur> | some of us still do |
2020-11-23 20:46:53 +0100 | <kuribas> | sm[m]: I never found it a good idea :) |
2020-11-23 20:47:41 +0100 | <sm[m]> | bash + shellcheck |
2020-11-23 20:47:57 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-11-23 20:48:02 +0100 | <sm[m]> | well.. would you consider make to be an option ? |
2020-11-23 20:48:16 +0100 | b7471 | (~kvirc@139.30.225.215) (Ping timeout: 240 seconds) |
2020-11-23 20:48:24 +0100 | <maerwald> | kuribas: POSIX shell |
2020-11-23 20:48:26 +0100 | <geekosaur> | make's going to use bash underneath |
2020-11-23 20:48:33 +0100 | <kuribas> | I was trying out gauche-scheme, which is nice, but it's sadly not installed on centos... |
2020-11-23 20:49:09 +0100 | <sm[m]> | o well if you're going to be installing things.. stack scripts can be nice |
2020-11-23 20:49:12 +0100 | <kuribas> | I'd use haskell, but 2GB isn't exactly lightweight... |
2020-11-23 20:49:17 +0100 | <maerwald> | other than that, your only option is perl... there's hardly any system out there without it, because gcc toolchain needs it |
2020-11-23 20:49:24 +0100 | <kuribas> | sm[m]: haskell stack? |
2020-11-23 20:50:02 +0100 | <sm[m]> | yes |
2020-11-23 20:50:56 +0100 | <maerwald> | how is that not 2GB? |
2020-11-23 20:51:47 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
2020-11-23 20:52:04 +0100 | <kuribas> | maerwald: it is |
2020-11-23 20:52:19 +0100 | <sm[m]> | I didn't assert that.. but I think it could be.. use system-packaged stack & ghc & haskell deps, tell stack script to use those |
2020-11-23 20:52:28 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2020-11-23 20:52:55 +0100 | <maerwald> | kuribas: static haskell binary? |
2020-11-23 20:53:31 +0100 | <dminuoso> | Mmm, I have a mundane task of running some wget commands to scrape a website. What's the least effort to quickly have a thread pool of 5 things to parallelize this a bit? |
2020-11-23 20:53:52 +0100 | <kuribas> | maerwald: could be, but then it has to be compiled on the same OS. |
2020-11-23 20:54:13 +0100 | <maerwald> | kuribas: what do you mean? |
2020-11-23 20:54:30 +0100 | <kuribas> | dminuoso: gnu parallel? |
2020-11-23 20:54:36 +0100 | sondr3 | (~sondr3@cm-84.211.56.132.getinternet.no) |
2020-11-23 20:55:01 +0100 | <kuribas> | maerwald: I mean linux binaries aren't portable across distros. |
2020-11-23 20:55:05 +0100 | <maerwald> | they are |
2020-11-23 20:55:10 +0100 | <kuribas> | because of glibc differences |
2020-11-23 20:55:11 +0100 | <maerwald> | static binaries |
2020-11-23 20:55:13 +0100 | <maerwald> | I said |
2020-11-23 20:55:22 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 20:55:25 +0100 | <kuribas> | even static binaries |
2020-11-23 20:55:27 +0100 | <maerwald> | nope |
2020-11-23 20:55:29 +0100 | sm[m] | meant "I think it could be economical with space, using less than 2G" |
2020-11-23 20:55:31 +0100 | <maerwald> | they use musl |
2020-11-23 20:55:41 +0100 | <maerwald> | how do you think ghcup works across all distros? :p |
2020-11-23 20:55:43 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds) |
2020-11-23 20:56:21 +0100 | <maerwald> | I even have a github workflow you can copy paste |
2020-11-23 20:56:23 +0100 | <sm[m]> | now we must ask which platforms are to be supported |
2020-11-23 20:56:25 +0100 | <kuribas> | maerwald: you use musl? |
2020-11-23 20:56:28 +0100 | <maerwald> | yes |
2020-11-23 20:56:35 +0100 | <kuribas> | hmm, nice. |
2020-11-23 20:56:37 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 264 seconds) |
2020-11-23 20:56:43 +0100 | <dsal> | jcd: it'd be good to start with type signatures, but in your case `readHTTPMessage = HTTP_Message` so you might as well just use `HTTP_Message` directly. |
2020-11-23 20:56:44 +0100 | <kuribas> | I should try that... |
2020-11-23 20:56:53 +0100 | Codaraxis | (~Codaraxis@91.193.4.61) |
2020-11-23 20:57:05 +0100 | <maerwald> | kuribas: https://github.com/hasufell/stack2cabal/blob/master/.github/workflows/release.yaml#L32 |
2020-11-23 20:57:56 +0100 | N1L5 | (3ed8ca8d@aftr-62-216-202-141.dynamic.mnet-online.de) |
2020-11-23 20:58:27 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 20:59:09 +0100 | howdoi | (uid224@gateway/web/irccloud.com/x-gbfppsdeuatjrkoa) |
2020-11-23 21:01:07 +0100 | <kuribas> | maerwald: I don't see musl there? |
2020-11-23 21:01:15 +0100 | <maerwald> | kuribas: alpine docker image |
2020-11-23 21:01:17 +0100 | <maerwald> | it uses musl |
2020-11-23 21:02:07 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
2020-11-23 21:02:26 +0100 | <maerwald> | so you have two options... you try to use static-haskell.nix and configure stuff for over a week, or just spend 5 minutes with alpine installing some deps :p |
2020-11-23 21:02:26 +0100 | dqd | (id@wikipedia/dqd) |
2020-11-23 21:02:34 +0100 | geekosaur | (ac3a53fb@172.58.83.251) (Ping timeout: 245 seconds) |
2020-11-23 21:03:03 +0100 | <dminuoso> | With what I know now, static-haskell.nix is very easy to use |
2020-11-23 21:03:08 +0100 | <dminuoso> | Assuming you're already confident with nix. |
2020-11-23 21:03:10 +0100 | <maerwald> | I tried, it didn't work |
2020-11-23 21:03:21 +0100 | <maerwald> | then a month later someone from Russia found the bug |
2020-11-23 21:03:35 +0100 | <maerwald> | that's basically how nix is every time |
2020-11-23 21:04:04 +0100 | <dminuoso> | Do you have any link to that? |
2020-11-23 21:04:34 +0100 | <maerwald> | https://github.com/nh2/static-haskell-nix/issues/85 |
2020-11-23 21:04:42 +0100 | <kuribas> | maerwald: that's how *any tooling* is. |
2020-11-23 21:04:51 +0100 | <maerwald> | kuribas: nah, nix is particularly bad |
2020-11-23 21:04:59 +0100 | Sarma | (~Amras@unaffiliated/amras0000) |
2020-11-23 21:05:16 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
2020-11-23 21:07:10 +0100 | <nh2> | maerwald dminuoso: "Someone from Russia" is quite the odd desccription for qrilka; Kirill is my colleague and a core stack developer. |
2020-11-23 21:07:27 +0100 | <maerwald> | that was a meme |
2020-11-23 21:07:34 +0100 | <maerwald> | I know who he is |
2020-11-23 21:07:34 +0100 | geekosaur | (ac3a53fb@172.58.83.251) |
2020-11-23 21:07:39 +0100 | Franciman | (~francesco@host-82-54-193-143.retail.telecomitalia.it) (Quit: Leaving) |
2020-11-23 21:07:47 +0100 | <nh2> | ah sorry, I didn't know that one |
2020-11-23 21:08:49 +0100 | <maerwald> | If a tool requires me to regularly consult experts, then it's a bad tool :p |
2020-11-23 21:08:52 +0100 | <dminuoso> | Also, if I look at this bug, it looks like a stack bug. |
2020-11-23 21:08:57 +0100 | <dminuoso> | Not a nix or static-haskell-nix bug. |
2020-11-23 21:09:07 +0100 | Franciman | (~francesco@host-82-54-193-143.retail.telecomitalia.it) |
2020-11-23 21:09:45 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
2020-11-23 21:10:07 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-11-23 21:11:48 +0100 | <maerwald> | I must be cursed then, because whenever I use nix I hit all sorts of bugs and ppl keep telling me those aren't nix bugs :D |
2020-11-23 21:12:22 +0100 | rprije | (~rprije@123-243-139-165.tpgi.com.au) |
2020-11-23 21:12:31 +0100 | <nh2> | Well, I have to consult Ben and the Simons regularly for my problems but I'd never call GHC a bad tool :) |
2020-11-23 21:13:00 +0100 | <maerwald> | here's another one https://github.com/input-output-hk/haskell.nix/issues/229 |
2020-11-23 21:13:29 +0100 | N1L5 | (3ed8ca8d@aftr-62-216-202-141.dynamic.mnet-online.de) (Remote host closed the connection) |
2020-11-23 21:13:44 +0100 | <dminuoso> | maerwald: And that is a very very old GHC issue. |
2020-11-23 21:13:59 +0100 | <dminuoso> | One that you can just as easily trip into with your favoured alpine containers... |
2020-11-23 21:14:22 +0100 | <maerwald> | dminuoso: that's weird, because I thought nix is reproducible |
2020-11-23 21:14:22 +0100 | knupfer | (~Thunderbi@200116b8240c15009967b89ece4ca4cf.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2020-11-23 21:15:11 +0100 | <dminuoso> | maerwald: Nix is not a silver bullet. The software that is executed by nix has access so things like environment variables. |
2020-11-23 21:15:27 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
2020-11-23 21:15:30 +0100 | <dminuoso> | It's why things like flakes is coming |
2020-11-23 21:15:31 +0100 | <maerwald> | then docker seems like a better abstraction, because it doesn't depend on my local environment |
2020-11-23 21:15:36 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 240 seconds) |
2020-11-23 21:15:39 +0100 | ni291187 | (~u931732@bras-vprn-nwmkon8540w-lp130-10-142-112-210-136.dsl.bell.ca) |
2020-11-23 21:15:47 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-11-23 21:15:48 +0100 | lucasb | (uid333435@gateway/web/irccloud.com/x-detutdhidmcqqrwp) () |
2020-11-23 21:15:49 +0100 | <dminuoso> | Well, Id argue it's a user error because nix can give you pure environments |
2020-11-23 21:16:05 +0100 | <ni291187> | Hello |
2020-11-23 21:16:07 +0100 | boxscape | (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) |
2020-11-23 21:16:09 +0100 | <maerwald> | following the README instructions surely isn't a user error |
2020-11-23 21:16:18 +0100 | lambda-11235 | (~lambda-11@2600:1700:7c70:4600:6511:46eb:c421:ce43) (Max SendQ exceeded) |
2020-11-23 21:16:42 +0100 | <maerwald> | (and I did that for static-haskell-nix as well) |
2020-11-23 21:16:50 +0100 | <dminuoso> | Well it's still a very old GHC bug |
2020-11-23 21:16:52 +0100 | <dminuoso> | https://gitlab.haskell.org/ghc/ghc/-/issues/8118 |
2020-11-23 21:17:22 +0100 | <maerwald> | dminuoso: can you guess what the fix is? |
2020-11-23 21:17:26 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2020-11-23 21:17:32 +0100 | <nh2> | maerwald: In any case, here's a thing I'm currently trying to do with nixpkgs and Alpine: Build static GTK executables. I got the C part working in nixpkgs (screenshots in https://github.com/nh2/static-haskell-nix/issues/50#issuecomment-558569895 and below) but not yet the Haskell part. I'd like to do the same with Alpine so I can use it with plain stack. Do you know if that's possible? |
2020-11-23 21:17:44 +0100 | ni291187 | lightwave |
2020-11-23 21:18:14 +0100 | <maerwald> | I haven't done static gtk yet, would have to try. I have a haskell gtk project I could try it on |
2020-11-23 21:18:45 +0100 | lambda-11235 | (~lambda-11@2600:1700:7c70:4600:6511:46eb:c421:ce43) |
2020-11-23 21:18:49 +0100 | <geekosaur> | gtk likes loading stuff dynamically though |
2020-11-23 21:19:00 +0100 | <maerwald> | dminuoso: setting the locale is not the fix btw :p |
2020-11-23 21:19:03 +0100 | taurux | (~taurux@net-188-152-78-21.cust.vodafonedsl.it) |
2020-11-23 21:19:07 +0100 | todda7 | (~torstein@ppp-2-84-17-53.home.otenet.gr) (Ping timeout: 265 seconds) |
2020-11-23 21:19:19 +0100 | <maerwald> | geekosaur: you mean it dlopens? |
2020-11-23 21:19:26 +0100 | <geekosaur> | yes |
2020-11-23 21:19:31 +0100 | <maerwald> | blergh |
2020-11-23 21:19:34 +0100 | <nh2> | maerwald: I would try with plain C first as a stepping stone, if you want to give it a shot I made a mini GTK app with 1 button in C here: https://github.com/nh2/static-haskell-nix/tree/c-static-gtk3-apps/meson-tutorial-gtk |
2020-11-23 21:19:37 +0100 | <dminuoso> | maerwald: For your particular occurence I do not know. But at its very core it's a GHC bug. |
2020-11-23 21:19:41 +0100 | <dminuoso> | Or "issue" rather |
2020-11-23 21:19:58 +0100 | <maerwald> | dminuoso: LOCALE_ARCHIVE=/usr/lib/locale/locale-archive nix-script |
2020-11-23 21:20:25 +0100 | <lightwave> | Newbie here... I’ve tried to learn Haskell many times... but it trailed off everything because I often got distracted into busy projects because I could learn enough to understand even the short hello world program... Is there a good book that focus on learning by example? Most resources out there seem to be theory heavy upfront... |
2020-11-23 21:20:27 +0100 | <dminuoso> | nix tends to make such problems more apparent because it's more radical |
2020-11-23 21:20:28 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-11-23 21:20:54 +0100 | <dminuoso> | @where cis194 -- lightwave |
2020-11-23 21:20:55 +0100 | <lambdabot> | https://www.seas.upenn.edu/~cis194/spring13/lectures.html |
2020-11-23 21:20:56 +0100 | <sm[m]> | @where HTAC , lightwave |
2020-11-23 21:20:56 +0100 | <lambdabot> | "Haskell Tutorial and Cookbook" by Mark Watson in 2017-09-04 at <https://leanpub.com/haskell-cookbook> |
2020-11-23 21:20:58 +0100 | <maerwald> | dminuoso: apparently not, because I'm the only one hitting that bug |
2020-11-23 21:21:06 +0100 | <nh2> | geekosaur: Do you know if it always dlopens stuff, or only for specific functionality? Because my basic button example works so far here: https://github.com/nh2/static-haskell-nix/releases/tag/c-static-gtk3-apps-button-example-2020-11-23 |
2020-11-23 21:21:17 +0100 | <kuribas> | lightwave: learn you a haskell |
2020-11-23 21:21:25 +0100 | <maerwald> | and that's usually when ppl start saying it's a user error, although all I did wat following the instructions :o |
2020-11-23 21:21:43 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-11-23 21:21:45 +0100 | <kuribas> | lightwave: http://learnyouahaskell.com It's focussing a lot on examples. |
2020-11-23 21:21:47 +0100 | <geekosaur> | specific functionality. in particular there's a mode where it can load a UI from a file and then iirc it dlopen()s the components iidentified in the file |
2020-11-23 21:21:48 +0100 | knupfer | (~Thunderbi@i59F7FFC3.versanet.de) |
2020-11-23 21:22:09 +0100 | <dminuoso> | 21:19:58 maerwald | dminuoso: LOCALE_ARCHIVE=/usr/lib/locale/locale-archive nix-script |
2020-11-23 21:22:13 +0100 | <geekosaur> | since the components may not be linked into the executable |
2020-11-23 21:22:18 +0100 | <dminuoso> | Id argue the more proper solution is |
2020-11-23 21:22:23 +0100 | <dminuoso> | LOCALE_ARCHIVE="${pkgs.glibcLocales}/lib/locale/locale-archive" |
2020-11-23 21:22:27 +0100 | <lightwave> | Thanks! |
2020-11-23 21:22:32 +0100 | gproto23 | (~gproto23@unaffiliated/gproto23) (Ping timeout: 272 seconds) |
2020-11-23 21:22:45 +0100 | <dminuoso> | Presumably this happens inside travis ci? |
2020-11-23 21:22:53 +0100 | <nh2> | geekosaur: Are you referring to e.g. when you make UIs with `glade` (which IIRC saves them to XML files)? |
2020-11-23 21:23:02 +0100 | <geekosaur> | yes |
2020-11-23 21:23:07 +0100 | <maerwald> | dminuoso: no, on my computer |
2020-11-23 21:23:28 +0100 | <geekosaur> | I haven't played with gtk in some years though, something may have changed since I last did it |
2020-11-23 21:23:29 +0100 | <maerwald> | my project is glade, seems like a perfect test then |
2020-11-23 21:24:53 +0100 | <monochrom> | "learn by examples" fails for Haskell as soon as you need I/O because Haskell's I/O story requires accepting a tiny little bit of theory upfront. |
2020-11-23 21:24:55 +0100 | <nh2> | geekosaur: thanks, I've written it down in https://github.com/nh2/static-haskell-nix/issues/50#issuecomment-732405876 and will try it out; I've used glade in the past but only from Python |
2020-11-23 21:25:06 +0100 | lightwave | (~u931732@bras-vprn-nwmkon8540w-lp130-10-142-112-210-136.dsl.bell.ca) (Remote host closed the connection) |
2020-11-23 21:25:19 +0100 | ggole | (~ggole@2001:8003:8119:7200:1c3c:45be:a6d:c507) (Quit: Leaving) |
2020-11-23 21:26:25 +0100 | <hseg> | maerwald: that's why we need a diverse OS/packaging ecosystem. done properly, it serves to fuzz test programs |
2020-11-23 21:26:43 +0100 | <monochrom> | I say that out of real observations here. There were beginners who tried "learn by examples", it quickly degenerated to cargo culting in vain because the beginners could not grasp the difference between "map putStrLn myListOfString" and "mapM_ putStrLn myListOfStrings" because they didn't learn the prerequisite theory. |
2020-11-23 21:26:49 +0100 | <maerwald> | hseg: who's doing that properly? |
2020-11-23 21:27:13 +0100 | <boxscape> | what's the function to see what the class of a particular unicode character is again? |
2020-11-23 21:27:33 +0100 | <geekosaur> | generalCategory |
2020-11-23 21:27:33 +0100 | <hseg> | can't think of anyone off the top of my head right now |
2020-11-23 21:27:42 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2020-11-23 21:27:44 +0100 | <maerwald> | I know of maybe two distros where I'd call a subsections of the packaging done properly. And then there's still a huge part around it that's just outright bad |
2020-11-23 21:28:33 +0100 | <boxscape> | % generalCategory <$> "ꓱ∃" |
2020-11-23 21:28:33 +0100 | <yahb> | boxscape: [OtherLetter,MathSymbol] |
2020-11-23 21:28:36 +0100 | <boxscape> | thanks geekosaur |
2020-11-23 21:29:27 +0100 | <dminuoso> | maerwald: Do you have old packages installed through nix-env? |
2020-11-23 21:29:36 +0100 | <maerwald> | dminuoso: no, I wiped it out several times |
2020-11-23 21:30:09 +0100 | copypasteque_ | (~copypaste@2001:41d0:8:b325::1) (Quit: WeeChat 2.8) |
2020-11-23 21:30:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-11-23 21:30:30 +0100 | <hseg> | fair. that's the immediate counterargument -- it's quite possible the fuzzing benefits are outweighed by the costs of disjoint projects trying to interface with each other |
2020-11-23 21:30:37 +0100 | <dminuoso> | maerwald: Mmm, I dont quite understand the state of affairs.. but the underlying cause is a quite interesting change in glibc: https://sourceware.org/glibc/wiki/Release/2.27#Statically_compiled_applications_using_locales |
2020-11-23 21:30:57 +0100 | <maerwald> | hseg: it gets worse when distros start breaking other distros (yes, there are ways to achieve that) |
2020-11-23 21:30:58 +0100 | <dminuoso> | At any rate, the problem shouldn't be apparent anymore. You aren't on an old nix channel, are you? |
2020-11-23 21:31:32 +0100 | <maerwald> | dminuoso: I have no idea. I'm just running a shell script that does nix stuff |
2020-11-23 21:31:53 +0100 | <hseg> | wait what? |
2020-11-23 21:32:07 +0100 | kuribas | (~user@ptr-25vy0i8kkf9triykmnn.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
2020-11-23 21:32:34 +0100 | <hseg> | are you referring to socially-leading distros making bad decisions that then get cargo-culted? |
2020-11-23 21:32:44 +0100 | <hseg> | or distros using each other's patches blindly? |
2020-11-23 21:33:23 +0100 | <dminuoso> | maerwald: Mmm, yeah. This particular bug is still a sad thing, in part it was ignored because a) there's a workaround (that you have to dig for) and b) it doesn't really apply to nixos users.. |
2020-11-23 21:33:37 +0100 | <maerwald> | hseg: famous instance is skype being broken on gentoo, because debian messed with SONAMEs of a library and the developers built skype on debian. The fix wasn't hard, but yeah. |
2020-11-23 21:34:01 +0100 | <hseg> | :-o |
2020-11-23 21:34:28 +0100 | <maerwald> | rockstar attitude of packagers |
2020-11-23 21:34:43 +0100 | <maerwald> | (debian has a history of that...) |
2020-11-23 21:34:53 +0100 | <dminuoso> | To be fair, it's not like you're paying for any of it. These are just volunteers.. |
2020-11-23 21:35:08 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 21:35:11 +0100 | <maerwald> | dminuoso: I know. I did packaging for 5 years. |
2020-11-23 21:36:21 +0100 | alp | (~alp@2a01:e0a:58b:4920:99e8:704d:3180:71f2) (Ping timeout: 272 seconds) |
2020-11-23 21:37:01 +0100 | <maerwald> | And there's not much between internal hierarchy fights on the one side and yelling users on the other... such rewarding work :D |
2020-11-23 21:37:13 +0100 | alp | (~alp@88.126.45.36) |
2020-11-23 21:37:15 +0100 | _deepfire | (~user@80.92.100.69) (Read error: Connection reset by peer) |
2020-11-23 21:37:38 +0100 | <dminuoso> | Like you just did. :-) |
2020-11-23 21:37:45 +0100 | <dminuoso> | Well, at least it wasn't directed at them |
2020-11-23 21:38:35 +0100 | <maerwald> | I don't have any expectations of nix devs |
2020-11-23 21:38:53 +0100 | <maerwald> | It's when users have expectations and voice them aggressively |
2020-11-23 21:39:07 +0100 | <maerwald> | I just move on and pick another tool |
2020-11-23 21:39:34 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-23 21:39:48 +0100 | christo | (~chris@81.96.113.213) |
2020-11-23 21:40:30 +0100 | hackage | numhask 0.7.0.0 - A numeric class heirarchy. https://hackage.haskell.org/package/numhask-0.7.0.0 (tonyday567) |
2020-11-23 21:43:08 +0100 | redmp | (~redmp@mobile-166-137-178-102.mycingular.net) |
2020-11-23 21:45:00 +0100 | <maerwald> | nh2: I think we're out of luck. I can't find static library files of gtk+3 in alpine |
2020-11-23 21:45:16 +0100 | solonarv | (~solonarv@astrasbourg-653-1-156-4.w90-6.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2020-11-23 21:45:17 +0100 | <nh2> | maerwald: can we build them? |
2020-11-23 21:49:19 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2020-11-23 21:49:34 +0100 | hseg | (~gesh@185.120.126.113) (Ping timeout: 265 seconds) |
2020-11-23 21:50:32 +0100 | taurux | (~taurux@net-188-152-78-21.cust.vodafonedsl.it) (Ping timeout: 265 seconds) |
2020-11-23 21:50:34 +0100 | <maerwald> | https://mail.gnome.org/archives/gtk-list/2018-January/msg00006.html |
2020-11-23 21:51:07 +0100 | Aquazi | (uid312403@gateway/web/irccloud.com/x-kgipcwwyhxxkjxhq) (Quit: Connection closed for inactivity) |
2020-11-23 21:51:31 +0100 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
2020-11-23 21:53:52 +0100 | jcd | (~user@2601:282:1300:7cb0::adb4) (Remote host closed the connection) |
2020-11-23 21:54:03 +0100 | <nh2> | maerwald: that's a bit outdated, see https://github.com/nh2/static-haskell-nix/issues/50#issuecomment-554589400 -- the author of that email merged my fixes to GTK accidentally breaking its static build in https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1172 |
2020-11-23 21:55:01 +0100 | <nh2> | (it did also work before in autotools, they probably broke it by accident when moving to meson) |
2020-11-23 21:55:52 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2020-11-23 21:56:09 +0100 | Franciman | (~francesco@host-82-54-193-143.retail.telecomitalia.it) (Quit: Leaving) |
2020-11-23 21:56:19 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds) |
2020-11-23 21:56:21 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 21:56:21 +0100 | <nh2> | the backport for gtk3 is https://gitlab.gnome.org/GNOME/gtk/merge_requests/1196 -- should be in gtk3 >= 3.24.13, so the alpine package should have that fix |
2020-11-23 21:58:08 +0100 | <hekkaidekapus> | nh2, maerwald: <https://gitlab.alpinelinux.org/alpine/aports/blob/master/main/gtk+3.0/APKBUILD> |
2020-11-23 21:59:44 +0100 | czwartyeon | (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Remote host closed the connection) |
2020-11-23 22:00:46 +0100 | <nh2> | maerwald hekkaidekapus: Yes (thanks!), 3.24.23, so that should have my fix in. So you'd just have to pass the "-Ddefault_library=both" flag to get `.a` files |
2020-11-23 22:01:10 +0100 | <Uniaika> | hey everyone |
2020-11-23 22:01:25 +0100 | <hekkaidekapus> | hello |
2020-11-23 22:01:25 +0100 | <Uniaika> | what can I read in order to better understand fundeps errors in GHC? |
2020-11-23 22:01:27 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-11-23 22:02:51 +0100 | <Uniaika> | s/in/with/ |
2020-11-23 22:03:05 +0100 | vicfred_ | (~vicfred@unaffiliated/vicfred) |
2020-11-23 22:03:08 +0100 | taurux | (~taurux@net-188-152-78-21.cust.vodafonedsl.it) |
2020-11-23 22:03:49 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) (Ping timeout: 264 seconds) |
2020-11-23 22:04:16 +0100 | vicfred_ | (~vicfred@unaffiliated/vicfred) (Max SendQ exceeded) |
2020-11-23 22:04:44 +0100 | vicfred_ | (~vicfred@unaffiliated/vicfred) |
2020-11-23 22:05:43 +0100 | vicfred_ | (~vicfred@unaffiliated/vicfred) (Max SendQ exceeded) |
2020-11-23 22:06:15 +0100 | vicfred_ | (~vicfred@unaffiliated/vicfred) |
2020-11-23 22:07:18 +0100 | wayne_ | wayne |
2020-11-23 22:07:32 +0100 | wayne | (~wayne@consume.rocks) (Changing host) |
2020-11-23 22:07:32 +0100 | wayne | (~wayne@unaffiliated/wayne) |
2020-11-23 22:07:41 +0100 | fxg | (~fxg@unaffiliated/fxg) (Quit: Leaving) |
2020-11-23 22:11:45 +0100 | <nh2> | Uniaika: I don't have a great resource on understanding the error messages, but do you know https://ocharles.org.uk/posts/2014-12-14-functional-dependencies.html | https://www.fpcomplete.com/haskell/tutorial/fundeps/ | https://gvolpe.com/blog/functional-dependencies-and-type-families/ ? They show _some_ fundeps errors and explain those |
2020-11-23 22:12:31 +0100 | hackage | numhask-space 0.7.0.0 - Numerical spaces. https://hackage.haskell.org/package/numhask-space-0.7.0.0 (tonyday567) |
2020-11-23 22:13:12 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection) |
2020-11-23 22:13:22 +0100 | <Uniaika> | nice |
2020-11-23 22:13:38 +0100 | <Uniaika> | thanks a lot nh2 |
2020-11-23 22:14:11 +0100 | dennisb | (~dennisb@89-160-106-195.cust.bredband2.com) |
2020-11-23 22:14:54 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-23 22:15:47 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 22:17:00 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2020-11-23 22:17:24 +0100 | <dminuoso> | Uniaika: One thing that helped me is understand how GHC reasons in the presence of fundeps. |
2020-11-23 22:18:29 +0100 | <nh2> | dminuoso: Would be good to know how you did learn to understand that reasoning though :) |
2020-11-23 22:19:29 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2020-11-23 22:19:29 +0100 | <Uniaika> | on a related topic, I have this line of code : https://github.com/Kleidukos/Intrigue/blob/main/src/Intrigue/Eval.hs#L52 |
2020-11-23 22:19:36 +0100 | <Uniaika> | that generates this error: https://github.com/Kleidukos/Intrigue/runs/1444428807?check_suite_focus=true#step:5:18 |
2020-11-23 22:21:24 +0100 | Raman | (~user@c-24-4-174-65.hsd1.ca.comcast.net) |
2020-11-23 22:22:08 +0100 | uninitializedPtr | (415e3d4d@bras-base-okvlon3013w-grc-13-65-94-61-77.dsl.bell.ca) |
2020-11-23 22:22:19 +0100 | <Raman> | ?src reverse |
2020-11-23 22:22:20 +0100 | <lambdabot> | Source not found. Do you think like you type? |
2020-11-23 22:22:37 +0100 | <uninitializedPtr> | > let main :: IO () |
2020-11-23 22:22:39 +0100 | <lambdabot> | <no location info>: error: not an expression: ‘let main :: IO ()’ |
2020-11-23 22:22:47 +0100 | <uninitializedPtr> | > this_main :: IO () |
2020-11-23 22:22:49 +0100 | <Raman> | ?src |
2020-11-23 22:22:49 +0100 | <lambdabot> | src <id>. Display the implementation of a standard function |
2020-11-23 22:22:49 +0100 | <lambdabot> | error: Variable not in scope: this_main :: IO () |
2020-11-23 22:22:55 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2020-11-23 22:23:01 +0100 | <Raman> | ?src map |
2020-11-23 22:23:01 +0100 | <lambdabot> | Source not found. Abort, Retry, Panic? |
2020-11-23 22:23:01 +0100 | <uninitializedPtr> | > printStrLn 42 |
2020-11-23 22:23:03 +0100 | <lambdabot> | error: |
2020-11-23 22:23:03 +0100 | <lambdabot> | • Variable not in scope: printStrLn :: t0 -> t |
2020-11-23 22:23:03 +0100 | <lambdabot> | • Perhaps you meant one of these: |
2020-11-23 22:23:14 +0100 | <geekosaur> | @src consults a database which contains lies and is not complete |
2020-11-23 22:23:14 +0100 | <lambdabot> | Source not found. Have you considered trying to match wits with a rutabaga? |
2020-11-23 22:23:14 +0100 | <Uniaika> | > print 42 |
2020-11-23 22:23:17 +0100 | <lambdabot> | <IO ()> |
2020-11-23 22:23:17 +0100 | <Raman> | abort |
2020-11-23 22:23:19 +0100 | <uninitializedPtr> | ?src src |
2020-11-23 22:23:19 +0100 | <lambdabot> | Source not found. The more you drive -- the dumber you get. |
2020-11-23 22:23:21 +0100 | <uninitializedPtr> | ?src src |
2020-11-23 22:23:21 +0100 | <lambdabot> | Source not found. Are you on drugs? |
2020-11-23 22:23:21 +0100 | copypasteque | (~copypaste@2001:41d0:8:b325::1) |
2020-11-23 22:23:23 +0100 | <uninitializedPtr> | > ?src src |
2020-11-23 22:23:26 +0100 | <lambdabot> | error: |
2020-11-23 22:23:26 +0100 | <lambdabot> | • Variable not in scope: src |
2020-11-23 22:23:26 +0100 | <lambdabot> | • Perhaps you meant ‘scc’ (imported from Data.Graph) |
2020-11-23 22:23:33 +0100 | <Raman> | ?src Eq |
2020-11-23 22:23:33 +0100 | <lambdabot> | class Eq a where |
2020-11-23 22:23:33 +0100 | <lambdabot> | (==), (/=) :: a -> a -> Bool |
2020-11-23 22:23:54 +0100 | <Raman> | ?reverse |
2020-11-23 22:23:54 +0100 | <lambdabot> | Unknown command, try @list |
2020-11-23 22:24:00 +0100 | <uninitializedPtr> | @list |
2020-11-23 22:24:00 +0100 | <lambdabot> | What module? Try @listmodules for some ideas. |
2020-11-23 22:24:08 +0100 | <Raman> | @list |
2020-11-23 22:24:08 +0100 | <lambdabot> | What module? Try @listmodules for some ideas. |
2020-11-23 22:24:17 +0100 | <uninitializedPtr> | @list null |
2020-11-23 22:24:17 +0100 | <lambdabot> | No module "null" loaded |
2020-11-23 22:24:37 +0100 | <uninitializedPtr> | class Nothing where Nothing |
2020-11-23 22:24:44 +0100 | <uninitializedPtr> | > class Nothing where Nothing |
2020-11-23 22:24:49 +0100 | <dminuoso> | Use a private message if you want to experiment. |
2020-11-23 22:25:23 +0100 | <Raman> | ?src Show |
2020-11-23 22:25:23 +0100 | <lambdabot> | Source not found. You speak an infinite deal of nothing. |
2020-11-23 22:25:42 +0100 | <Uniaika> | dminuoso: do you have any idea how I can investigate the error I pasted above? |
2020-11-23 22:25:51 +0100 | Raman | (~user@c-24-4-174-65.hsd1.ca.comcast.net) () |
2020-11-23 22:25:56 +0100 | <nh2> | geekosaur: good tip, dynamic loading occurring here: https://github.com/nh2/static-haskell-nix/issues/50#issuecomment-732434989 |
2020-11-23 22:26:20 +0100 | <dminuoso> | Uniaika: Yes |
2020-11-23 22:26:20 +0100 | uninitializedPtr | (415e3d4d@bras-base-okvlon3013w-grc-13-65-94-61-77.dsl.bell.ca) () |
2020-11-23 22:26:38 +0100 | <Uniaika> | dminuoso: \o/ |
2020-11-23 22:27:29 +0100 | <nh2> | maerwald: FYI ^ |
2020-11-23 22:29:07 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection) |
2020-11-23 22:29:42 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) |
2020-11-23 22:30:28 +0100 | geekosaur | (ac3a53fb@172.58.83.251) (Remote host closed the connection) |
2020-11-23 22:30:51 +0100 | <dminuoso> | Uniaika: Consider: class Monad m => MonadState s m | m -> s |
2020-11-23 22:31:32 +0100 | <Uniaika> | yes |
2020-11-23 22:31:36 +0100 | Uniaika | considers |
2020-11-23 22:31:51 +0100 | taurux | (~taurux@net-188-152-78-21.cust.vodafonedsl.it) (Quit: ZNC 1.7.5 - https://znc.in) |
2020-11-23 22:31:52 +0100 | <dminuoso> | Given `instance ‘MonadState (HashMap Text AST) EvalM’` we have `EvalM -> (HashMap Text AST)` |
2020-11-23 22:32:11 +0100 | <Uniaika> | yep' |
2020-11-23 22:32:52 +0100 | <dminuoso> | The line that says: |
2020-11-23 22:32:54 +0100 | <dminuoso> | constraint ‘MonadState (HashMap Text (EvalM AST)) EvalM’ |
2020-11-23 22:33:04 +0100 | Khisanth | (~Khisanth@166.sub-174-197-147.myvzw.com) (Ping timeout: 265 seconds) |
2020-11-23 22:33:06 +0100 | <dminuoso> | Means GHC is trying to satisfy this constraint |
2020-11-23 22:33:37 +0100 | <Uniaika> | which is not ‘MonadState (HashMap Text AST) EvalM’ |
2020-11-23 22:33:42 +0100 | <dminuoso> | Right |
2020-11-23 22:33:44 +0100 | <Uniaika> | but what I don't understand is how I got myself into that |
2020-11-23 22:33:59 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2020-11-23 22:33:59 +0100 | <dminuoso> | Type inference. |
2020-11-23 22:34:04 +0100 | <Uniaika> | damnit. |
2020-11-23 22:34:05 +0100 | <dminuoso> | % :t ask |
2020-11-23 22:34:05 +0100 | <yahb> | dminuoso: MonadReader r m => m r |
2020-11-23 22:34:14 +0100 | <Uniaika> | in my case it's |
2020-11-23 22:34:15 +0100 | <dminuoso> | See how ask is *fully* polymorphic in both m and r? |
2020-11-23 22:34:17 +0100 | <Uniaika> | % :t get |
2020-11-23 22:34:17 +0100 | <yahb> | Uniaika: MonadState s m => m s |
2020-11-23 22:34:21 +0100 | <dminuoso> | Oh. same story |
2020-11-23 22:34:31 +0100 | <Uniaika> | but yeah I see |
2020-11-23 22:34:48 +0100 | <Uniaika> | dminuoso: would type applications solve my problem? |
2020-11-23 22:35:00 +0100 | <dminuoso> | Uniaika: type annotations would help narrow it done |
2020-11-23 22:35:08 +0100 | <dminuoso> | Right now type inference is way too unbounded |
2020-11-23 22:35:23 +0100 | <dminuoso> | If you type annotate `n` that might give you a clue |
2020-11-23 22:35:31 +0100 | <dminuoso> | err wait |
2020-11-23 22:36:34 +0100 | <dminuoso> | My bet is its: let arguments = eval <$> arguments' |
2020-11-23 22:36:48 +0100 | adrew | (~andrew@97-115-68-44.ptld.qwest.net) |
2020-11-23 22:36:50 +0100 | <dminuoso> | That's broken |
2020-11-23 22:36:56 +0100 | knupfer | (~Thunderbi@i59F7FFC3.versanet.de) (Ping timeout: 265 seconds) |
2020-11-23 22:36:59 +0100 | __monty__ | (~toonn@unaffiliated/toonn) (Quit: leaving) |
2020-11-23 22:37:00 +0100 | <Uniaika> | ooh |
2020-11-23 22:37:01 +0100 | <Uniaika> | okay |
2020-11-23 22:37:10 +0100 | <Uniaika> | thanks for the insight! |
2020-11-23 22:37:15 +0100 | EyalSK | (~EyalSK@bzq-84-109-128-227.cablep.bezeqint.net) |
2020-11-23 22:37:24 +0100 | adrew | (~andrew@97-115-68-44.ptld.qwest.net) (Quit: adrew) |
2020-11-23 22:37:36 +0100 | EyalSK | (~EyalSK@bzq-84-109-128-227.cablep.bezeqint.net) (Client Quit) |
2020-11-23 22:38:02 +0100 | mputz | (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) |
2020-11-23 22:38:41 +0100 | <dminuoso> | Ah not quite |
2020-11-23 22:38:43 +0100 | <dminuoso> | let env = (fromVector $ V.zip parameters arguments) <> env' |
2020-11-23 22:38:45 +0100 | <dminuoso> | This is the offending line |
2020-11-23 22:38:57 +0100 | <dminuoso> | Everything else stems from its inferred tpe |
2020-11-23 22:39:11 +0100 | <Uniaika> | changing fmap for traverse seems to have fixed it |
2020-11-23 22:39:20 +0100 | <Uniaika> | (as in: the other errors now appear in ghcid) |
2020-11-23 22:43:27 +0100 | alx741 | (~alx741@186.178.110.117) (Ping timeout: 260 seconds) |
2020-11-23 22:43:44 +0100 | kritzefitz | (~kritzefit@212.86.56.80) (Remote host closed the connection) |
2020-11-23 22:45:59 +0100 | Khisanth | (~Khisanth@56.sub-174-244-145.myvzw.com) |
2020-11-23 22:46:33 +0100 | cosimone_ | (~cosimone@5.170.241.60) |
2020-11-23 22:46:45 +0100 | kish` | (~oracle@unaffiliated/oracle) (Ping timeout: 240 seconds) |
2020-11-23 22:48:17 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Ping timeout: 260 seconds) |
2020-11-23 22:48:18 +0100 | cosimone_ | cosimone |
2020-11-23 22:49:18 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 272 seconds) |
2020-11-23 22:50:07 +0100 | boxscape | (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Quit: Connection closed) |
2020-11-23 22:50:29 +0100 | dhouthoo | (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.9) |
2020-11-23 22:51:54 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-23 22:52:44 +0100 | Lycurgus | (~niemand@98.4.114.74) |
2020-11-23 22:54:03 +0100 | Tops2 | (~Tobias@dyndsl-095-033-021-036.ewe-ip-backbone.de) (Quit: Leaving.) |
2020-11-23 22:54:59 +0100 | stu002 | (77120261@119-18-2-97.771202.syd.nbn.aussiebb.net) |
2020-11-23 22:55:30 +0100 | DavidEichmann | (~david@62.110.198.146.dyn.plus.net) (Remote host closed the connection) |
2020-11-23 22:56:04 +0100 | alx741 | (~alx741@181.196.69.178) |
2020-11-23 22:57:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-11-23 22:58:59 +0100 | conal | (~conal@66.115.157.94) |
2020-11-23 22:59:58 +0100 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 260 seconds) |
2020-11-23 23:03:06 +0100 | coot | (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2020-11-23 23:04:04 +0100 | <dminuoso> | Uniaika: Generally, if GHC has mismatching types and you cant make sense of it, start by adding type ascriptions or annotations. |
2020-11-23 23:04:18 +0100 | <Uniaika> | dminuoso: got it |
2020-11-23 23:04:23 +0100 | <Uniaika> | I will try to remember |
2020-11-23 23:05:11 +0100 | <dminuoso> | Uniaika: In larger code, the error could have easily come from the other case-of branch as well, but only manifested in the other branch. Smaller code and type signatures are your only methods sadly |
2020-11-23 23:05:19 +0100 | <dminuoso> | Unless we ever get type error slices |
2020-11-23 23:06:58 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection) |
2020-11-23 23:07:29 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) |
2020-11-23 23:07:49 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2020-11-23 23:08:28 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-11-23 23:08:28 +0100 | <dminuoso> | (And type error slices would only help much if they were integrated into your editor well, say via hie) |
2020-11-23 23:09:32 +0100 | <dminuoso> | (Or it would present some really interesting challenges on visualizing them) |
2020-11-23 23:11:18 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 23:12:02 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-11-23 23:16:34 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 246 seconds) |
2020-11-23 23:18:21 +0100 | tylerjl | (~leothrix@elastic/staff/leothrix) (Quit: ZNC 1.7.5 - https://znc.in) |
2020-11-23 23:20:51 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds) |
2020-11-23 23:20:54 +0100 | conal | (~conal@66.115.157.94) (Quit: Computer has gone to sleep.) |
2020-11-23 23:23:28 +0100 | leothrix | (~leothrix@elastic/staff/leothrix) |
2020-11-23 23:26:22 +0100 | superstar64 | (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) |
2020-11-23 23:26:34 +0100 | falafel_ | (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) |
2020-11-23 23:27:29 +0100 | sand_dull | (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 256 seconds) |
2020-11-23 23:31:27 +0100 | <superstar64> | has anyone played with something like this before? `data Term f = Fix (f (Term f) | Variable String | Application (Term f) (Term f) | Abstraction String (Term f)`, basically it's `Data.Fix.Fix` but with extra constructors |
2020-11-23 23:33:01 +0100 | stu002 | (77120261@119-18-2-97.771202.syd.nbn.aussiebb.net) (Remote host closed the connection) |
2020-11-23 23:33:45 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 240 seconds) |
2020-11-23 23:36:09 +0100 | Ariakenom | (~Ariakenom@h-98-128-229-104.NA.cust.bahnhof.se) (Quit: Leaving) |
2020-11-23 23:41:35 +0100 | borne | (~fritjof@200116b864880200394a967dc8ef4e61.dip.versatel-1u1.de) |
2020-11-23 23:43:13 +0100 | hexfive | (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) |
2020-11-23 23:43:31 +0100 | <int-e> | superstar64: probably not, because you can build the extra constructors into `f` instead. |
2020-11-23 23:44:01 +0100 | erisco | (~erisco@d24-57-249-233.home.cgocable.net) (Ping timeout: 264 seconds) |
2020-11-23 23:44:51 +0100 | <int-e> | data TermF f x = Variable String | Application x x | Abstraction String x | Extension (f x) |
2020-11-23 23:45:13 +0100 | <int-e> | type Term f = Fix (TermF f) |
2020-11-23 23:45:24 +0100 | <int-e> | superstar64: ^^ that should be isomorphic to what you have. |
2020-11-23 23:45:44 +0100 | <superstar64> | seems much uglier to pattern match on though |
2020-11-23 23:45:52 +0100 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
2020-11-23 23:46:32 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 23:48:23 +0100 | <int-e> | superstar64: There are pattern synonyms. What you may gain from the reformulation is a better understanding for how this relates to Fix, what folds look like... just an overall better fit with existing theory. |
2020-11-23 23:48:58 +0100 | alp | (~alp@88.126.45.36) (Ping timeout: 260 seconds) |
2020-11-23 23:49:22 +0100 | <superstar64> | welp, i guess i'll rewrite my beta reduction then |
2020-11-23 23:50:00 +0100 | hackage | numhask-array 0.8.0 - Multi-dimensional array interface for numhask. https://hackage.haskell.org/package/numhask-array-0.8.0 (tonyday567) |
2020-11-23 23:50:25 +0100 | <maerwald> | on nice, lol https://ppig.org/files/2015-PPIG-26th-Sarkar1.pdf |
2020-11-23 23:50:31 +0100 | <int-e> | superstar64: I probably wouldn't do that. I would rename the 'Fix' though... as suggested it does feel more like an extension point for the data type to me. |
2020-11-23 23:50:31 +0100 | <maerwald> | so syntax highlighting does help |
2020-11-23 23:50:47 +0100 | <int-e> | superstar64: It's okay to have specific ad-hoc types. |
2020-11-23 23:51:09 +0100 | chele | (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2020-11-23 23:51:36 +0100 | Kaeipi | (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) |
2020-11-23 23:51:38 +0100 | <int-e> | superstar64: I guess what I'm really getting at is that the relation to Data.Fix.Fix feels superficial. |
2020-11-23 23:51:48 +0100 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
2020-11-23 23:52:16 +0100 | conal | (~conal@64.71.133.70) |
2020-11-23 23:53:56 +0100 | <superstar64> | my code might be cleaner if i use recursion schemes anyway |
2020-11-23 23:54:14 +0100 | chaosmasttter | (~chaosmast@p200300c4a72cf80165f6d709b523305b.dip0.t-ipconnect.de) (Quit: WeeChat 2.9) |
2020-11-23 23:54:43 +0100 | <int-e> | superstar64: your choice, obviously... and you should know best what the tradeoffs are |
2020-11-23 23:55:22 +0100 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
2020-11-23 23:55:38 +0100 | <superstar64> | it's 40 lines that i start writing a few hours ago |
2020-11-23 23:55:43 +0100 | <superstar64> | it's not a big deal |
2020-11-23 23:55:49 +0100 | phaul | (~phaul@ruby/staff/phaul) (Remote host closed the connection) |
2020-11-23 23:56:27 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-11-23 23:58:03 +0100 | sleblanc | (~sleblanc@unaffiliated/sebleblanc) (Quit: Leaving) |
2020-11-23 23:58:50 +0100 | falafel_ | (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) (Ping timeout: 264 seconds) |
2020-11-23 23:59:29 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |