2021-12-11 00:00:26 +0100 | <maerwald[m]> | Unless you use C libraries or unsafe code |
2021-12-11 00:01:14 +0100 | <sshine> | do Haskell programs crash safely if you use C libraries or unsafe code? :) |
2021-12-11 00:01:33 +0100 | <earendel> | maewald: everyone does. you don't? |
2021-12-11 00:01:33 +0100 | jkaye | (~jkaye@2601:281:8300:7530:bc2d:ca62:1f76:4faa) (Ping timeout: 252 seconds) |
2021-12-11 00:01:48 +0100 | <sshine> | I log in as root. |
2021-12-11 00:02:12 +0100 | <monochrom> | Does Coq crash if you use C libraries... |
2021-12-11 00:02:16 +0100 | <maerwald[m]> | Haskell may not even crash if you have memory unsoundness |
2021-12-11 00:02:29 +0100 | <sshine> | monochrom, not if it fails to compile, which it always does. -_- |
2021-12-11 00:02:37 +0100 | <monochrom> | heh |
2021-12-11 00:03:38 +0100 | <earendel> | rust could at best spare like 2/3 of the usual vulnerability .. ppl say. which is a lot of course. |
2021-12-11 00:04:26 +0100 | slice | (~slice@user/slice) |
2021-12-11 00:04:54 +0100 | <sshine> | also, throw more type errors to scare careless programmers away. :-D |
2021-12-11 00:05:29 +0100 | Minnozz | (~minnozz@salix.minnozz.com) |
2021-12-11 00:05:40 +0100 | <maerwald[m]> | Yeah, GHC shames bad programmers into giving up their career |
2021-12-11 00:05:52 +0100 | <earendel> | those ppl should continue writing fibonacci recursions, not security relevant code. |
2021-12-11 00:06:12 +0100 | sshine | realises he's not far from writing fibonacci recursions this evening. |
2021-12-11 00:06:19 +0100 | <monochrom> | The benefit of Rust I appreciate the most is bringing properly done sum types to the C, C++, Go communities. |
2021-12-11 00:06:20 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng32-54fbfb-173.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-12-11 00:06:30 +0100 | <perro> | si\ |
2021-12-11 00:06:33 +0100 | <sshine> | monochrom, and type inference? |
2021-12-11 00:06:57 +0100 | <maerwald[m]> | Go devs are still debating benefits of proper sum types |
2021-12-11 00:07:03 +0100 | <maerwald[m]> | It's funny |
2021-12-11 00:07:05 +0100 | <monochrom> | That's the 2nd or 3rd on my tier list. |
2021-12-11 00:07:28 +0100 | <monochrom> | But my tier list is based on what I care, not necessarily what the world really needs. |
2021-12-11 00:07:32 +0100 | <maerwald[m]> | It's like they're still in the 90s |
2021-12-11 00:07:38 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-11 00:07:53 +0100 | <monochrom> | My tier list may be like: 1. sum types; 2. the borrow system; 3. type inference |
2021-12-11 00:08:02 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:3700:12c3:7bff:fe6d:d374) (Ping timeout: 240 seconds) |
2021-12-11 00:08:53 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 252 seconds) |
2021-12-11 00:08:58 +0100 | <monochrom> | Sum types prevent even more bugs than the borrow system, IMO. |
2021-12-11 00:09:16 +0100 | <maerwald[m]> | monochrom: I also care more about sum types than I do about functional or lazy |
2021-12-11 00:09:29 +0100 | <maerwald[m]> | The best features are the simple ones you can steal |
2021-12-11 00:09:30 +0100 | <earendel> | that borrow system isn't something anybody waited for i guess. it definitely is more work for the dev. |
2021-12-11 00:09:32 +0100 | <monochrom> | "I forgot to check whether lookup() returns null" Solved by sum types. |
2021-12-11 00:10:10 +0100 | <maerwald[m]> | earendel: the alternative is a proof assistant for memory soundness |
2021-12-11 00:10:18 +0100 | <maerwald[m]> | Even more complicated |
2021-12-11 00:10:46 +0100 | <earendel> | i see. |
2021-12-11 00:10:52 +0100 | <maerwald[m]> | The borrow system has very simple rules |
2021-12-11 00:11:01 +0100 | <maerwald[m]> | They sometimes make little sense |
2021-12-11 00:11:01 +0100 | <earendel> | sounds good. |
2021-12-11 00:11:06 +0100 | <maerwald[m]> | But that's irrelevant |
2021-12-11 00:11:19 +0100 | <monochrom> | "the packet I received is one of 3 cases and I messed up which case is which" Solved by sum types. |
2021-12-11 00:11:53 +0100 | <maerwald[m]> | The borrow checker in fact rejects a lot of sound programs |
2021-12-11 00:11:58 +0100 | jeetelongname | (~jeet@eduroam-public-20.nat.port.ac.uk) |
2021-12-11 00:12:09 +0100 | <maerwald[m]> | The trade off is pragmatic |
2021-12-11 00:12:09 +0100 | <dolio> | That happens with every checker. |
2021-12-11 00:12:40 +0100 | <monochrom> | "my function should be partial but I don't bother to announce it because I don't know what to return" Solved by sum types. |
2021-12-11 00:13:33 +0100 | <maerwald[m]> | Now let's talk about open sum types...still great? |
2021-12-11 00:13:37 +0100 | notzmv | (~zmv@user/notzmv) |
2021-12-11 00:13:44 +0100 | <maerwald[m]> | I can't decide |
2021-12-11 00:14:17 +0100 | <monochrom> | "my function can fail for one of 3 reasons, how do I tell the caller which reason it is?" Solved by sum types. |
2021-12-11 00:14:41 +0100 | <monochrom> | aka "C's errno is a disaster" Solved by sum types. |
2021-12-11 00:14:51 +0100 | <earendel> | nan |
2021-12-11 00:15:02 +0100 | <earendel> | look at your nan. |
2021-12-11 00:15:12 +0100 | <maerwald[m]> | Well... now you have the problem of having 100 sum types across your application. .. |
2021-12-11 00:15:20 +0100 | <maerwald[m]> | Or one that covers everything |
2021-12-11 00:15:26 +0100 | <maerwald[m]> | Both are awful |
2021-12-11 00:15:31 +0100 | <monochrom> | batman = repeat (sqrt (-1)) >:) |
2021-12-11 00:15:55 +0100 | <maerwald[m]> | This is solved by open sum types... |
2021-12-11 00:16:03 +0100 | <geekosaur> | NoN would be solvable if we didnb't need floating point compatibility with everything else |
2021-12-11 00:16:05 +0100 | <maerwald[m]> | But they're very unergonomic |
2021-12-11 00:16:15 +0100 | <earendel> | i thought the sum of integers would best be integer as well. |
2021-12-11 00:16:31 +0100 | <earendel> | same for vectors. |
2021-12-11 00:16:55 +0100 | <earendel> | and x should be forever set as 3. |
2021-12-11 00:17:38 +0100 | <monochrom> | OK, parametric polymorphism should also be on my tier list, I forgot. Not sure where to put it relative to the other 3. All of them are great! |
2021-12-11 00:18:28 +0100 | <monochrom> | Maybe higher than type inference because C's "use void* for generics" gets old really fast. |
2021-12-11 00:18:39 +0100 | beka | (~beka@104-244-24-117.PUBLIC.monkeybrains.net) |
2021-12-11 00:19:32 +0100 | acidjnk_new | (~acidjnk@p200300d0c7271e2134fbc39073c29133.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-12-11 00:19:39 +0100 | <monochrom> | In retrospect, I think I rate "a language construct that enables you to finally say directly what you really mean" higher than "one more safety mechanism". |
2021-12-11 00:19:42 +0100 | <earendel> | ok. static typing is not entirely new, conceptually. |
2021-12-11 00:20:24 +0100 | <monochrom> | because if you say directly what you really mean, that already eliminates a lot of bugs, misunderstandings, forgetfulness. |
2021-12-11 00:20:49 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-12-11 00:22:11 +0100 | <earendel> | if you're coding software which primary goals are maintability and reliability (with a longer lifecycle) you would definitely prefer some typing over rapid dev features or when programming for performance. |
2021-12-11 00:22:58 +0100 | <maerwald[m]> | Maintainability and reliability are kinda conflicting goals |
2021-12-11 00:23:11 +0100 | <earendel> | as john carmack says; there's a power to the dark side. |
2021-12-11 00:23:31 +0100 | maplike | (~maplike@31.209.100.216) (Ping timeout: 256 seconds) |
2021-12-11 00:25:46 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 00:26:10 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-11 00:27:23 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-12-11 00:29:22 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-11 00:30:01 +0100 | neverfindme | (~hayden@72.92.246.5) |
2021-12-11 00:30:09 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
2021-12-11 00:30:52 +0100 | neverfindme | (~hayden@72.92.246.5) (Remote host closed the connection) |
2021-12-11 00:31:37 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2021-12-11 00:40:45 +0100 | zebrag | (~chris@user/zebrag) |
2021-12-11 00:44:22 +0100 | <sm> | oh, replace-megaparsec looks great. Check this out: https://github.com/jamesdbrock/replace-megaparsec#in-the-shell |
2021-12-11 00:44:29 +0100 | ubert | (~Thunderbi@p548c998b.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-12-11 00:44:52 +0100 | <sm> | how do you figure, maerwald ? |
2021-12-11 00:47:01 +0100 | Jing | (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
2021-12-11 00:47:38 +0100 | Jing | (~hedgehog@2604:a840:3::1001) |
2021-12-11 00:48:58 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:2cc0:59c:7081:31f2) (Ping timeout: 260 seconds) |
2021-12-11 00:52:53 +0100 | <sm> | a new haskell shell attempt: https://www.reddit.com/r/haskell/comments/rdinq2/using_haskell_as_my_shell/ |
2021-12-11 00:53:06 +0100 | <EvanR> | wait, static types are the dark side? cool |
2021-12-11 00:55:11 +0100 | namkeleser | (~namkelese@101.179.128.103) (Quit: Client closed) |
2021-12-11 00:55:28 +0100 | namkeleser | (~namkelese@101.179.128.103) |
2021-12-11 00:56:13 +0100 | ChanServ | +o litharge |
2021-12-11 00:56:15 +0100 | litharge | -bo *!*@98.38.249.169 litharge |
2021-12-11 00:58:13 +0100 | Morrow | (~quassel@bzq-110-168-31-106.red.bezeqint.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-12-11 00:58:35 +0100 | jinsun | (~quassel@user/jinsun) (Read error: Connection reset by peer) |
2021-12-11 01:00:19 +0100 | jinsun | (~quassel@user/jinsun) |
2021-12-11 01:04:27 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:2cc0:59c:7081:31f2) |
2021-12-11 01:05:04 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:e582:2d42:b0b2:720b) (Quit: Textual IRC Client: www.textualapp.com) |
2021-12-11 01:09:03 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
2021-12-11 01:09:23 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:2cc0:59c:7081:31f2) (Ping timeout: 252 seconds) |
2021-12-11 01:09:40 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:b4f0:1f02:af2:a840) |
2021-12-11 01:10:37 +0100 | darchitect | (~darchitec@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) (Ping timeout: 240 seconds) |
2021-12-11 01:10:58 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-11 01:13:47 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:b4f0:1f02:af2:a840) (Ping timeout: 252 seconds) |
2021-12-11 01:15:02 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2021-12-11 01:15:36 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-12-11 01:18:17 +0100 | namkeleser | (~namkelese@101.179.128.103) (Quit: Client closed) |
2021-12-11 01:25:15 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) |
2021-12-11 01:25:33 +0100 | namkeleser | (~namkelese@101.179.128.103) |
2021-12-11 01:25:43 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 01:28:29 +0100 | curiousgay_ | (~AdminUser@77-120-141-90.kha.volia.net) |
2021-12-11 01:28:39 +0100 | mimmy | (~mimmy@cpef81d0f857c83-cmf81d0f857c80.cpe.net.cable.rogers.com) |
2021-12-11 01:30:30 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 260 seconds) |
2021-12-11 01:31:14 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-11 01:32:55 +0100 | nvmd | (~nvmd@user/nvmd) (Quit: Later, nerds.) |
2021-12-11 01:34:02 +0100 | namkeleser | (~namkelese@101.179.128.103) (Quit: Client closed) |
2021-12-11 01:35:03 +0100 | mimmy | (~mimmy@cpef81d0f857c83-cmf81d0f857c80.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds) |
2021-12-11 01:37:02 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) (Quit: Leaving) |
2021-12-11 01:37:46 +0100 | curiousgay_ | (~AdminUser@77-120-141-90.kha.volia.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-12-11 01:37:51 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 250 seconds) |
2021-12-11 01:38:07 +0100 | curiousgay | (~AdminUser@77-120-141-90.kha.volia.net) |
2021-12-11 01:44:08 +0100 | Jing | (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
2021-12-11 01:48:05 +0100 | Jing | (~hedgehog@2604:a840:3::1001) |
2021-12-11 01:54:19 +0100 | beka | (~beka@104-244-24-117.PUBLIC.monkeybrains.net) (Ping timeout: 250 seconds) |
2021-12-11 01:54:39 +0100 | nf | (~n@monade.li) (Quit: Fairfarren.) |
2021-12-11 01:54:49 +0100 | nf | (~n@monade.li) |
2021-12-11 01:57:02 +0100 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2021-12-11 01:58:54 +0100 | emf | (~emf@2620:10d:c091:480::1:a9a4) (Read error: Connection reset by peer) |
2021-12-11 01:58:58 +0100 | <bitmapper> | why does `x ~ y => Member x (y : xs)` work where `Member x (x : xs)` doesnt |
2021-12-11 01:59:47 +0100 | namkeleser | (~namkelese@101.179.128.103) |
2021-12-11 02:03:43 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-11 02:04:07 +0100 | emf | (~emf@cpe-174-109-36-85.nc.res.rr.com) |
2021-12-11 02:05:09 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
2021-12-11 02:07:17 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:2027:d60b:7498:6b04) |
2021-12-11 02:07:41 +0100 | emf | (~emf@cpe-174-109-36-85.nc.res.rr.com) (Client Quit) |
2021-12-11 02:08:03 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-12-11 02:08:35 +0100 | emf | (~emf@cpe-174-109-36-85.nc.res.rr.com) |
2021-12-11 02:08:55 +0100 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) (Ping timeout: 268 seconds) |
2021-12-11 02:09:44 +0100 | emf | (~emf@cpe-174-109-36-85.nc.res.rr.com) (Client Quit) |
2021-12-11 02:10:31 +0100 | emf | (~emf@cpe-174-109-36-85.nc.res.rr.com) |
2021-12-11 02:12:05 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:2027:d60b:7498:6b04) (Ping timeout: 252 seconds) |
2021-12-11 02:13:07 +0100 | <EvanR> | I think in an instance head you can't repeat variables |
2021-12-11 02:13:07 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-11 02:18:19 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) (Ping timeout: 252 seconds) |
2021-12-11 02:21:12 +0100 | Morrow | (~quassel@bzq-110-168-31-106.red.bezeqint.net) |
2021-12-11 02:21:14 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 268 seconds) |
2021-12-11 02:23:20 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-12-11 02:26:07 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-11 02:26:07 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-11 02:26:07 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-11 02:30:48 +0100 | <glguy> | bitmapper: They behave differently; you can do both , each with the right extensions enabled |
2021-12-11 02:31:09 +0100 | InternetCitizen | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 252 seconds) |
2021-12-11 02:31:20 +0100 | <glguy> | The first one ways if (y : xs) matches, then we know x must equal y |
2021-12-11 02:31:41 +0100 | <glguy> | but the second instance won't be used unless GHC already knows that the first x equals the second x |
2021-12-11 02:32:34 +0100 | <bitmapper> | so how do i do the second? |
2021-12-11 02:35:38 +0100 | curiousgay | (~AdminUser@77-120-141-90.kha.volia.net) (Ping timeout: 256 seconds) |
2021-12-11 02:36:09 +0100 | xff0x | (~xff0x@2001:1a81:537e:3f00:56c7:e8a2:3a14:4d05) (Ping timeout: 250 seconds) |
2021-12-11 02:36:51 +0100 | xff0x | (~xff0x@2001:1a81:537e:3f00:f824:6e83:7767:59ad) |
2021-12-11 02:39:48 +0100 | wroathe | (~wroathe@user/wroathe) (Quit: Lost terminal) |
2021-12-11 02:42:20 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-11 02:42:20 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-11 02:42:20 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-11 02:51:54 +0100 | beka | (~beka@104-244-24-117.PUBLIC.monkeybrains.net) |
2021-12-11 02:53:44 +0100 | <EvanR> | did I imagine this or was there a multiuser programming environment for haskell that produced graphics |
2021-12-11 02:54:39 +0100 | <sm> | multiuser.. like code.world ? |
2021-12-11 02:54:42 +0100 | <sm> | or a VR thing ? |
2021-12-11 02:56:08 +0100 | <EvanR> | code.world |
2021-12-11 02:57:22 +0100 | <EvanR> | wow that was real |
2021-12-11 03:00:11 +0100 | <EvanR> | I smell AoC visualizations coming up |
2021-12-11 03:05:38 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
2021-12-11 03:07:40 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:6cde:a18f:2d26:aae0) |
2021-12-11 03:08:30 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
2021-12-11 03:08:43 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) (Ping timeout: 268 seconds) |
2021-12-11 03:09:17 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-12-11 03:10:01 +0100 | xff0x | (~xff0x@2001:1a81:537e:3f00:f824:6e83:7767:59ad) (Ping timeout: 252 seconds) |
2021-12-11 03:12:01 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2021-12-11 03:12:03 +0100 | xff0x | (~xff0x@2001:1a81:53c2:9a00:db12:87f1:cb29:dabf) |
2021-12-11 03:12:42 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:6cde:a18f:2d26:aae0) (Ping timeout: 260 seconds) |
2021-12-11 03:15:55 +0100 | <jeetelongname> | Oh yeah I have been meaning to do one of those |
2021-12-11 03:16:07 +0100 | <jeetelongname> | (tho in racket so take that as you will) |
2021-12-11 03:16:37 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-11 03:19:38 +0100 | <sm> | code.world/haskell is the real haskell variant |
2021-12-11 03:21:32 +0100 | Techcable | (~Techcable@168.235.93.147) (Ping timeout: 256 seconds) |
2021-12-11 03:27:55 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
2021-12-11 03:41:18 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 03:41:54 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:6cde:a18f:2d26:aae0) |
2021-12-11 03:43:15 +0100 | namkeleser | (~namkelese@101.179.128.103) (Quit: Client closed) |
2021-12-11 03:45:35 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
2021-12-11 03:46:07 +0100 | mmhat | (~mmh@55d44db9.access.ecotel.net) (Ping timeout: 250 seconds) |
2021-12-11 03:46:29 +0100 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2021-12-11 03:47:44 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-11 03:47:55 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2021-12-11 03:49:31 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) |
2021-12-11 03:59:41 +0100 | mmhat | (~mmh@55d45c6c.access.ecotel.net) |
2021-12-11 04:01:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-11 04:04:50 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:6cde:a18f:2d26:aae0) (Ping timeout: 268 seconds) |
2021-12-11 04:07:41 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3) |
2021-12-11 04:09:23 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 04:14:05 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds) |
2021-12-11 04:14:11 +0100 | zardoz | (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Session timeout)) |
2021-12-11 04:16:26 +0100 | wroathe | (~wroathe@user/wroathe) (Read error: Connection reset by peer) |
2021-12-11 04:18:25 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-11 04:18:25 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-11 04:18:25 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-11 04:25:39 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-12-11 04:27:02 +0100 | teo | (~teo@user/teo) (Ping timeout: 268 seconds) |
2021-12-11 04:29:01 +0100 | td_ | (~td@94.134.91.156) (Ping timeout: 250 seconds) |
2021-12-11 04:30:45 +0100 | td_ | (~td@94.134.91.156) |
2021-12-11 04:33:16 +0100 | <dsal> | Does anyone know if it's possibly in tasty to have some tests disabled by default? |
2021-12-11 04:33:26 +0100 | <dsal> | i.e., I want a commandline to add more expensive tests. |
2021-12-11 04:36:20 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-11 04:41:58 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-12-11 04:46:23 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-12-11 04:50:37 +0100 | Akiva | (~Akiva@user/Akiva) |
2021-12-11 04:56:13 +0100 | jespada | (~jespada@87.74.33.157) (Ping timeout: 240 seconds) |
2021-12-11 04:58:22 +0100 | jespada | (~jespada@87.74.33.157) |
2021-12-11 05:00:02 +0100 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2021-12-11 05:03:18 +0100 | Akiva | (~Akiva@user/Akiva) (Ping timeout: 260 seconds) |
2021-12-11 05:04:06 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
2021-12-11 05:05:44 +0100 | beka | (~beka@104-244-24-117.PUBLIC.monkeybrains.net) (Quit: Leaving) |
2021-12-11 05:12:25 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 05:15:49 +0100 | jeetelongname | (~jeet@eduroam-public-20.nat.port.ac.uk) (Ping timeout: 250 seconds) |
2021-12-11 05:17:08 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
2021-12-11 05:21:45 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-11 05:24:36 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2021-12-11 05:28:30 +0100 | <dsal> | I was trying to figure out how to resume on error with megaparsec, but it's not exactly happy with my attempts. Still learned more stuff. |
2021-12-11 05:29:15 +0100 | slice | (~slice@user/slice) (Quit: zzz) |
2021-12-11 05:30:57 +0100 | Techcable | (~Techcable@168.235.93.147) |
2021-12-11 05:31:06 +0100 | Akiva | (~Akiva@user/Akiva) |
2021-12-11 05:34:16 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving) |
2021-12-11 05:34:52 +0100 | <earendel> | anyone programmed something using haskell? |
2021-12-11 05:35:21 +0100 | <dsal> | Libraries are almost ready and then people can get started! |
2021-12-11 05:36:54 +0100 | namkeleser | (~namkelese@101.179.128.103) |
2021-12-11 05:39:14 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 06:04:07 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-11 06:04:10 +0100 | deadmarshal | (~deadmarsh@95.38.116.82) (Ping timeout: 256 seconds) |
2021-12-11 06:07:02 +0100 | deadmarshal | (~deadmarsh@95.38.118.223) |
2021-12-11 06:09:02 +0100 | emf | (~emf@cpe-174-109-36-85.nc.res.rr.com) (Quit: emf) |
2021-12-11 06:15:01 +0100 | img | (~img@user/img) |
2021-12-11 06:16:50 +0100 | <DigitalKiwi> | i made a few things with those libraries |
2021-12-11 06:19:53 +0100 | xff0x | (~xff0x@2001:1a81:53c2:9a00:db12:87f1:cb29:dabf) (Ping timeout: 268 seconds) |
2021-12-11 06:20:15 +0100 | xff0x | (~xff0x@2001:1a81:53c2:9a00:4695:71bd:bd0a:6785) |
2021-12-11 06:22:14 +0100 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2021-12-11 06:27:39 +0100 | kimjetwav | (~user@2607:fea8:2363:8f00:b66e:c3b4:4ab3:f161) (Ping timeout: 252 seconds) |
2021-12-11 06:31:23 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-11 06:31:38 +0100 | gawen | (~gawen@user/gawen) (Quit: cya) |
2021-12-11 06:32:34 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-11 06:32:59 +0100 | gawen | (~gawen@user/gawen) |
2021-12-11 06:35:19 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:2835:2428:a8d4:1d95) (Ping timeout: 268 seconds) |
2021-12-11 06:35:56 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-12-11 06:37:50 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-12-11 06:43:13 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
2021-12-11 06:48:07 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
2021-12-11 06:51:29 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) |
2021-12-11 06:51:51 +0100 | mmhat | (~mmh@55d45c6c.access.ecotel.net) (Quit: WeeChat 3.3) |
2021-12-11 06:52:26 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-12-11 06:57:13 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 250 seconds) |
2021-12-11 06:58:00 +0100 | mbuf | (~Shakthi@122.178.201.137) |
2021-12-11 06:59:17 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2021-12-11 06:59:22 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 268 seconds) |
2021-12-11 07:00:14 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
2021-12-11 07:01:49 +0100 | <int-e> | > unwords $ map (\x -> printf "%.2f" (191 - x/22)) [4130,4121,4081,4080,4040,3975,3960,3949,3946,3917] -- new entrant at rank 3; sorry, xerox! |
2021-12-11 07:01:51 +0100 | <lambdabot> | "3.27 3.68 5.50 5.55 7.36 10.32 11.00 11.50 11.64 12.95" |
2021-12-11 07:05:34 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 260 seconds) |
2021-12-11 07:06:31 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-11 07:11:31 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 250 seconds) |
2021-12-11 07:15:18 +0100 | dsrt^ | (~dsrt@wsip-98-188-240-142.mc.at.cox.net) (Remote host closed the connection) |
2021-12-11 07:15:42 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) |
2021-12-11 07:17:24 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
2021-12-11 07:22:10 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 268 seconds) |
2021-12-11 07:27:34 +0100 | slice | (~slice@user/slice) |
2021-12-11 07:31:27 +0100 | nfd | (~nfd@user/nfd) (Ping timeout: 252 seconds) |
2021-12-11 07:32:42 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
2021-12-11 07:32:58 +0100 | nfd | (~nfd@user/nfd) |
2021-12-11 07:33:22 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
2021-12-11 07:36:22 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 260 seconds) |
2021-12-11 07:37:41 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 252 seconds) |
2021-12-11 07:54:22 +0100 | slice | (~slice@user/slice) (Quit: zzz) |
2021-12-11 07:58:04 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-12-11 07:59:08 +0100 | nrl^ | (~nrl@wsip-98-188-240-142.mc.at.cox.net) |
2021-12-11 08:04:24 +0100 | <xerox> | int-e: bad day Day11: <<loop>> |
2021-12-11 08:06:37 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
2021-12-11 08:11:45 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 250 seconds) |
2021-12-11 08:14:35 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 268 seconds) |
2021-12-11 08:15:04 +0100 | nfd | (~nfd@user/nfd) (Ping timeout: 256 seconds) |
2021-12-11 08:16:02 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
2021-12-11 08:16:14 +0100 | <int-e> | Hmm, I didn't <<loop>> |
2021-12-11 08:16:28 +0100 | nfd | (~nfd@user/nfd) |
2021-12-11 08:16:30 +0100 | nrl^ | (~nrl@wsip-98-188-240-142.mc.at.cox.net) (Remote host closed the connection) |
2021-12-11 08:17:10 +0100 | <xerox> | I've convinced myself my implementation was wrong multiple times, one of those iterate frustrating moments |
2021-12-11 08:17:16 +0100 | <xerox> | 🤷♂️ |
2021-12-11 08:17:28 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2021-12-11 08:22:03 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-11 08:23:51 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2021-12-11 08:24:36 +0100 | img | (~img@user/img) |
2021-12-11 08:24:51 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
2021-12-11 08:25:35 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2021-12-11 08:26:26 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2021-12-11 08:27:01 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2021-12-11 08:29:19 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 250 seconds) |
2021-12-11 08:30:51 +0100 | iqubic | (~user@c-67-171-37-233.hsd1.wa.comcast.net) (Ping timeout: 252 seconds) |
2021-12-11 08:37:32 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2021-12-11 08:37:33 +0100 | iqubic | (~user@2601:602:9502:c70:9c0:18f3:c190:ff75) |
2021-12-11 08:38:01 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2021-12-11 08:38:09 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2021-12-11 08:38:25 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-11 08:39:38 +0100 | <int-e> | xerox: I did find the problem unpleasant though, I can't quite put my finger on why. On the plus side I got to use `unfoldr`. |
2021-12-11 08:39:46 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 08:40:17 +0100 | <xerox> | my first impl was an unfoldr too |
2021-12-11 08:40:50 +0100 | <int-e> | (if you have step :: State -> (Int, State) then that matches unfoldr quite nicely) |
2021-12-11 08:41:39 +0100 | xff0x | (~xff0x@2001:1a81:53c2:9a00:4695:71bd:bd0a:6785) (Ping timeout: 250 seconds) |
2021-12-11 08:42:26 +0100 | xff0x | (~xff0x@2001:1a81:53c2:9a00:19a5:15f2:3ceb:bc1f) |
2021-12-11 08:43:58 +0100 | Codaraxis | (~Codaraxis@user/codaraxis) (Quit: Leaving) |
2021-12-11 08:44:22 +0100 | nek0 | (~nek0@nek0.eu) (Quit: The Lounge - https://thelounge.chat) |
2021-12-11 08:44:32 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
2021-12-11 08:44:41 +0100 | <xerox> | yeah, I'll scrap iterate, not as nice |
2021-12-11 08:45:00 +0100 | <opqdonut> | oh wow yeah unfoldr is perfect for this |
2021-12-11 08:46:10 +0100 | <opqdonut> | my solution: https://github.com/opqdonut/adventofcode21/blob/master/Day11.hs |
2021-12-11 08:47:11 +0100 | <xerox> | it does introduce the potential of an off-by-one with findIndex for part 2 |
2021-12-11 08:47:49 +0100 | <opqdonut> | yeah well I had tail . iterate previously, so unfoldr was perfect in that sense too |
2021-12-11 08:50:04 +0100 | <xerox> | what I ended up with https://github.com/mrtnpaolo/advent-of-code-2021/blob/master/execs/Day11.hs |
2021-12-11 08:52:27 +0100 | acidjnk_new | (~acidjnk@p200300d0c7271e2134fbc39073c29133.dip0.t-ipconnect.de) |
2021-12-11 08:52:53 +0100 | <opqdonut> | xerox: you could just do `S.size seen` on line 27 and skip tracking the number of flashes separately, right? |
2021-12-11 08:53:05 +0100 | <opqdonut> | your code is definitely neater than mine |
2021-12-11 08:53:42 +0100 | nek0 | (~nek0@nek0.eu) |
2021-12-11 08:54:46 +0100 | Akiva | (~Akiva@user/Akiva) (Ping timeout: 260 seconds) |
2021-12-11 08:54:51 +0100 | <opqdonut> | also, if you use M.adjust you won't need the M.member check on line 36 |
2021-12-11 08:55:44 +0100 | <xerox> | opqdonut: good point! I was tracking all the details because I was convinced I had it wrong |
2021-12-11 08:56:11 +0100 | <opqdonut> | yeah, the minimal functional solution is rarely the most debuggable :P |
2021-12-11 08:56:25 +0100 | max22- | (~maxime@2a01cb0883359800efee173175359a41.ipv6.abo.wanadoo.fr) |
2021-12-11 08:56:28 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f80d:43f5:ddf4:fb26) (Remote host closed the connection) |
2021-12-11 08:56:47 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
2021-12-11 08:58:02 +0100 | <xerox> | opqdonut: adjust is beatiful, appreciate it, alter came to mind but that is more explicit even |
2021-12-11 08:59:02 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2021-12-11 09:00:34 +0100 | fr33domlover | (~fr33@2.55.40.147) |
2021-12-11 09:00:47 +0100 | dsrt^ | (~dsrt@wsip-98-188-240-142.mc.at.cox.net) |
2021-12-11 09:01:39 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 252 seconds) |
2021-12-11 09:03:12 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-11 09:07:52 +0100 | <int-e> | xerox: Yes, I had an off-by-one in part 2 which I half expected and caught using the example. |
2021-12-11 09:08:19 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2021-12-11 09:09:23 +0100 | darchitect | (~darchitec@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) |
2021-12-11 09:10:58 +0100 | <int-e> | https://paste.debian.net/1223009/ ...not pretty |
2021-12-11 09:11:31 +0100 | <xerox> | interact is a cool idea |
2021-12-11 09:12:16 +0100 | <int-e> | interact is part of my template (so are the imports, which is why there are superfluous ones)) |
2021-12-11 09:12:55 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-12-11 09:13:38 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
2021-12-11 09:15:21 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-12-11 09:15:48 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-12-11 09:16:20 +0100 | <int-e> | https://paste.debian.net/1223010/ looks a bit cleaner, maybe |
2021-12-11 09:16:50 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-11 09:18:09 +0100 | <xerox> | I quite like the do |
2021-12-11 09:18:44 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 268 seconds) |
2021-12-11 09:18:45 +0100 | <xerox> | I think a couple helpers would make it very concise |
2021-12-11 09:21:31 +0100 | FragByte | (~christian@user/fragbyte) (Quit: Quit) |
2021-12-11 09:23:20 +0100 | FragByte | (~christian@user/fragbyte) |
2021-12-11 09:26:35 +0100 | xff0x | (~xff0x@2001:1a81:53c2:9a00:19a5:15f2:3ceb:bc1f) (Ping timeout: 252 seconds) |
2021-12-11 09:27:39 +0100 | xff0x | (~xff0x@2001:1a81:53c2:9a00:cbda:12ba:4c62:7635) |
2021-12-11 09:29:12 +0100 | <int-e> | xerox: helpers might make things more readable... but at least in my case, trying to be fast leads to monolithic code |
2021-12-11 09:30:13 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
2021-12-11 09:30:49 +0100 | <int-e> | oh did anybody else implement the wrong neighbourhood (von Neumann instead of Moore) at first? |
2021-12-11 09:34:08 +0100 | jinsun__ | (~quassel@user/jinsun) |
2021-12-11 09:34:31 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 250 seconds) |
2021-12-11 09:34:54 +0100 | jinsun | (~quassel@user/jinsun) (Ping timeout: 260 seconds) |
2021-12-11 09:36:34 +0100 | <xerox> | I felt so fortunate to read "including octopuses that are diagonally adjacent" right in the moment |
2021-12-11 09:41:53 +0100 | acidjnk_new | (~acidjnk@p200300d0c7271e2134fbc39073c29133.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2021-12-11 09:46:40 +0100 | notzmv | (~zmv@user/notzmv) |
2021-12-11 09:52:26 +0100 | iqubic | (~user@2601:602:9502:c70:9c0:18f3:c190:ff75) (ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)) |
2021-12-11 09:53:33 +0100 | namkeleser | (~namkelese@101.179.128.103) (Quit: Client closed) |
2021-12-11 09:55:14 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-11 09:56:45 +0100 | boxscape_ | (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de) |
2021-12-11 09:56:57 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-12-11 09:58:21 +0100 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
2021-12-11 09:58:33 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-12-11 10:00:59 +0100 | slice | (~slice@user/slice) |
2021-12-11 10:01:02 +0100 | thevishy | (~Nishant@2405:201:f005:c007:acb3:d7a7:c300:b2a1) |
2021-12-11 10:01:25 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2021-12-11 10:18:18 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-12-11 10:19:01 +0100 | xff0x | (~xff0x@2001:1a81:53c2:9a00:cbda:12ba:4c62:7635) (Ping timeout: 252 seconds) |
2021-12-11 10:19:51 +0100 | xff0x | (~xff0x@2001:1a81:53c2:9a00:4812:eab:46f1:9dc7) |
2021-12-11 10:22:28 +0100 | curiousgay | (~quassel@77-120-141-90.kha.volia.net) |
2021-12-11 10:23:03 +0100 | ishutin | (~ishutin@178-164-208-88.pool.digikabel.hu) (Ping timeout: 256 seconds) |
2021-12-11 10:23:41 +0100 | jinsun__ | jinsun |
2021-12-11 10:24:53 +0100 | ishutin | (~ishutin@85-238-77-101.pool.digikabel.hu) |
2021-12-11 10:25:18 +0100 | k60``` | (~user@static.100.218.46.78.clients.your-server.de) (Ping timeout: 260 seconds) |
2021-12-11 10:29:43 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-12-11 10:30:45 +0100 | fr33domlover | (~fr33@2.55.40.147) (Ping timeout: 252 seconds) |
2021-12-11 10:32:59 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-11 10:33:17 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-12-11 10:36:43 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
2021-12-11 10:37:02 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-12-11 10:37:04 +0100 | namkeleser | (~namkelese@101.179.128.103) |
2021-12-11 10:37:18 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-12-11 10:39:34 +0100 | nfd | (~nfd@user/nfd) (Ping timeout: 256 seconds) |
2021-12-11 10:39:42 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-12-11 10:53:17 +0100 | InternetCitizen | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2021-12-11 10:55:00 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 10:55:26 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-11 10:58:36 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2021-12-11 10:58:48 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2021-12-11 10:59:18 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2021-12-11 10:59:21 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
2021-12-11 11:08:41 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-11 11:10:03 +0100 | img | (~img@user/img) |
2021-12-11 11:10:39 +0100 | smartin | (~Thunderbi@88.135.18.171) |
2021-12-11 11:11:54 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-12-11 11:12:41 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds) |
2021-12-11 11:13:17 +0100 | jespada | (~jespada@87.74.33.157) (Ping timeout: 252 seconds) |
2021-12-11 11:14:43 +0100 | Lord_of_Life_ | Lord_of_Life |
2021-12-11 11:15:39 +0100 | jespada | (~jespada@87.74.33.157) |
2021-12-11 11:16:17 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-11 11:16:57 +0100 | curiousgay | (~quassel@77-120-141-90.kha.volia.net) (Ping timeout: 252 seconds) |
2021-12-11 11:17:44 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 268 seconds) |
2021-12-11 11:28:34 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng32-54fbfb-173.dhcp.inet.fi) |
2021-12-11 11:30:47 +0100 | narendraj9 | (~user@2a02:8109:b63f:ff7c::d8fb) |
2021-12-11 11:33:16 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-11 11:34:39 +0100 | img | (~img@user/img) |
2021-12-11 11:40:24 +0100 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) |
2021-12-11 11:49:16 +0100 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) (Remote host closed the connection) |
2021-12-11 11:55:55 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-11 11:57:02 +0100 | xff0x | (~xff0x@2001:1a81:53c2:9a00:4812:eab:46f1:9dc7) (Ping timeout: 240 seconds) |
2021-12-11 11:58:03 +0100 | xff0x | (~xff0x@2001:1a81:53c2:9a00:72ce:9c15:414e:55e3) |
2021-12-11 12:00:48 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2021-12-11 12:00:48 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2021-12-11 12:00:48 +0100 | finn_elija | FinnElija |
2021-12-11 12:01:00 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-12-11 12:06:44 +0100 | Successus | (~Successus@gateway/tor-sasl/successus) |
2021-12-11 12:07:28 +0100 | cosimone | (~user@93-47-231-91.ip115.fastwebnet.it) |
2021-12-11 12:11:11 +0100 | xff0x | (~xff0x@2001:1a81:53c2:9a00:72ce:9c15:414e:55e3) (Ping timeout: 250 seconds) |
2021-12-11 12:12:14 +0100 | xff0x | (~xff0x@port-92-193-224-19.dynamic.as20676.net) |
2021-12-11 12:17:07 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-12-11 12:18:17 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 12:18:18 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
2021-12-11 12:22:42 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
2021-12-11 12:37:43 +0100 | slice | (~slice@user/slice) (Quit: zzz) |
2021-12-11 12:56:01 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 12:58:53 +0100 | narendraj9 | (~user@2a02:8109:b63f:ff7c::d8fb) (Remote host closed the connection) |
2021-12-11 13:00:21 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
2021-12-11 13:01:18 +0100 | narendraj9 | (~user@2a02:8109:b63f:ff7c::62fc) |
2021-12-11 13:03:02 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
2021-12-11 13:03:25 +0100 | timCF | (~timCF@m91-129-100-224.cust.tele2.ee) (Quit: leaving) |
2021-12-11 13:04:29 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:11c1:36c3:fe48:2c6f) |
2021-12-11 13:06:26 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) |
2021-12-11 13:06:35 +0100 | fr33domlover | (~fr33@2.55.42.168) |
2021-12-11 13:07:33 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:3700:12c3:7bff:fe6d:d374) |
2021-12-11 13:09:35 +0100 | <opqdonut> | I'm seeing MulArrowT instead of ArrowT in some TH code after upgrading to GHC 9. The docs say it's just "FUN"... What is it? |
2021-12-11 13:10:27 +0100 | <opqdonut> | what was previously: AppT (AppT ArrowT (ConT GHC.Types.Int)) x |
2021-12-11 13:10:50 +0100 | <opqdonut> | is now: AppT (AppT (AppT MulArrowT (PromotedT GHC.Types.One)) (ConT GHC.Types.Int)) x |
2021-12-11 13:11:07 +0100 | <opqdonut> | arrow with a multiplicity(??) of one? |
2021-12-11 13:12:19 +0100 | <opqdonut> | ah is it a linear function type `a %1 -> b`? |
2021-12-11 13:13:07 +0100 | <opqdonut> | right, so GHC 9 infers linear types for data constructors even if I haven't enabled -XLinearTypes |
2021-12-11 13:13:26 +0100 | <opqdonut> | https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0111-linear-types.rst#linear-… |
2021-12-11 13:14:05 +0100 | <merijn> | opqdonut: Does it? Or are regular arrows just a subset of linear arrows inside GHC? |
2021-12-11 13:14:09 +0100 | <geekosaur> | yes, that looks like a multiplicity |
2021-12-11 13:15:14 +0100 | <geekosaur> | merijn, but as a subset it should have Many instead of One as its multiplicity |
2021-12-11 13:15:23 +0100 | <opqdonut> | merijn: for normal functions I seem to be getting ArrowTs |
2021-12-11 13:15:27 +0100 | <geekosaur> | that being the default in most cases |
2021-12-11 13:15:48 +0100 | tom__ | (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) |
2021-12-11 13:15:57 +0100 | tom_ | (~tom@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection) |
2021-12-11 13:17:16 +0100 | retro_ | (~retro@05412d78.skybroadband.com) |
2021-12-11 13:19:50 +0100 | retroid_ | (~retro@05412d78.skybroadband.com) (Ping timeout: 268 seconds) |
2021-12-11 13:21:45 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 13:29:37 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-12-11 13:31:16 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-12-11 13:31:19 +0100 | shailangsa | (~shailangs@host86-186-127-128.range86-186.btcentralplus.com) () |
2021-12-11 13:32:13 +0100 | son0p | (~ff@2800:484:1d81:b700:d40b:900:b387:320) (Ping timeout: 250 seconds) |
2021-12-11 13:34:06 +0100 | fr33domlover | (~fr33@2.55.42.168) (Ping timeout: 256 seconds) |
2021-12-11 13:34:35 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
2021-12-11 13:35:25 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
2021-12-11 13:35:35 +0100 | <opqdonut> | posted a documentation issue https://gitlab.haskell.org/ghc/ghc/-/issues/20812 |
2021-12-11 13:35:38 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-11 13:35:48 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Ping timeout: 256 seconds) |
2021-12-11 13:35:57 +0100 | _ht_ | (~quassel@37.120.218.158) |
2021-12-11 13:35:57 +0100 | <opqdonut> | I wonder if I should've just done a PR... |
2021-12-11 13:40:01 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Ping timeout: 250 seconds) |
2021-12-11 13:40:38 +0100 | mud | (~mud@user/kadoban) (Quit: quit) |
2021-12-11 13:41:04 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
2021-12-11 13:41:33 +0100 | kuribas | (~user@ptr-25vy0i8mmtix9f62pzs.18120a2.ip6.access.telenet.be) |
2021-12-11 13:46:14 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-11 13:49:50 +0100 | narendraj9 | (~user@2a02:8109:b63f:ff7c::62fc) (Remote host closed the connection) |
2021-12-11 13:50:11 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-12-11 13:52:58 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 260 seconds) |
2021-12-11 13:53:46 +0100 | max22- | (~maxime@2a01cb0883359800efee173175359a41.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds) |
2021-12-11 13:55:45 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 13:57:49 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
2021-12-11 13:58:01 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Read error: Connection reset by peer) |
2021-12-11 13:58:09 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 13:58:25 +0100 | timCF | (~timCF@m91-129-100-224.cust.tele2.ee) |
2021-12-11 14:00:16 +0100 | <timCF> | Hello! Did anybody experienced problems with stock deriving of Eq instance over existentially quantified type (type which do have forall on the right-hand side of definition)? Not sure how to deal with it, GHC gives some strange error |
2021-12-11 14:01:31 +0100 | <timCF> | Error is like `Couldn't match type a1 with a` where "a" is existentially quanitified type parameter. |
2021-12-11 14:02:50 +0100 | <geekosaur> | I think that's guaranteed to happen because it can never retrieve the type of the existential? |
2021-12-11 14:03:13 +0100 | <geekosaur> | unless it's a GADT but that I think also breaks deriving in a different way |
2021-12-11 14:04:12 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-12-11 14:05:12 +0100 | <timCF> | geekosaur: so no deriving for existentially quantified types? |
2021-12-11 14:05:38 +0100 | <kuribas> | yeah, it cannot compare existentially quantified types. |
2021-12-11 14:06:40 +0100 | <geekosaur> | type information doesn't exist at runtime so it can't know what it is comparing |
2021-12-11 14:07:00 +0100 | <kuribas> | You might make a manual instance using a Typeable constraint. |
2021-12-11 14:08:17 +0100 | <kuribas> | But it sounds like the wrong design to me... |
2021-12-11 14:11:17 +0100 | shailangsa | (~shailangs@host86-186-127-128.range86-186.btcentralplus.com) |
2021-12-11 14:12:58 +0100 | <timCF> | kuribas: hmm, but what are the other options? |
2021-12-11 14:13:20 +0100 | <kuribas> | timCF: what are you trying to do? |
2021-12-11 14:13:33 +0100 | <kuribas> | For example, a sum type instead of existential. |
2021-12-11 14:14:54 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-12-11 14:14:57 +0100 | <timCF> | I'm trying to learn singletons :) |
2021-12-11 14:16:49 +0100 | <timCF> | Case is just using `SomeFoo` instead of `Foo (bar :: Bar)` in case where `bar` is known only in runtime |
2021-12-11 14:17:15 +0100 | <timCF> | Coming from IO-like action |
2021-12-11 14:18:09 +0100 | <merijn> | timCF: Can't derive existential types, no, you'll have to handroll the instance |
2021-12-11 14:18:50 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-12-11 14:20:31 +0100 | <kuribas> | timCF: my deepest sympathy :) |
2021-12-11 14:20:43 +0100 | <kuribas> | timCF: why not learn a proper dependently typed language instead? |
2021-12-11 14:24:20 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-12-11 14:24:29 +0100 | <timCF> | kuribas: I'm just trying to evolve gradually) I've started Haskell only after I could say "I know Erlang, nothing to do here anymore". It took something around 5 years to be able to say so. Now I'm kinda invested already in learning Haskell :) |
2021-12-11 14:24:58 +0100 | <kuribas> | timCF: I didn't say you should stop learning haskell :) |
2021-12-11 14:25:09 +0100 | <geekosaur> | you're not really learning haskell any more |
2021-12-11 14:25:13 +0100 | <kuribas> | Just that in that direction lies madness. |
2021-12-11 14:25:23 +0100 | <geekosaur> | you're learning a misguided attempt to pretend to be idris in haskell |
2021-12-11 14:25:24 +0100 | <merijn> | s/not really learning Haskell/really not learning Haskell |
2021-12-11 14:25:48 +0100 | <merijn> | timCF: I'd second the idea of "maybe you should look at Idris instead" :p |
2021-12-11 14:29:42 +0100 | <kuribas> | timCF: note that a lot of DT language build on haskell knowledge, so learning haskell isn't a waste of effort. |
2021-12-11 14:29:50 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
2021-12-11 14:31:53 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) |
2021-12-11 14:31:57 +0100 | <merijn> | More relevantly, Idris is *intentionally* positioned/designed to accommodate people coming from Haskell |
2021-12-11 14:33:22 +0100 | <timCF> | - How and why you started programming in Idiris? - Well one day I tried to refactor my Haskell codebase to work with singletons. - Understandable. |
2021-12-11 14:34:41 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-11 14:36:56 +0100 | hueso | (~root@user/hueso) |
2021-12-11 14:37:41 +0100 | <merijn> | timCF: tbh, if you say that in the idris channel I'm pretty sure *everyone* will understand that immediately :p |
2021-12-11 14:39:16 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-12-11 14:41:11 +0100 | max22- | (~maxime@2a01cb0883359800fed7895ae16757a7.ipv6.abo.wanadoo.fr) |
2021-12-11 14:44:04 +0100 | <kuribas> | most idris activity is in discord, not freenode. |
2021-12-11 14:44:36 +0100 | <kuribas> | or wathever this place is :) |
2021-12-11 14:46:01 +0100 | <kuribas> | My current interest in haskell is more in how to write clean haskell without resorting to too much fancy type level stuff. |
2021-12-11 14:46:05 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-12-11 14:46:26 +0100 | <kuribas> | Like leveraging abstractions and algebraic structures, like Monoid/Applicative/... |
2021-12-11 14:46:33 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Ping timeout: 256 seconds) |
2021-12-11 14:46:35 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 14:51:18 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 260 seconds) |
2021-12-11 14:55:17 +0100 | neurocyte0132889 | (~neurocyte@45.14.190.29) |
2021-12-11 14:55:17 +0100 | neurocyte0132889 | (~neurocyte@45.14.190.29) (Changing host) |
2021-12-11 14:55:17 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-12-11 14:55:44 +0100 | xkuru | (~xkuru@user/xkuru) |
2021-12-11 14:57:58 +0100 | Digit | (~user@user/digit) |
2021-12-11 14:58:41 +0100 | <Digit> | hi. just had this idea.... ~ "if gimp were coded in haskell" |
2021-12-11 15:01:52 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:3170:52ba:4037:d1) |
2021-12-11 15:06:07 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:3170:52ba:4037:d1) (Ping timeout: 252 seconds) |
2021-12-11 15:09:10 +0100 | Successus | (~Successus@gateway/tor-sasl/successus) () |
2021-12-11 15:09:52 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2021-12-11 15:12:42 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 256 seconds) |
2021-12-11 15:14:32 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-12-11 15:14:38 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2021-12-11 15:16:36 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2021-12-11 15:21:53 +0100 | kaction | (~kaction@pool-71-191-91-40.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2021-12-11 15:24:31 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-12-11 15:32:24 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2021-12-11 15:32:35 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2021-12-11 15:32:55 +0100 | namkeleser | (~namkelese@101.179.128.103) (Quit: Client closed) |
2021-12-11 15:35:57 +0100 | <kuribas> | then? |
2021-12-11 15:36:37 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-12-11 15:36:56 +0100 | <geekosaur> | we'd have a gui lib to write it in? |
2021-12-11 15:36:58 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
2021-12-11 15:37:48 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-12-11 15:39:22 +0100 | <geekosaur> | (come to think of it, that probably *is* the point: gtk started out as the toolkit developed for gimp) |
2021-12-11 15:39:31 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Quit: Leaving) |
2021-12-11 15:40:30 +0100 | <geekosaur> | kinda doubt it'd have had as much impact if it had been done in haskell though |
2021-12-11 15:40:54 +0100 | <kuribas> | you can already use gtk from haskell. |
2021-12-11 15:40:58 +0100 | <kuribas> | And there is wxHaskell. |
2021-12-11 15:41:06 +0100 | <geekosaur> | but neither is native |
2021-12-11 15:41:22 +0100 | <kuribas> | don't know what you mean by native... |
2021-12-11 15:41:24 +0100 | <geekosaur> | and, do we still have wxHaskell? last I checked it was badly bitrotted |
2021-12-11 15:41:29 +0100 | <kuribas> | wxHaskell uses native widgets. |
2021-12-11 15:41:37 +0100 | <kuribas> | geekosaur: it did, because nobody uses it. |
2021-12-11 15:42:23 +0100 | <geekosaur> | but more to the point, gtk fits C-think. what would we have gotten if it had been developed in Haskell in the first place? FRP? |
2021-12-11 15:42:34 +0100 | <kuribas> | These days everyone makes their own UI toolkit in JS. |
2021-12-11 15:42:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-11 15:42:54 +0100 | <kuribas> | geekosaur: you can already use FRP with gtk. |
2021-12-11 15:43:00 +0100 | <kuribas> | You just need a bit more plumbing. |
2021-12-11 15:44:07 +0100 | <timCF> | Let's say I do have a normal class `class C a` and a kind `data K = K0 | K1` and a type `newtype T (k :: Maybe K) = T String`. There are both instances `instance C (T ('Just 'K0))` and `instance C (T ('Just 'K1))` presented in a scope, but when I'm trying to apply C method to value of the type `T ('Just k)`, GHC refuses to resolve it. Should I help GHC somehow to perform inference? |
2021-12-11 15:44:23 +0100 | <kuribas> | Maybe I am becoming an old fart, but I liked when UI toolkits came with the OS. |
2021-12-11 15:45:44 +0100 | <timCF> | Error is something like "No instance for (C (T ('Just k))) |
2021-12-11 15:45:48 +0100 | <geekosaur> | please. I shudder to think what linux devs would have come up with |
2021-12-11 15:45:57 +0100 | <kuribas> | gtk? |
2021-12-11 15:46:11 +0100 | <kuribas> | gtk is a standard linux toolkit. |
2021-12-11 15:46:20 +0100 | <geekosaur> | they didn't come up with that, they adopted it |
2021-12-11 15:46:25 +0100 | <kuribas> | by OS I didn't mean the kernel programmers. |
2021-12-11 15:46:36 +0100 | <geekosaur> | as I said, it started out as a custom toolkit for the gimp |
2021-12-11 15:47:10 +0100 | Digit | (~user@user/digit) (Read error: Connection reset by peer) |
2021-12-11 15:47:19 +0100 | <kuribas> | yes |
2021-12-11 15:47:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
2021-12-11 15:47:28 +0100 | <geekosaur> | "my job here is done"? :þ |
2021-12-11 15:47:56 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-12-11 15:47:58 +0100 | <kuribas> | timCF: code? |
2021-12-11 15:48:32 +0100 | <kuribas> | I just mean, so there is a unified look and feel for the OS. |
2021-12-11 15:48:32 +0100 | opqdonut | (opqdonut@pseudo.fixme.fi) (Ping timeout: 240 seconds) |
2021-12-11 15:48:47 +0100 | Digit | (~user@user/digit) |
2021-12-11 15:49:25 +0100 | <geekosaur> | kuribas, so linux has blown it because gtk is not the only toolkit used. qt/kde is also widely used |
2021-12-11 15:49:40 +0100 | <kuribas> | yeah, they did :) |
2021-12-11 15:49:44 +0100 | <geekosaur> | and there are still aps based on awt (god alone knows why) |
2021-12-11 15:50:02 +0100 | <kuribas> | But most distros managed to unify the look and feel. |
2021-12-11 15:50:03 +0100 | <geekosaur> | uh, athena widgets |
2021-12-11 15:50:46 +0100 | <kuribas> | I remember those :) |
2021-12-11 15:50:59 +0100 | <kuribas> | there was also gnustep. |
2021-12-11 15:51:13 +0100 | opqdonut | (opqdonut@pseudo.fixme.fi) |
2021-12-11 15:52:24 +0100 | <geekosaur> | moist distros picked one de and ran with it — but there are still apps available only for oe toolkit or the other. there are ways to try to unify theming but they have limits |
2021-12-11 15:52:50 +0100 | <geekosaur> | *most |
2021-12-11 15:55:32 +0100 | <kuribas> | I wouldn't claim linux is a good example :) |
2021-12-11 15:56:26 +0100 | <kuribas> | I just think haskell UI libraries are poor because nobody takes the effort to maintain them. |
2021-12-11 15:56:41 +0100 | <kuribas> | Not because haskell is inherently bad for UI programming. |
2021-12-11 15:57:02 +0100 | <kuribas> | I tried a bit UI programming with FRP and reactive banana, and I found it did simplify a lot. |
2021-12-11 15:57:22 +0100 | <kuribas> | Better than a global event loop and lots of mutable state. |
2021-12-11 15:58:11 +0100 | Jing | (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
2021-12-11 15:58:46 +0100 | Jing | (~hedgehog@125.106.89.1) |
2021-12-11 16:03:26 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2021-12-11 16:03:53 +0100 | LambdaDuck | (~anka@ksit.fixme.fi) (Ping timeout: 268 seconds) |
2021-12-11 16:05:24 +0100 | _ht_ | (~quassel@37.120.218.158) (Ping timeout: 256 seconds) |
2021-12-11 16:05:34 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-11 16:05:42 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-12-11 16:06:04 +0100 | jeetelongname | (~jeet@148.197.248.20) |
2021-12-11 16:06:22 +0100 | mmhat | (~mmh@55d45c6c.access.ecotel.net) |
2021-12-11 16:08:51 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
2021-12-11 16:10:02 +0100 | LambdaDuck | (~anka@ksit.fixme.fi) |
2021-12-11 16:10:39 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-12-11 16:11:20 +0100 | earendel | (uid498179@user/earendel) (Quit: Connection closed for inactivity) |
2021-12-11 16:13:18 +0100 | tcard | (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Remote host closed the connection) |
2021-12-11 16:13:36 +0100 | tcard | (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) |
2021-12-11 16:15:41 +0100 | __monty__ | (~toonn@user/toonn) |
2021-12-11 16:21:53 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 16:25:05 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-11 16:25:05 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-11 16:25:05 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-11 16:26:22 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
2021-12-11 16:32:06 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-12-11 16:33:45 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-12-11 16:36:41 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-12-11 16:46:18 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-12-11 16:49:09 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds) |
2021-12-11 16:50:57 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 16:54:13 +0100 | <tdammers> | the haskell gui story is kind of a perfect storm |
2021-12-11 16:54:56 +0100 | <tdammers> | one part is that the user base isn't overly dependent on gui's; most haskellers work on a) academic projects, b) web stuff, c) crypto stuff, d) compilers; neither of those need a gui |
2021-12-11 16:55:26 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 260 seconds) |
2021-12-11 16:55:32 +0100 | <tdammers> | another part is that we like sound abstractions and morally correct solutions; but the world hasn't quite figured out what the correct way of doing gui's is |
2021-12-11 16:56:21 +0100 | <tdammers> | frp looks promising, but it's absolutely not there yet, as far as maturity and ergonomics go. OOP is what most of the rest of the world uses, but OOP is a bit of a red flag for a lot of haskellers. so then what? |
2021-12-11 16:57:03 +0100 | <tdammers> | other languages just shrug, and implement a paradigm that is known to be mildly wrong, but you can make it good enough and just carry on about your day |
2021-12-11 16:57:22 +0100 | <perro> | "wrong" |
2021-12-11 16:58:21 +0100 | <tdammers> | "wrong" meaning that the actual semantics of the code don't match the "morally correct" semantics of the intended UI |
2021-12-11 16:58:33 +0100 | <tdammers> | forcing the programmer to "fake it" |
2021-12-11 16:58:38 +0100 | <perro> | reactish stuff gets pretty close |
2021-12-11 16:58:43 +0100 | <perro> | can* |
2021-12-11 16:58:49 +0100 | <tdammers> | yes. sometimes. |
2021-12-11 16:58:57 +0100 | <aplainzetakind> | Is there a way to Proxy higher kinded types? |
2021-12-11 16:59:05 +0100 | <tdammers> | but reactive stuff makes things like creating widgets dynamically awkward |
2021-12-11 16:59:36 +0100 | <tdammers> | or keeping effects local to a single component, without bleeding knowledge of the effect out of the component |
2021-12-11 17:00:11 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
2021-12-11 17:02:27 +0100 | timCF | (~timCF@m91-129-100-224.cust.tele2.ee) (Ping timeout: 268 seconds) |
2021-12-11 17:04:09 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
2021-12-11 17:04:29 +0100 | shriekingnoise | (~shrieking@186.137.144.80) |
2021-12-11 17:05:45 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2021-12-11 17:06:02 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2021-12-11 17:06:19 +0100 | fr33domlover | (~fr33@2.55.25.254) |
2021-12-11 17:09:05 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2021-12-11 17:11:36 +0100 | <EvanR> | for any given concrete UI, you might be able to see some kind of pattern that could be explained post hoc with declarative methods |
2021-12-11 17:12:17 +0100 | <EvanR> | but the concrete UIs vary wildly, I'm skeptical there's a silver bullet |
2021-12-11 17:13:15 +0100 | <EvanR> | toolkits basically encourage you to be able to do anything |
2021-12-11 17:14:02 +0100 | LambdaDuck | (~anka@ksit.fixme.fi) (Ping timeout: 240 seconds) |
2021-12-11 17:14:44 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2021-12-11 17:16:33 +0100 | <EvanR> | and what toolkits work with is some oddball reflection of human interaction forged over the decades, rather than a nice mathematical phenomenon |
2021-12-11 17:17:08 +0100 | <EvanR> | and give you the tools to say screw that, I'm doing something else |
2021-12-11 17:17:47 +0100 | <kuribas> | Isn't what the toolkit provides, and how you do event processing, orthogonal? |
2021-12-11 17:18:02 +0100 | <EvanR> | web is good in that respect, designers we able to evolve a bit |
2021-12-11 17:18:26 +0100 | <kuribas> | Just because most toolkits use an event loop, doesn't mean it's the only way of getting those features? |
2021-12-11 17:18:48 +0100 | <EvanR> | event delegation has a lot of built in strategies that can override |
2021-12-11 17:18:57 +0100 | <EvanR> | that you can override |
2021-12-11 17:19:06 +0100 | ggVGc | (~ggVGc@a.lowtech.earth) (Ping timeout: 268 seconds) |
2021-12-11 17:19:34 +0100 | ggVGc | (~ggVGc@a.lowtech.earth) |
2021-12-11 17:20:02 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 240 seconds) |
2021-12-11 17:21:10 +0100 | LambdaDuck | (~anka@ksit.fixme.fi) |
2021-12-11 17:21:46 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2021-12-11 17:22:06 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2021-12-11 17:23:31 +0100 | <kuribas> | you mean triggering events? |
2021-12-11 17:23:50 +0100 | <kuribas> | I am sure you could model event delegation with FRP. |
2021-12-11 17:24:22 +0100 | jeetelongname | (~jeet@148.197.248.20) (Remote host closed the connection) |
2021-12-11 17:25:44 +0100 | cosimone | (~user@93-47-231-91.ip115.fastwebnet.it) (Remote host closed the connection) |
2021-12-11 17:26:42 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2021-12-11 17:28:07 +0100 | <EvanR> | not sure why we are on the subject of event processing xD |
2021-12-11 17:29:37 +0100 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) |
2021-12-11 17:31:22 +0100 | <EvanR> | is the idea that any UI is just a pile of event processing |
2021-12-11 17:31:57 +0100 | <EvanR> | works for javascript I guess |
2021-12-11 17:36:09 +0100 | x_kuru | (~xkuru@user/xkuru) |
2021-12-11 17:37:45 +0100 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection) |
2021-12-11 17:38:22 +0100 | xkuru | (~xkuru@user/xkuru) (Ping timeout: 260 seconds) |
2021-12-11 17:43:26 +0100 | mikoto-chan | (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
2021-12-11 17:44:12 +0100 | aeka | (~hiruji@user/hiruji) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-11 17:44:15 +0100 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) |
2021-12-11 17:45:10 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-11 17:45:31 +0100 | aeka | (~aeka@2606:6080:1002:9:ffc4:b9c1:20ad:82f9) |
2021-12-11 17:57:26 +0100 | spoofer | (~spoofer@64.185.111.205) (Remote host closed the connection) |
2021-12-11 17:58:48 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
2021-12-11 18:02:00 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
2021-12-11 18:04:27 +0100 | dcoutts | (~duncan@71.78.6.51.dyn.plus.net) |
2021-12-11 18:07:15 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal) |
2021-12-11 18:07:46 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 260 seconds) |
2021-12-11 18:10:14 +0100 | jeetelongname | (~jeet@148.197.248.20) |
2021-12-11 18:11:17 +0100 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection) |
2021-12-11 18:11:58 +0100 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2021-12-11 18:14:30 +0100 | Jing | (~hedgehog@125.106.89.1) (Read error: Connection reset by peer) |
2021-12-11 18:15:10 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2021-12-11 18:15:24 +0100 | Guest75 | (~Guest75@c-73-51-111-196.hsd1.il.comcast.net) |
2021-12-11 18:17:07 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
2021-12-11 18:18:38 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
2021-12-11 18:20:18 +0100 | Jing | (~hedgehog@2604:a840:3::1001) |
2021-12-11 18:20:36 +0100 | cosimone | (~user@93-47-231-91.ip115.fastwebnet.it) |
2021-12-11 18:21:16 +0100 | _xor | (~xor@dsl-50-5-233-169.fuse.net) (Read error: Connection reset by peer) |
2021-12-11 18:21:35 +0100 | earendel | (uid498179@user/earendel) |
2021-12-11 18:29:20 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 256 seconds) |
2021-12-11 18:30:32 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-12-11 18:32:14 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-12-11 18:34:41 +0100 | InternetCitizen | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 250 seconds) |
2021-12-11 18:41:12 +0100 | kuribas | (~user@ptr-25vy0i8mmtix9f62pzs.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-12-11 18:46:12 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:11c1:36c3:fe48:2c6f) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-12-11 18:46:55 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-12-11 18:52:49 +0100 | zaquest | (~notzaques@5.130.79.72) |
2021-12-11 18:55:22 +0100 | Guest75 | (~Guest75@c-73-51-111-196.hsd1.il.comcast.net) (Quit: Client closed) |
2021-12-11 18:55:54 +0100 | mbuf | (~Shakthi@122.178.201.137) (Quit: Leaving) |
2021-12-11 18:56:27 +0100 | johnjay | (~pi@154.6.152.74) (Ping timeout: 256 seconds) |
2021-12-11 18:57:20 +0100 | johnjay | (~pi@154.6.152.74) |
2021-12-11 18:58:13 +0100 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) |
2021-12-11 18:58:58 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2021-12-11 18:59:22 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:11c1:36c3:fe48:2c6f) |
2021-12-11 19:02:46 +0100 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Ping timeout: 256 seconds) |
2021-12-11 19:05:38 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) (Ping timeout: 260 seconds) |
2021-12-11 19:07:26 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2021-12-11 19:11:47 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-11 19:14:33 +0100 | cheater | (~Username@user/cheater) |
2021-12-11 19:14:36 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-11 19:15:24 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2021-12-11 19:18:02 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:11c1:36c3:fe48:2c6f) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-12-11 19:18:17 +0100 | InternetCitizen | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2021-12-11 19:18:27 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-11 19:18:27 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-11 19:18:27 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-11 19:20:19 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:3170:52ba:4037:d1) |
2021-12-11 19:24:34 +0100 | _xor | (~xor@dsl-50-5-233-169.fuse.net) |
2021-12-11 19:25:21 +0100 | vicfred | (~vicfred@user/vicfred) |
2021-12-11 19:25:23 +0100 | sluigi | (~sluigi@18.31.14.245) |
2021-12-11 19:29:41 +0100 | <awpr> | timCF "there is an instance for each constructor of T" is different from "GHC can find the right instance for a call site with universally quantified T" -- in that case the right instance changes per callsite, and GHC cannot pick one without it being passed in as a constraint |
2021-12-11 19:30:47 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:11c1:36c3:fe48:2c6f) |
2021-12-11 19:30:56 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-11 19:31:08 +0100 | <awpr> | it could also be a stuck type family like `Any`, in which case there actually isn't an instance |
2021-12-11 19:34:32 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
2021-12-11 19:34:53 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-12-11 19:35:46 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
2021-12-11 19:36:33 +0100 | econo | (uid147250@user/econo) |
2021-12-11 19:37:54 +0100 | johnjay | (~pi@154.6.152.74) (Ping timeout: 256 seconds) |
2021-12-11 19:38:23 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-12-11 19:38:57 +0100 | neurocyte0132889 | (~neurocyte@45.14.190.29) |
2021-12-11 19:38:57 +0100 | neurocyte0132889 | (~neurocyte@45.14.190.29) (Changing host) |
2021-12-11 19:38:57 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-12-11 19:39:09 +0100 | johnjay | (~pi@154.6.152.74) |
2021-12-11 19:42:01 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-11 19:44:30 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 19:48:10 +0100 | <glguy> | Is there a common name for a function: Ord a => [a] -> Map a Int whose behavior is to count the number of occurences of the elements in a list? Maybe somethin to do with cardinalities, frequencies, etc? |
2021-12-11 19:48:57 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds) |
2021-12-11 19:49:33 +0100 | <geekosaur> | histogram? |
2021-12-11 19:50:48 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2021-12-11 19:51:21 +0100 | <glguy> | that takes me to "In statistics, a frequency distribution is a list, table (i.e.: frequency table) or graph (i.e.: bar plot or histogram) that displays the frequency of various outcomes in a sample." |
2021-12-11 19:52:00 +0100 | <glguy> | so maybe "frequency distribution" is closer to what I want with histogram being a particular rendering of that thing |
2021-12-11 19:52:42 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-12-11 19:53:53 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 19:56:02 +0100 | <sluigi> | why is the concept of a functor so different in haskell compared to ocaml? |
2021-12-11 19:56:41 +0100 | <dsal> | glguy: multiset seems to exist for that. |
2021-12-11 19:57:43 +0100 | <glguy> | dsal: oh yeah, instead of figuring out the verb for the action of constructing a frequency table, I could focus on the name of the frequency table representation |
2021-12-11 19:58:50 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds) |
2021-12-11 20:00:10 +0100 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2021-12-11 20:01:18 +0100 | max22- | (~maxime@2a01cb0883359800fed7895ae16757a7.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds) |
2021-12-11 20:02:39 +0100 | <geekosaur> | sluigi, different languages seem to take their definition of "functor" from different places. Haskell uses one from mathematics, specifically category theory (although it cuts the name down, properly it should be "Endofunctor") |
2021-12-11 20:02:47 +0100 | <awpr> | sluigi: they're kind of just unrelated things that happen to use the same name (along the same lines, C++ jargon uses "functor" to mean a callable object). is that a satisfying answer to "why", or are you hoping for a deeper reason about why ML functors are called that? (I don't have a good answer for that) |
2021-12-11 20:03:02 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) |
2021-12-11 20:03:13 +0100 | <geekosaur> | nor do I |
2021-12-11 20:03:20 +0100 | <sluigi> | i guess i just don't understand how the two functors are related |
2021-12-11 20:03:28 +0100 | <sluigi> | and would like to |
2021-12-11 20:03:43 +0100 | <awpr> | my understanding is that they're not related in any meaningful way |
2021-12-11 20:03:54 +0100 | <geekosaur> | I'm not sure they are |
2021-12-11 20:04:23 +0100 | <geekosaur> | there may be some very abstract sense based on ML functors being "higher order modules" in some sense |
2021-12-11 20:04:23 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-11 20:05:31 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) (Remote host closed the connection) |
2021-12-11 20:06:29 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) |
2021-12-11 20:06:35 +0100 | <awpr> | like, to guess at the etymology of the C++ situation, if you take "access" and objectify it, you get "accessor", so if you take "function" and objectify it, you get "functor". in that case, the same word seems to have come about from completely unrelated origins. it could be that the ML situation is similar, or that someone chose the category theory "functor" based on some distant metaphor |
2021-12-11 20:06:42 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-11 20:06:42 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-11 20:06:42 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-11 20:07:07 +0100 | <dsal> | sluigi: lots of languages call things functions that I wouldn't consider a function. |
2021-12-11 20:07:17 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-11 20:08:53 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-12-11 20:09:13 +0100 | <awpr> | or ML functors could be CT functors in some way I don't know of -- functors are extremely diverse depending on the source and target categories, and the Haskell `Functor` is a very narrowly specialized case of them, so there are plenty of "functors" that look totally foreign compared to the `Functor` class |
2021-12-11 20:09:42 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) (Client Quit) |
2021-12-11 20:09:43 +0100 | johnjay | (~pi@154.6.152.74) (Ping timeout: 252 seconds) |
2021-12-11 20:09:58 +0100 | <EvanR> | C++: callable. Haskell: mappable. ML: instancable? |
2021-12-11 20:11:26 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) |
2021-12-11 20:11:32 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2021-12-11 20:11:46 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2021-12-11 20:12:06 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) (Client Quit) |
2021-12-11 20:12:32 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) |
2021-12-11 20:12:53 +0100 | johnjay | (~pi@154.6.152.74) |
2021-12-11 20:13:08 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-11 20:14:11 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) (Client Quit) |
2021-12-11 20:14:34 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) |
2021-12-11 20:17:32 +0100 | <EvanR> | you could ask where category theory got "functor" |
2021-12-11 20:17:34 +0100 | deadmarshal | (~deadmarsh@95.38.118.223) (Ping timeout: 256 seconds) |
2021-12-11 20:18:01 +0100 | <glguy> | Where did category theory get functor? |
2021-12-11 20:22:22 +0100 | yhsiveht | (~Nishant@49.37.177.34) |
2021-12-11 20:24:45 +0100 | thevishy | (~Nishant@2405:201:f005:c007:acb3:d7a7:c300:b2a1) (Ping timeout: 252 seconds) |
2021-12-11 20:27:52 +0100 | dudek | (~dudek@185.150.236.103) |
2021-12-11 20:28:59 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-12-11 20:29:52 +0100 | APic | (apic@apic.name) (Quit: [TLS] Client upgrade) |
2021-12-11 20:30:10 +0100 | APic | (~apic@apic.name) |
2021-12-11 20:30:54 +0100 | cosimone | (~user@93-47-231-91.ip115.fastwebnet.it) (Remote host closed the connection) |
2021-12-11 20:31:26 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 20:31:59 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-11 20:33:06 +0100 | max22- | (~maxime@2a01cb08833598004fea75dc1e636bbe.ipv6.abo.wanadoo.fr) |
2021-12-11 20:35:26 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-11 20:36:00 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-11 20:36:16 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
2021-12-11 20:36:18 +0100 | cosimone | (~user@93-47-231-91.ip115.fastwebnet.it) |
2021-12-11 20:36:19 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-12-11 20:37:30 +0100 | jeetelongname | (~jeet@148.197.248.20) (Quit: off streaming) |
2021-12-11 20:39:01 +0100 | kjak | (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2021-12-11 20:40:09 +0100 | sluigi | (~sluigi@18.31.14.245) (Ping timeout: 256 seconds) |
2021-12-11 20:40:23 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2021-12-11 20:40:49 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-11 20:42:11 +0100 | <hololeap> | newtype Grid x y a = Grid { getGrid :: Sized.Vector y (Sized.Vector x a) } |
2021-12-11 20:42:25 +0100 | <hololeap> | withGrid :: forall a r. SomeGrid a -> (forall x y. (KnownNat x, KnownNat y) => Grid x y a -> r) -> Maybe r |
2021-12-11 20:42:28 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 20:42:36 +0100 | <hololeap> | this is hard |
2021-12-11 20:42:43 +0100 | <glguy> | hololeap: for 2-d arrays I like using Array |
2021-12-11 20:42:57 +0100 | <glguy> | but I guess you're doing something typefancy here |
2021-12-11 20:43:15 +0100 | <hololeap> | yeah, I'm playing around with it |
2021-12-11 20:43:30 +0100 | <awpr> | hmm, why Maybe? can something in there fail? |
2021-12-11 20:43:51 +0100 | fr33domlover | (~fr33@2.55.25.254) (Ping timeout: 268 seconds) |
2021-12-11 20:43:54 +0100 | <hololeap> | awpr: yeah the rows could be of different lengths |
2021-12-11 20:44:25 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-12-11 20:44:31 +0100 | <awpr> | oh, hmm, is SomeGrid not an existential wrapper around Grid then? |
2021-12-11 20:44:38 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-11 20:44:49 +0100 | <hololeap> | type SomeGrid a = Vector (Vector a) |
2021-12-11 20:44:54 +0100 | <hololeap> | (regular vectors there) |
2021-12-11 20:45:02 +0100 | <awpr> | ok that makes perfect sense then |
2021-12-11 20:45:08 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-12-11 20:45:14 +0100 | kjak | (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) |
2021-12-11 20:46:22 +0100 | <hololeap> | I need to branch depending on if (y :: Nat) is 0 or >=1, and I need to do it in a way that the type system can follow |
2021-12-11 20:46:28 +0100 | <awpr> | https://hackage.haskell.org/package/orthotope is another option for shape-indexed multidimensional arrays, btw |
2021-12-11 20:46:54 +0100 | <awpr> | oof, that's a problem that's way harder than it sounds like it should be |
2021-12-11 20:47:32 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds) |
2021-12-11 20:48:06 +0100 | <hololeap> | you could be right. my thinking was that if y is 0, then you just pass that rank-2 function (Grid 0 0 a) |
2021-12-11 20:48:52 +0100 | <hololeap> | but if it has at least one row, then you need to start working with x, and you need to check every subsequent row to make sure they are the correct size |
2021-12-11 20:49:42 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
2021-12-11 20:49:54 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2021-12-11 20:50:03 +0100 | <hololeap> | I'm also trying to build it using: withSized :: forall a r. Vector a -> (forall n. KnownNat n => Sized.Vector n a -> r) -> r |
2021-12-11 20:50:25 +0100 | <hololeap> | (from Data.Vector.Sized) |
2021-12-11 20:51:28 +0100 | <awpr> | hmm, so it'd need to know that it's equal to 0 in order to "cast" it to the desired type and/or use an empty vector; and it'd need to know that it's >= 1 in order to access the 0th element to find the candidate inner vector length |
2021-12-11 20:51:44 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-12-11 20:52:07 +0100 | <hololeap> | right. I suppose I could turn Grid into a GADT with an constructor for y==0 and y>=1 |
2021-12-11 20:52:07 +0100 | <awpr> | actually you're free to pass a 0-length vector regardless of the input length, so that one shouldn't be an issue |
2021-12-11 20:52:27 +0100 | <hololeap> | *two constructors |
2021-12-11 20:53:27 +0100 | <monochrom> | Ah I missed the functor discussion. I would take it one step further "where did math get 'function'?". |
2021-12-11 20:54:56 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-11 20:57:01 +0100 | <EvanR> | \o/ |
2021-12-11 20:57:31 +0100 | phma | (phma@2001:5b0:210f:6be8:16f7:aafd:70ba:5696) (Read error: Connection reset by peer) |
2021-12-11 20:57:53 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds) |
2021-12-11 20:58:29 +0100 | <awpr> | how about something like `let mn = foldMap (First . Just . Vector.length) outerVec in case mn of Nothing -> k Sized.empty; Just n -> k <$> traverse (Sized.toSized n) outerVec`? |
2021-12-11 20:58:36 +0100 | abrantesasf | (~abrantesa@187.36.170.211) |
2021-12-11 20:58:45 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-11 20:59:22 +0100 | <awpr> | (the main point being to use Foldable to Maybe find the inner length and then Traversable to check they're all the same) |
2021-12-11 21:00:01 +0100 | <awpr> | er, it'll need lifting with TypeNats functions + TypeApplications |
2021-12-11 21:03:18 +0100 | phma | (~phma@host-67-44-209-24.hnremote.net) |
2021-12-11 21:05:03 +0100 | juhp | (~juhp@128.106.188.82) (Ping timeout: 250 seconds) |
2021-12-11 21:05:50 +0100 | Guest81 | (~Guest81@2a01cb0589202e00edc070a9acc1d4bb.ipv6.abo.wanadoo.fr) |
2021-12-11 21:06:34 +0100 | <Guest81> | hello. could someone coup explain to me why in haskell when you do 3.1 + 0.1 it returns 3.3000000000000003 ? |
2021-12-11 21:06:43 +0100 | <Guest81> | this is pretty disturbing. |
2021-12-11 21:07:02 +0100 | juhp | (~juhp@128.106.188.82) |
2021-12-11 21:07:59 +0100 | <glguy> | Guest81: this is the nature of IEE floating point numbers |
2021-12-11 21:08:02 +0100 | <monochrom> | It is floating point. It happens in all languages. Some languages show fewer digits by default, e.g., C. |
2021-12-11 21:08:15 +0100 | <glguy> | IEEE754* |
2021-12-11 21:08:29 +0100 | <hololeap> | it's because floating point numbers have limited precision due to how their modeled |
2021-12-11 21:08:36 +0100 | <monochrom> | In C if you printf("%.18f") you will see the same disturbing thing again. |
2021-12-11 21:08:57 +0100 | <monochrom> | Also I forgot to say that it is floating point and binary. |
2021-12-11 21:09:30 +0100 | <glguy> | In floating point, 3.1 is represented as the fraction: |
2021-12-11 21:09:30 +0100 | <glguy> | > 6980579422424269 * 2^^(-51) :: Rational |
2021-12-11 21:09:32 +0100 | <lambdabot> | 6980579422424269 % 2251799813685248 |
2021-12-11 21:09:44 +0100 | <glguy> | which is pretty close to 3.1 if you divide it out, but not quite |
2021-12-11 21:09:47 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2021-12-11 21:10:13 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-11 21:10:13 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-11 21:10:13 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-11 21:10:20 +0100 | <monochrom> | https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html |
2021-12-11 21:11:32 +0100 | <monochrom> | Also, Knuth proved that if you are to suffer truncation errors anyway, binary is the least worst. |
2021-12-11 21:12:59 +0100 | <int-e> | Guest81: I don't think your example is correct... floating point is not *that* imprecise. |
2021-12-11 21:13:20 +0100 | <monochrom> | Heh |
2021-12-11 21:13:21 +0100 | <int-e> | > 3.1 + 0.2 |
2021-12-11 21:13:22 +0100 | <lambdabot> | 3.3000000000000003 |
2021-12-11 21:13:49 +0100 | <Guest81> | int-e you can try it by youself in ghci, 3,2 + 0.1 |
2021-12-11 21:13:49 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-11 21:14:00 +0100 | <monochrom> | You said 3.1+0.1 |
2021-12-11 21:14:11 +0100 | <Guest81> | y it was a mistake |
2021-12-11 21:14:23 +0100 | <Guest81> | it was 3.2 + 0.1 |
2021-12-11 21:14:40 +0100 | <Guest81> | that is pretty interesting btw, thanks for the answers |
2021-12-11 21:15:46 +0100 | <hololeap> | % fromRational $ (32 % 10) + (1 % 10) |
2021-12-11 21:15:46 +0100 | <yahb> | hololeap: 3.3 |
2021-12-11 21:15:47 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-11 21:16:55 +0100 | <hololeap> | if you know how to represent your numbers as fractions, then that's the way to go |
2021-12-11 21:19:59 +0100 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 265 seconds) |
2021-12-11 21:19:59 +0100 | Jing | (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
2021-12-11 21:20:37 +0100 | <Guest81> | so that's how you do when you need precise calculations ? writing int divisions instead of floats ? |
2021-12-11 21:21:43 +0100 | deadmarshal | (~deadmarsh@95.38.118.223) |
2021-12-11 21:22:44 +0100 | <hololeap> | it's not int divisions, you can get arbitrary precision because it's modeled differently |
2021-12-11 21:23:31 +0100 | <hololeap> | it's modeled as fractions of Integers, which have arbitrary precision, as opposed to Float which is limited to a fixed number of bits for its representation |
2021-12-11 21:24:22 +0100 | Jing | (~hedgehog@2604:a840:3::1001) |
2021-12-11 21:25:10 +0100 | <hololeap> | and then you can convert it back to Float or whatever at the end of your calculation you won't have compounding rounding errors |
2021-12-11 21:25:33 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2021-12-11 21:26:03 +0100 | deadmarshal | (~deadmarsh@95.38.118.223) (Ping timeout: 250 seconds) |
2021-12-11 21:26:55 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
2021-12-11 21:30:15 +0100 | <Guest81> | hololeap ok i got it, i managed to fix my code thanks to your explanations |
2021-12-11 21:31:27 +0100 | <hololeap> | :) |
2021-12-11 21:31:36 +0100 | <awpr> | note you do get the compounding behavior showing up in a different way: the size of the representation. the more operations you pile up into a Rational, the more likely it is to have a massive denominator and correspondingly larger numerator. that shows up in memory usage as well as in computational cost |
2021-12-11 21:32:12 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-11 21:32:12 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-11 21:32:12 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-11 21:32:31 +0100 | <awpr> | if you do need arbitrary precision, Rational is indeed the thing to reach for, but it's expensive and most cases in practice are perfectly content with the precision of Double or even Float |
2021-12-11 21:35:01 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-12-11 21:35:09 +0100 | <awpr> | if this is just about aesthetically not liking things getting printed like "3.30000000000000000001", then there should be formatting functions with rounding to avoid that |
2021-12-11 21:39:26 +0100 | <hololeap> | % fromRational $ 4074071952668972172536891376818756322102936787331872501272280898708762599526673412366793387 % 2037035976334486086268445688409378161051468393665936250636140449354381299763336706183397223 |
2021-12-11 21:39:26 +0100 | <yahb> | hololeap: 2.0 |
2021-12-11 21:39:29 +0100 | tomku | (~tomku@user/tomku) (Ping timeout: 250 seconds) |
2021-12-11 21:40:42 +0100 | <int-e> | > showGFloat (Just 3) (3.2 + 0.1) "" |
2021-12-11 21:40:43 +0100 | <lambdabot> | "3.300" |
2021-12-11 21:46:23 +0100 | tomku | (~tomku@user/tomku) |
2021-12-11 21:47:58 +0100 | <EvanR> | Guest81, rationals and floats were discussed. Also note there are decimal types that can be useful for e.g. money |
2021-12-11 21:48:14 +0100 | <EvanR> | > 3.1 + 0.1 :: Pico |
2021-12-11 21:48:16 +0100 | <lambdabot> | 3.200000000000 |
2021-12-11 21:48:30 +0100 | <EvanR> | > 3.1 + 0.1 :: Centi |
2021-12-11 21:48:32 +0100 | <lambdabot> | 3.20 |
2021-12-11 21:48:43 +0100 | yhsiveht | (~Nishant@49.37.177.34) (Quit: Leaving) |
2021-12-11 21:49:42 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) (Quit: Leaving) |
2021-12-11 21:49:57 +0100 | <EvanR> | > let x = 10 / 3 in (10 - x) + x :: Pico |
2021-12-11 21:49:58 +0100 | <lambdabot> | 10.000000000000 |
2021-12-11 21:50:27 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-12-11 21:51:18 +0100 | <int-e> | > let x = 10 / 3 in 3*x :: Pico |
2021-12-11 21:51:19 +0100 | <lambdabot> | 9.999999999999 |
2021-12-11 21:51:47 +0100 | <EvanR> | careful when dividing by 3 |
2021-12-11 21:53:00 +0100 | <int-e> | > let x = 10 / 7 in 7*x :: Pico |
2021-12-11 21:53:01 +0100 | <lambdabot> | 9.999999999997 |
2021-12-11 21:53:13 +0100 | <int-e> | EvanR: I heeded your advice and see where it got me |
2021-12-11 21:53:22 +0100 | <EvanR> | careful when dividing by 7 |
2021-12-11 21:53:31 +0100 | <geekosaur> | careful with repeating fractions |
2021-12-11 21:53:57 +0100 | <int-e> | now if we worked in base 60 we wouldn't have trouble with dividing by 3 |
2021-12-11 21:54:01 +0100 | <int-e> | why did we stop :P |
2021-12-11 21:54:08 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2021-12-11 21:54:12 +0100 | <int-e> | (or refuse to learn from the Babylonians) |
2021-12-11 21:54:27 +0100 | <EvanR> | 60 sucks... you can't even divide by 7 |
2021-12-11 21:54:45 +0100 | <EvanR> | clearly we need 420 |
2021-12-11 21:54:48 +0100 | ephemient | (uid407513@id-407513.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-11 21:54:48 +0100 | <awpr> | hmm, base 60 even has less waste than base 10 when clustered into digits |
2021-12-11 21:55:08 +0100 | <awpr> | (60/64 used values in 6 bits vs. 10/16 used values in 4 bits) |
2021-12-11 21:55:13 +0100 | <glguy> | Why stop at 60, work in base product[1..100] and it'll be divisible by most of the numbers you'll need on a daily basis |
2021-12-11 21:55:18 +0100 | <int-e> | > foldl1 lcm [1..100] -- let's cover a bit more |
2021-12-11 21:55:19 +0100 | <lambdabot> | 69720375229712477164533808935312303556800 |
2021-12-11 21:55:39 +0100 | <EvanR> | there's some number like that used in video conversion |
2021-12-11 21:56:02 +0100 | <int-e> | (okay that has duplicate prime factors) |
2021-12-11 21:56:31 +0100 | <int-e> | 2305567963945518424753102147331756070 would be enough |
2021-12-11 22:01:38 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) |
2021-12-11 22:01:52 +0100 | BrokenClutch | (~pioneer@2804:d41:c2b2:be00:da32:623d:efa3:7121) |
2021-12-11 22:02:46 +0100 | smartin | (~Thunderbi@88.135.18.171) (Remote host closed the connection) |
2021-12-11 22:02:48 +0100 | <BrokenClutch> | I'm almost giving up on haskell, too difficult D: |
2021-12-11 22:03:04 +0100 | smartin | (~Thunderbi@88.135.18.171) |
2021-12-11 22:03:38 +0100 | <BrokenClutch> | I'm trying to find some book that's more theoretical, that i can understand the logic behind it |
2021-12-11 22:04:13 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-12-11 22:04:29 +0100 | <BrokenClutch> | I already know the functions, I know what are the functions of a monad, I want to understand it, but i can't find any good source about it |
2021-12-11 22:06:33 +0100 | <janus> | BrokenClutch: are you looking for a book recommendation? |
2021-12-11 22:07:45 +0100 | <BrokenClutch> | or anything like that, please |
2021-12-11 22:08:20 +0100 | Unhammer | (~Unhammer@user/unhammer) (Ping timeout: 252 seconds) |
2021-12-11 22:08:21 +0100 | <BrokenClutch> | I've was trying to read Haskell in Depth, pretty cool but too repetitive and sparse |
2021-12-11 22:09:05 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-12-11 22:09:13 +0100 | <BrokenClutch> | I would be really happy if someone gave me some recommendations on more dense books. |
2021-12-11 22:10:33 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-11 22:10:33 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-11 22:10:33 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-11 22:11:10 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
2021-12-11 22:11:31 +0100 | <EvanR> | focusing on monads might be barking up the wrong tree, if you're trying to get into haskell generally |
2021-12-11 22:11:32 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-12-11 22:11:49 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Client Quit) |
2021-12-11 22:12:46 +0100 | <EvanR> | don't think that in haskell, "everything's a monad" or something xD |
2021-12-11 22:13:47 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-11 22:15:06 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2021-12-11 22:15:38 +0100 | <janus> | BrokenClutch: the haskell report is very dense: https://www.haskell.org/onlinereport/haskell2010/ |
2021-12-11 22:16:55 +0100 | jinsun | (~quassel@user/jinsun) (Read error: Connection reset by peer) |
2021-12-11 22:17:10 +0100 | jinsun | (~quassel@user/jinsun) |
2021-12-11 22:21:02 +0100 | <monochrom> | "more books" is also a wrong tree to bark up. |
2021-12-11 22:21:49 +0100 | Unhammer | (~Unhammer@user/unhammer) |
2021-12-11 22:22:15 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-12-11 22:22:37 +0100 | <BrokenClutch> | I want to understand why StateT exists, things like that |
2021-12-11 22:22:55 +0100 | <BrokenClutch> | it's like I have to follow some strict line to learn the language |
2021-12-11 22:23:24 +0100 | <BrokenClutch> | The documentation is shallow |
2021-12-11 22:24:36 +0100 | son0p | (~ff@2800:484:1d81:b700::4) |
2021-12-11 22:25:33 +0100 | <EvanR> | probably some examples where a basic state pattern could help would be good |
2021-12-11 22:26:45 +0100 | <dsal> | Haskell is super easy related to most languages I've worked in. |
2021-12-11 22:27:03 +0100 | <EvanR> | i.e. want to solve an isolated problem, temporarily do a stateful algorithm to get the answer and final state |
2021-12-11 22:27:08 +0100 | <dsal> | Except I am currently struggling with some existentials. I think I realized I can just do something a little different, though. |
2021-12-11 22:27:31 +0100 | <BrokenClutch> | They help me understand where I need to apply them, but I still don't know what they are. |
2021-12-11 22:27:32 +0100 | <BrokenClutch> | I can't just try to understand their type, it's like everything is ofuscated |
2021-12-11 22:27:55 +0100 | <BrokenClutch> | obfuscated* |
2021-12-11 22:28:02 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
2021-12-11 22:28:10 +0100 | <EvanR> | State a is just a glorified function of type s -> (a,s) |
2021-12-11 22:28:57 +0100 | <EvanR> | that's "what that is" |
2021-12-11 22:29:00 +0100 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds) |
2021-12-11 22:29:00 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
2021-12-11 22:29:25 +0100 | <BrokenClutch> | But i can't understand their definition, like, the things inside |
2021-12-11 22:29:41 +0100 | <Rembane> | BrokenClutch: Do you have some more concrete examples? |
2021-12-11 22:29:42 +0100 | <BrokenClutch> | I've learned a lot of languages, but i have too much difficult with haskell |
2021-12-11 22:29:44 +0100 | <EvanR> | implementation of transformers library is... probably not too illuminating |
2021-12-11 22:30:18 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 276 seconds) |
2021-12-11 22:30:18 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 276 seconds) |
2021-12-11 22:30:57 +0100 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-12-11 22:30:57 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 276 seconds) |
2021-12-11 22:30:57 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds) |
2021-12-11 22:30:57 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 276 seconds) |
2021-12-11 22:31:38 +0100 | <BrokenClutch> | Rembane: Any monad transformer and how it relates to some already defined types |
2021-12-11 22:31:52 +0100 | <BrokenClutch> | StateT is an example of it |
2021-12-11 22:32:07 +0100 | <EvanR> | try ReaderT |
2021-12-11 22:33:04 +0100 | <BrokenClutch> | I think i will continue to bang my head against this wall, because I'm really confused, almost 2 weeks and i can't write a simple program |
2021-12-11 22:33:25 +0100 | <EvanR> | @unmtl ReaderT r m a |
2021-12-11 22:33:25 +0100 | <lambdabot> | r -> m a |
2021-12-11 22:33:46 +0100 | namkeleser | (~namkelese@101.179.128.103) |
2021-12-11 22:33:47 +0100 | <EvanR> | it's simpler and probably more useful honestly than StateT xD |
2021-12-11 22:33:49 +0100 | johnjay | (~pi@154.6.152.74) (Ping timeout: 252 seconds) |
2021-12-11 22:33:56 +0100 | <geekosaur> | I feel like trying to understand StateT to write a simple program is doing something wrong somewhere |
2021-12-11 22:34:01 +0100 | <Rembane> | BrokenClutch: You can use equational reasoning to see how StateT or ReaderT works under the hood. |
2021-12-11 22:34:09 +0100 | Rembane | agrees with geekosaur |
2021-12-11 22:34:32 +0100 | johnjay | (~pi@154.6.152.74) |
2021-12-11 22:34:40 +0100 | <dsal> | BrokenClutch: It's a bit hard to understand if you start reading near the end of the story. haskellbook.com works you through it from the beginning. |
2021-12-11 22:35:51 +0100 | <glguy> | BrokenClutch: you don't really need to use any monad transformers to write Haskell. It's completely optional and not a "best practice" that you need to figure out and rely on. It's certainly useful to know how they work, but it's not required |
2021-12-11 22:35:56 +0100 | <BrokenClutch> | dsal: Those books are very boring and they never go deep enough |
2021-12-11 22:36:00 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-11 22:36:29 +0100 | <BrokenClutch> | glguy: But that's the fun part |
2021-12-11 22:37:37 +0100 | pfurla | (~pfurla@2804:18:5857:ae14:19d8:3b1a:26c3:84d4) |
2021-12-11 22:38:20 +0100 | <glguy> | yeah, learning stuff is fun, I just wanted to be clear you don't need to know that before you can productively write Haskell |
2021-12-11 22:38:32 +0100 | <dsal> | BrokenClutch: you read it and didn't think it was deep enough? It explained the things you're claiming to not understand to me pretty clearly. |
2021-12-11 22:38:41 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-11 22:39:39 +0100 | <BrokenClutch> | dsal: Takes to much time, it's boring. But it's a good book for a more linear reading |
2021-12-11 22:40:25 +0100 | <dsal> | It takes way longer to just guess and be frustrated about things you don't fully understand. |
2021-12-11 22:40:32 +0100 | <BrokenClutch> | I would like something more dense, something more focused on definitions with a couple examples. I don't want anything holding my hand, this stuff makes me anxious |
2021-12-11 22:41:33 +0100 | pfurla_ | (~pfurla@185.81.138.21) |
2021-12-11 22:41:52 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-12-11 22:41:52 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-12-11 22:41:53 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2021-12-11 22:41:55 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2021-12-11 22:42:12 +0100 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) |
2021-12-11 22:42:32 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2021-12-11 22:42:34 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2021-12-11 22:42:36 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-12-11 22:44:43 +0100 | pfurla | (~pfurla@2804:18:5857:ae14:19d8:3b1a:26c3:84d4) (Ping timeout: 268 seconds) |
2021-12-11 22:45:13 +0100 | <BrokenClutch> | Oh, i have a good example. The think with kinds, most books don't talk about this stuff on the beginning. |
2021-12-11 22:45:14 +0100 | <BrokenClutch> | In math we take a little look on fields, sets and rings before calculus to explain what we are mapping, for then analyze it |
2021-12-11 22:46:19 +0100 | <geekosaur> | kinds barely exist in standard Haskell |
2021-12-11 22:48:22 +0100 | <BrokenClutch> | I'm starting to think that I've approached haskell wrongly |
2021-12-11 22:48:38 +0100 | <geekosaur> | it kinda sounds like it, yes |
2021-12-11 22:49:22 +0100 | <geekosaur> | also that you may be trying to jump into the deep end without learning to swim in the shallow end first? (kinds are generally fairly advanced Haskell) |
2021-12-11 22:50:26 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-12-11 22:51:27 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-12-11 22:51:30 +0100 | pfurla_ | (~pfurla@185.81.138.21) (Ping timeout: 268 seconds) |
2021-12-11 22:52:09 +0100 | <monochrom> | "best practice" is such a red herring, especially for learning. |
2021-12-11 22:52:25 +0100 | <BrokenClutch> | It's hard for me to learn something from top to bottom |
2021-12-11 22:52:45 +0100 | <BrokenClutch> | I like to link everything together as fast as possible |
2021-12-11 22:53:00 +0100 | <monochrom> | In day-to-day going-to-the-grocery, "best practice" is driving a car to get there. |
2021-12-11 22:53:01 +0100 | <dsal> | It's hard for everyone to start from the top without understanding what stuff is built on. |
2021-12-11 22:53:11 +0100 | <BrokenClutch> | I've learned most of what I know of C++ by following links on the documentations |
2021-12-11 22:53:15 +0100 | <monochrom> | That still doesn't mean a baby learns to drive before learning to walk. |
2021-12-11 22:53:51 +0100 | <BrokenClutch> | But they can know what the car is supposed to do |
2021-12-11 22:54:52 +0100 | Jing | (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
2021-12-11 22:56:14 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
2021-12-11 22:57:23 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2021-12-11 22:59:03 +0100 | Jing | (~hedgehog@2604:a840:3::1001) |
2021-12-11 23:02:00 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-11 23:06:02 +0100 | <dsal> | Knowing what the car is supposed to do is easy. Haskell is a programming language. You can write programs with it. I wouldn't expect a baby to diagnose the broken clutch, though. |
2021-12-11 23:06:05 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2021-12-11 23:06:27 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
2021-12-11 23:06:28 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2021-12-11 23:07:54 +0100 | <glguy> | metaphors are like a side quest |
2021-12-11 23:08:29 +0100 | <BrokenClutch> | my 3yrld can only ride horses |
2021-12-11 23:09:31 +0100 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) |
2021-12-11 23:11:47 +0100 | <glguy> | wakling is a good next skill |
2021-12-11 23:12:41 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-12-11 23:13:50 +0100 | <BrokenClutch> | still teaching anatomy to him, after that he can walk |
2021-12-11 23:14:19 +0100 | <BrokenClutch> | I'm seeing how dumb is my to learn stuff. Gonna insist on it, it's how i study math and other shit |
2021-12-11 23:17:04 +0100 | <BrokenClutch> | I will probably use more of the haskell's source code (This had help me on the past) and this online doc (i liked it, thanks) |
2021-12-11 23:17:04 +0100 | <systemfault> | This may be seen as a troll question but I'll ask anyway.... Do you believe that there are as many Haskell languages as there are combination of language extensions and that it makes the language a lot more hostile to newcomers? |
2021-12-11 23:17:35 +0100 | <dsal> | Not *really* |
2021-12-11 23:18:02 +0100 | <dsal> | Some extensions alter the language in meaningful ways. Some extensions just do things that you'd expect for consistency and when you write the code that needs them, you're told to fix it up. |
2021-12-11 23:18:13 +0100 | <glguy> | systemfault: Most living langauges add new features. Haskell just tends to like to give those features names and have you explicitly turn them on |
2021-12-11 23:18:58 +0100 | <BrokenClutch> | The most used ones aren't that bad. Most have good documentation too. |
2021-12-11 23:19:53 +0100 | <BrokenClutch> | For me, don't forget that I'm not a good example for those stuff, the extensions aren't a problem because they are very well contained and documented |
2021-12-11 23:20:24 +0100 | <geekosaur> | also most extensions do just that, they extend existing features |
2021-12-11 23:20:37 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-12-11 23:20:52 +0100 | <dsal> | It'd be nice to have a rating of extensions with how surprising they are. |
2021-12-11 23:22:39 +0100 | <dsal> | TupleSections over on the left in like "I'm surprised that's not part of the core language" and, I don't know, DeriveAnyClass or NoMonomorphismRestriction or something on the right where things behave differently. |
2021-12-11 23:22:55 +0100 | pfurla | (~pfurla@177.79.127.186) |
2021-12-11 23:23:00 +0100 | nfd | (~nfd@user/nfd) |
2021-12-11 23:23:27 +0100 | <geekosaur> | yeh, DeriveAnyClass feels to me like "that's a weird solution to the problem" |
2021-12-11 23:23:39 +0100 | <BrokenClutch> | where FuncDeps would be on this rating? |
2021-12-11 23:23:43 +0100 | <geekosaur> | especially given the knock-ons that then lead to more extensions as patch-ups |
2021-12-11 23:23:55 +0100 | <dsal> | FuncDeps are on the left. |
2021-12-11 23:24:03 +0100 | <BrokenClutch> | dsal: good |
2021-12-11 23:24:04 +0100 | <dsal> | I need this and I have to turn on a thing to make it work.. |
2021-12-11 23:24:17 +0100 | <dsal> | DeriveAnyClass as a strategy is nice. |
2021-12-11 23:24:27 +0100 | <dsal> | I kind of wish I could use it in DerivingStrategies without having it be automatic. |
2021-12-11 23:25:28 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:3170:52ba:4037:d1) (Remote host closed the connection) |
2021-12-11 23:26:09 +0100 | <monochrom> | I think of GHC2021 as the beginning of a crude rating. An extension that makes it into GHC2021 is rated unsurprising. |
2021-12-11 23:26:29 +0100 | <systemfault> | What is GHC2021? |
2021-12-11 23:26:45 +0100 | <dsal> | a set of extensions you get with a single name |
2021-12-11 23:26:53 +0100 | <geekosaur> | new in ghc 9.2.1 |
2021-12-11 23:26:56 +0100 | <dsal> | https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/control.html |
2021-12-11 23:27:20 +0100 | pfurla_ | (~pfurla@177.79.120.224) |
2021-12-11 23:27:23 +0100 | <systemfault> | Well, that solves my problem. |
2021-12-11 23:27:41 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-11 23:27:45 +0100 | <systemfault> | That gives a "scope" to the language... a set of expectations, a defined featureset |
2021-12-11 23:28:03 +0100 | <geekosaur> | basically, since the standards process is more or less dead in the water, the ghc proposals process has taken over the helm and does its own "standardization" |
2021-12-11 23:28:10 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Read error: Connection reset by peer) |
2021-12-11 23:28:22 +0100 | pfurla | (~pfurla@177.79.127.186) (Ping timeout: 260 seconds) |
2021-12-11 23:29:18 +0100 | <EvanR> | systemfault, well we already had that with "no extensions" |
2021-12-11 23:29:33 +0100 | <EvanR> | just that you often want 1... or 4 for some purpose |
2021-12-11 23:29:40 +0100 | <EvanR> | in a file |
2021-12-11 23:30:19 +0100 | <EvanR> | GHC2021 adds 40 something |
2021-12-11 23:30:19 +0100 | <dsal> | There are a few extensions you pretty much want on any time you're writing any actual code. |
2021-12-11 23:30:28 +0100 | <dsal> | There are lots of people who'd fight me over that as well as which ones. |
2021-12-11 23:30:48 +0100 | <EvanR> | so far I haven't added any in AoC xD |
2021-12-11 23:30:48 +0100 | <geekosaur> | sure. that's why the standardization process is dead in the water |
2021-12-11 23:31:16 +0100 | <glguy> | ImportQualifiedPost is pretty important |
2021-12-11 23:31:19 +0100 | <Rembane> | LambdaCase is the best! |
2021-12-11 23:31:21 +0100 | <geekosaur> | and for that matter there was a lot of argument over GHC2021, but at least it's somewhat transparent |
2021-12-11 23:31:22 +0100 | <systemfault> | Is there any other new Haskell compiler that is relevant beside GHC? (There was hugs at one point.. but it died I believe) |
2021-12-11 23:31:49 +0100 | <geekosaur> | hugs is actually kept barely alive (compiling, at least) because some university courses still use it |
2021-12-11 23:31:49 +0100 | <systemfault> | I mean, at this point, whatever is the default in GHC is more or less what is the "Haskell Standard", no? |
2021-12-11 23:31:57 +0100 | <geekosaur> | but de facto ghc is it |
2021-12-11 23:31:58 +0100 | <EvanR> | BlockArguments didn't make it in? :( |
2021-12-11 23:32:08 +0100 | <dsal> | I'd never heard of ImportQualifiedPost. That's pretty weird. |
2021-12-11 23:32:16 +0100 | <geekosaur> | and the more extensions it gets, the harder it is for any competing compiler to appear |
2021-12-11 23:32:22 +0100 | <dsal> | How many import extensions are there? Those are just strange. |
2021-12-11 23:32:27 +0100 | <glguy> | dsal: without it you get that ugly trough of whitespace in the imports. it's pretty important :) |
2021-12-11 23:33:14 +0100 | <dsal> | You could just use ormolu and give up on aesthetics altogether. |
2021-12-11 23:33:40 +0100 | <glguy> | if you don't care what the code looks like you don't have to use a tool at all |
2021-12-11 23:34:05 +0100 | <dsal> | I don't fully understand BlockArguments. I occasionally write code that wants it, but I don't turn it on often because I've not bothered to read about it. |
2021-12-11 23:36:01 +0100 | <geekosaur> | not much to understand, it just elevates blocks to full arguments that don't require parentheses or $ |
2021-12-11 23:36:02 +0100 | abrantesasf | (~abrantesa@187.36.170.211) (Read error: Connection reset by peer) |
2021-12-11 23:36:03 +0100 | <monochrom> | I can't strictly think of, say, C as "one language" either. (Casually, sure.) Even if you stick to just the standards, there are already multiple standards, chronologically ordered. By the time you also take into account how GNU C, Microsoft C, Turbo C, Aztec C... all adds their own things, there is no one single "C". |
2021-12-11 23:36:18 +0100 | <perrierjouet> | key bind meta-h /buffer #haskell |
2021-12-11 23:36:30 +0100 | <perrierjouet> | key bind meta-k /buffer #kotlin |
2021-12-11 23:36:43 +0100 | <monochrom> | The Haskell people simply recognize that a linear order is too restrictive. |
2021-12-11 23:36:48 +0100 | <geekosaur> | mm, you missing some command keys perrierjouet? |
2021-12-11 23:37:10 +0100 | <perrierjouet> | geekosaur: ? am configuring my weechat |
2021-12-11 23:37:25 +0100 | <geekosaur> | you sent a couple of them to the channel instead of to weechat |
2021-12-11 23:37:50 +0100 | <monochrom> | Cf my whine yesterday about web forums pretending that a discussion is linear, until Reddit re-taught us that it is at least tree-structured. |
2021-12-11 23:38:21 +0100 | mei | (~mei@user/mei) (Ping timeout: 252 seconds) |
2021-12-11 23:38:29 +0100 | <hololeap> | dsal: I've been using ImportQualifiedPost for a while and now it feels weird not to have it |
2021-12-11 23:38:45 +0100 | abrantesasf | (~abrantesa@187.36.170.211) |
2021-12-11 23:40:12 +0100 | <geekosaur> | whereas I've gotten so used to the standard syntax that the new one looks weird to me |
2021-12-11 23:40:35 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2021-12-11 23:40:52 +0100 | pfurla_ | (~pfurla@177.79.120.224) (Quit: gone to sleep. ZZZzzz…) |
2021-12-11 23:41:06 +0100 | <geekosaur> | of course this kind of argumentation is why there's no new standard :) |
2021-12-11 23:41:22 +0100 | <monochrom> | Oh nice, best revision ever! |
2021-12-11 23:41:57 +0100 | <monochrom> | "import Data.Char qualified as C" is very close to English. |
2021-12-11 23:42:18 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
2021-12-11 23:42:26 +0100 | pavonia | (~user@user/siracusa) |
2021-12-11 23:43:10 +0100 | <hololeap> | there's even a GHC warning that yells at you if you write it the old way, but that just seems excessive |
2021-12-11 23:44:10 +0100 | <geekosaur> | if yu're going to be different, at least be consistent about it? using both styles seems like it'd be jarring |
2021-12-11 23:44:38 +0100 | <hololeap> | that's true, but this seems like it's stepping into linter territory |
2021-12-11 23:44:51 +0100 | <monochrom> | Or very close to COBOL >:) |
2021-12-11 23:44:55 +0100 | <BrokenClutch> | Thanks for the help everyone, gonna try to use the docs from emacs and, as base, use the official online docs |
2021-12-11 23:45:13 +0100 | <awpr> | `import qualified Data.Maybe qualified as Maybe as M` -- using both |
2021-12-11 23:45:27 +0100 | <BrokenClutch> | Another thing, is lambdabot compiling? |
2021-12-11 23:45:33 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) (Quit: Reconnecting) |
2021-12-11 23:45:41 +0100 | <monochrom> | GHC currently doesn't let you use both. |
2021-12-11 23:45:45 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2021-12-11 23:46:16 +0100 | <monochrom> | But you can always split that into 4 lines. |
2021-12-11 23:46:34 +0100 | Techcable | (~Techcable@168.235.93.147) (Ping timeout: 260 seconds) |
2021-12-11 23:46:43 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-11 23:46:45 +0100 | <hololeap> | the bikeshedding compromise |
2021-12-11 23:47:08 +0100 | <monochrom> | Oh, you can still bikeshed on which line goes first >:) |
2021-12-11 23:47:35 +0100 | <earendel> | lol bikeshedding |
2021-12-11 23:47:54 +0100 | <geekosaur> | lambdabot compiles, yes, but to bytecode. also > / @run only accepts expressions, not definitions |
2021-12-11 23:48:22 +0100 | <geekosaur> | yahb is a full ghci; use % prefix, or %% to send output to a pastebin (useful for something like :info) |
2021-12-11 23:48:23 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:3170:52ba:4037:d1) |
2021-12-11 23:48:26 +0100 | themc47 | (~mc47@xmonad/TheMC47) |
2021-12-11 23:48:31 +0100 | <BrokenClutch> | I was talking about its source (english is not my main language) |
2021-12-11 23:48:37 +0100 | <geekosaur> | also yahb is ghc 9.0 whereas lambdabot is 8.7 |
2021-12-11 23:48:54 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Ping timeout: 260 seconds) |
2021-12-11 23:49:00 +0100 | <geekosaur> | oh |
2021-12-11 23:49:12 +0100 | <monochrom> | Bikeshedding is in human nature. It is why every climate summit takes forever and produces nothing. You can bet they spend days on disputing enumeration order. |
2021-12-11 23:49:30 +0100 | <geekosaur> | lambdabot itself should build, at least on ghc 8.10.7, but one of its dependencies needs a patch |
2021-12-11 23:50:01 +0100 | <earendel> | they should just use fibonacci sequence |
2021-12-11 23:50:21 +0100 | <BrokenClutch> | geekosaur: thanks :) |
2021-12-11 23:50:25 +0100 | <geekosaur> | (@djinn uses an external program, which currently doesn't build because <> was added to the Prelude. the patch is minor) |
2021-12-11 23:50:28 +0100 | <earendel> | i am sorry. i couldn't hold me. |
2021-12-11 23:50:41 +0100 | cosimone | (~user@93-47-231-91.ip115.fastwebnet.it) (Ping timeout: 268 seconds) |
2021-12-11 23:51:04 +0100 | <earendel> | or halt. |
2021-12-11 23:51:14 +0100 | <earendel> | english is difficult. |
2021-12-11 23:51:18 +0100 | <monochrom> | Hey did you know of this fibonacci joke? https://twitter.com/sigfpe/status/776420034419658752 |
2021-12-11 23:51:53 +0100 | <earendel> | im banned from twitter :( |
2021-12-11 23:52:06 +0100 | <monochrom> | OK, "This Fibonacci joke is as bad as the last two you heard combined." |
2021-12-11 23:52:18 +0100 | <earendel> | eheh. |
2021-12-11 23:52:27 +0100 | <earendel> | well. |
2021-12-11 23:52:42 +0100 | BrokenClutch | (~pioneer@2804:d41:c2b2:be00:da32:623d:efa3:7121) () |
2021-12-11 23:53:02 +0100 | namkeleser | (~namkelese@101.179.128.103) (Quit: Client closed) |
2021-12-11 23:53:41 +0100 | themc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-12-11 23:54:23 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:3700:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds) |
2021-12-11 23:55:09 +0100 | namkeleser | (~namkelese@101.179.128.103) |
2021-12-11 23:56:08 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |