Logs: freenode/#haskell
| 2021-04-24 22:40:20 | → | enya[m] joins (enyaismatr@gateway/shell/matrix.org/x-tiqrdgjeclxgzeks) |
| 2021-04-24 22:40:20 | → | chrisbloecker[m] joins (chrisbloec@gateway/shell/matrix.org/x-euopytpqbubrcmee) |
| 2021-04-24 22:40:20 | → | madjestic[m] joins (madjesticm@gateway/shell/matrix.org/x-ehkjptotgnzgtmaa) |
| 2021-04-24 22:40:21 | → | amerocu[m] joins (amerocumat@gateway/shell/matrix.org/x-lgzdzpwicyowkqyo) |
| 2021-04-24 22:40:21 | → | M9ndres[m] joins (m9ndresmat@gateway/shell/matrix.org/x-jiakppfxdqdpuzei) |
| 2021-04-24 22:40:21 | → | mat[m]1 joins (matmatrixo@gateway/shell/matrix.org/x-csjmbfnvgoldjcwp) |
| 2021-04-24 22:40:22 | → | stevekrouse1[m] joins (stevekrous@gateway/shell/matrix.org/x-diqtyyqdotuluztd) |
| 2021-04-24 22:40:22 | → | jo[m]4 joins (josefmat1@gateway/shell/matrix.org/x-cemxneuvlpmikuqo) |
| 2021-04-24 22:40:22 | → | Poyo[m] joins (stikynotha@gateway/shell/matrix.org/x-haknbvkyasqevnme) |
| 2021-04-24 22:40:22 | → | jchia[m] joins (jchiamatri@gateway/shell/matrix.org/x-fgjdezivvdirebvi) |
| 2021-04-24 22:40:22 | → | kiix joins (ashleyisnu@gateway/shell/matrix.org/x-hdlishqxfgvrxtgg) |
| 2021-04-24 22:40:22 | → | ManofLetters[m] joins (manoflette@gateway/shell/matrix.org/x-hjfwnbryqgidayrf) |
| 2021-04-24 22:40:23 | → | viktorstrate[m] joins (viktorstra@gateway/shell/matrix.org/x-czyyskmsfdtcncgz) |
| 2021-04-24 22:40:23 | → | alar[m] joins (alarmxalat@gateway/shell/matrix.org/x-wsbjvskmyurbviic) |
| 2021-04-24 22:40:23 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 2021-04-24 22:40:24 | → | fox[m]1 joins (foxforestf@gateway/shell/matrix.org/x-ktrnqcmqwewsriyn) |
| 2021-04-24 22:42:46 | → | bitmagie joins (~Thunderbi@200116b806e24c00585f6c775438f3bb.dip.versatel-1u1.de) |
| 2021-04-24 22:44:17 | × | son0p quits (~ff@181.136.122.143) (Quit: Using Circe, the loveliest of all IRC clients) |
| 2021-04-24 22:44:23 | → | tsaka_ joins (~torstein@athedsl-4519432.home.otenet.gr) |
| 2021-04-24 22:44:28 | → | seven_three joins (~user@pool-96-233-64-53.bstnma.fios.verizon.net) |
| 2021-04-24 22:44:50 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds) |
| 2021-04-24 22:48:16 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
| 2021-04-24 22:50:00 | × | xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Quit: Textual IRC Client: www.textualapp.com) |
| 2021-04-24 22:52:00 | <seven_three> | say I have a datatype like: `data foo = Foo String`. Is it possible to put a constraint on the constructor `Foo` so that it will only accept Strings of say length 2. I would like my constructor to give me some sort of guarantee about what type of values it was constructed with so I don't need to deal with erroneous special cases in all my functions. |
| 2021-04-24 22:54:28 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-04-24 22:55:02 | × | waleee-cl quits (uid373333@gateway/web/irccloud.com/x-aszvauytsypzjzxi) () |
| 2021-04-24 22:57:58 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 2021-04-24 22:59:03 | <jollygood2> | seven_three, sort of.. don't export Foo constructor, and create your own constructor mkFoo :: Char -> Char -> Foo, or maybe mkChar :: [Char] -> Maybe Foo |
| 2021-04-24 22:59:11 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 2021-04-24 22:59:15 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds) |
| 2021-04-24 22:59:31 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
| 2021-04-24 22:59:47 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds) |
| 2021-04-24 23:01:40 | <seven_three> | jollygood2: oh ok this will work in my case. |
| 2021-04-24 23:02:22 | → | waleee-cl joins (uid373333@gateway/web/irccloud.com/x-xxnfubjbiyrpdold) |
| 2021-04-24 23:04:13 | × | __minoru__shirae quits (~shiraeesh@77.94.25.113) (Ping timeout: 252 seconds) |
| 2021-04-24 23:04:43 | → | ep1ctetus joins (~epictetus@ip72-194-54-201.sb.sd.cox.net) |
| 2021-04-24 23:05:04 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 2021-04-24 23:05:05 | <gnumonic> | seven three: depending on how important it is that Foo have a certain length, you can use singletons to enforce the constraint (but it's somewhat complicated) |
| 2021-04-24 23:08:30 | → | DTZUZU_ joins (~DTZUZO@207.81.119.43) |
| 2021-04-24 23:09:26 | × | Guest1810 quits (~sam@modemcable229.128-202-24.mc.videotron.ca) (Quit: WeeChat 2.8) |
| 2021-04-24 23:09:44 | → | mozzarella joins (~sam@unaffiliated/sam113101) |
| 2021-04-24 23:10:49 | × | DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 252 seconds) |
| 2021-04-24 23:11:12 | → | nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) |
| 2021-04-24 23:11:42 | <seven_three> | gnumonic: it is very important. If there were ever a Foo with a string length other than 2 then the whole program explodes. Would a singleton enforce that a Foo with String length 3 could never exist? |
| 2021-04-24 23:11:56 | → | stree joins (~stree@68.36.8.116) |
| 2021-04-24 23:13:10 | × | Guest12937 quits (sid257727@gateway/web/irccloud.com/x-jyhuuhwowyhbtbjx) () |
| 2021-04-24 23:13:30 | → | Guest12937 joins (sid257727@gateway/web/irccloud.com/x-stehltcudmdullfn) |
| 2021-04-24 23:13:36 | × | Guest12937 quits (sid257727@gateway/web/irccloud.com/x-stehltcudmdullfn) (Client Quit) |
| 2021-04-24 23:14:18 | → | pony joins (sid257727@gateway/web/irccloud.com/x-sasxvsyktodjxrrs) |
| 2021-04-24 23:14:33 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2021-04-24 23:14:54 | <gnumonic> | yeah, you bake the length of the list into the type system so that it's impossible for the program to compile at all if the condition can be violated. but it uses a lot of obscure type level magic. |
| 2021-04-24 23:15:26 | <gnumonic> | i am trying to copy and paste a link to a guide but for some reason my clipboard is broken on fedora -_- |
| 2021-04-24 23:16:38 | <gnumonic> | https://blog.jle.im/entry/fixed-length-vector-types-in-haskell.html hopefully i typed that right |
| 2021-04-24 23:17:03 | <seven_three> | you typed it right. I will read this. |
| 2021-04-24 23:20:10 | → | ddellacosta joins (~ddellacos@86.106.143.100) |
| 2021-04-24 23:23:26 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-04-24 23:23:34 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
| 2021-04-24 23:25:13 | × | elvishjerricco quits (sid237756@NixOS/user/ElvishJerricco) () |
| 2021-04-24 23:25:40 | × | ddellacosta quits (~ddellacos@86.106.143.100) (Ping timeout: 252 seconds) |
| 2021-04-24 23:28:51 | × | P1RATEZ quits (piratez@unaffiliated/p1ratez) () |
| 2021-04-24 23:31:30 | → | usr25_tm joins (~usr25@unaffiliated/usr25) |
| 2021-04-24 23:31:40 | × | shailangsa quits (~shailangs@host86-185-58-137.range86-185.btcentralplus.com) () |
| 2021-04-24 23:34:47 | × | dmytrish quits (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) (Ping timeout: 260 seconds) |
| 2021-04-24 23:34:59 | × | usr25 quits (~usr25@unaffiliated/usr25) (Ping timeout: 245 seconds) |
| 2021-04-24 23:35:04 | <shapr> | Is this a place I can ask for Haskell code review? I'm okay with what I have in https://github.com/shapr/takedouble/ but I'd like to hear any suggestions for improvement? |
| 2021-04-24 23:35:33 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-04-24 23:36:53 | × | HannaM quits (~quassel@p54849510.dip0.t-ipconnect.de) (Quit: https://www.oglaf.com/vorpalblade/) |
| 2021-04-24 23:39:11 | → | DTZUZU joins (~DTZUZO@205.ip-149-56-132.net) |
| 2021-04-24 23:39:57 | × | zva quits (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
| 2021-04-24 23:40:02 | × | jollygood2 quits (~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/) |
| 2021-04-24 23:41:41 | × | DTZUZU_ quits (~DTZUZO@207.81.119.43) (Ping timeout: 240 seconds) |
| 2021-04-24 23:45:14 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 2021-04-24 23:46:19 | → | haya joins (~haya@ec2-18-230-78-122.sa-east-1.compute.amazonaws.com) |
| 2021-04-24 23:47:22 | × | Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:e89f:1e95:a362:ce44) (Quit: Leaving) |
| 2021-04-24 23:47:26 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
| 2021-04-24 23:47:49 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 2021-04-24 23:53:55 | → | jollygood2 joins (~bc8134e3@217.29.117.252) |
| 2021-04-24 23:53:59 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 2021-04-24 23:55:55 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 2021-04-24 23:56:06 | → | shailangsa joins (~shailangs@host86-185-58-137.range86-185.btcentralplus.com) |
| 2021-04-24 23:56:40 | → | tzlil joins (~tzlil@unaffiliated/tzlil) |
| 2021-04-24 23:57:45 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
| 2021-04-24 23:57:45 | × | jollygood2 quits (~bc8134e3@217.29.117.252) (Disconnected by services) |
| 2021-04-24 23:58:01 | → | jollygood2 joins (~bc8134e3@217.29.117.252) |
| 2021-04-24 23:58:22 | → | Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net) |
| 2021-04-24 23:58:45 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds) |
| 2021-04-25 00:00:08 | × | kupi quits (uid212005@gateway/web/irccloud.com/x-litwvghnkldddtab) (Quit: Connection closed for inactivity) |
| 2021-04-25 00:00:56 | <wz1000> | shapr: very clean and straightforward code. Only thing I could think of was using streaming + a bloom filter to operate in constant memory |
| 2021-04-25 00:01:44 | <shapr> | wz1000: that's a good point, I originally used Control.Parallel to fire off a bunch of reads with hashing, but that didn't work so well |
| 2021-04-25 00:02:06 | <shapr> | So the advantage of a streaming library would be that I could read until a file is found to *not* be a duplicate, right? |
| 2021-04-25 00:02:27 | <shapr> | and then new files that might be duplicates would let me go back and pick up reading where I left off? |
| 2021-04-25 00:02:49 | shapr | thinks about that |
| 2021-04-25 00:03:45 | <shapr> | ok, I'm sold. What's the most newbie friendly streaming library? |
| 2021-04-25 00:03:51 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2021-04-25 00:05:08 | × | Guest42533 quits (sid128301@gateway/web/irccloud.com/x-xoqbygpcvszggkhq) () |
| 2021-04-25 00:05:12 | × | nineonine quits (~nineonine@50.216.62.2) (Remote host closed the connection) |
| 2021-04-25 00:05:41 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 260 seconds) |
| 2021-04-25 00:06:18 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-04-25 00:06:21 | <wz1000> | hmm, I'm not sure a bloom filter would work - it can tell you if you have duplicates, but if you want to know which are the duplicates it degenerates to O(n) memory again |
| 2021-04-25 00:07:02 | → | graingert joins (sid128301@gateway/web/irccloud.com/x-icmdnzdgthpbntzi) |
All times are in UTC.