Logs: freenode/#haskell
| 2020-10-19 17:58:30 | → | alp joins (~alp@2a01:e0a:58b:4920:dc5e:4bf0:c579:a0f6) |
| 2020-10-19 17:59:09 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 244 seconds) |
| 2020-10-19 18:00:00 | → | Kaeipi joins (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 2020-10-19 18:00:00 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 2020-10-19 18:00:01 | × | head_victim quits (~head_vict@178.162.209.171) () |
| 2020-10-19 18:01:23 | → | geekosaur joins (ac3a8c8f@172.58.140.143) |
| 2020-10-19 18:02:24 | → | GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
| 2020-10-19 18:02:24 | × | GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
| 2020-10-19 18:02:24 | → | GyroW joins (~GyroW@unaffiliated/gyrow) |
| 2020-10-19 18:02:39 | × | isovector1 quits (~isovector@172.103.216.166) (Remote host closed the connection) |
| 2020-10-19 18:02:46 | → | jchia__ joins (~jchia@45.32.62.73) |
| 2020-10-19 18:03:05 | → | isovector1 joins (~isovector@172.103.216.166) |
| 2020-10-19 18:03:09 | × | GyroW_ quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds) |
| 2020-10-19 18:04:09 | × | jchia__ quits (~jchia@45.32.62.73) (Remote host closed the connection) |
| 2020-10-19 18:04:17 | → | gioyik joins (~gioyik@190.67.155.46) |
| 2020-10-19 18:05:15 | → | jchia__ joins (~jchia@45.32.62.73) |
| 2020-10-19 18:06:29 | × | jchia__ quits (~jchia@45.32.62.73) (Remote host closed the connection) |
| 2020-10-19 18:06:45 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2020-10-19 18:06:50 | × | knupfer quits (~Thunderbi@200116b82c4507007c3743ffaa7fe02c.dip.versatel-1u1.de) (Quit: knupfer) |
| 2020-10-19 18:06:58 | × | codygman quits (~codygman@47-184-107-46.dlls.tx.frontiernet.net) (Ping timeout: 272 seconds) |
| 2020-10-19 18:06:58 | → | knupfer joins (~Thunderbi@200116b82c45070090f23a587263fd79.dip.versatel-1u1.de) |
| 2020-10-19 18:07:30 | → | jchia__ joins (~jchia@45.32.62.73) |
| 2020-10-19 18:08:24 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 2020-10-19 18:09:19 | → | codygman joins (~codygman@2600:380:f914:a1ca:eb25:85ee:c4a3:cd2e) |
| 2020-10-19 18:10:02 | × | GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
| 2020-10-19 18:10:12 | → | GyroW joins (~GyroW@d54C03E98.access.telenet.be) |
| 2020-10-19 18:10:13 | × | GyroW quits (~GyroW@d54C03E98.access.telenet.be) (Changing host) |
| 2020-10-19 18:10:13 | → | GyroW joins (~GyroW@unaffiliated/gyrow) |
| 2020-10-19 18:10:43 | → | bifunc2 joins (bifunc2@gateway/vpn/protonvpn/bifunc2) |
| 2020-10-19 18:10:59 | × | dwt quits (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 258 seconds) |
| 2020-10-19 18:11:15 | <bifunc2> | Is it considered bad practice to put an integration test into an HUnit testCase? |
| 2020-10-19 18:11:37 | <bifunc2> | It works fine, but I'm asking because it's all in the name: HUnit (as in UNIT tests) |
| 2020-10-19 18:11:52 | → | chaosmasttter joins (~chaosmast@p200300c4a709420174fc4dcad71adf36.dip0.t-ipconnect.de) |
| 2020-10-19 18:12:48 | × | xerox_ quits (~xerox@unaffiliated/xerox) (Read error: Connection reset by peer) |
| 2020-10-19 18:13:34 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 2020-10-19 18:13:54 | → | crestfallen joins (~jvw@135-180-15-188.fiber.dynamic.sonic.net) |
| 2020-10-19 18:14:14 | × | codygman quits (~codygman@2600:380:f914:a1ca:eb25:85ee:c4a3:cd2e) (Read error: Connection reset by peer) |
| 2020-10-19 18:14:32 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 2020-10-19 18:15:32 | × | jchia__ quits (~jchia@45.32.62.73) (Remote host closed the connection) |
| 2020-10-19 18:16:01 | → | codygman joins (~codygman@47-184-107-46.dlls.tx.frontiernet.net) |
| 2020-10-19 18:16:08 | → | jchia__ joins (~jchia@58.32.37.146) |
| 2020-10-19 18:18:00 | × | geekosaur quits (ac3a8c8f@172.58.140.143) (Ping timeout: 245 seconds) |
| 2020-10-19 18:18:21 | × | Kaeipi quits (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer) |
| 2020-10-19 18:19:02 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 258 seconds) |
| 2020-10-19 18:20:18 | × | fre quits (~freusque@104.238.190.229) (Quit: fre: znc bye) |
| 2020-10-19 18:21:21 | <fendor> | bifunc2, I would not say so, but I would clearly declare what is an actual unit test and what is an integration test. |
| 2020-10-19 18:21:57 | <bifunc2> | yeah I put it into a seperate "Integration. ..." module |
| 2020-10-19 18:22:08 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Quit: WeeChat 2.9) |
| 2020-10-19 18:23:06 | <fendor> | I think that is good enough |
| 2020-10-19 18:23:39 | → | dwt joins (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) |
| 2020-10-19 18:23:41 | <crestfallen> | hi after setting -XTypeApplications I can get the types of pure @[] (*) and pure @[] ((*),(+)) , but I don't know what that is doing or how to use it: http://ix.io/2BhD |
| 2020-10-19 18:23:42 | → | fre joins (~freusque@104.238.190.229) |
| 2020-10-19 18:24:06 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:2827:63d8:269e:cab4) (Ping timeout: 246 seconds) |
| 2020-10-19 18:24:29 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2020-10-19 18:24:33 | <koz_> | crestfallen: Are you asking 'what does TypeApplications do for me'? |
| 2020-10-19 18:26:48 | <crestfallen> | koz_: that and a few things: what is this type doing with (*) and Num a => [a -> a -> a], if that is a single entry list? How would you use that? |
| 2020-10-19 18:27:12 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-19 18:27:35 | <crestfallen> | and the other entry there, pure @[] ((*),(+)) |
| 2020-10-19 18:28:34 | → | conal joins (~conal@64.71.133.70) |
| 2020-10-19 18:28:57 | × | bifunc2 quits (bifunc2@gateway/vpn/protonvpn/bifunc2) (Remote host closed the connection) |
| 2020-10-19 18:29:27 | <crestfallen> | yeah I don't get this type either (I assume it is also a single item list) : [(a1 -> a1 -> a1, a2 -> a2 -> a2)] |
| 2020-10-19 18:30:16 | <koz_> | A type doesn't specify how many items the list has. |
| 2020-10-19 18:30:19 | <koz_> | :t (*) |
| 2020-10-19 18:30:20 | <lambdabot> | Num a => a -> a -> a |
| 2020-10-19 18:30:25 | <koz_> | :t (+) |
| 2020-10-19 18:30:27 | <lambdabot> | Num a => a -> a -> a |
| 2020-10-19 18:30:46 | <koz_> | You're applying pure, specialized to produce lists, to a pair of functions of type a -> a -> a. |
| 2020-10-19 18:31:01 | <koz_> | Therefore, you get something of type 'I am a list of pairs of functions of type a -> a -> a. |
| 2020-10-19 18:31:03 | <koz_> | '. |
| 2020-10-19 18:31:11 | → | geekosaur joins (ac3a8c68@172.58.140.104) |
| 2020-10-19 18:31:18 | <koz_> | You're mixing type and value level again - don't do that. |
| 2020-10-19 18:31:28 | hackage | beam-sqlite 0.5.0.0 - Beam driver for SQLite https://hackage.haskell.org/package/beam-sqlite-0.5.0.0 (TravisAthougies) |
| 2020-10-19 18:32:04 | <koz_> | All TypeApplications lets you do is fill in yourself what you want a type variable to be. |
| 2020-10-19 18:32:09 | <koz_> | If you look at pure: |
| 2020-10-19 18:32:12 | <koz_> | :t pure |
| 2020-10-19 18:32:13 | <lambdabot> | Applicative f => a -> f a |
| 2020-10-19 18:32:23 | × | kupi quits (uid212005@gateway/web/irccloud.com/x-goqmfcjbcgptzitc) (Quit: Connection closed for inactivity) |
| 2020-10-19 18:32:43 | <koz_> | This says: For _any_ Applicative whatsoever, if you give me a thing of type 'a', I will give you an Applicative full of 'a's. |
| 2020-10-19 18:33:06 | <koz_> | Now, if you just write 'pure 10', you haven't said _what particular_ Applicative you want. |
| 2020-10-19 18:33:22 | <koz_> | That could create [a], Maybe a, Proxy a, whatever. |
| 2020-10-19 18:33:41 | <koz_> | So by saying 'pure @[] 10', you are saying 'I want a list _specifically_'. |
| 2020-10-19 18:35:01 | <crestfallen> | what about with the arithmetic operators koz_ ? could you show me that in action? |
| 2020-10-19 18:35:11 | <koz_> | crestfallen: Arithmetic operators are just functions./ |
| 2020-10-19 18:35:13 | × | karanlikmadde quits (~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192) (Quit: karanlikmadde) |
| 2020-10-19 18:35:16 | <koz_> | There's nothing special or magical about that. |
| 2020-10-19 18:35:29 | <koz_> | You can have lists full of functions, Maybe functions, Proxies of functions, whatever. |
| 2020-10-19 18:35:50 | <crestfallen> | I don't follow |
| 2020-10-19 18:36:18 | <crestfallen> | the note there says ... : |
| 2020-10-19 18:36:22 | <koz_> | What in particular about 'arithmetic operators' in this particular context throws you? |
| 2020-10-19 18:36:31 | × | knupfer quits (~Thunderbi@200116b82c45070090f23a587263fd79.dip.versatel-1u1.de) (Quit: knupfer) |
| 2020-10-19 18:36:38 | → | knupfer joins (~Thunderbi@200116b82c450700d1249839d4a442f4.dip.versatel-1u1.de) |
| 2020-10-19 18:36:42 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:f9eb:6fb3:7fb3:c450) |
| 2020-10-19 18:36:48 | <crestfallen> | it's not obvious just from the types here that @[] is a single item list |
| 2020-10-19 18:36:56 | <koz_> | @[] is not a single-item anything. |
| 2020-10-19 18:36:56 | <lambdabot> | Maybe you meant: wn v rc pl id do bf @ ? . |
| 2020-10-19 18:37:12 | <koz_> | It's a type application, to fix a type variable to a specific type. |
| 2020-10-19 18:37:22 | <koz_> | Stop. Mixing. Type. And. Value. Level. |
| 2020-10-19 18:37:35 | <koz_> | pure for lists produces a single-item list. |
| 2020-10-19 18:37:43 | <koz_> | This has nothing of any kind to do with type applications. |
| 2020-10-19 18:37:44 | <crestfallen> | I'm not mixing anything |
All times are in UTC.