Logs: freenode/#haskell
| 2020-10-18 02:01:21 | → | texasmynsted joins (688c344b@104.140.52.75) |
| 2020-10-18 02:01:38 | <texasmynsted> | Hello. |
| 2020-10-18 02:01:43 | <texasmynsted> | What do you think would be a nice clean way to deal with some configuration data that would be a list of thousands of tuple/pairs? Considering: Dhall, Data.ini, CSV, other. . . |
| 2020-10-18 02:02:17 | <texasmynsted> | maybe just a giant List in its own module? . . . |
| 2020-10-18 02:02:23 | <infinisil> | texasmynsted: What kind of configuration has thousands of tuples? |
| 2020-10-18 02:02:37 | <texasmynsted> | URL redirects |
| 2020-10-18 02:02:50 | <texasmynsted> | Like thousands of pairs |
| 2020-10-18 02:02:52 | → | xff0x joins (~fox@2001:1a81:53f8:9f00:188d:8bae:4800:ec7f) |
| 2020-10-18 02:02:53 | × | dwt quits (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 258 seconds) |
| 2020-10-18 02:03:16 | <texasmynsted> | (badUrl, goodUrl) |
| 2020-10-18 02:03:38 | <infinisil> | Hm I see |
| 2020-10-18 02:03:44 | <texasmynsted> | [(badUrl, goodUrl), (badUrl, goodUrl)...] |
| 2020-10-18 02:04:06 | <infinisil> | A list in a submodule wouldn't be configurable though |
| 2020-10-18 02:04:11 | <infinisil> | s/submodule/module |
| 2020-10-18 02:04:37 | <infinisil> | Or should it just be non-configurable static data? |
| 2020-10-18 02:04:58 | <texasmynsted> | You can imagine that the person doing the configuration is a haskell programmer and would re-compile anyway |
| 2020-10-18 02:05:10 | <texasmynsted> | non-configurable static data. |
| 2020-10-18 02:05:23 | × | Guy quits (4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) (Remote host closed the connection) |
| 2020-10-18 02:06:29 | <texasmynsted> | I am thinking maybe Dhall, but maybe simply because it is interesting. It might be way overkill. |
| 2020-10-18 02:07:11 | <infinisil> | That does sound overkill |
| 2020-10-18 02:07:18 | <texasmynsted> | It is so easy to make things too complicated. |
| 2020-10-18 02:08:53 | <infinisil> | I'd probably go for a simple "<badurl> <goodurl>"-per-line format |
| 2020-10-18 02:09:14 | <infinisil> | And either access it with data-files |
| 2020-10-18 02:09:20 | <infinisil> | Or read it in at compile time with TH |
| 2020-10-18 02:10:44 | <texasmynsted> | TH? |
| 2020-10-18 02:11:29 | <dsal> | texasmynsted: sqlite |
| 2020-10-18 02:11:55 | <infinisil> | texasmynsted: template haskell |
| 2020-10-18 02:12:05 | <infinisil> | E.g. https://hackage.haskell.org/package/include-file |
| 2020-10-18 02:12:23 | <texasmynsted> | hm. yes this is sounding better. |
| 2020-10-18 02:13:03 | <texasmynsted> | If I do tsv (tab delimited file) that should be super easy to read it, easy to read from text editor, and I could load it as a spreadsheet for maintenance |
| 2020-10-18 02:14:51 | <texasmynsted> | thank you dsal but I think sqlite is more than I need yet also |
| 2020-10-18 02:15:47 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 2020-10-18 02:16:08 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 260 seconds) |
| 2020-10-18 02:16:39 | <dsal> | heh, sqlite is a bit less than a spreadsheet. It's easy and pretty good for thousands of pairs of things which might turn into millions of triples of things. I use it when I have tens of things. :) |
| 2020-10-18 02:18:00 | <texasmynsted> | okay. |
| 2020-10-18 02:20:16 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-18 02:21:19 | × | theDon quits (~td@muedsl-82-207-238-039.citykom.de) (Ping timeout: 260 seconds) |
| 2020-10-18 02:22:52 | → | theDon joins (~td@muedsl-82-207-238-112.citykom.de) |
| 2020-10-18 02:25:46 | × | proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection) |
| 2020-10-18 02:26:05 | → | proofofme joins (~proofofme@184-96-74-65.hlrn.qwest.net) |
| 2020-10-18 02:28:43 | → | abhixec joins (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) |
| 2020-10-18 02:30:19 | lagothrix | is now known as Guest49750 |
| 2020-10-18 02:30:19 | × | Guest49750 quits (~lagothrix@unaffiliated/lagothrix) (Killed (rothfuss.freenode.net (Nickname regained by services))) |
| 2020-10-18 02:30:25 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds) |
| 2020-10-18 02:30:32 | → | lagothrix joins (~lagothrix@unaffiliated/lagothrix) |
| 2020-10-18 02:33:28 | × | ryjm_matrix quits (~matrixirc@2600:4040:a009:6100:3adc:615b:70b5:b0c) (Quit: killed) |
| 2020-10-18 02:34:40 | → | dwt joins (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) |
| 2020-10-18 02:35:24 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 2020-10-18 02:35:28 | oats | is now known as wheats |
| 2020-10-18 02:39:16 | → | z0 joins (~z0@bl15-33-197.dsl.telepac.pt) |
| 2020-10-18 02:39:33 | z0 | is now known as Guest30638 |
| 2020-10-18 02:40:58 | × | jkachmar quits (uid226591@gateway/web/irccloud.com/x-sjqizjclmhyizvlx) (Quit: Connection closed for inactivity) |
| 2020-10-18 02:42:15 | → | dmc00 joins (~dmc@unaffiliated/dmc00) |
| 2020-10-18 02:43:15 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 2020-10-18 02:43:33 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 2020-10-18 02:44:00 | → | albertus1 joins (~seb@x4db9b903.dyn.telefonica.de) |
| 2020-10-18 02:44:37 | × | dwt quits (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 264 seconds) |
| 2020-10-18 02:45:26 | × | albertus11 quits (~seb@x4db49541.dyn.telefonica.de) (Ping timeout: 258 seconds) |
| 2020-10-18 02:46:02 | × | tabaqui quits (~tabaqui@46.39.45.136) (Ping timeout: 256 seconds) |
| 2020-10-18 02:46:46 | × | proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection) |
| 2020-10-18 02:47:42 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 2020-10-18 02:48:27 | hackage | regex-pcre-builtin 0.95.1.3.8.43 - PCRE Backend for "Text.Regex" (regex-base) https://hackage.haskell.org/package/regex-pcre-builtin-0.95.1.3.8.43 (AudreyTang) |
| 2020-10-18 02:52:45 | × | Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds) |
| 2020-10-18 02:52:51 | wheats | is now known as oats |
| 2020-10-18 02:54:39 | × | xff0x quits (~fox@2001:1a81:53f8:9f00:188d:8bae:4800:ec7f) (Ping timeout: 272 seconds) |
| 2020-10-18 02:55:06 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2020-10-18 02:55:09 | → | xff0x joins (~fox@2001:1a81:53f8:9f00:5588:893c:8299:71d2) |
| 2020-10-18 02:55:43 | × | solonarv quits (~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr) (Ping timeout: 246 seconds) |
| 2020-10-18 03:00:01 | × | bvalek2 quits (~bvalek2@217.146.82.202) () |
| 2020-10-18 03:00:10 | → | tabaqui joins (~tabaqui@2604:a880:800:c1::21b:3001) |
| 2020-10-18 03:00:53 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-10-18 03:04:52 | → | christo joins (~chris@81.96.113.213) |
| 2020-10-18 03:05:42 | × | djellemah quits (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 260 seconds) |
| 2020-10-18 03:08:40 | <ibloom> | Is there a standard lens such that "use lens" just returns the whole state? |
| 2020-10-18 03:10:31 | → | wei2912 joins (~wei2912@unaffiliated/wei2912) |
| 2020-10-18 03:10:35 | <koz_> | ibloom: You can just use 'get' then, right? |
| 2020-10-18 03:11:21 | <ibloom> | I just want to reuse the same set of functions that use "use" |
| 2020-10-18 03:11:52 | <ibloom> | It's a small thing. |
| 2020-10-18 03:11:52 | <koz_> | @hoogle use |
| 2020-10-18 03:11:53 | <lambdabot> | Control.Lens.Combinators use :: MonadState s m => Getting a s a -> m a |
| 2020-10-18 03:11:53 | <lambdabot> | Control.Lens.Getter use :: MonadState s m => Getting a s a -> m a |
| 2020-10-18 03:11:53 | <lambdabot> | Distribution.Compat.Lens use :: MonadState s m => Getting a s a -> m a |
| 2020-10-18 03:12:24 | → | Licious joins (~Licious@4e69b241.skybroadband.com) |
| 2020-10-18 03:12:30 | <koz_> | I think you can use something that turns a function into a Getter, then just pass id to that? |
| 2020-10-18 03:13:29 | <ibloom> | Hmmm... |
| 2020-10-18 03:13:32 | <koz_> | to. |
| 2020-10-18 03:13:36 | <koz_> | So you would do like |
| 2020-10-18 03:13:41 | <koz_> | use (to id) |
| 2020-10-18 03:14:00 | <ibloom> | Let me see if that typechecks |
| 2020-10-18 03:15:28 | × | Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2020-10-18 03:16:39 | <ibloom> | Not quite |
| 2020-10-18 03:16:51 | <koz_> | ibloom: What seems to be the problem? |
| 2020-10-18 03:17:01 | <ibloom> | "Could not deduce (Contravariant f) arising from a use of ‘to’" |
| 2020-10-18 03:17:32 | <ibloom> | @hoogle to |
| 2020-10-18 03:17:33 | <lambdabot> | GHC.Generics to :: Generic a => Rep a x -> a |
| 2020-10-18 03:17:33 | <lambdabot> | Control.Lens.Combinators to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a |
| 2020-10-18 03:17:33 | <lambdabot> | Control.Lens.Getter to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a |
| 2020-10-18 03:18:09 | <koz_> | Yeah, since I think 'use' can grab a variety of things. |
| 2020-10-18 03:18:17 | <koz_> | That's what 'Getting' means in its type. |
| 2020-10-18 03:18:24 | <koz_> | So on its own, it doesn't know what you want. |
All times are in UTC.