2021-09-19 00:05:01 +0200 | jstolarek | (~jstolarek@ers4.neoplus.adsl.tpnet.pl) (Ping timeout: 252 seconds) |
2021-09-19 00:07:16 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-09-19 00:07:52 +0200 | Guest3790 | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-09-19 00:08:10 +0200 | tfeb | (~tfb@88.98.95.237) |
2021-09-19 00:08:29 +0200 | chris | (~chris@81.96.113.213) |
2021-09-19 00:08:33 +0200 | chris | Guest8163 |
2021-09-19 00:12:12 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-09-19 00:13:08 +0200 | Guest8163 | (~chris@81.96.113.213) (Ping timeout: 265 seconds) |
2021-09-19 00:14:14 +0200 | __monty__ | (~toonn@user/toonn) |
2021-09-19 00:14:39 +0200 | __monty__ | (~toonn@user/toonn) (Client Quit) |
2021-09-19 00:14:58 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 260 seconds) |
2021-09-19 00:23:09 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-19 00:25:40 +0200 | tfeb | (~tfb@88.98.95.237) (Quit: died) |
2021-09-19 00:34:13 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-09-19 00:35:27 +0200 | chris | (~chris@81.96.113.213) |
2021-09-19 00:35:30 +0200 | chris | Guest359 |
2021-09-19 00:36:31 +0200 | Gurkenglas | (~Gurkengla@dslb-002-207-014-195.002.207.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
2021-09-19 00:36:51 +0200 | syntactic_sugar | (~amoljha@2601:644:8601:2e30::822c) |
2021-09-19 00:36:58 +0200 | lbseale | (~lbseale@user/ep1ctetus) |
2021-09-19 00:39:25 +0200 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-09-19 00:40:20 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) |
2021-09-19 00:41:45 +0200 | acidjnk | (~acidjnk@p200300d0c703cb488c4c1d5595111d0b.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2021-09-19 00:42:10 +0200 | jtomas_ | (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 240 seconds) |
2021-09-19 00:42:19 +0200 | syntactic_sugar | (~amoljha@2601:644:8601:2e30::822c) (Quit: WeeChat 3.1) |
2021-09-19 00:42:43 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-09-19 00:47:58 +0200 | zer0bitz | (~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi) (Ping timeout: 252 seconds) |
2021-09-19 01:12:26 +0200 | Guest359 | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-09-19 01:12:42 +0200 | TranquilEcho | (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
2021-09-19 01:13:03 +0200 | chris | (~chris@81.96.113.213) |
2021-09-19 01:13:04 +0200 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) (Ping timeout: 265 seconds) |
2021-09-19 01:13:06 +0200 | Guest21 | (~Guest21@pool-96-252-123-136.bstnma.fios.verizon.net) |
2021-09-19 01:13:06 +0200 | chris | Guest3574 |
2021-09-19 01:15:26 +0200 | proofofkeags_ | (~proofofke@97-118-134-2.hlrn.qwest.net) |
2021-09-19 01:15:58 +0200 | <Guest21> | What is an example of a type that is a functor that you cannot write a valid ‘join :: f (f a) -> f a’ for? |
2021-09-19 01:16:50 +0200 | cuz | (~user@2601:182:cc02:8b0:c4d:9139:bf18:4cf7) |
2021-09-19 01:17:24 +0200 | <Cajun> | (btw its the backtick ` for the monospace font, it should be on the same key as the tilde ~) |
2021-09-19 01:17:45 +0200 | Guest3574 | (~chris@81.96.113.213) (Ping timeout: 260 seconds) |
2021-09-19 01:18:01 +0200 | <Guest21> | oh ok |
2021-09-19 01:18:04 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-19 01:21:05 +0200 | <geekosaur> | ZipList, I think |
2021-09-19 01:21:32 +0200 | <geekosaur> | because you never get aroiund to joining, because both results are infinite |
2021-09-19 01:22:38 +0200 | <geekosaur> | (ZipList is a newtype over lists which has an Applicative instance but no Monad instance) |
2021-09-19 01:22:56 +0200 | <hpc> | you can still write something with join's type, it just doesn't obey the laws |
2021-09-19 01:23:03 +0200 | <geekosaur> | yeh |
2021-09-19 01:24:08 +0200 | <Guest21> | join :: [[a]] -> [a]. Ok I’m gonna study this one. I’ve seen this discussed as a sort of canonical example of a type that is a Applicative but not a Monad |
2021-09-19 01:24:24 +0200 | <hpc> | [] is very much a Monad |
2021-09-19 01:24:29 +0200 | <hpc> | ZipList is different |
2021-09-19 01:24:32 +0200 | <geekosaur> | that's a normal list. look at how the ZipList Applicative is defined |
2021-09-19 01:24:41 +0200 | <Guest21> | Right ziplist wraps this |
2021-09-19 01:24:48 +0200 | <hpc> | https://hoogle.haskell.org/?hoogle=ZipList |
2021-09-19 01:25:58 +0200 | <Cajun> | https://paste.tomsmeding.com/dd6I1dBV is the applicative instance specifically |
2021-09-19 01:28:17 +0200 | System123 | (~System123@net-37-179-171-3.cust.vodafonedsl.it) |
2021-09-19 01:30:00 +0200 | enikar | thought, join works only with monads (and it can be use to define monad instead of bind) |
2021-09-19 01:32:01 +0200 | <geekosaur> | correct |
2021-09-19 01:33:03 +0200 | <geekosaur> | well, kinda-sorta. you can define join for more things than monads, but you can't then go on to define a law-abiding monad |
2021-09-19 01:33:10 +0200 | System123 | (~System123@net-37-179-171-3.cust.vodafonedsl.it) (Ping timeout: 252 seconds) |
2021-09-19 01:33:55 +0200 | <geekosaur> | like as above where you can define join for ZipLists but the result doesn't obey the monad laws |
2021-09-19 01:34:00 +0200 | <hpc> | fun fact, there was once a type class that you couldn't write an unlawful instance for, called Pointed |
2021-09-19 01:34:05 +0200 | <hpc> | which consisted of just pure from Applicative |
2021-09-19 01:34:06 +0200 | <geekosaur> | this is why there are laws separate from the function definitions |
2021-09-19 01:34:17 +0200 | smitop7 | (~smitop@user/smitop) |
2021-09-19 01:34:24 +0200 | <hpc> | once people realized that though, the class became rather pointless |
2021-09-19 01:34:48 +0200 | koz- | (~koz@121.99.240.58) |
2021-09-19 01:34:50 +0200 | <geekosaur> | Haskell's type system isn't strong enough to capture many typeclass laws |
2021-09-19 01:34:57 +0200 | <hpc> | (the laws it had were actually free theorems) |
2021-09-19 01:35:08 +0200 | nitrix_ | (~nitrix@ns569831.ip-51-79-81.net) |
2021-09-19 01:35:57 +0200 | smitop | (~smitop@user/smitop) (Quit: Ping timeout (120 seconds)) |
2021-09-19 01:35:57 +0200 | smitop7 | smitop |
2021-09-19 01:35:57 +0200 | koz | (~koz@121.99.240.58) (Quit: ZNC 1.7.5 - https://znc.in) |
2021-09-19 01:35:57 +0200 | nitrix | (~nitrix@user/nitrix) (Quit: Genius is one percent inspiration and ninety-nine percent perspiration) |
2021-09-19 01:36:23 +0200 | <geekosaur> | tbh I thought Pointed never really existed outside the Typeclassopedia because it was known to not be useful |
2021-09-19 01:36:42 +0200 | <Guest21> | geekosaur: are there languages with a strong enough type system that they can prove type class laws at compile time? |
2021-09-19 01:37:03 +0200 | <geekosaur> | proof checking languages like Idris and Agda, I believe |
2021-09-19 01:37:17 +0200 | <geekosaur> | (note that this doens't mean they're easy or cheap) |
2021-09-19 01:37:29 +0200 | <Guest21> | Ok I didn’t know these languages used typeclasses |
2021-09-19 01:37:57 +0200 | <geekosaur> | I'm not sure Idris does formally but you can describe them in it |
2021-09-19 01:38:16 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) |
2021-09-19 01:39:57 +0200 | slack1256 | (~slack1256@191.126.227.79) |
2021-09-19 01:42:58 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-09-19 01:44:52 +0200 | MQ-17J | (~MQ-17J@8.21.10.6) (Ping timeout: 268 seconds) |
2021-09-19 01:45:34 +0200 | hammock | (~Hammock@2600:1700:19a1:3330:a2d6:386:8cfd:4ac5) |
2021-09-19 01:47:28 +0200 | <Guest21> | Do Agda programmers look at Haskell somewhat similarly to Haskell programmers look at a dynamically typed language? For example in my Perl code I always worry in the back of my head that I’m gonna do something accidentally try to equate two strings with (==) |
2021-09-19 01:47:47 +0200 | <Guest21> | Err didn’t mean to enter so fast |
2021-09-19 01:48:16 +0200 | <Guest21> | Anyways I wonder if Agda people see writing an unlawful type class instance equally as dangerous |
2021-09-19 01:49:26 +0200 | <Guest21> | writing an illegal typeclass instance would be even worse because the program wouldn’t halt |
2021-09-19 01:50:24 +0200 | <Guest21> | My perl example is a poor one |
2021-09-19 01:52:25 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-19 01:58:32 +0200 | Guest21 | (~Guest21@pool-96-252-123-136.bstnma.fios.verizon.net) (Quit: Client closed) |
2021-09-19 02:01:12 +0200 | Phantastes | (~Phantaste@c-67-173-229-120.hsd1.co.comcast.net) |
2021-09-19 02:01:53 +0200 | Phantastes | (~Phantaste@c-67-173-229-120.hsd1.co.comcast.net) (Client Quit) |
2021-09-19 02:03:19 +0200 | proofofkeags_ | (~proofofke@97-118-134-2.hlrn.qwest.net) (Quit: Leaving) |
2021-09-19 02:04:50 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
2021-09-19 02:10:27 +0200 | funsafe | (~funsafe@2601:1c1:4200:e53:2875:5507:42e4:4e14) (Read error: Connection reset by peer) |
2021-09-19 02:14:13 +0200 | funsafe | (~funsafe@2601:1c1:4200:e53:2875:5507:42e4:4e14) |
2021-09-19 02:14:52 +0200 | cuz | (~user@2601:182:cc02:8b0:c4d:9139:bf18:4cf7) (Ping timeout: 268 seconds) |
2021-09-19 02:19:05 +0200 | <Cajun> | i would imagine its more of a visionary thing, where the agda programmer is the visionary and the haskell programmer is the still-a-visionary-but-less-so |
2021-09-19 02:19:33 +0200 | <Cajun> | i wonder whatll happen to agda once (hopefully) DH gets completed |
2021-09-19 02:20:11 +0200 | <geekosaur> | I suspect Agda will still do dependent programming better |
2021-09-19 02:20:23 +0200 | <Cajun> | why do you say that? |
2021-09-19 02:20:34 +0200 | <geekosaur> | Haskell may get support for it but it'll probably never be a great fit |
2021-09-19 02:21:11 +0200 | <geekosaur> | unless the language changes so much in the process that it's more like Agda than Haskell anyway |
2021-09-19 02:21:42 +0200 | <Cajun> | it would be a hefty language extension thats for sure |
2021-09-19 02:21:59 +0200 | <geekosaur> | probably multiple extensions |
2021-09-19 02:22:16 +0200 | <geekosaur> | the first of which is scheduled to land in 9.2, I think |
2021-09-19 02:22:58 +0200 | <Cajun> | thats exciting! i also read in the changelog that ghc2021 is getting added as well :) |
2021-09-19 02:31:02 +0200 | cuz | (~user@2601:182:cc02:8b0:c4d:9139:bf18:4cf7) |
2021-09-19 02:38:24 +0200 | vicfred | (~vicfred@user/vicfred) |
2021-09-19 02:39:34 +0200 | lbseale | (~lbseale@user/ep1ctetus) (Ping timeout: 252 seconds) |
2021-09-19 02:41:49 +0200 | funsafe | (~funsafe@2601:1c1:4200:e53:2875:5507:42e4:4e14) (Read error: Connection reset by peer) |
2021-09-19 02:44:53 +0200 | kayprish | (~kayprish@46.240.130.158) |
2021-09-19 02:45:16 +0200 | kayprish | (~kayprish@46.240.130.158) (Remote host closed the connection) |
2021-09-19 02:46:30 +0200 | funsafe | (~funsafe@2601:1c1:4200:e53:2875:5507:42e4:4e14) |
2021-09-19 02:56:21 +0200 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2021-09-19 03:06:24 +0200 | sneedsfeed | (~sneedsfee@rrcs-173-95-122-169.midsouth.biz.rr.com) |
2021-09-19 03:08:20 +0200 | <sneedsfeed> | is there a built in to traverse an infinite list evaluating a condition on each element and return the element when that condition is satisfied? |
2021-09-19 03:09:08 +0200 | <pavonia> | > find (== 10) [1..] |
2021-09-19 03:09:10 +0200 | <lambdabot> | Just 10 |
2021-09-19 03:10:11 +0200 | <sneedsfeed> | ah okay I was thinking find wouldnt work but if I just expand the test condition to include the element not existing that should stop it from hanging |
2021-09-19 03:11:54 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-09-19 03:13:02 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-09-19 03:13:48 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2021-09-19 03:13:56 +0200 | <dsal> | @src find |
2021-09-19 03:13:56 +0200 | <lambdabot> | find p = listToMaybe . filter p |
2021-09-19 03:14:05 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-09-19 03:14:40 +0200 | <dsal> | (usual disclaimer: @src is a way to think about a thing, not necessarily the way to write a thing) |
2021-09-19 03:14:54 +0200 | xff0x | (~xff0x@2001:1a81:52ed:4100:e126:e3d0:8698:438) (Ping timeout: 268 seconds) |
2021-09-19 03:15:04 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2021-09-19 03:15:19 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
2021-09-19 03:15:24 +0200 | mousey | (~sky@gateway/tor-sasl/mousey) (Ping timeout: 276 seconds) |
2021-09-19 03:15:33 +0200 | <geekosaur> | also, haskell is not magic: it doesn't know, for example, that 10 will occur exactly once in [1..] :: Integer |
2021-09-19 03:16:07 +0200 | xff0x | (~xff0x@2001:1a81:5327:1a00:7ba6:6c4f:f759:2f72) |
2021-09-19 03:16:10 +0200 | <geekosaur> | or that (-1) won't occur at all |
2021-09-19 03:19:59 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-19 03:21:03 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-09-19 03:21:28 +0200 | mousey | (~sky@gateway/tor-sasl/mousey) |
2021-09-19 03:23:40 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds) |
2021-09-19 03:24:27 +0200 | <sneedsfeed> | is there anything else similar to find but more general? So like I can return an arbitrary result instead of just the element? |
2021-09-19 03:24:53 +0200 | Guest45 | (~Guest45@pool-96-252-123-136.bstnma.fios.verizon.net) |
2021-09-19 03:24:59 +0200 | Guest45 | (~Guest45@pool-96-252-123-136.bstnma.fios.verizon.net) (Client Quit) |
2021-09-19 03:25:19 +0200 | <Cajun> | sounds like a lens traversal |
2021-09-19 03:25:44 +0200 | lerax | (~user@177-104-241-177.gbsn.com.br) |
2021-09-19 03:25:50 +0200 | <Cajun> | though im not entirely sure what you mean specifically by "arbitrary result" |
2021-09-19 03:26:04 +0200 | chris | (~chris@81.96.113.213) |
2021-09-19 03:26:08 +0200 | chris | Guest6939 |
2021-09-19 03:26:31 +0200 | <sneedsfeed> | Well I'll explain my situation precisely then. I have an infinite list of perfect powers. I need to return the perfect power if its in there, but if its not I need to return Nothing. |
2021-09-19 03:26:42 +0200 | neurocyte013 | (~neurocyte@94.46.67.47) |
2021-09-19 03:26:43 +0200 | neurocyte013 | (~neurocyte@94.46.67.47) (Changing host) |
2021-09-19 03:26:43 +0200 | neurocyte013 | (~neurocyte@user/neurocyte) |
2021-09-19 03:26:57 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) |
2021-09-19 03:27:05 +0200 | <sneedsfeed> | The way I can figure that it isnt in there is if I go far enough into the list without finding it eventually it becomes obvious it isnt there. |
2021-09-19 03:27:20 +0200 | <Cajun> | you can do that if its ordered. exponential search may be useful here but a simple linear search would be fine |
2021-09-19 03:27:29 +0200 | <awpr> | `find _ . takeWhile _` |
2021-09-19 03:27:52 +0200 | <sneedsfeed> | its not fully ordered unfortunately |
2021-09-19 03:28:04 +0200 | <sneedsfeed> | allPP = [(x^k,(x,k)) | x <- [2..], k <- [2..x]] |
2021-09-19 03:29:05 +0200 | neurocyte01 | (~neurocyte@user/neurocyte) (Ping timeout: 268 seconds) |
2021-09-19 03:29:05 +0200 | neurocyte013 | neurocyte01 |
2021-09-19 03:29:21 +0200 | <awpr> | if you can tell from the present element alone whether you've passed where the one you're looking for would be, then the `takeWhile` approach would work |
2021-09-19 03:31:08 +0200 | <dsal> | sneedsfeed: Why don't you just not emit things you don't want? |
2021-09-19 03:31:31 +0200 | <sneedsfeed> | dsal probably because I'm not very smart. |
2021-09-19 03:31:38 +0200 | <dsal> | It's not actually any different. |
2021-09-19 03:31:57 +0200 | lerax | (~user@177-104-241-177.gbsn.com.br) (IO()) |
2021-09-19 03:32:00 +0200 | <dsal> | sneedsfeed: You just add a `, myPredicate` in that list comprehension. |
2021-09-19 03:32:05 +0200 | <dsal> | But it's the same problem. |
2021-09-19 03:32:50 +0200 | <sneedsfeed> | Yea I had something like that before but it wasnt efficient enough, the tests on the problem were recomputing things over and over and timing out the system |
2021-09-19 03:32:51 +0200 | <dsal> | If it's an infinite list, your find mechanism needs to know when it's not going to find what it's looking for. |
2021-09-19 03:33:43 +0200 | <sneedsfeed> | I mean I do actually have a solution here. I just don't like it. |
2021-09-19 03:34:01 +0200 | cuz | (~user@2601:182:cc02:8b0:c4d:9139:bf18:4cf7) (Ping timeout: 268 seconds) |
2021-09-19 03:34:13 +0200 | <dsal> | I don't even understand your problem. I'm not very mathletic. |
2021-09-19 03:35:26 +0200 | <sneedsfeed> | https://www.codewars.com/kata/54d4c8b08776e4ad92000835 |
2021-09-19 03:35:28 +0200 | <Axman6> | I'm doing something dumb, how do I specify I want to enable rtsopts in a cabal file? I have ghc-options: -rtsopts=all -O2 in the executable section but it keeps using O1 and not using the rtsopts flag |
2021-09-19 03:38:50 +0200 | <awpr> | the algorithm you described trying to implement was to have some way of knowing when to stop looking, and return Nothing when that happens. that's what the combination of find and takeWhile gives you -- possibly adding in a `mapAccumL` if the stop condition needs information from past elements |
2021-09-19 03:40:05 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) |
2021-09-19 03:41:49 +0200 | waleee | (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 268 seconds) |
2021-09-19 03:45:07 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
2021-09-19 03:45:32 +0200 | alx741 | (~alx741@186.178.108.187) (Quit: alx741) |
2021-09-19 03:46:15 +0200 | <Axman6> | ANyone know what the most space efficient map from ByteString to Int would be? Both HashMap and Map seem to use a heap of RAM (no pun intended) and I'd love to have something which unpacked those values into the structure |
2021-09-19 03:46:20 +0200 | <sneedsfeed> | awpr I just understood what you meant by `find _ . takeWhile _` thats really smart I think its exactly what I need. |
2021-09-19 03:48:13 +0200 | mikoto-chan | (~mikoto-ch@83.137.2.250) (Ping timeout: 265 seconds) |
2021-09-19 03:48:32 +0200 | <awpr> | Axman6: https://hackage.haskell.org/package/bytestring-trie might be worth a ...trie |
2021-09-19 03:48:44 +0200 | <Axman6> | top notch pun, thanks |
2021-09-19 03:49:00 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-19 03:49:05 +0200 | <awpr> | not sure if it'll be more space-efficient, but it's at least something different from the other two |
2021-09-19 03:50:30 +0200 | <Axman6> | wouldn't surprise me if it is, when I wrote ternary-trees it was quite good and being space efficient if you had lots of commmon prefixes |
2021-09-19 03:54:07 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-09-19 03:54:07 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-09-19 03:54:10 +0200 | allbery_b | geekosaur |
2021-09-19 03:58:20 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-09-19 04:00:25 +0200 | <Axman6> | seems my program consistently uses just under 23GB of RAM no matter which map I use :( |
2021-09-19 04:00:42 +0200 | <Axman6> | HashMap has been the fastest though |
2021-09-19 04:05:09 +0200 | machinedgod | (~machinedg@24.105.81.50) (Quit: Lost terminal) |
2021-09-19 04:07:54 +0200 | cuz | (~user@2601:182:cc02:8b0:c4d:9139:bf18:4cf7) |
2021-09-19 04:11:40 +0200 | juhp | (~juhp@bb220-255-143-175.singnet.com.sg) (Ping timeout: 240 seconds) |
2021-09-19 04:12:58 +0200 | cuz | (~user@2601:182:cc02:8b0:c4d:9139:bf18:4cf7) (Ping timeout: 260 seconds) |
2021-09-19 04:15:21 +0200 | juhp | (~juhp@bb42-60-204-249.singnet.com.sg) |
2021-09-19 04:16:40 +0200 | juhp | (~juhp@bb42-60-204-249.singnet.com.sg) (Client Quit) |
2021-09-19 04:16:54 +0200 | juhp | (~juhp@bb42-60-204-249.singnet.com.sg) |
2021-09-19 04:18:20 +0200 | yinghua | (~yinghua@2800:2121:1400:1db:b16d:d359:384:92aa) (Quit: Leaving) |
2021-09-19 04:19:26 +0200 | td_ | (~td@94.134.91.211) (Ping timeout: 268 seconds) |
2021-09-19 04:21:07 +0200 | td_ | (~td@muedsl-82-207-238-223.citykom.de) |
2021-09-19 04:22:52 +0200 | eruditass | (uid248673@id-248673.uxbridge.irccloud.com) |
2021-09-19 04:23:21 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-19 04:27:49 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-19 04:27:49 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-19 04:27:49 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-19 04:28:17 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
2021-09-19 04:30:08 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-19 04:35:33 +0200 | <awpr> | apparently Stack needs to install GHC in order to answer what GHC it wants to install |
2021-09-19 04:36:18 +0200 | <awpr> | `stack query compiler wanted` downloads and installs GHC |
2021-09-19 04:43:47 +0200 | <Axman6> | lovely |
2021-09-19 04:55:53 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 265 seconds) |
2021-09-19 04:57:20 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-09-19 04:57:33 +0200 | slack1256 | (~slack1256@191.126.227.79) (Remote host closed the connection) |
2021-09-19 05:00:09 +0200 | <janus> | Axman6: how do you query memory usage? |
2021-09-19 05:06:55 +0200 | vysn | (~vysn@user/vysn) (Ping timeout: 268 seconds) |
2021-09-19 05:11:53 +0200 | slack1256 | (~slack1256@181.203.34.71) |
2021-09-19 05:13:33 +0200 | slac76507 | (~slack1256@191.126.227.79) |
2021-09-19 05:13:40 +0200 | Null_A | (~null_a@2601:645:8700:2290:f960:d5c5:94b5:c3e6) |
2021-09-19 05:16:47 +0200 | slack1256 | (~slack1256@181.203.34.71) (Ping timeout: 268 seconds) |
2021-09-19 05:21:31 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
2021-09-19 05:25:26 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) |
2021-09-19 05:27:56 +0200 | <Axman6> | I have been using /usr/bin/time -l |
2021-09-19 05:32:36 +0200 | <janus> | Axman6: i thought conventional tools like that could not be used because the RTS will overcommit: https://gitlab.haskell.org/ghc/ghc/-/issues/14193 |
2021-09-19 05:33:38 +0200 | <janus> | Axman6: would that not explain why you always see the same figure? it wouldn't be the actual usage, it would just be the upper bound on how much the RTS thought it could eventually need |
2021-09-19 05:34:31 +0200 | <awpr> | at least in `top`, the virtual memory stat is garbage, but RSS tends to act like it's responding to actual changes in usage |
2021-09-19 05:35:18 +0200 | roboguy_ | (~roboguy_@2605:a601:afe7:9f00:b84a:ec0a:d36e:74f2) |
2021-09-19 05:37:27 +0200 | <clever> | https://github.com/ghc/ghc/blob/master/rts/posix/OSMem.c |
2021-09-19 05:37:40 +0200 | <clever> | it happens somewhere in here, but i cant find it anymore... |
2021-09-19 05:39:46 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds) |
2021-09-19 05:40:01 +0200 | meinside | (uid24933@id-24933.helmsley.irccloud.com) |
2021-09-19 05:40:26 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-09-19 05:41:36 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) |
2021-09-19 05:42:07 +0200 | benin036932301 | (~benin@183.82.205.89) |
2021-09-19 05:45:16 +0200 | <janus> | Axman6: looks like you can get more accurate RSS stats with this flag https://github.com/ghc/ghc/blob/master/rts/posix/OSMem.c#L670 |
2021-09-19 05:45:36 +0200 | <Axman6> | janus: probably, but I'm mostly worried about the amount of memory the system sees it using |
2021-09-19 05:45:48 +0200 | <Axman6> | I am also using +RTS -s |
2021-09-19 05:46:01 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-09-19 05:46:05 +0200 | <Axman6> | (Productivity for this app is not very good =) |
2021-09-19 05:46:28 +0200 | <Axman6> | the non-moving GC seems to help runtime qute a bit though~! |
2021-09-19 05:46:29 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2021-09-19 05:47:10 +0200 | <awpr> | any chance the bytes-to-int mapping is constant throughout large chunks of the program? |
2021-09-19 05:48:38 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
2021-09-19 05:57:30 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2021-09-19 06:00:19 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds) |
2021-09-19 06:00:45 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) |
2021-09-19 06:00:45 +0200 | cheater | (~Username@user/cheater) |
2021-09-19 06:01:10 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2021-09-19 06:05:26 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2021-09-19 06:16:46 +0200 | Lycurgus | (~juan@98.4.112.204) |
2021-09-19 06:19:54 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-19 06:21:02 +0200 | solomon | (~solomon@cpe-76-168-7-139.socal.res.rr.com) |
2021-09-19 06:22:55 +0200 | hammock | (~Hammock@2600:1700:19a1:3330:a2d6:386:8cfd:4ac5) (Ping timeout: 252 seconds) |
2021-09-19 06:27:08 +0200 | wei2912 | (~wei2912@112.199.250.21) |
2021-09-19 06:27:15 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-19 06:41:10 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds) |
2021-09-19 06:43:02 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) |
2021-09-19 06:54:18 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-09-19 06:57:18 +0200 | arahael | (~arahael@118.211.178.62) (Ping timeout: 268 seconds) |
2021-09-19 06:57:58 +0200 | arahael | (~arahael@118.211.178.62) |
2021-09-19 06:59:24 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-19 07:00:24 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Client Quit) |
2021-09-19 07:03:25 +0200 | xsarnik7 | (xsarnik@lounge.fi.muni.cz) |
2021-09-19 07:03:25 +0200 | xsarnik | (xsarnik@lounge.fi.muni.cz) (Read error: Connection reset by peer) |
2021-09-19 07:03:25 +0200 | xsarnik7 | xsarnik |
2021-09-19 07:04:40 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2021-09-19 07:05:14 +0200 | Guest6939 | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-09-19 07:05:51 +0200 | chris | (~chris@81.96.113.213) |
2021-09-19 07:05:55 +0200 | chris | Guest1406 |
2021-09-19 07:05:56 +0200 | keltono | (~kelton@x-160-94-179-178.acm.umn.edu) (Ping timeout: 268 seconds) |
2021-09-19 07:05:57 +0200 | int-e | (~noone@int-e.eu) (Ping timeout: 245 seconds) |
2021-09-19 07:06:06 +0200 | int-e | (~noone@int-e.eu) |
2021-09-19 07:06:13 +0200 | keltono | (~kelton@x-160-94-179-178.acm.umn.edu) |
2021-09-19 07:09:03 +0200 | azimut_ | (~azimut@gateway/tor-sasl/azimut) |
2021-09-19 07:10:19 +0200 | Guest1406 | (~chris@81.96.113.213) (Ping timeout: 252 seconds) |
2021-09-19 07:10:42 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
2021-09-19 07:13:50 +0200 | syntactic_sugar | (~amoljha@2601:644:8601:2e30::822c) |
2021-09-19 07:15:18 +0200 | max22- | (~maxime@2a01cb0883359800da5887c8e8eac50d.ipv6.abo.wanadoo.fr) |
2021-09-19 07:17:10 +0200 | System123 | (~System123@net-37-179-171-3.cust.vodafonedsl.it) |
2021-09-19 07:19:35 +0200 | neo1 | (~neo3@cpe-292712.ip.primehome.com) |
2021-09-19 07:21:05 +0200 | <Boarders> | What are the good default command line options with criterion to get the most robust numbers? |
2021-09-19 07:21:09 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-19 07:21:09 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-19 07:21:09 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-19 07:21:30 +0200 | <Boarders> | can you even configure that from the command line or do you need to change the benchmark options |
2021-09-19 07:21:34 +0200 | System123 | (~System123@net-37-179-171-3.cust.vodafonedsl.it) (Ping timeout: 268 seconds) |
2021-09-19 07:23:03 +0200 | nitrix_ | (~nitrix@ns569831.ip-51-79-81.net) (Changing host) |
2021-09-19 07:23:03 +0200 | nitrix_ | (~nitrix@user/nitrix) |
2021-09-19 07:23:08 +0200 | nitrix_ | nitrix |
2021-09-19 07:25:40 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2021-09-19 07:29:12 +0200 | <Guest372> | :t withFile |
2021-09-19 07:29:13 +0200 | <lambdabot> | error: |
2021-09-19 07:29:13 +0200 | <lambdabot> | • Variable not in scope: withFile |
2021-09-19 07:29:13 +0200 | <lambdabot> | • Perhaps you meant one of these: |
2021-09-19 07:30:06 +0200 | <Guest372> | in System.IO, withFile has a type Handle, how we can use it? |
2021-09-19 07:32:03 +0200 | <Guest372> | https://hackage.haskell.org/package/managed-1.0.8/docs/Control-Monad-Managed.html |
2021-09-19 07:32:33 +0200 | <Boarders> | what do you want to do with the file? |
2021-09-19 07:32:38 +0200 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
2021-09-19 07:34:00 +0200 | <Guest372> | -- A hypothetical function that copies data from one handle to another copy :: Handle -> Handle -> IO () |
2021-09-19 07:34:40 +0200 | <Guest372> | this `copy' is not implemented? |
2021-09-19 07:35:38 +0200 | <Boarders> | copy h1 h2 = do |
2021-09-19 07:35:38 +0200 | <Boarders> | str <- hGetContents' h1 |
2021-09-19 07:35:38 +0200 | <Boarders> | hPutStr h2 str |
2021-09-19 07:35:42 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-09-19 07:35:46 +0200 | <Boarders> | maybe something like that? |
2021-09-19 07:37:26 +0200 | <Boarders> | also with String this might be a bit inefficient in which case use the corresponding functions from Data.ByteString (but I don't know your use case) |
2021-09-19 07:37:58 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-19 07:37:58 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-19 07:37:58 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-19 07:39:04 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2021-09-19 07:39:29 +0200 | <Guest372> | this `copy' doing is very like C copy file, I like to know its definition |
2021-09-19 07:40:11 +0200 | <Boarders> | I just wrote a definition |
2021-09-19 07:40:21 +0200 | <Guest372> | ok i will try it |
2021-09-19 07:40:28 +0200 | <Boarders> | Read from the first handle and write to the second |
2021-09-19 07:40:50 +0200 | <Boarders> | If you want the more performance version then use Bytestrings to do it |
2021-09-19 07:42:37 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2021-09-19 07:49:38 +0200 | meinside | (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-09-19 07:51:28 +0200 | qbt | (~edun@user/edun) |
2021-09-19 07:52:42 +0200 | <Guest372> | https://paste.tomsmeding.com/spOOZyZs |
2021-09-19 07:53:14 +0200 | qbt | (~edun@user/edun) (Remote host closed the connection) |
2021-09-19 07:54:04 +0200 | <Guest372> | this type doesnt fit, expect type ContT r IO Handle, actual ContT r IO () |
2021-09-19 07:54:47 +0200 | <Guest372> | in that lift (copy inHandle outHandle), how I can change it? |
2021-09-19 07:55:44 +0200 | Gurkenglas | (~Gurkengla@dslb-002-207-014-195.002.207.pools.vodafone-ip.de) |
2021-09-19 07:58:56 +0200 | <Boarders> | Did you try changing Handle to ()? |
2021-09-19 07:59:58 +0200 | <Guest372> | aha, it worked, but why? |
2021-09-19 08:00:31 +0200 | <Guest372> | inHandle :: Handle, not () |
2021-09-19 08:00:39 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-09-19 08:02:14 +0200 | <Guest372> | copyFile :: ContT r IO (), but inHandle inside the do notation has Handle not (), that is ok? |
2021-09-19 08:06:35 +0200 | <Boarders> | I think you should look into how monadic notation works in Haskell and it will answer your question |
2021-09-19 08:09:43 +0200 | qbt | (~edun@user/edun) |
2021-09-19 08:12:30 +0200 | Null_A | (~null_a@2601:645:8700:2290:f960:d5c5:94b5:c3e6) (Remote host closed the connection) |
2021-09-19 08:12:59 +0200 | <Guest372> | oh i see, the type is just result type, |
2021-09-19 08:13:34 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2021-09-19 08:15:24 +0200 | <dsal> | Guest372: you don't need a `do` block for just `hPutStr dest =<< hGetContents src` |
2021-09-19 08:15:50 +0200 | <dsal> | Or the other way around if you prefer. |
2021-09-19 08:16:14 +0200 | <Guest372> | ok |
2021-09-19 08:16:17 +0200 | <dsal> | Or a better type. Heh. I've seen a package somewhere with helpers like that. |
2021-09-19 08:19:39 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) |
2021-09-19 08:24:25 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-09-19 08:26:55 +0200 | reyaboj | (~reyaboj@103.69.150.85) |
2021-09-19 08:27:19 +0200 | <reyaboj> | hi guys |
2021-09-19 08:27:46 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:2435:ba7:e573:bc26) (Quit: Leaving) |
2021-09-19 08:28:34 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-09-19 08:28:58 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-09-19 08:31:00 +0200 | <reyaboj> | If I had to summarize: foldr is right associative because it reduces to an expression of the form "<op> <value> <rest-of-fold>" and such an expression produces nesting on <rest-of-fold>, which is to the right, rather than <value>. |
2021-09-19 08:31:07 +0200 | <reyaboj> | Is my understanding correct there? ^ |
2021-09-19 08:35:50 +0200 | <hololeap> | reyaboj: yeah, foldr f x [1,2,3] = x `f` (1 `f` (2 `f` 3)) |
2021-09-19 08:37:11 +0200 | <awpr> | hmm, it occurs to me to wonder what you'd call a function that's `foldr . flip` |
2021-09-19 08:37:33 +0200 | <awpr> | the resulting tree of applications of the reducing function associates to the left, but it associates the list elements to the right :) |
2021-09-19 08:48:00 +0200 | <reyaboj> | wow lol you just broke my brain...let me try to write that down and play with it |
2021-09-19 08:50:15 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-19 08:50:35 +0200 | <c_wraith> | it's still foldr, the combining function just takes its args in the opposite order. There's nothing special about that ordering |
2021-09-19 08:51:16 +0200 | <awpr> | yeah, I'm just prodding at the idea that foldr's associativity is named after how the call tree of the reducer is associated |
2021-09-19 08:51:37 +0200 | <awpr> | seems like how it associates the list elements is more fundamental |
2021-09-19 08:52:25 +0200 | <c_wraith> | look at foldr as an example of converting a data structure to its church encoding. (have to move the arguments around a bit, but whatever) |
2021-09-19 08:52:53 +0200 | <c_wraith> | Then you see that the swapping the argument order in the reduction function is equivalent to changing the argument order to the (:) constructor |
2021-09-19 08:53:03 +0200 | <c_wraith> | doesn't actually change anything about the type behavior. |
2021-09-19 08:53:12 +0200 | <c_wraith> | Just how convention says to write it on paper |
2021-09-19 08:59:09 +0200 | rembo10 | (~rembo10@wally.codeshy.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-09-19 09:00:05 +0200 | rembo10 | (~rembo10@wally.codeshy.com) |
2021-09-19 09:01:34 +0200 | Lycurgus | (~juan@98.4.112.204) (Quit: Exeunt) |
2021-09-19 09:03:23 +0200 | roboguy_ | (~roboguy_@2605:a601:afe7:9f00:b84a:ec0a:d36e:74f2) () |
2021-09-19 09:06:57 +0200 | <reyaboj> | Ahhhh |
2021-09-19 09:07:11 +0200 | <reyaboj> | Thanks guys! I think I understand why I got confused now. |
2021-09-19 09:09:15 +0200 | ubert | (~Thunderbi@91.141.68.10.wireless.dyn.drei.com) |
2021-09-19 09:11:42 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-19 09:14:29 +0200 | ArctVaulMarsHMPJ | (~pjetcetal@2.95.253.167) |
2021-09-19 09:14:53 +0200 | ArctVaulMarsHMPJ | (~pjetcetal@2.95.253.167) (Remote host closed the connection) |
2021-09-19 09:24:54 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-19 09:26:31 +0200 | Topsi | (~Tobias@dyndsl-095-033-025-122.ewe-ip-backbone.de) |
2021-09-19 09:31:38 +0200 | chomwitt | (~chomwitt@2a02:587:dc15:500:12c3:7bff:fe6d:d374) |
2021-09-19 09:32:34 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-09-19 09:34:05 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-09-19 09:36:26 +0200 | acidjnk | (~acidjnk@p200300d0c703cb63dd8ae578d0e30132.dip0.t-ipconnect.de) |
2021-09-19 09:40:31 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-09-19 09:47:02 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:44da:bf98:4cf1:2d8d) (Remote host closed the connection) |
2021-09-19 09:47:26 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:3ad2:6f9d:50ec:2663) |
2021-09-19 09:55:48 +0200 | pfurla_ | (~pfurla@53.15.195.173.client.static.strong-in52.as13926.net) |
2021-09-19 09:58:12 +0200 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2021-09-19 09:58:28 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 252 seconds) |
2021-09-19 09:58:47 +0200 | <ixlun> | Hi all, quick question. I've got this code https://pastebin.com/GjYZ6QcT and It's annoying me that I'm having to write the same boilerplate over and over. Is there a way I can abstract out the error handling here for each oepration? |
2021-09-19 09:59:42 +0200 | <ixlun> | the only way I can think is to create a new typeclass `CurrencyOp`, say and then a function `runCurrencyOp` that does the checking there. However, it seems a little cumbersome for the users as they will have to use `runCurrencyOp` every time they want to perform an operation. |
2021-09-19 10:01:06 +0200 | oxide | (~lambda@user/oxide) |
2021-09-19 10:02:47 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-19 10:04:08 +0200 | vysn | (~vysn@user/vysn) |
2021-09-19 10:04:32 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:49c6:f846:9a95:6c22) (Remote host closed the connection) |
2021-09-19 10:05:59 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-09-19 10:07:05 +0200 | sheddow | (~sheddow@2001:4652:3064:0:855:8e28:191f:6ce6) |
2021-09-19 10:07:12 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) |
2021-09-19 10:07:34 +0200 | <mc47> | ixlun you might find it interesting to let the type-system worry about that if you're ready to play around with some dependent types |
2021-09-19 10:08:04 +0200 | <mc47> | Maybe check the safe-money package |
2021-09-19 10:09:08 +0200 | <mc47> | I have a question: I want to lift (&&) to act on predicates that take three arguments, but I was curious if there's an elegant way to write it |
2021-09-19 10:09:24 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-09-19 10:09:27 +0200 | <opqdonut> | ixlun: you could use phantom types: `data Currency cur = Currency Int; add :: Currency a -> Currency a -> Currency a` |
2021-09-19 10:09:27 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
2021-09-19 10:09:39 +0200 | <mc47> | i.e. something more compact than andPQ p q a b c = p a b c && q a b c |
2021-09-19 10:09:49 +0200 | <opqdonut> | ixlun: of course then all your errors would be at compile-time, which might not be what you want |
2021-09-19 10:10:43 +0200 | dsrt^ | (~dsrt@68.101.54.227) |
2021-09-19 10:12:10 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) (Ping timeout: 268 seconds) |
2021-09-19 10:13:16 +0200 | <mc47> | nvm my question, chaining liftM2 is good enough |
2021-09-19 10:14:00 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2021-09-19 10:14:24 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-09-19 10:17:30 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-09-19 10:20:00 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-19 10:21:37 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) |
2021-09-19 10:26:18 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2021-09-19 10:26:30 +0200 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) |
2021-09-19 10:27:36 +0200 | <ixlun> | opqdonut: Yeah, it would have to be runtime checking since I'm reading from various data sources at runtime |
2021-09-19 10:28:43 +0200 | <ixlun> | mc47: Would going down the dependent types route restrict errors being caught at compile-time? |
2021-09-19 10:30:49 +0200 | <tomsmeding> | ixlun: do you parse currency values from data first, then get them into some uniform kind (usb/gbp/...), then operate on them? |
2021-09-19 10:31:16 +0200 | <ixlun> | Yep, that' pretty much exactly what I'm doing |
2021-09-19 10:31:19 +0200 | <tomsmeding> | i.e. does it make sense to first do a validation pass that your currency kinds are consistent, and then afterwards be able to compute with them without checking kinds? |
2021-09-19 10:31:34 +0200 | <mc47> | ixlun you'd have a computation block that is protected by the type system and you'd only need to check before going into it |
2021-09-19 10:32:02 +0200 | <tomsmeding> | data CurrencyType a where GBP :: CurrencyType "GBP" ; USD :: CurrencyType "USD" ; EUR :: CurrencyType "EUR" |
2021-09-19 10:32:16 +0200 | <tomsmeding> | data Currency a = Currency (CurrencyType a) Int |
2021-09-19 10:32:39 +0200 | <tomsmeding> | data Some f = forall a. Some (f a) -- from the 'some' package if you don't want to define it yourself |
2021-09-19 10:33:19 +0200 | <tomsmeding> | then you can have: check :: CurrencyType a -> Some Currency -> Maybe (Currency a) |
2021-09-19 10:33:44 +0200 | <tomsmeding> | and add :: Currency a -> Currency a -> Currency a which doesn't have to care about unequal currencies |
2021-09-19 10:34:46 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-19 10:34:59 +0200 | <tomsmeding> | perhaps also: data CurrencyList a = CurrencyList [Currency a] ; checkUniform :: [SomeCurrency] -> Maybe (Some CurrencyList) |
2021-09-19 10:35:23 +0200 | <tomsmeding> | if you want a list of equal currency kinds but don't care what they actually are |
2021-09-19 10:35:25 +0200 | <hololeap> | tomsmeding: couldn't you just have `newtype Currency a = Currency Int` and then derive Num, etc with GNTD? |
2021-09-19 10:35:58 +0200 | <tomsmeding> | hololeap: you could write a Num instance for my type too :p |
2021-09-19 10:36:19 +0200 | <tomsmeding> | in my experience having a value-level witness of the phantom type is useful |
2021-09-19 10:36:34 +0200 | <tomsmeding> | but if you don't need it, then yes that's a more light-weight alternative :p |
2021-09-19 10:36:46 +0200 | <Cajun> | wouldnt a Num instance give you a whole bunch of functions that you dont really want/need? :P |
2021-09-19 10:37:04 +0200 | <Cajun> | its nice for the (+) and (*) but the other ones are weird for many types |
2021-09-19 10:37:23 +0200 | <ixlun> | There's defiantly some stuff to digest there, I'll take a look. I've also been looking at the `money` package too which looks pretty nice so I'll see what I can do. Thanks all! |
2021-09-19 10:37:24 +0200 | <tomsmeding> | I suspect that if you go with the witness-less approach, you'd end up sprinkling 'class KnownCurrency a where knownCurrency :: CurrencyType a' everywhere |
2021-09-19 10:37:51 +0200 | <tomsmeding> | ixlun: hope I didn't scare you away :p |
2021-09-19 10:38:22 +0200 | <hololeap> | @where singletons |
2021-09-19 10:38:22 +0200 | <lambdabot> | I know nothing about singletons. |
2021-09-19 10:38:33 +0200 | <mc47> | I play around with a wtiness-less approach and it gets very cumbersome very fast, which was really intimidating while just learning about these type trickeries |
2021-09-19 10:38:42 +0200 | <mc47> | s/play/played/ |
2021-09-19 10:38:56 +0200 | <tomsmeding> | yeah you can define my CurrencyType GADT from your plain ADT using singletons, but I find a direct GADT clearer -- if only for the lack of TH :p |
2021-09-19 10:39:29 +0200 | <hololeap> | tomsmeding: I agree, I was just thinking of plugging that intro to singletons blog because it's a helpful tutorial |
2021-09-19 10:39:32 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
2021-09-19 10:39:41 +0200 | <tomsmeding> | mc47: if you core happens to not need the witnesses anywhere, the code can get very clean and neat |
2021-09-19 10:39:48 +0200 | <tomsmeding> | until the moment you want a witness :p |
2021-09-19 10:40:06 +0200 | <hololeap> | https://blog.jle.im/entry/introduction-to-singletons-1.html |
2021-09-19 10:40:10 +0200 | acidjnk | (~acidjnk@p200300d0c703cb63dd8ae578d0e30132.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-09-19 10:40:18 +0200 | <tomsmeding> | (never read that, actually never worked with the actual singletons library before tbh) |
2021-09-19 10:40:47 +0200 | <hololeap> | it basically builds up a strong motivation for the libarary, but shows you how to do it all by hand as well |
2021-09-19 10:41:27 +0200 | <mc47> | tomsmeding that's probably true, I really just skimmed the surface |
2021-09-19 10:46:55 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 252 seconds) |
2021-09-19 10:52:37 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-09-19 11:00:07 +0200 | deuslambda[m] | (~deuslambd@2001:470:69fc:105::c749) (Quit: You have been kicked for being idle) |
2021-09-19 11:00:07 +0200 | Cesionaut[m] | (~cesionaut@2001:470:69fc:105::dd3b) (Quit: You have been kicked for being idle) |
2021-09-19 11:01:42 +0200 | syntactic_sugar | (~amoljha@2601:644:8601:2e30::822c) (Quit: WeeChat 3.1) |
2021-09-19 11:04:34 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 260 seconds) |
2021-09-19 11:05:02 +0200 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-09-19 11:14:40 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-09-19 11:14:50 +0200 | <tomsmeding> | s/you core/your code/ how did that typo even happen |
2021-09-19 11:16:34 +0200 | TranquilEcho | (~grom@user/tranquilecho) |
2021-09-19 11:18:22 +0200 | ubert | (~Thunderbi@91.141.68.10.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2021-09-19 11:22:04 +0200 | azeem | (~azeem@2a00:801:3c5:e7ed:96db:1881:5af8:10cd) |
2021-09-19 11:23:45 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-19 11:24:01 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-19 11:28:16 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-09-19 11:30:42 +0200 | hnOsmium0001 | (uid453710@id-453710.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-09-19 11:32:05 +0200 | Null_A | (~null_a@2601:645:8700:2290:f960:d5c5:94b5:c3e6) |
2021-09-19 11:41:36 +0200 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2021-09-19 11:41:51 +0200 | Null_A | (~null_a@2601:645:8700:2290:f960:d5c5:94b5:c3e6) (Remote host closed the connection) |
2021-09-19 11:42:42 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-09-19 11:43:24 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-09-19 11:44:19 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-09-19 11:46:06 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2021-09-19 11:47:20 +0200 | Null_A | (~null_a@2601:645:8700:2290:f960:d5c5:94b5:c3e6) |
2021-09-19 11:48:04 +0200 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
2021-09-19 11:48:26 +0200 | Null_A | (~null_a@2601:645:8700:2290:f960:d5c5:94b5:c3e6) (Client Quit) |
2021-09-19 11:54:56 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-09-19 12:00:28 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-19 12:10:01 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-09-19 12:10:52 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2021-09-19 12:11:50 +0200 | hexfive | (~eric@50.35.83.177) |
2021-09-19 12:13:38 +0200 | pfurla_ | (~pfurla@53.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 260 seconds) |
2021-09-19 12:13:43 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-19 12:14:02 +0200 | Vajb | (~Vajb@nbptnppvs5wp2vjps-2.v6.elisa-mobile.fi) |
2021-09-19 12:14:34 +0200 | hexfive | (~eric@50.35.83.177) (Client Quit) |
2021-09-19 12:14:35 +0200 | Vajb | (~Vajb@nbptnppvs5wp2vjps-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
2021-09-19 12:15:10 +0200 | Vajb | (~Vajb@85-76-8-105-nat.elisa-mobile.fi) |
2021-09-19 12:19:50 +0200 | Vajb | (~Vajb@85-76-8-105-nat.elisa-mobile.fi) (Read error: Connection reset by peer) |
2021-09-19 12:20:33 +0200 | benin036932301 | (~benin@183.82.205.89) (Ping timeout: 265 seconds) |
2021-09-19 12:20:43 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-09-19 12:20:49 +0200 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2021-09-19 12:20:56 +0200 | benin036932301 | (~benin@183.82.205.89) |
2021-09-19 12:23:14 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) |
2021-09-19 12:25:58 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:162d:fa69:3f15:a6a5) (Quit: logout) |
2021-09-19 12:26:26 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:eed:cf2e:848e:62b5) |
2021-09-19 12:27:19 +0200 | spruit11 | (~quassel@2a02:a467:ccd6:1:6:b8f5:e5f3:4cce) |
2021-09-19 12:27:50 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
2021-09-19 12:31:08 +0200 | spruit11_ | (~quassel@2a02:a467:ccd6:1:563:f225:f6bf:7d85) (Ping timeout: 268 seconds) |
2021-09-19 12:39:53 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 265 seconds) |
2021-09-19 12:40:21 +0200 | oxide | (~lambda@user/oxide) |
2021-09-19 12:44:05 +0200 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) (Ping timeout: 268 seconds) |
2021-09-19 12:49:00 +0200 | max22- | (~maxime@2a01cb0883359800da5887c8e8eac50d.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
2021-09-19 12:49:05 +0200 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) |
2021-09-19 12:50:02 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-09-19 12:51:39 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-09-19 12:51:41 +0200 | max22- | (~maxime@2a01cb08833598008de6b9bad07273d0.ipv6.abo.wanadoo.fr) |
2021-09-19 13:00:19 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:eed:cf2e:848e:62b5) (Remote host closed the connection) |
2021-09-19 13:00:45 +0200 | alx741 | (~alx741@186.178.108.187) |
2021-09-19 13:05:10 +0200 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 240 seconds) |
2021-09-19 13:07:00 +0200 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) |
2021-09-19 13:09:25 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) |
2021-09-19 13:13:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) (Ping timeout: 240 seconds) |
2021-09-19 13:15:25 +0200 | sm2n_ | (~sm2n@user/sm2n) (Ping timeout: 252 seconds) |
2021-09-19 13:15:48 +0200 | sm2n | (~sm2n@user/sm2n) |
2021-09-19 13:26:20 +0200 | max22- | (~maxime@2a01cb08833598008de6b9bad07273d0.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
2021-09-19 13:27:16 +0200 | x28girl | (~x28girl@181.46.32.25) |
2021-09-19 13:28:21 +0200 | Sose | (~Sose@mobile-access-6df047-213.dhcp.inet.fi) |
2021-09-19 13:30:49 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-19 13:34:13 +0200 | <Sose> | I haven't used Haskell or GHC in a while and I'm a bit confused what version I should use. If I type `ghcup list` (https://gist.github.com/Sose/434044f83f51a091939277dc39c7a20d), I see that 8.10.7 doesn't have the "hls powered" note, but here (https://discourse.haskell.org/t/haskell-language-server-1-4-0-release/3237) it says that for example |
2021-09-19 13:34:13 +0200 | <Sose> | 8.10.4 is not supported by the newest hls anymore |
2021-09-19 13:34:48 +0200 | <maerwald> | Sose: 8.10.7 is supported by HLS 1.4.0 |
2021-09-19 13:34:54 +0200 | <maerwald> | you probably have 1.3.0 installed |
2021-09-19 13:35:16 +0200 | <Sose> | oh okay, so I should just go for ghc 8.10.7 and hls 1.4.0 |
2021-09-19 13:35:35 +0200 | <Sose> | wanted to make sure because on my potato it takes forever to update |
2021-09-19 13:36:52 +0200 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) (Ping timeout: 252 seconds) |
2021-09-19 13:37:13 +0200 | <maerwald> | "hls-powered" is only wrt the currently installed and *set* version |
2021-09-19 13:37:16 +0200 | haykam2 | (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection) |
2021-09-19 13:37:25 +0200 | <Sose> | I see, that makes sense. Thanks |
2021-09-19 13:37:29 +0200 | haykam1 | (~haykam@static.100.2.21.65.clients.your-server.de) |
2021-09-19 13:41:36 +0200 | jtomas_ | (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) |
2021-09-19 13:44:40 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-19 13:45:21 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-09-19 13:46:22 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-19 13:47:05 +0200 | Vajb | (~Vajb@nbptnppvs5wp2vjps-2.v6.elisa-mobile.fi) |
2021-09-19 13:48:23 +0200 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-09-19 13:49:43 +0200 | jtomas_ | (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Remote host closed the connection) |
2021-09-19 13:50:06 +0200 | jtomas_ | (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) |
2021-09-19 13:53:56 +0200 | Vajb | (~Vajb@nbptnppvs5wp2vjps-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
2021-09-19 13:54:59 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-09-19 14:00:13 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-09-19 14:01:26 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-19 14:06:53 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
2021-09-19 14:07:56 +0200 | <sshine> | I learned something. |
2021-09-19 14:14:08 +0200 | neo1 | (~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 265 seconds) |
2021-09-19 14:18:48 +0200 | x28girl | (~x28girl@181.46.32.25) (Quit: Leaving) |
2021-09-19 14:19:49 +0200 | x28girl | (~x28girl@181.46.32.25) |
2021-09-19 14:19:55 +0200 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2021-09-19 14:21:04 +0200 | x28girl | (~x28girl@181.46.32.25) (Changing host) |
2021-09-19 14:21:04 +0200 | x28girl | (~x28girl@user/x28girl) |
2021-09-19 14:21:37 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-19 14:21:58 +0200 | Vajb | (~Vajb@nbptnppvs5wp2vjps-2.v6.elisa-mobile.fi) |
2021-09-19 14:23:45 +0200 | x28_girl | (~x28girl@user/x28girl) |
2021-09-19 14:24:10 +0200 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
2021-09-19 14:24:51 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) |
2021-09-19 14:25:24 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-09-19 14:26:17 +0200 | Vajb | (~Vajb@nbptnppvs5wp2vjps-2.v6.elisa-mobile.fi) (Ping timeout: 245 seconds) |
2021-09-19 14:27:10 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-09-19 14:27:14 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-09-19 14:29:10 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
2021-09-19 14:34:59 +0200 | Lycurgus | (~juan@98.4.112.204) |
2021-09-19 14:36:37 +0200 | cheater | (~Username@user/cheater) |
2021-09-19 14:49:36 +0200 | max22- | (~maxime@2a01cb08833598004251d0191641dba9.ipv6.abo.wanadoo.fr) |
2021-09-19 14:53:03 +0200 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2021-09-19 14:53:45 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-19 14:56:36 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-19 14:56:51 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Read error: Connection reset by peer) |
2021-09-19 14:57:18 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-19 14:57:40 +0200 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
2021-09-19 15:00:27 +0200 | spruit11 | (~quassel@2a02:a467:ccd6:1:6:b8f5:e5f3:4cce) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-09-19 15:03:41 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-19 15:05:33 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-09-19 15:10:53 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) |
2021-09-19 15:11:46 +0200 | jumper149 | (~jumper149@80.240.31.34) (Quit: WeeChat 3.2) |
2021-09-19 15:15:24 +0200 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) |
2021-09-19 15:15:38 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) (Ping timeout: 260 seconds) |
2021-09-19 15:16:18 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-09-19 15:19:34 +0200 | yinghua | (~yinghua@2800:2121:1400:1db:8865:3e5b:fd2e:180) |
2021-09-19 15:20:47 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Read error: Connection reset by peer) |
2021-09-19 15:21:15 +0200 | max22- | (~maxime@2a01cb08833598004251d0191641dba9.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
2021-09-19 15:21:28 +0200 | _xor | (~xor@74.215.232.67) (Quit: WeeChat 3.2) |
2021-09-19 15:25:36 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) |
2021-09-19 15:26:27 +0200 | _xor | (~xor@74.215.232.67) |
2021-09-19 15:26:36 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-19 15:27:39 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-19 15:30:30 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) (Ping timeout: 265 seconds) |
2021-09-19 15:31:27 +0200 | fendor | (~fendor@178.165.185.65.wireless.dyn.drei.com) |
2021-09-19 15:33:38 +0200 | max22- | (~maxime@2a01cb08833598007f19dd049ca78c46.ipv6.abo.wanadoo.fr) |
2021-09-19 15:45:44 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-09-19 15:47:01 +0200 | hendursa1 | (~weechat@user/hendursaga) (Quit: hendursa1) |
2021-09-19 15:47:27 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-09-19 15:47:32 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-19 15:48:01 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-09-19 15:49:05 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-19 15:49:35 +0200 | Vajb | (~Vajb@85-76-32-93-nat.elisa-mobile.fi) |
2021-09-19 15:50:42 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-09-19 15:54:11 +0200 | Vajb | (~Vajb@85-76-32-93-nat.elisa-mobile.fi) (Read error: Connection reset by peer) |
2021-09-19 15:54:38 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-09-19 15:56:18 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-09-19 15:57:56 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-19 15:58:12 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-09-19 15:59:21 +0200 | slac76507 | (~slack1256@191.126.227.79) (Ping timeout: 268 seconds) |
2021-09-19 16:00:31 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-19 16:03:18 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-19 16:03:54 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-09-19 16:05:03 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-09-19 16:05:55 +0200 | alx741 | (~alx741@186.178.108.187) (Ping timeout: 252 seconds) |
2021-09-19 16:08:50 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2021-09-19 16:08:53 +0200 | cheater1__ | (~Username@user/cheater) |
2021-09-19 16:08:56 +0200 | cheater1__ | cheater |
2021-09-19 16:17:09 +0200 | cawfee | (~root@2406:3003:2077:2758::babe) (Quit: macos update) |
2021-09-19 16:18:47 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) |
2021-09-19 16:20:14 +0200 | alx741 | (~alx741@186.178.109.159) |
2021-09-19 16:26:35 +0200 | chomwitt | (~chomwitt@2a02:587:dc15:500:12c3:7bff:fe6d:d374) (Ping timeout: 260 seconds) |
2021-09-19 16:28:51 +0200 | sheddow | (~sheddow@2001:4652:3064:0:855:8e28:191f:6ce6) (Ping timeout: 256 seconds) |
2021-09-19 16:30:03 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-19 16:30:59 +0200 | x28_girl | (~x28girl@user/x28girl) (Quit: Leaving) |
2021-09-19 16:40:38 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-09-19 16:48:13 +0200 | Guest|51 | (~Guest|51@177.221.250.155) |
2021-09-19 16:52:50 +0200 | cawfee | (~root@2406:3003:2077:2758::babe) |
2021-09-19 16:53:18 +0200 | Brumaire_ | (~quassel@81-64-14-121.rev.numericable.fr) |
2021-09-19 16:54:14 +0200 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) (Ping timeout: 268 seconds) |
2021-09-19 16:54:35 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 260 seconds) |
2021-09-19 16:55:17 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-19 16:55:17 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-19 16:55:17 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-19 16:55:52 +0200 | rond_ | (~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) (Quit: Client closed) |
2021-09-19 16:58:14 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-19 16:58:33 +0200 | Heffalump | (~ganesh@urchin.earth.li) |
2021-09-19 16:58:42 +0200 | Guest|51 | (~Guest|51@177.221.250.155) (Quit: Connection closed) |
2021-09-19 16:59:20 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-19 16:59:30 +0200 | Vajb | (~Vajb@2001:999:63:cb56:7735:f6b9:cd89:d4c7) |
2021-09-19 17:01:39 +0200 | <Heffalump> | Is there a current state of the art when it comes to dynamically loading Haskell? I've looked around a bit, there's plugins (quite old but appears to still build with recent GHCs), ghc-hotswap (doesn't support GHC > 8.4 out of the box) and hint (perhaps the most plausible but appears to have some significant gotchas?) |
2021-09-19 17:03:18 +0200 | chris | (~chris@81.96.113.213) |
2021-09-19 17:03:21 +0200 | chris | Guest6996 |
2021-09-19 17:03:36 +0200 | zer0bitz | (~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi) |
2021-09-19 17:04:19 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-09-19 17:04:20 +0200 | Vajb | (~Vajb@2001:999:63:cb56:7735:f6b9:cd89:d4c7) (Read error: Connection reset by peer) |
2021-09-19 17:05:22 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-09-19 17:05:44 +0200 | sheddow | (~sheddow@2001:4652:3064:0:855:8e28:191f:6ce6) |
2021-09-19 17:06:12 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-09-19 17:12:39 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) |
2021-09-19 17:16:53 +0200 | haask | (~harry@92.234.0.237) |
2021-09-19 17:17:20 +0200 | haask | (~harry@92.234.0.237) (Remote host closed the connection) |
2021-09-19 17:17:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) (Ping timeout: 268 seconds) |
2021-09-19 17:17:54 +0200 | <geekosaur> | I think all dynamic loading with Haskell has significant gotchas |
2021-09-19 17:19:19 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-19 17:23:38 +0200 | haask | (~harry@92.234.0.237) |
2021-09-19 17:23:57 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) |
2021-09-19 17:25:10 +0200 | haritz | (~hrtz@user/haritz) (Ping timeout: 240 seconds) |
2021-09-19 17:26:40 +0200 | Raito_Bezarius | (~Raito@2a01:e0a:5f9:9681:58c:8b9f:30df:bb6b) (Ping timeout: 260 seconds) |
2021-09-19 17:27:21 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) |
2021-09-19 17:31:43 +0200 | yauhsien | (~yauhsien@118-167-47-202.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-09-19 17:32:23 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-09-19 17:37:59 +0200 | wei2912 | (~wei2912@112.199.250.21) (Quit: Lost terminal) |
2021-09-19 17:38:54 +0200 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
2021-09-19 17:39:28 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) (Remote host closed the connection) |
2021-09-19 17:46:30 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) (Ping timeout: 260 seconds) |
2021-09-19 17:48:40 +0200 | zebrag | (~chris@user/zebrag) |
2021-09-19 17:53:30 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-09-19 17:54:42 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) |
2021-09-19 17:54:53 +0200 | xff0x | (~xff0x@2001:1a81:5327:1a00:7ba6:6c4f:f759:2f72) (Ping timeout: 268 seconds) |
2021-09-19 17:56:44 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2021-09-19 18:02:40 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-19 18:08:14 +0200 | haask | (~harry@92.234.0.237) (Remote host closed the connection) |
2021-09-19 18:10:05 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Ping timeout: 268 seconds) |
2021-09-19 18:10:37 +0200 | brettgilio | (~brettgili@x-node.gq) |
2021-09-19 18:13:00 +0200 | fresheyeball | (~fresheyeb@c-76-25-93-164.hsd1.co.comcast.net) |
2021-09-19 18:13:31 +0200 | __monty__ | (~toonn@user/toonn) |
2021-09-19 18:16:39 +0200 | xff0x | (~xff0x@2001:1a81:5327:1a00:7ba6:6c4f:f759:2f72) |
2021-09-19 18:17:22 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 252 seconds) |
2021-09-19 18:20:23 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2021-09-19 18:21:41 +0200 | Null_A | (~null_a@2601:645:8700:2290:6daa:6a79:97ab:557) |
2021-09-19 18:22:48 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2021-09-19 18:23:42 +0200 | fresheyeball | (~fresheyeb@c-76-25-93-164.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
2021-09-19 18:23:53 +0200 | reyaboj | (~reyaboj@103.69.150.85) (Ping timeout: 256 seconds) |
2021-09-19 18:24:30 +0200 | Guest70 | (~Guest70@2603-7081-2d42-d2dd-9c58-6b19-d92a-1e33.res6.spectrum.com) |
2021-09-19 18:26:14 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) (Remote host closed the connection) |
2021-09-19 18:26:38 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) |
2021-09-19 18:26:42 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) |
2021-09-19 18:27:08 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-09-19 18:27:46 +0200 | hnOsmium0001 | (uid453710@id-453710.hampstead.irccloud.com) |
2021-09-19 18:28:46 +0200 | jespada | (~jespada@2803:9800:9842:7a62:e945:15a6:5467:94f6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-09-19 18:29:39 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-09-19 18:40:47 +0200 | Guest6996 | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-09-19 18:43:02 +0200 | econo | (uid147250@user/econo) |
2021-09-19 18:48:35 +0200 | alzgh | (~alzgh@user/alzgh) |
2021-09-19 18:49:13 +0200 | psilospore | (uid517704@id-517704.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-09-19 18:49:19 +0200 | <alzgh> | hello, which channel is more suited if one has question about making PRs to the GHC repo? |
2021-09-19 18:49:59 +0200 | <monochrom> | Perhaps #ghc |
2021-09-19 18:50:19 +0200 | <alzgh> | OK, thanks monochrom |
2021-09-19 18:52:18 +0200 | jonatan_ | (~nate@h85-8-60-194.cust.a3fiber.se) |
2021-09-19 18:52:18 +0200 | jonatan_ | (~nate@h85-8-60-194.cust.a3fiber.se) (Client Quit) |
2021-09-19 19:01:02 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) (Ping timeout: 260 seconds) |
2021-09-19 19:05:42 +0200 | <sm> | Heffalump: clckwrks uses https://hackage.haskell.org/package/web-plugins |
2021-09-19 19:05:48 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-09-19 19:09:10 +0200 | qbt | (~edun@user/edun) (Ping timeout: 252 seconds) |
2021-09-19 19:10:31 +0200 | OscarZ | (~oscarz@95.175.104.70) (Quit: Leaving) |
2021-09-19 19:12:07 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:7169:b08e:8733:ef08) |
2021-09-19 19:16:30 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-19 19:21:24 +0200 | Lewky | (~Lewky@146.70.50.74) |
2021-09-19 19:29:37 +0200 | sneedsfeed | (~sneedsfee@rrcs-173-95-122-169.midsouth.biz.rr.com) (Ping timeout: 256 seconds) |
2021-09-19 19:32:32 +0200 | qbt | (~edun@user/edun) |
2021-09-19 19:37:12 +0200 | Guest70 | (~Guest70@2603-7081-2d42-d2dd-9c58-6b19-d92a-1e33.res6.spectrum.com) (Quit: Client closed) |
2021-09-19 19:39:48 +0200 | jespada | (~jespada@2803:9800:9842:7a62:edd5:5e74:3ec2:1b19) |
2021-09-19 19:43:32 +0200 | Izem | (~Izem@bras-base-london1483w-grc-31-74-12-158-179.dsl.bell.ca) |
2021-09-19 19:44:07 +0200 | <Izem> | In haskell, you don't need the notion of a pipe because you can curry functions right? |
2021-09-19 19:44:36 +0200 | <Rembane> | Izem: assume that that is true, why is it true? |
2021-09-19 19:47:17 +0200 | <Izem> | I dunno, sorry |
2021-09-19 19:47:40 +0200 | <Rembane> | Okay, what's a pipe in this context? |
2021-09-19 19:47:58 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-19 19:50:00 +0200 | euandreh_ | (~euandreh@2804:14c:33:9fe5:b7ad:e92:1630:34c7) |
2021-09-19 19:50:20 +0200 | <Izem> | similar to a unix pipe, so you can compose functions like so [1 2 3 4 5] | odd | sum would result in 1 + 3 + 5 = 9 |
2021-09-19 19:50:21 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-19 19:51:54 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:3ad2:6f9d:50ec:2663) (Ping timeout: 260 seconds) |
2021-09-19 19:54:42 +0200 | <Sose> | I think in Haskell people tend to use function composition more rather than piping. So they'd write something like `(sum . filter odd) [1,2,3,4,5]` instead of `[1,2,3,4,5] & filter odd & sum` |
2021-09-19 19:55:37 +0200 | <Sose> | but there is a pipe operator like that (&) in Data.Function |
2021-09-19 19:56:08 +0200 | <Izem> | oh ok, that's cool |
2021-09-19 19:56:47 +0200 | <Izem> | I suspected that was the case but I wasn't sure |
2021-09-19 19:56:59 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-09-19 19:57:21 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Client Quit) |
2021-09-19 19:58:37 +0200 | <awpr> | note it's not specific to lists or sequences, though: it's just applying each function in order. the streaming behavior comes from the list type along with the particular functions being used |
2021-09-19 19:58:55 +0200 | <awpr> | > 5 & subtract 2 & show |
2021-09-19 19:58:56 +0200 | <lambdabot> | "3" |
2021-09-19 20:00:30 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-19 20:02:22 +0200 | <Sose> | to be honest the idea of piping and going in order from left-to-right or top-to-bottom feels a bit more natural to me. I also write Clojure sometimes and there the threading macros (->, ->>) are used a lot |
2021-09-19 20:04:00 +0200 | <awpr> | Haskell needs backwards lambda syntax to go with the reverse bind operator: `Just (x + 1) <- x/ =<< Nothing` |
2021-09-19 20:05:20 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
2021-09-19 20:05:39 +0200 | <hpc> | just start your file with the unicode RTL override character |
2021-09-19 20:05:49 +0200 | neurocyte01 | (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
2021-09-19 20:06:07 +0200 | <awpr> | ... now I'm curious to see what that would do |
2021-09-19 20:06:53 +0200 | <awpr> | lol, it corrupts the page describing it https://unicode-table.com/en/202E/ |
2021-09-19 20:09:10 +0200 | <Sose> | that's funny :D |
2021-09-19 20:09:17 +0200 | <awpr> | https://paste.tomsmeding.com/Rif2xq25 |
2021-09-19 20:09:57 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-19 20:11:41 +0200 | Null_A | (~null_a@2601:645:8700:2290:6daa:6a79:97ab:557) (Remote host closed the connection) |
2021-09-19 20:12:14 +0200 | Null_A | (~null_a@2601:645:8700:2290:6daa:6a79:97ab:557) |
2021-09-19 20:13:01 +0200 | <awpr> | https://paste.tomsmeding.com/wpEt1pg6 even better |
2021-09-19 20:18:28 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-19 20:21:05 +0200 | cheater | (~Username@user/cheater) |
2021-09-19 20:22:45 +0200 | <Cajun> | piping gets great when you start using conduits for data processing, which is constant space and quite fast (it also fuses very well iirc) |
2021-09-19 20:24:12 +0200 | max22- | (~maxime@2a01cb08833598007f19dd049ca78c46.ipv6.abo.wanadoo.fr) (Ping timeout: 245 seconds) |
2021-09-19 20:24:31 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-19 20:25:59 +0200 | Guest1 | (~Guest1@2603-7081-2d42-d2dd-9c58-6b19-d92a-1e33.res6.spectrum.com) |
2021-09-19 20:29:18 +0200 | Everything | (~Everythin@37.115.210.35) |
2021-09-19 20:31:57 +0200 | solomon | (~solomon@cpe-76-168-7-139.socal.res.rr.com) (Ping timeout: 256 seconds) |
2021-09-19 20:32:51 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:7169:b08e:8733:ef08) (Remote host closed the connection) |
2021-09-19 20:33:08 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:b7cd:5acf:16a8:ebad) |
2021-09-19 20:33:18 +0200 | Null_A | (~null_a@2601:645:8700:2290:6daa:6a79:97ab:557) (Remote host closed the connection) |
2021-09-19 20:35:37 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:b7cd:5acf:16a8:ebad) (Remote host closed the connection) |
2021-09-19 20:35:54 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:8e90:f10c:b724:9a0a) |
2021-09-19 20:40:36 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) (Remote host closed the connection) |
2021-09-19 20:40:41 +0200 | Sose | (~Sose@mobile-access-6df047-213.dhcp.inet.fi) (Quit: Client closed) |
2021-09-19 20:41:26 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) |
2021-09-19 20:42:24 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2021-09-19 20:44:23 +0200 | Brumaire_ | (~quassel@81-64-14-121.rev.numericable.fr) (Quit: ran away) |
2021-09-19 20:50:53 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:8e90:f10c:b724:9a0a) (Remote host closed the connection) |
2021-09-19 20:51:10 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:89c:c105:9071:1b0f) |
2021-09-19 20:53:31 +0200 | adamse | (sid72084@user/adamse) () |
2021-09-19 20:55:38 +0200 | Guest1 | (~Guest1@2603-7081-2d42-d2dd-9c58-6b19-d92a-1e33.res6.spectrum.com) (Quit: Client closed) |
2021-09-19 20:55:58 +0200 | x28girl | (~x28girl@user/x28girl) (Ping timeout: 268 seconds) |
2021-09-19 20:57:14 +0200 | jumper149 | (~jumper149@80.240.31.34) (Ping timeout: 260 seconds) |
2021-09-19 20:58:34 +0200 | max22- | (~maxime@2a01cb088335980099348db52b55749a.ipv6.abo.wanadoo.fr) |
2021-09-19 21:00:17 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-09-19 21:00:40 +0200 | __monty__ | (~toonn@user/toonn) (Ping timeout: 252 seconds) |
2021-09-19 21:03:10 +0200 | tommd | (~tommd@75-164-130-101.ptld.qwest.net) |
2021-09-19 21:03:38 +0200 | tfeb | (~tfb@88.98.95.237) |
2021-09-19 21:04:14 +0200 | __monty__ | (~toonn@user/toonn) |
2021-09-19 21:05:53 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) |
2021-09-19 21:06:03 +0200 | x28girl | (~x28girl@user/x28girl) |
2021-09-19 21:08:29 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Read error: Connection reset by peer) |
2021-09-19 21:08:35 +0200 | mikoto-c1 | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-19 21:09:45 +0200 | <maerwald> | how do you parse the version of a cabal file? |
2021-09-19 21:09:46 +0200 | kuribas | (~user@ptr-25vy0i7z6miqkyi8626.18120a2.ip6.access.telenet.be) |
2021-09-19 21:11:33 +0200 | <sclv> | maerwald: here's a script that as of a few years ago worked fine, as a simple example |
2021-09-19 21:11:33 +0200 | <sclv> | https://github.com/haskell/cabal/issues/2460#issuecomment-373895722 |
2021-09-19 21:11:53 +0200 | <sclv> | anyway the main point is parsePackageDescrition is the entry point iirc |
2021-09-19 21:11:56 +0200 | <maerwald> | excellent |
2021-09-19 21:16:17 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-19 21:16:27 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-09-19 21:18:58 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-09-19 21:19:09 +0200 | mikoto-c1 | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-c1) |
2021-09-19 21:19:21 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-19 21:20:37 +0200 | Lycurgus | (~juan@98.4.112.204) (Quit: Exeunt) |
2021-09-19 21:22:54 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-09-19 21:23:11 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit) |
2021-09-19 21:27:53 +0200 | dsrt^ | (~dsrt@68.101.54.227) (Remote host closed the connection) |
2021-09-19 21:31:04 +0200 | fendor | (~fendor@178.165.185.65.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-09-19 21:31:54 +0200 | tfeb | (~tfb@88.98.95.237) (Remote host closed the connection) |
2021-09-19 21:32:20 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-09-19 21:33:42 +0200 | Everything | (~Everythin@37.115.210.35) (Quit: leaving) |
2021-09-19 21:36:35 +0200 | gioyik | (~gioyik@gateway/tor-sasl/gioyik) |
2021-09-19 21:38:14 +0200 | Pickchea | (~private@user/pickchea) |
2021-09-19 21:41:29 +0200 | solomon | (~solomon@cpe-76-168-7-139.socal.res.rr.com) |
2021-09-19 21:41:55 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
2021-09-19 21:42:35 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) (Remote host closed the connection) |
2021-09-19 21:42:58 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) |
2021-09-19 21:48:35 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) (Ping timeout: 260 seconds) |
2021-09-19 21:49:56 +0200 | jstolarek | (~jstolarek@ers4.neoplus.adsl.tpnet.pl) |
2021-09-19 21:51:48 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) |
2021-09-19 21:51:59 +0200 | _xor | (~xor@74.215.232.67) (Quit: brb) |
2021-09-19 21:52:57 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-09-19 21:56:50 +0200 | Guest29 | (~Guest29@93-172-101-61.bb.netvision.net.il) |
2021-09-19 21:56:58 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) (Ping timeout: 260 seconds) |
2021-09-19 22:00:40 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds) |
2021-09-19 22:02:38 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-19 22:03:00 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija) |
2021-09-19 22:05:16 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Client Quit) |
2021-09-19 22:07:56 +0200 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2021-09-19 22:09:07 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-09-19 22:09:59 +0200 | mikoto-chan | (~mikoto-ch@83.137.2.246) |
2021-09-19 22:10:34 +0200 | Izem | (~Izem@bras-base-london1483w-grc-31-74-12-158-179.dsl.bell.ca) (Ping timeout: 252 seconds) |
2021-09-19 22:12:16 +0200 | Topsi | (~Tobias@dyndsl-095-033-025-122.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2021-09-19 22:12:19 +0200 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
2021-09-19 22:12:52 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) |
2021-09-19 22:13:01 +0200 | mikoto-chan | (~mikoto-ch@83.137.2.246) (Client Quit) |
2021-09-19 22:13:42 +0200 | Izem | (~Izem@bras-base-london1483w-grc-31-74-12-158-179.dsl.bell.ca) |
2021-09-19 22:13:57 +0200 | Guest29 | (~Guest29@93-172-101-61.bb.netvision.net.il) (Ping timeout: 256 seconds) |
2021-09-19 22:17:11 +0200 | chomwitt | (~chomwitt@ppp-94-67-1-143.home.otenet.gr) |
2021-09-19 22:17:32 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-09-19 22:20:31 +0200 | oxide | (~lambda@user/oxide) (Quit: oxide) |
2021-09-19 22:20:34 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-19 22:23:07 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-19 22:25:12 +0200 | Guest1 | (~Guest1@2603-7081-2d42-d2dd-9c58-6b19-d92a-1e33.res6.spectrum.com) |
2021-09-19 22:25:59 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-09-19 22:28:42 +0200 | qbt | (~edun@user/edun) (Ping timeout: 260 seconds) |
2021-09-19 22:32:25 +0200 | zer0bitz | (~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-19 22:34:16 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) (Remote host closed the connection) |
2021-09-19 22:34:36 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-09-19 22:36:38 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-09-19 22:37:16 +0200 | x28girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2021-09-19 22:37:53 +0200 | x28girl | (~x28girl@user/x28girl) |
2021-09-19 22:39:14 +0200 | <Heffalump> | sm: thanks |
2021-09-19 22:40:53 +0200 | pavonia | (~user@user/siracusa) |
2021-09-19 22:41:32 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-09-19 22:43:07 +0200 | solomon | (~solomon@cpe-76-168-7-139.socal.res.rr.com) (Quit: Client closed) |
2021-09-19 22:43:34 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2021-09-19 22:44:59 +0200 | <Heffalump> | sm: hmm, I don't see anything to dynamically load the actual Haskell code though |
2021-09-19 22:45:35 +0200 | mikoto-chan | (~mikoto-ch@83.137.2.246) |
2021-09-19 22:49:53 +0200 | mikoto-chan | (~mikoto-ch@83.137.2.246) (Client Quit) |
2021-09-19 22:50:54 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:283f:384b:ba74:f15c) |
2021-09-19 22:54:40 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-19 22:56:38 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-19 23:00:11 +0200 | wroathe | (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) |
2021-09-19 23:00:11 +0200 | wroathe | (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Changing host) |
2021-09-19 23:00:11 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-19 23:01:16 +0200 | Guest1 | (~Guest1@2603-7081-2d42-d2dd-9c58-6b19-d92a-1e33.res6.spectrum.com) (Quit: Client closed) |
2021-09-19 23:01:47 +0200 | jumper149 | (~jumper149@80.240.31.34) (Quit: WeeChat 3.2.1) |
2021-09-19 23:02:06 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) (Remote host closed the connection) |
2021-09-19 23:02:25 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) |
2021-09-19 23:02:40 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-09-19 23:03:55 +0200 | <Izem> | It seems like a data constructor can only appear on the rhs of an equation, is that true? |
2021-09-19 23:04:41 +0200 | <geekosaur> | > let Just x = Just 5 in x |
2021-09-19 23:04:42 +0200 | <lambdabot> | 5 |
2021-09-19 23:06:17 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds) |
2021-09-19 23:06:48 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-09-19 23:07:09 +0200 | <Cajun> | thats just a lhs pattern match though right? |
2021-09-19 23:07:30 +0200 | <Cajun> | > let Just x = (Nothing :: Maybe Int) in x |
2021-09-19 23:07:32 +0200 | <lambdabot> | *Exception: <interactive>:3:5-35: Non-exhaustive patterns in Just x |
2021-09-19 23:07:41 +0200 | <geekosaur> | yes. I'm not exactly sure what Izem is asking about though |
2021-09-19 23:07:50 +0200 | <geekosaur> | perhaps an example of what you mean? |
2021-09-19 23:08:48 +0200 | <Izem> | I don't know, I'm just reading the introduction to haskell |
2021-09-19 23:09:25 +0200 | <hpc> | Izem: there are patterns and there are expressions |
2021-09-19 23:09:27 +0200 | <geekosaur> | wonder which introduction. also wonder if perhaps you're misunderstanding how data declarations work |
2021-09-19 23:09:38 +0200 | <hpc> | in geekosaur's example, "Just x" is a pattern and "Just 5" is an expression |
2021-09-19 23:09:43 +0200 | <geekosaur> | the type constructor is to the left of the =, the data constructors to the right |
2021-09-19 23:09:52 +0200 | <Izem> | gentle introduction to haskell 98 |
2021-09-19 23:19:39 +0200 | Izem | (~Izem@bras-base-london1483w-grc-31-74-12-158-179.dsl.bell.ca) (Ping timeout: 268 seconds) |
2021-09-19 23:22:09 +0200 | chomwitt | (~chomwitt@ppp-94-67-1-143.home.otenet.gr) (Remote host closed the connection) |
2021-09-19 23:22:24 +0200 | <geekosaur> | ok, I think whatyou have misunderstood here is the difference between patterns and expressions |
2021-09-19 23:22:54 +0200 | <geekosaur> | although if you can point to a specific part of the Gentle Introduction (which admittedly isn't as gentle as it might be), that would help |
2021-09-19 23:23:22 +0200 | <geekosaur> | I found the Gentle Introduction much easier to understand with some SML/NJ knowledge under mybelt |
2021-09-19 23:23:28 +0200 | <Cajun> | (how different is hs98 from hs2010?) |
2021-09-19 23:23:35 +0200 | <geekosaur> | not very |
2021-09-19 23:24:01 +0200 | <geekosaur> | datatype contexts went away, a few small things (pattern guards, I think?) were added |
2021-09-19 23:24:31 +0200 | <tabemann> | strictly speaking hs98 proper didn't have nested modules |
2021-09-19 23:25:01 +0200 | <geekosaur> | ghc's dialect is noticeably different but it can't really implement proper haskell98 any more as a result (differences in Num and Monad come to mind) |
2021-09-19 23:25:31 +0200 | <tabemann> | few people use "real" HS98 though in practice |
2021-09-19 23:25:48 +0200 | <Cajun> | i know the (n+k) patterns vanished, but arent those in a language extension? |
2021-09-19 23:26:09 +0200 | <geekosaur> | yes |
2021-09-19 23:26:25 +0200 | <geekosaur> | oh right, that too. with all the problems that made them go away |
2021-09-19 23:26:35 +0200 | <geekosaur> | (they're partial) |
2021-09-19 23:27:08 +0200 | <awpr> | partial as in attempting to match them sometimes errors? or partial as in they don't match all values? |
2021-09-19 23:27:37 +0200 | <geekosaur> | they don't match all values and it's painful to write a pattern using n+k that does, iirc |
2021-09-19 23:28:02 +0200 | tommd | (~tommd@75-164-130-101.ptld.qwest.net) (Ping timeout: 265 seconds) |
2021-09-19 23:28:59 +0200 | <awpr> | .. |
2021-09-19 23:29:24 +0200 | <awpr> | oops, my tiny brain can't handle having a VM with focus-follows-mouse and a host OS with click-to-focus :/ |
2021-09-19 23:30:12 +0200 | fawful | (~guy@c-76-104-217-93.hsd1.wa.comcast.net) |
2021-09-19 23:31:05 +0200 | _xor | (~xor@74.215.232.67) |
2021-09-19 23:31:46 +0200 | michalz | (~michalz@185.246.204.57) |
2021-09-19 23:32:02 +0200 | <Cajun> | focus follows mouse sounds very annoying |
2021-09-19 23:32:26 +0200 | <ldlework> | have any of you seen the js debate around pipeline operator proposal |
2021-09-19 23:32:40 +0200 | <Cajun> | js drama? sounds entertaining |
2021-09-19 23:32:52 +0200 | michalz | (~michalz@185.246.204.57) (Remote host closed the connection) |
2021-09-19 23:33:02 +0200 | <geekosaur> | focus follows mouse is kinda traditional unix |
2021-09-19 23:33:13 +0200 | <geekosaur> | although I admit I've never liked it |
2021-09-19 23:33:25 +0200 | <ldlework> | they are debating between an F# style algebraic operator, and a "Hack" style where the lhs is bound to ^ in a rhs expression |
2021-09-19 23:33:43 +0200 | <ldlework> | it looks like the "Hack" style version will win, and fp programmers are lamenting |
2021-09-19 23:33:50 +0200 | <geekosaur> | urgh |
2021-09-19 23:34:01 +0200 | <geekosaur> | yet another reason to avoid JS |
2021-09-19 23:34:30 +0200 | max22- | (~maxime@2a01cb088335980099348db52b55749a.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
2021-09-19 23:34:41 +0200 | <Cajun> | focus follows mouse sounds especially infuriating if a primary monitor is at non-native res and youre trying to scroll through a document on the second monitor without having the primary switch back to native res (this happens to me a lot) |
2021-09-19 23:35:02 +0200 | <ldlework> | focus follows mouse is most frustrating when there is a popup floating window in the middle of the screen |
2021-09-19 23:35:10 +0200 | michalz | (~michalz@185.246.204.57) |
2021-09-19 23:35:18 +0200 | <ldlework> | but you can't interact with it, because it gets sent to the back as the tiled windows behind it take focus as you move the mouse |
2021-09-19 23:35:19 +0200 | <geekosaur> | Izem, are you still there? |
2021-09-19 23:35:26 +0200 | <ldlework> | Amethyst on OSX has this problem |
2021-09-19 23:35:41 +0200 | <awpr> | focus doesn't have to mean raise |
2021-09-19 23:35:54 +0200 | jstolarek | (~jstolarek@ers4.neoplus.adsl.tpnet.pl) (Ping timeout: 268 seconds) |
2021-09-19 23:35:54 +0200 | <ldlework> | yeah but on OSX that's what it means |
2021-09-19 23:36:02 +0200 | <awpr> | that does sound pretty broken |
2021-09-19 23:36:06 +0200 | <ldlework> | it is lol |
2021-09-19 23:36:30 +0200 | <geekosaur> | yeh, traditional unix style does not raise |
2021-09-19 23:36:40 +0200 | <ldlework> | maybe there's an OSX option somewhere but i didn't bother to look |
2021-09-19 23:37:24 +0200 | Chai-T-Rex | (~ChaiTRex@user/chaitrex) (Ping timeout: 276 seconds) |
2021-09-19 23:38:18 +0200 | <ldlework> | i kinda wonder if you haskell folk looked at the hack style operator and could give an analysis that was optimistic |
2021-09-19 23:38:37 +0200 | <ldlework> | like maybe "in a way" the hack operator will still allow all the things a normal pipeline operator would, etc |
2021-09-19 23:38:40 +0200 | <ldlework> | in some grander technical sense |
2021-09-19 23:38:58 +0200 | Chai-T-Rex | (~ChaiTRex@user/chaitrex) |
2021-09-19 23:40:03 +0200 | <awpr> | only looked at it for a minute or so just now, but it kinda just looks like a single-use concise lambda syntax? |
2021-09-19 23:40:37 +0200 | <awpr> | except with its application baked into it, so more like a weird let-in syntax |
2021-09-19 23:40:51 +0200 | <ldlework> | lhs is bound to ^ in rhs expression |
2021-09-19 23:40:55 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-09-19 23:41:17 +0200 | <awpr> | the proposal I'm reading says $, but otherwise that sounds like what I read |
2021-09-19 23:41:27 +0200 | <ldlework> | yeah there were debates over the token |
2021-09-19 23:42:02 +0200 | <awpr> | ah, okay, I see a bunch of variations. I guess they don't want to shadow jQuery. |
2021-09-19 23:42:15 +0200 | <ldlework> | XD |
2021-09-19 23:42:34 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-19 23:42:36 +0200 | <awpr> | people occasionally want something like that in Haskell so that e.g. `(x + _ + y) :: Num a => a -> a` |
2021-09-19 23:43:54 +0200 | <awpr> | in general it's harder to figure out what the boundaries of such a lambda-ish thing would be, but maybe the JS case being fused into pipeline syntax would make it easy: "the whole expression between two pipeline operators or the start/end of statement" |
2021-09-19 23:44:15 +0200 | <Cajun> | jquery is what i hated most about JS, its basically a must have if you want to do anything real with the language |
2021-09-19 23:44:25 +0200 | natechan | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-09-19 23:45:20 +0200 | cjb | (~cjbayliss@user/cjb) |
2021-09-19 23:45:45 +0200 | <ldlework> | Cajun: not anymore, we have the ability to do `const t = (msg, handle) => <button onClick={handle}>{msg}</button>` and stuff now |
2021-09-19 23:46:06 +0200 | <Cajun> | oh sweet, thats really nice |
2021-09-19 23:50:38 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-19 23:52:23 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2021-09-19 23:52:35 +0200 | michalz | (~michalz@185.246.204.57) (Remote host closed the connection) |
2021-09-19 23:53:09 +0200 | <seydar> | in the definition of System.IO's readFile, the handle is opened but never seems to be closed. am i missing something? |
2021-09-19 23:54:03 +0200 | <geekosaur> | readFile uses lazy I/O. the Handle is created in the background, as it were, and will eventually be garbage collected |
2021-09-19 23:54:07 +0200 | <awpr> | probably relies on a GC finalizer to close it |
2021-09-19 23:54:14 +0200 | <geekosaur> | if you need more control than that, use openFile |
2021-09-19 23:54:25 +0200 | <seydar> | awesome, thank you both |
2021-09-19 23:54:45 +0200 | michalz | (~michalz@185.246.204.61) |
2021-09-19 23:55:10 +0200 | <awpr> | GHC runtime has support for associating callbacks with an object that will be run when it's collected. it's okay for extra protection against leaking resources, but usually explicit closes + `bracket` (or a `withX` function) are preferred |
2021-09-19 23:55:11 +0200 | michalz | (~michalz@185.246.204.61) (Remote host closed the connection) |
2021-09-19 23:57:04 +0200 | Izem | (~Izem@bras-base-london1483w-grc-31-74-12-158-179.dsl.bell.ca) |
2021-09-19 23:57:16 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Client Quit) |
2021-09-19 23:57:29 +0200 | deejaytee | (~deejaytee@vpn-fn-228.net.ed.ac.uk) (Ping timeout: 268 seconds) |