Logs on 2023-02-18 (liberachat/#haskell)
| 00:03:47 | <phaazon> | I’m wondering, has anyone tried to do to Haskell’s Generics what Rust did with serde? |
| 00:04:01 | <phaazon> | i.e. have an « interface » package for serializing in a generic way |
| 00:04:12 | <phaazon> | and have specific codec package implementing the interface? |
| 00:04:37 | <phaazon> | back in the days, I used to use aeson and generic instances |
| 00:05:25 | <phaazon> | I remember providing FromJSON and ToJSON instances via the generics interface but I don’t recall using a « bridge » like serde |
| 00:06:47 | <yushyin> | eldritchcookie[m: https://github.com/ezyang/thesis/releases/download/rev20170925/main.pdf |
| 00:08:03 | <Axman6> | eldritchcookie[m: the big one is having type specialised data structures, you can have a Map Int ByteString with both key and value unpacked into the Map constructors, saving a lot of memory and indirection |
| 00:11:21 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 00:12:50 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
| 00:13:50 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 00:17:19 | × | Vajb quits (~Vajb@2001:999:484:9db9:7ff5:c370:5511:7e1c) (Read error: Connection reset by peer) |
| 00:19:47 | → | mauke_ joins (~mauke@user/mauke) |
| 00:20:49 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 246 seconds) |
| 00:20:49 | mauke_ | is now known as mauke |
| 00:21:46 | → | Vajb joins (~Vajb@2001:999:484:9db9:7ff5:c370:5511:7e1c) |
| 00:24:55 | <eldritchcookie[m> | sorry that example is unclear to me, how would you have polymorphism? |
| 00:35:56 | × | oldfashionedcow quits (~Rahul_San@user/oldfashionedcow) (Ping timeout: 255 seconds) |
| 00:37:42 | → | oldfashionedcow joins (Rahul_Sand@user/oldfashionedcow) |
| 00:38:05 | × | vglfr quits (~vglfr@145.224.100.62) (Ping timeout: 252 seconds) |
| 00:46:23 | × | akegalj quits (~akegalj@lns01-0595.dsl.iskon.hr) (Quit: leaving) |
| 00:46:23 | × | acidjnk quits (~acidjnk@p200300d6e715c424f48fc920b5a5fc6d.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 00:47:11 | → | bitmapper joins (uid464869@id-464869.lymington.irccloud.com) |
| 00:53:08 | × | yoneda quits (~mike@193.206.102.122) (Quit: leaving) |
| 00:56:20 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 00:56:20 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 00:56:20 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:59:02 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 01:00:28 | → | beteigeuze joins (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 01:01:12 | → | dcoutts_ joins (~duncan@host86-167-90-212.range86-167.btcentralplus.com) |
| 01:01:48 | → | khumba joins (~khumba@user/khumba) |
| 01:08:26 | <Axman6> | eldritchcookie[m: you use backpack to define the structure, and then you specialise for the types you actually use |
| 01:09:04 | <Axman6> | see https://hackage.haskell.org/package/unpacked-containers |
| 01:10:58 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:13:59 | × | enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 01:17:06 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:17:26 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 01:19:19 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 01:20:36 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 01:30:45 | × | the_proffesor quits (~theproffe@user/theproffesor) (Ping timeout: 260 seconds) |
| 01:32:23 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 01:42:11 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 01:42:19 | → | johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 01:42:49 | → | jwiegley joins (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 01:43:07 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 01:49:34 | → | vglfr joins (~vglfr@145.224.100.65) |
| 01:52:00 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 01:53:41 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 01:56:22 | × | vglfr quits (~vglfr@145.224.100.65) (Ping timeout: 246 seconds) |
| 01:57:39 | → | vglfr joins (~vglfr@145.224.100.65) |
| 02:01:41 | <ghostbuster> | omg.. how did i not know that 'set comprehensions' in math are analogous to list comprehensions.. i've used them in multiple math courses without ever knowing they were called that |
| 02:05:32 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 02:05:56 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 02:06:52 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds) |
| 02:08:16 | × | beteigeuze quits (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 246 seconds) |
| 02:09:26 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 02:11:23 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 02:12:41 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 255 seconds) |
| 02:13:20 | × | cods quits (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 260 seconds) |
| 02:13:34 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 02:16:07 | <albet70> | how 'uncurry' is defined? |
| 02:16:57 | <albet70> | since you don't know how many parameters a function would have |
| 02:19:55 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 02:26:07 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 248 seconds) |
| 02:26:12 | <monochrom> | It assumes two. Exactly two. No more no less. |
| 02:27:12 | <monochrom> | But you could have discovered by just using @type uncurry |
| 02:27:31 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
| 02:27:43 | × | xff0x quits (~xff0x@2405:6580:b080:900:1ef3:42f8:594a:9997) (Ping timeout: 252 seconds) |
| 02:29:45 | → | xff0x joins (~xff0x@178.255.149.135) |
| 02:29:52 | → | emmanuelux_ joins (~emmanuelu@user/emmanuelux) |
| 02:32:46 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Ping timeout: 246 seconds) |
| 02:34:17 | × | dcoutts_ quits (~duncan@host86-167-90-212.range86-167.btcentralplus.com) (Ping timeout: 255 seconds) |
| 02:35:13 | → | zaquest joins (~notzaques@5.130.79.72) |
| 02:39:59 | × | xff0x quits (~xff0x@178.255.149.135) (Ping timeout: 248 seconds) |
| 02:41:55 | → | xff0x joins (~xff0x@2405:6580:b080:900:1ef3:42f8:594a:9997) |
| 02:47:53 | × | vglfr quits (~vglfr@145.224.100.65) (Ping timeout: 252 seconds) |
| 02:50:41 | → | vglfr joins (~vglfr@145.224.100.65) |
| 03:02:33 | <albet70> | f a == apply f a; f a == id f a; apply == id? |
| 03:03:08 | <albet70> | any function is fixed-point on apply or id? |
| 03:04:02 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 03:05:33 | × | jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
| 03:06:42 | <Axman6> | @djinn (a -> b -> c) -> (a,b) -> c |
| 03:06:42 | <lambdabot> | f a (b, c) = a b c |
| 03:14:20 | × | vglfr quits (~vglfr@145.224.100.65) (Ping timeout: 255 seconds) |
| 03:14:46 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:16:24 | → | thongpv joins (~thongpv87@2402:9d80:3aa:dcd6:561b:ebf:2de2:e879) |
| 03:19:19 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 246 seconds) |
| 03:22:49 | → | Guest|68 joins (~Guest|68@fixed-187-251-98-10.totalplay.net) |
| 03:22:51 | × | rembo10 quits (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in) |
| 03:23:08 | × | Guest|68 quits (~Guest|68@fixed-187-251-98-10.totalplay.net) (Client Quit) |
| 03:25:00 | → | rembo10 joins (~rembo10@main.remulis.com) |
| 03:27:25 | → | cheater joins (~Username@user/cheater) |
| 03:31:03 | → | king_gs joins (~Thunderbi@2806:103e:29:1779:cd70:5f8e:cb4d:63d3) |
| 03:32:16 | × | thegeekinside quits (~thegeekin@189.180.66.126) (Ping timeout: 246 seconds) |
| 03:32:53 | → | falafel joins (~falafel@2607:fb91:143f:e47f:830e:5e4e:333b:3694) |
| 03:32:59 | → | cheater_ joins (~Username@user/cheater) |
| 03:33:43 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 03:33:44 | cheater_ | is now known as cheater |
| 03:35:00 | → | abner_gershon joins (~abner_ger@c-73-4-40-60.hsd1.ct.comcast.net) |
| 03:40:07 | → | jinsun joins (~jinsun@user/jinsun) |
| 03:42:23 | → | npmania1 joins (~Thunderbi@138.199.21.232) |
| 03:43:12 | × | npmania quits (~Thunderbi@217.138.252.249) (Ping timeout: 268 seconds) |
| 03:43:13 | npmania1 | is now known as npmania |
| 03:47:39 | × | abner_gershon quits (~abner_ger@c-73-4-40-60.hsd1.ct.comcast.net) (Quit: Leaving.) |
| 03:51:21 | × | td_ quits (~td@i53870917.versanet.de) (Ping timeout: 255 seconds) |
| 03:53:01 | → | td_ joins (~td@i53870933.versanet.de) |
| 03:53:37 | → | theproffesor joins (~theproffe@2601:282:8880:20::351b) |
| 03:53:37 | × | theproffesor quits (~theproffe@2601:282:8880:20::351b) (Changing host) |
| 03:53:37 | → | theproffesor joins (~theproffe@user/theproffesor) |
| 03:56:24 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:56:24 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:56:24 | finn_elija | is now known as FinnElija |
| 03:59:22 | → | PSY_ joins (~ensyde@104-62-224-96.lightspeed.chrlnc.sbcglobal.net) |
| 04:00:32 | × | PSY_ quits (~ensyde@104-62-224-96.lightspeed.chrlnc.sbcglobal.net) (Client Quit) |
| 04:00:49 | → | l0s3r joins (~ensyde@104-62-224-96.lightspeed.chrlnc.sbcglobal.net) |
| 04:01:18 | × | l0s3r quits (~ensyde@104-62-224-96.lightspeed.chrlnc.sbcglobal.net) (Client Quit) |
| 04:11:35 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 04:14:43 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 04:18:56 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 04:21:51 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 04:24:32 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 255 seconds) |
| 04:26:16 | → | razetime joins (~Thunderbi@117.193.4.56) |
| 04:27:20 | × | falafel quits (~falafel@2607:fb91:143f:e47f:830e:5e4e:333b:3694) (Remote host closed the connection) |
| 04:28:48 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 04:31:17 | → | shutterbug joins (~mandalori@112.97.202.104) |
| 04:34:41 | → | cods joins (~fred@82-65-232-44.subs.proxad.net) |
| 04:35:59 | × | p0lyph3m quits (~polyphem@2a02:810d:840:8754:ad77:3864:324d:fcd8) (Read error: Connection reset by peer) |
| 04:40:24 | ← | shutterbug parts (~mandalori@112.97.202.104) (WeeChat 3.7.1) |
| 04:42:49 | × | gdown quits (~gavin@69.11.148.35) (Remote host closed the connection) |
| 04:47:41 | → | vglfr joins (~vglfr@145.224.100.65) |
| 05:04:18 | → | Mafs joins (~Mafs@wnpgmb02ydw-ds01-161-63-14.dynamic.bellmts.net) |
| 05:07:01 | <Mafs> | Just watched Mathologer's video about the partition function |
| 05:07:05 | <Mafs> | > fix((1:).map(sum.zipWith(*)(concat$zipWith((.flip replicate 0).(:))(cycle[1,1,-1,-1])$concat$zipWith((.(:[])).(:))[0..][2,4..])).zipWith((reverse.).take)[1..].cycle.(:[])) |
| 05:07:06 | <lambdabot> | [1,1,2,3,5,7,11,15,22,30,42,56,77,101,135,176,231,297,385,490,627,792,1002,1... |
| 05:07:20 | <Mafs> | God, I love this language |
| 05:10:03 | → | bilegeek joins (~bilegeek@2600:1008:b02c:70ee:1a73:7190:b436:329b) |
| 05:13:14 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds) |
| 05:14:47 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 05:21:09 | → | thegeekinside joins (~thegeekin@189.180.66.126) |
| 05:22:36 | × | thegeekinside quits (~thegeekin@189.180.66.126) (Remote host closed the connection) |
| 05:34:13 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6) |
| 05:36:07 | × | king_gs quits (~Thunderbi@2806:103e:29:1779:cd70:5f8e:cb4d:63d3) (Quit: king_gs) |
| 05:42:38 | <Axman6> | Mafs: thats regex levels of unreadable XD |
| 05:42:54 | <Mafs> | Axman6: thank you |
| 05:43:13 | <Mafs> | If you watch Mathologer's video it will be somewhat more clear |
| 05:43:25 | <Mafs> | Hm |
| 05:43:38 | <sm> | ha you should come read some haskell tiny games |
| 05:43:45 | <Mafs> | > fix((1:).map(sum.zipWith(*)([1,1]).zipWith((reverse.).take)[1..].cycle.(:[])) |
| 05:43:47 | <lambdabot> | <hint>:1:78: error: |
| 05:43:47 | <lambdabot> | parse error (possibly incorrect indentation or mismatched brackets) |
| 05:44:10 | <Mafs> | > fix((1:).map(sum.zipWith(*)[1,1].zipWith((reverse.).take)[1..].cycle.(:[]))) |
| 05:44:12 | <lambdabot> | error: |
| 05:44:12 | <lambdabot> | • No instance for (Num [()]) arising from a use of ‘e_11111’ |
| 05:44:12 | <lambdabot> | • In the expression: e_11111 |
| 05:44:18 | <Mafs> | nevermind haha |
| 05:44:28 | <Mafs> | sm: where can I read them? |
| 05:44:31 | <Axman6> | you can /msg lambdabot |
| 05:45:10 | <sm> | https://github.com/haskell-game/tiny-games-hs Mafs |
| 05:45:25 | <sm> | or #haskell-game |
| 05:45:32 | × | gentauro quits (~gentauro@user/gentauro) (Ping timeout: 255 seconds) |
| 05:45:33 | <Mafs> | Danke |
| 05:45:52 | <Mafs> | This is cute and I like it |
| 05:46:30 | <sm> | also check this out, a wasm in me: https://tristancacqueray.github.io/tiny-game-haskell-wasm |
| 05:46:46 | <sm> | a wasm one. bbl |
| 05:47:56 | → | balavir joins (~balavir@136.57.175.185) |
| 05:48:10 | <Axman6> | oh my |
| 05:51:41 | <Mafs> | > fix((1:).map(sum.zipWith(*)[1,1]).zipWith((reverse.).take)[1..].cycle.(:[])) |
| 05:51:43 | <lambdabot> | [1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17... |
| 05:51:46 | <Mafs> | There we go :) |
| 05:51:56 | <Mafs> | Fibs for free |
| 05:52:10 | → | gentauro joins (~gentauro@user/gentauro) |
| 05:52:17 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
| 05:53:12 | <Mafs> | Tiny haskell games are maybe a bit too small, but I really think that you could get a program that would dump a full album's worth of electronic music in maybe 32k of haskell |
| 05:55:16 | <Mafs> | Just look at this https://github.com/haskell-game/tiny-games-hs/blob/main/hackage/tetris/tetris-clean.hs |
| 05:55:35 | <Mafs> | Beautiful, thank you guys for introducing me to this |
| 05:55:52 | <Mafs> | It's getting late though, I'll never come back |
| 05:55:58 | × | Mafs quits (~Mafs@wnpgmb02ydw-ds01-161-63-14.dynamic.bellmts.net) (Quit: Client closed) |
| 06:03:07 | × | oldfashionedcow quits (Rahul_Sand@user/oldfashionedcow) (Quit: WeeChat 3.8) |
| 06:03:25 | → | oldfashionedcow joins (~Rahul_San@user/oldfashionedcow) |
| 06:04:04 | → | merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) |
| 06:07:35 | × | khumba quits (~khumba@user/khumba) () |
| 06:09:02 | → | andrewboltachev joins (~andrey@178.141.125.176) |
| 06:09:03 | × | merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
| 06:09:35 | ← | andrewboltachev parts (~andrey@178.141.125.176) () |
| 06:19:29 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Quit: albet70) |
| 06:21:03 | → | Kuttenbrunzer joins (~Kuttenbru@2a02:8108:8b80:1d48::b4f) |
| 06:24:28 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 246 seconds) |
| 06:26:05 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 06:26:05 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 06:29:45 | × | opticblast quits (~Thunderbi@172.58.82.191) (Ping timeout: 255 seconds) |
| 06:33:06 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 06:33:06 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 06:33:50 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:38:29 | → | lalune joins (~lalune@216.73.163.233) |
| 06:38:37 | lalune | is now known as Togooroo |
| 06:38:42 | Togooroo | is now known as togooroo |
| 06:40:08 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 06:40:08 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 06:40:22 | × | oldfashionedcow quits (~Rahul_San@user/oldfashionedcow) (Quit: WeeChat 3.8) |
| 06:40:49 | → | opticblast joins (~Thunderbi@172.58.85.230) |
| 06:47:07 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 06:47:07 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 06:54:03 | Inst_ | is now known as Inst |
| 06:54:08 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 06:54:08 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 06:55:16 | × | opticblast quits (~Thunderbi@172.58.85.230) (Ping timeout: 246 seconds) |
| 06:56:18 | × | analoq quits (~yashi@user/dies) (Ping timeout: 255 seconds) |
| 06:57:23 | <Inst> | this is weird, not sure if it's an issue with my configuration |
| 06:57:27 | <Inst> | -package decided to stop working on me |
| 06:58:11 | → | analoq joins (~yashi@user/dies) |
| 07:01:10 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 07:01:10 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 07:04:49 | × | nek0 quits (~nek0@2a01:4f8:222:2b41::12) (Quit: The Lounge - https://thelounge.chat) |
| 07:07:52 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 246 seconds) |
| 07:08:10 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 07:08:10 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 07:09:42 | → | andrewboltachev joins (~andrey@178.141.125.176) |
| 07:09:54 | → | trev joins (~trev@user/trev) |
| 07:10:05 | <andrewboltachev> | Inside of ghci shell, how is it possible to view history? |
| 07:10:06 | × | thongpv quits (~thongpv87@2402:9d80:3aa:dcd6:561b:ebf:2de2:e879) (Read error: Connection reset by peer) |
| 07:10:25 | <andrewboltachev> | (instead of just pressing the "up" key) |
| 07:12:42 | <mauke> | :!cat ~/.ghc/ghci_history |
| 07:13:24 | × | balavir quits (~balavir@136.57.175.185) (Quit: leaving) |
| 07:13:36 | <andrewboltachev> | thanks :-) |
| 07:14:20 | <andrewboltachev> | I've 5min ago called "tail" on this file and thought "oh, it saves just 10 lines or so", not realizing it's calling tail :-) |
| 07:14:25 | <andrewboltachev> | *I'm calling |
| 07:15:10 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 07:15:10 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 07:15:18 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 07:19:06 | → | nek0 joins (~nek0@2a01:4f8:222:2b41::12) |
| 07:22:10 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 07:22:10 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 07:28:24 | × | motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit) |
| 07:29:11 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 07:29:12 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 07:36:14 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 07:36:14 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 07:36:45 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 07:37:03 | → | thongpv joins (~thongpv87@2402:9d80:3aa:dcd6:364a:f134:53c7:4f6c) |
| 07:43:13 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 07:43:13 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 07:43:53 | → | akegalj joins (~akegalj@lns01-0595.dsl.iskon.hr) |
| 07:45:17 | <akegalj> | why `:t (\x -> x) :: a %1 -> a` typechecks but `:t (\x -> let c = x in c) :: a %1 -> a` ? Why is let binding a problem when I am using it exactly once |
| 07:45:35 | × | Unhammer quits (~Unhammer@user/unhammer) (Ping timeout: 248 seconds) |
| 07:45:56 | × | inversed quits (~inversed@bcdcac82.skybroadband.com) (Read error: No route to host) |
| 07:46:13 | <Inst> | i'm wondering if someone can help me figure out why cabal insnt' installing into global repos |
| 07:46:58 | <akegalj> | Inst: you mean why `cabal install` installs binaries globaly? |
| 07:47:12 | <Inst> | basically, if i do cabal install right now, i get a dist-newstyle folder |
| 07:47:28 | <Inst> | and i can't get -package on ghc or ghci |
| 07:47:39 | → | inversed joins (~inversed@bcdcac82.skybroadband.com) |
| 07:48:23 | <akegalj> | Inst: you get local dist-newstyle folder where it builds the project, and then copies built binary to global PATH |
| 07:48:32 | <Inst> | yes, except that there's no project |
| 07:48:39 | <Inst> | if i do it in root, i still get dist-newstyle |
| 07:48:46 | <akegalj> | aha, let me check |
| 07:49:13 | <mauke> | what do you mean by "can't get -package"? |
| 07:49:48 | <akegalj> | Inst: when running cabal install in a fresh directory I get `cabal: Invalid package ID: .` |
| 07:50:10 | <Inst> | on ghci, if i use cabal to install |
| 07:50:13 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 07:50:14 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 07:50:34 | <akegalj> | Inst: what is exact command that you are running ? |
| 07:50:41 | <mauke> | <interactive>:1:1: error: Variable not in scope: cabal |
| 07:50:43 | <Inst> | well, i sued to, it uploaded into a global package repository, but the underlying files were hidden |
| 07:51:00 | <Inst> | so i could unhide it in ghci or ghc with the -package flag |
| 07:52:40 | <Inst> | https://downloads.haskell.org/ghc/latest/docs/users_guide/packages.html |
| 07:52:48 | <Inst> | so i think my cabal isn't adding to ghc-pkg |
| 07:53:36 | <sclv> | correct. cabal install doesn’t do that anymore |
| 07:53:43 | <sclv> | its a whole different |
| 07:53:46 | <sclv> | model |
| 07:54:44 | <Inst> | when did that change? |
| 07:54:52 | <sclv> | cabal v1-install still exists and does that, but i very much encourage you to read cabal documentation and instead use the new model |
| 07:55:20 | <sclv> | v2-install has been around since cabal 2.4 but became the default about two years ago? |
| 07:55:41 | <Inst> | weird, because i had cabal running under old behavior for a long time |
| 07:56:01 | <Inst> | even after repeated nukes of GHCup and GHC |
| 07:56:03 | <Inst> | from 2022 |
| 07:56:07 | <Inst> | or even 2021 |
| 07:56:10 | <sclv> | well yeah if it was an older cabal and you didn’t update it :-) |
| 07:56:47 | <Inst> | as in, it shouldn't dump to --lib |
| 07:56:59 | <Inst> | but it should dump to global package repository, update ghc-pkg |
| 07:57:07 | <sclv> | i think it became the default with cabal 3, and we’re on 3.8 now |
| 07:57:14 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 07:57:14 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 07:57:46 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) (Remote host closed the connection) |
| 07:57:47 | <sclv> | yes. it understand what you are saying. that no longer happens. we have v2-install and v2-build now and its way better! |
| 07:57:53 | → | thongpv87 joins (~thongpv87@2402:9d80:3aa:dcd6:364a:f134:53c7:4f6c) |
| 07:58:05 | → | Unhammer joins (~Unhammer@user/unhammer) |
| 07:58:11 | <Inst> | v2 install iirc is bugged |
| 07:58:39 | <sclv> | everyone has been using it for years |
| 07:58:50 | <sclv> | and it is actively developed and fixed |
| 07:58:58 | <sclv> | and v1 will eventually be end of lifed |
| 07:58:58 | <Inst> | oh for chrying out loud |
| 07:59:05 | × | nshepperd2 quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Quit: The Lounge - https://thelounge.chat) |
| 07:59:14 | <Inst> | i just tried v1 install and a seem to have --libed by default |
| 07:59:15 | → | nshepperd2 joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) |
| 08:01:09 | <Inst> | so i have no freaking clue how i achieved the weird behaviorwherein cabal install doesn't install locally but globally, however, it dumps it into ghc-pkg hidden |
| 08:01:56 | × | thongpv87 quits (~thongpv87@2402:9d80:3aa:dcd6:364a:f134:53c7:4f6c) (Client Quit) |
| 08:02:07 | <sclv> | are you aware of env files? |
| 08:02:16 | → | thongpv87 joins (~thongpv87@2402:9d80:3aa:dcd6:364a:f134:53c7:4f6c) |
| 08:02:21 | × | thongpv quits (~thongpv87@2402:9d80:3aa:dcd6:364a:f134:53c7:4f6c) (Quit: Leaving) |
| 08:02:25 | <sclv> | perhaps you have one of those lying around |
| 08:04:07 | × | thongpv87 quits (~thongpv87@2402:9d80:3aa:dcd6:364a:f134:53c7:4f6c) (Remote host closed the connection) |
| 08:04:15 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 08:04:15 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 08:04:52 | <Inst> | no clue where the nev file may be lying around |
| 08:04:54 | → | merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) |
| 08:08:04 | × | razetime quits (~Thunderbi@117.193.4.56) (Ping timeout: 246 seconds) |
| 08:08:07 | → | joeyh joins (~joeyh@66.228.36.95) |
| 08:09:01 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 08:09:03 | × | joeyh_ quits (joeyh@2600:3c03::f03c:91ff:fe73:b0d2) (Ping timeout: 248 seconds) |
| 08:10:37 | × | togooroo quits (~lalune@216.73.163.233) (Quit: togooroo) |
| 08:10:40 | × | landonf quits (landonf@mac68k.info) (Ping timeout: 248 seconds) |
| 08:10:50 | → | landonf_ joins (landonf@mac68k.info) |
| 08:11:12 | landonf_ | is now known as landonf |
| 08:11:15 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 08:11:15 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 08:18:15 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 08:18:15 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 08:24:08 | × | Kuttenbrunzer quits (~Kuttenbru@2a02:8108:8b80:1d48::b4f) (Quit: Where is it) |
| 08:25:17 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 08:25:17 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 08:26:45 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 255 seconds) |
| 08:31:00 | → | razetime joins (~Thunderbi@117.193.4.56) |
| 08:32:17 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 08:32:17 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 08:38:27 | × | merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
| 08:38:29 | × | Vajb quits (~Vajb@2001:999:484:9db9:7ff5:c370:5511:7e1c) (Read error: Connection reset by peer) |
| 08:38:42 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) |
| 08:39:22 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 08:39:22 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 08:46:23 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 08:46:23 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 08:51:40 | → | merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) |
| 08:53:24 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 08:53:24 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 08:55:43 | → | razetime1 joins (~Thunderbi@117.193.4.56) |
| 08:56:22 | × | razetime quits (~Thunderbi@117.193.4.56) (Ping timeout: 246 seconds) |
| 08:56:22 | razetime1 | is now known as razetime |
| 08:57:32 | × | bilegeek quits (~bilegeek@2600:1008:b02c:70ee:1a73:7190:b436:329b) (Quit: Leaving) |
| 08:58:10 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 08:58:15 | × | vglfr quits (~vglfr@145.224.100.65) (Ping timeout: 255 seconds) |
| 08:58:15 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) |
| 09:00:04 | × | JonathanWatson[m quits (~jjwmatrix@2001:470:69fc:105::2:a544) (Quit: You have been kicked for being idle) |
| 09:00:24 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 09:00:24 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 09:01:08 | → | Vajb joins (~Vajb@2001:999:484:9db9:7ff5:c370:5511:7e1c) |
| 09:02:38 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) (Ping timeout: 255 seconds) |
| 09:07:24 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 09:07:24 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 09:14:25 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 09:14:25 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 09:15:58 | → | Midjak joins (~Midjak@82.66.147.146) |
| 09:20:14 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 09:21:28 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 09:21:28 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 09:27:00 | → | oldsk00l joins (~znc@ec2-3-10-215-70.eu-west-2.compute.amazonaws.com) |
| 09:28:27 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 09:28:27 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 09:28:35 | → | acidjnk joins (~acidjnk@p200300d6e715c42481098173da91238f.dip0.t-ipconnect.de) |
| 09:31:27 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 09:32:00 | × | akegalj quits (~akegalj@lns01-0595.dsl.iskon.hr) (Ping timeout: 255 seconds) |
| 09:32:50 | → | zeenk joins (~zeenk@2a02:2f04:a214:1e00::7fe) |
| 09:34:05 | → | Tuplanolla joins (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) |
| 09:35:27 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 09:35:27 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 09:36:56 | × | bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 09:40:35 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 09:42:29 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 09:42:29 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 09:46:03 | → | mechap joins (~mechap@user/mechap) |
| 09:46:34 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 09:47:02 | → | mechap joins (~mechap@user/mechap) |
| 09:48:10 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
| 09:48:47 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 09:49:15 | → | mechap joins (~mechap@user/mechap) |
| 09:49:29 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 09:49:29 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 09:49:44 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 09:49:45 | × | inversed quits (~inversed@bcdcac82.skybroadband.com) (Read error: Connection reset by peer) |
| 09:50:12 | → | mechap joins (~mechap@user/mechap) |
| 09:50:40 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 09:51:07 | → | mechap joins (~mechap@user/mechap) |
| 09:51:39 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 09:52:46 | × | mauke quits (~mauke@user/mauke) (Quit: leaving) |
| 09:54:30 | × | merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
| 09:56:29 | → | akegalj joins (~akegalj@lns01-0595.dsl.iskon.hr) |
| 09:56:30 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 09:56:30 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 10:01:10 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 10:02:33 | → | gurkenglas joins (~gurkengla@x5271625d.dyn.telefonica.de) |
| 10:02:58 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 10:03:30 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 10:03:30 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 10:03:43 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Remote host closed the connection) |
| 10:04:37 | → | mastarija joins (~mastarija@188.252.197.230) |
| 10:06:33 | <mastarija> | I'm implementing my own lenses for practice, and I'm currently working on `Ixed` class. Am I correct in understanding that I can only get `ix`-th element of a list if those list elements are `Monoid`s? |
| 10:06:41 | <mastarija> | e.g. |
| 10:07:02 | <mastarija> | view (ix 1) ["hello", "world"] -- works |
| 10:07:27 | <mastarija> | view (ix 1) [1, 2] -- doesn't and complains about not having a monoid instance |
| 10:08:58 | <mastarija> | So, I get that `ix n` results in a traversal which has `Traversal` as a type. And traversal has `Applicative` constraint. |
| 10:09:16 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 10:09:36 | <mastarija> | Since I've specified the type of `view` to: |
| 10:09:38 | <mastarija> | type View r s a = (a -> Const r a) -> s -> Const r s |
| 10:10:03 | <mastarija> | `Const` can only be applicative if `r` is a `Monoid` |
| 10:10:31 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 10:10:31 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 10:13:41 | <mastarija> | So, basically. I can't get an i-th element of a list using `ix i`? Haven't really tried this on a lens library, but looking at the types it seems like it should expect the same `Monoid` constraint on elements of a list. |
| 10:14:22 | <[Leary]> | mastarija: Rather than `Const a`, consider something like `Const (Data.Monoid.First a)`. |
| 10:17:31 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 10:17:31 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 10:17:47 | <mastarija> | [Leary]: you mean, I should specialise my `view` to something like this: |
| 10:17:50 | <mastarija> | view :: ((a -> Const (First a) a) -> s -> Const (First a) s) -> s -> a |
| 10:18:58 | <mastarija> | Or do you mean that I should wrap every element of a list with `First` and unwrap at the end? |
| 10:20:15 | <[Leary]> | I'm not looking at the specifics of the classes and the functions here, just saying that a `Monoid` isn't as restrictive as it looks, since you can conjure them up like this. But I'd presume this detail would be hidden inside of `ix` and consistent with the more general `view`. |
| 10:24:31 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 10:24:31 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 10:31:33 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 10:31:33 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 10:31:53 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 10:32:50 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 10:33:10 | → | dcoutts_ joins (~duncan@host86-167-90-212.range86-167.btcentralplus.com) |
| 10:34:28 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 10:34:45 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 10:38:34 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 10:38:34 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 10:41:23 | → | ubert joins (~Thunderbi@p200300ecdf13012f11fae769624975a6.dip0.t-ipconnect.de) |
| 10:45:18 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 10:45:35 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 10:45:35 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 10:46:33 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 10:51:21 | <jackdk> | :t view |
| 10:51:22 | <lambdabot> | MonadReader s m => Getting a s a -> m a |
| 10:52:17 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 10:52:34 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 10:52:35 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 10:53:03 | <jackdk> | mastarija: shouldn't need monoid anything to implement view. The apparent monoid requirement is coming from the fact that `ix` returns a `Traversal'`, which induces the constraint `Applicative (Const r)` and therefore `Monoid r`. To get the first (only) element out of a traveral (prism), you should define and use `preview` |
| 10:53:05 | <jackdk> | :t preview |
| 10:53:06 | <lambdabot> | MonadReader s m => Getting (First a) s a -> m (Maybe a) |
| 10:55:01 | <mastarija> | Aha. |
| 10:57:50 | <mastarija> | jackdk: So that means, for something like getting an n-th element from a list of numbers I would need to use `preview` instead of `view`, right? |
| 10:59:08 | <jackdk> | yes, because it may not exist. (`at` returns `Lens' s (Maybe a)` for things like maps where you can write back even if the element is absent). In addition to `preview`, you can also use `toListOf` or anything else that works on `Fold`s. |
| 10:59:36 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 10:59:36 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 11:00:05 | <jackdk> | > toListOf (ix 3) [1, 2] |
| 11:00:07 | <lambdabot> | [] |
| 11:00:18 | <jackdk> | > toListOf (ix 0) [1, 2] |
| 11:00:20 | <lambdabot> | [1] |
| 11:06:01 | → | mechap joins (~mechap@user/mechap) |
| 11:06:35 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 11:06:36 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 11:06:36 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 11:07:15 | → | mechap joins (~mechap@user/mechap) |
| 11:07:29 | × | zeenk quits (~zeenk@2a02:2f04:a214:1e00::7fe) (Quit: Konversation terminated!) |
| 11:08:10 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 11:08:44 | → | mechap joins (~mechap@user/mechap) |
| 11:09:32 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 11:12:44 | × | razetime quits (~Thunderbi@117.193.4.56) (Remote host closed the connection) |
| 11:13:02 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 11:13:36 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 11:13:36 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 11:15:03 | → | mechap joins (~mechap@user/mechap) |
| 11:15:39 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 11:16:06 | → | mechap joins (~mechap@user/mechap) |
| 11:16:41 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 11:17:09 | → | mechap joins (~mechap@user/mechap) |
| 11:20:38 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 11:20:38 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 11:27:37 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 11:27:37 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 11:29:32 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 11:32:41 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 11:34:39 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 11:34:39 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 11:39:49 | × | mastarija quits (~mastarija@188.252.197.230) (Quit: WeeChat 3.7.1) |
| 11:41:40 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 11:41:40 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 11:43:38 | → | Kuttenbrunzer joins (~Kuttenbru@2a02:8108:8b80:1d48::597f) |
| 11:43:48 | → | beteigeuze joins (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 11:48:39 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 11:48:39 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 11:55:41 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 11:55:41 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 11:57:22 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 11:58:17 | × | akegalj quits (~akegalj@lns01-0595.dsl.iskon.hr) (Quit: leaving) |
| 11:59:15 | <eldritchcookie[m> | hey can data instances be GADTs ? |
| 12:00:30 | → | gmg joins (~user@user/gehmehgeh) |
| 12:02:41 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 12:02:41 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 12:03:58 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds) |
| 12:04:11 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 12:07:04 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 12:08:34 | <c_wraith> | eldritchcookie[m: yes |
| 12:09:12 | <c_wraith> | eldritchcookie[m: the syntax is basically exactly what you'd expect. It should just work. |
| 12:09:41 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 12:09:41 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 12:10:57 | <c_wraith> | eldritchcookie[m: oh, there *is* one caveat. The data family needs to be polymorphic over a different type variable than the GADT is |
| 12:11:19 | <c_wraith> | err. polytypic over. |
| 12:11:49 | <eldritchcookie[m> | thanks, i am thinking right now and besides the friction is there any reason to use a typeclass instead of a backpack interface assuming i don't care about stack? |
| 12:14:44 | <eldritchcookie[m> | it seems like anything a typeclass can do backpack can do better, when should i use a typeclass and when to use backpack? |
| 12:16:40 | <c_wraith> | well, a typeclass can do inference. Chained instance resolution can put together appropriate behaviors for new combinations of types for free. |
| 12:16:41 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 12:16:41 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 12:17:09 | × | gurkenglas quits (~gurkengla@x5271625d.dyn.telefonica.de) (Ping timeout: 255 seconds) |
| 12:19:39 | <eldritchcookie[m> | can you give me an example? i think i am really close to getting what you mean, do you mean like instance(Num a,Num b ) Num (a,b) |
| 12:19:53 | <c_wraith> | yeah. |
| 12:20:17 | → | merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) |
| 12:22:15 | <[Leary]> | Can you even use more than one variant(?) of a signature(?) in a given module? That's a big weakness. |
| 12:22:54 | <c_wraith> | You don't have to declare you're going to use Show (Int, Char) and Show (Int, Color) in advance, and you don't have to tell the entire build system about them. The compiler just chains things all around and figures it out mechanically. It's free to do that because it's a much less powerful system. |
| 12:23:42 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 12:23:42 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 12:23:48 | → | gurkenglas joins (~gurkengla@x5271625d.dyn.telefonica.de) |
| 12:24:33 | <eldritchcookie[m> | leary: you can just rename the signature and implementation with mixins |
| 12:25:04 | <[Leary]> | I see. It sounds like a pain though. |
| 12:26:01 | × | merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
| 12:26:54 | <eldritchcookie[m> | is it really more powerful? like i've yet to see an example where backpack can do anything useful compared to typeclasses, i really like the idea of backpack but it seems as if it is useless in practice beyond some hack to squeeze a little bit more performance in some cases |
| 12:28:29 | <eldritchcookie[m> | it seems like backpack are like injective type families a cool idea but everytime i try to use them i either find i can't or there is a better alternative |
| 12:30:44 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 12:30:44 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 12:31:11 | <eldritchcookie[m> | really sad, reality is unforgiving. to use backpack i think we will need further extensions. |
| 12:34:54 | <eldritchcookie[m> | the only thing i think backpack can currently do better is that backpack can have a closed type family in the interface |
| 12:37:44 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 12:37:44 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 12:38:07 | <maralorn> | I always assumed that the biggest advantage of backpack is guaranteed specialisation? |
| 12:39:02 | <eldritchcookie[m> | yes i mentioned it, performance is temporary, good abstractions are eternal |
| 12:40:38 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 12:41:53 | <eldritchcookie[m> | fmap is never going away programming in assembly will |
| 12:43:10 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Ping timeout: 246 seconds) |
| 12:43:28 | → | p0lyph3m joins (~polyphem@2a02:810d:840:8754:ad77:3864:324d:fcd8) |
| 12:44:01 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 12:44:45 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 12:44:45 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 12:51:46 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 12:51:46 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 12:54:23 | × | p0lyph3m quits (~polyphem@2a02:810d:840:8754:ad77:3864:324d:fcd8) (Remote host closed the connection) |
| 12:54:32 | → | p0lyph3m joins (~polyphem@2a02:810d:840:8754:ad77:3864:324d:fcd8) |
| 12:58:45 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 12:58:46 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 13:00:07 | → | merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) |
| 13:05:46 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 13:05:46 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 13:07:41 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 13:09:54 | → | sayola joins (~sayola@ipservice-092-213-087-211.092.213.pools.vodafone-ip.de) |
| 13:12:46 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 13:12:46 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 13:13:58 | × | hpc quits (~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 246 seconds) |
| 13:15:48 | → | hpc joins (~juzz@ip98-169-35-163.dc.dc.cox.net) |
| 13:19:47 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 13:19:47 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 13:26:48 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 13:26:48 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 13:28:56 | → | Guest72 joins (~Guest72@2001:4653:329:0:10da:a6c4:f893:b56d) |
| 13:29:50 | × | Guest72 quits (~Guest72@2001:4653:329:0:10da:a6c4:f893:b56d) (Client Quit) |
| 13:33:50 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 13:33:50 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 13:34:23 | × | merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds) |
| 13:35:59 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 13:35:59 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 13:35:59 | finn_elija | is now known as FinnElija |
| 13:39:46 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Read error: Connection reset by peer) |
| 13:40:06 | → | Sciencentistguy joins (~sciencent@hacksoc/ordinary-member) |
| 13:40:50 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 13:40:50 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 13:47:50 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 13:47:50 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 13:50:34 | → | __monty__ joins (~toonn@user/toonn) |
| 13:50:43 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 13:54:51 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 13:55:44 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 13:55:48 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 13:57:37 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 13:58:17 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 255 seconds) |
| 14:01:52 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 14:01:52 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 14:02:51 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) |
| 14:04:48 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 14:07:10 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) (Ping timeout: 246 seconds) |
| 14:08:54 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 14:08:54 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 14:10:59 | → | vglfr joins (~vglfr@37.73.92.230) |
| 14:11:40 | × | Kuttenbrunzer quits (~Kuttenbru@2a02:8108:8b80:1d48::597f) (Quit: Where is it) |
| 14:15:53 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 14:15:53 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 14:17:35 | × | vglfr quits (~vglfr@37.73.92.230) (Ping timeout: 252 seconds) |
| 14:22:53 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 14:22:54 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 14:29:54 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 14:29:54 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 14:31:27 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 14:33:31 | × | haritz quits (~hrtz@user/haritz) (Remote host closed the connection) |
| 14:33:33 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 14:34:49 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 14:36:54 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 14:36:54 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 14:37:43 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 14:41:03 | × | ddellacosta quits (~ddellacos@146.70.185.10) (Ping timeout: 255 seconds) |
| 14:41:52 | → | akadude[m] joins (~akadudema@2001:470:69fc:105::2:5bf7) |
| 14:43:54 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 14:43:54 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 14:48:39 | → | haritz joins (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) |
| 14:48:39 | × | haritz quits (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host) |
| 14:48:39 | → | haritz joins (~hrtz@user/haritz) |
| 14:50:56 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 14:50:56 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 14:52:48 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 14:55:48 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com) |
| 14:57:57 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 14:57:57 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 14:59:44 | × | Vajb quits (~Vajb@2001:999:484:9db9:7ff5:c370:5511:7e1c) (Read error: Connection reset by peer) |
| 14:59:57 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) |
| 15:04:27 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 15:04:56 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 15:04:56 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 15:08:10 | <p0lyph3m> | Axman6 : hey, i read your response on the reddit post about haskell/js suitability for webdevelopment. You mentioned myrecent post twice in your response. My post was the ironic "Haskell is dead" post. At the time i found out that people didn't get that it was ironic, i was already banned from r/haskell so i couldn't even defend myself from accusations nor set things straight. I wonder who was the op that banned me, and my repl |
| 15:10:06 | <p0lyph3m> | ...y was never answered. If you had somthing to do with me beeing banned, i ask you to please unban me. |
| 15:11:04 | <geekosaur> | re "ironic": Poe's Law |
| 15:11:57 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 15:11:57 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 15:12:26 | → | rettahcay joins (~kaushikv@c-24-20-37-193.hsd1.or.comcast.net) |
| 15:14:28 | <p0lyph3m> | geekosaur , irony can be a b**ch |
| 15:14:38 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 15:15:15 | → | Vajb joins (~Vajb@2001:999:484:9db9:7ff5:c370:5511:7e1c) |
| 15:17:06 | <p0lyph3m> | i referenced an article, that was posted on r/programming and it wasn't of very high quality, it involved haskell and i thought i share on r/haskell , but the messenger got shot :( |
| 15:18:57 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 15:18:58 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 15:21:12 | × | m1dnight quits (~christoph@78.22.0.121) (Ping timeout: 255 seconds) |
| 15:23:19 | → | m1dnight joins (~christoph@78.22.0.121) |
| 15:24:31 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:25:22 | × | beteigeuze quits (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Quit: beteigeuze) |
| 15:25:59 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 15:25:59 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 15:26:28 | ← | rettahcay parts (~kaushikv@c-24-20-37-193.hsd1.or.comcast.net) () |
| 15:27:32 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 15:28:32 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 15:28:40 | → | machinedgod joins (~machinedg@198.53.218.113) |
| 15:29:11 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 255 seconds) |
| 15:31:16 | → | merijn joins (~merijn@86.86.29.250) |
| 15:33:01 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 15:33:01 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 15:33:02 | <raehik> | why does `KnownSymbol a` only reflect down to a String >:( |
| 15:33:43 | <geekosaur> | because Symbol is type level String? |
| 15:34:33 | <raehik> | aw so is that how it looks in the compiler, [Char]? no Text then? :( |
| 15:34:44 | <geekosaur> | right |
| 15:36:03 | <geekosaur> | I have a vague recollection that at some point `Symbol` will become a type alias and they'll use `String` directly |
| 15:36:09 | <raehik> | how much can I rely on GHC's optimizer to inline/expand operations on reflected values? I guess my main question is, what gets "inlined" for symbolVal, natVal |
| 15:36:20 | <geekosaur> | that I don't know |
| 15:37:27 | <raehik> | okie dokie. I will have a gander at generated core at some point. cheers |
| 15:38:06 | <raehik> | I kinda understood why type-level nats go to Natural only (since I'd seen how ints are encoded in the compiler) but didn't apply it to symbols |
| 15:39:24 | <geekosaur> | I think originally it worked a little differently for `Symbol`, but adding type level `Char` and operations between them and `Symbol` meant going the whole way to type level `String` |
| 15:40:00 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 15:40:00 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 15:41:00 | <geekosaur> | and in any case they're going that way anyway as they prepare for Dependent Haskell |
| 15:44:53 | → | _leo___ joins (~emmanuelu@user/emmanuelux) |
| 15:47:01 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 15:47:01 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 15:47:04 | <raehik> | yeah I'm definitely happy with that. I have two wolves inside me one likes abstractions and one likes fast low-level ops sometimes they fight |
| 15:47:58 | × | emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Ping timeout: 246 seconds) |
| 15:49:10 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 15:52:52 | × | Vajb quits (~Vajb@2001:999:484:9db9:7ff5:c370:5511:7e1c) (Read error: Connection reset by peer) |
| 15:54:00 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 15:54:01 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 15:54:15 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) |
| 15:54:40 | → | vglfr joins (~vglfr@37.73.92.230) |
| 15:55:42 | × | mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8) |
| 15:59:20 | × | vglfr quits (~vglfr@37.73.92.230) (Ping timeout: 255 seconds) |
| 16:01:02 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 16:01:02 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 16:05:45 | × | merijn quits (~merijn@86.86.29.250) (Ping timeout: 252 seconds) |
| 16:08:03 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 16:08:03 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 16:11:05 | × | pwntips quits (~user@24-113-98-114.wavecable.com) (Quit: leaving) |
| 16:15:03 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 16:15:03 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 16:22:05 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 16:22:05 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 16:29:04 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 16:29:04 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 16:29:48 | → | pwntips joins (~user@24-113-98-114.wavecable.com) |
| 16:36:04 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 16:36:04 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 16:41:20 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 16:43:05 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 16:43:05 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 16:49:43 | → | razetime joins (~Thunderbi@117.193.4.56) |
| 16:50:07 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 16:50:07 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 16:51:06 | → | tremon joins (~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl) |
| 16:56:03 | → | Kuttenbrunzer joins (~Kuttenbru@2a02:8108:8b80:1d48::597f) |
| 16:57:07 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 16:57:07 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 16:59:40 | → | oldfashionedcow joins (~Rahul_San@user/oldfashionedcow) |
| 17:00:30 | × | oldfashionedcow quits (~Rahul_San@user/oldfashionedcow) (Max SendQ exceeded) |
| 17:02:32 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 17:02:53 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 17:03:12 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
| 17:04:07 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 17:04:07 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 17:11:08 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 17:11:08 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 17:14:21 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 17:17:24 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 17:18:08 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 17:18:08 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 17:22:24 | <raehik> | What is the {-kind-} pragma in https://hackage.haskell.org/package/base-4.17.0.0/docs/src/GHC.TypeError.html#ErrorMessage ? |
| 17:23:04 | <raehik> | it's not just a comment right? can you put a comment between `data` and the data type name |
| 17:23:50 | <raehik> | you can wow. soz don't worry about that question then |
| 17:25:09 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 17:25:09 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 17:28:31 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 17:29:21 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 17:29:43 | × | machinedgod quits (~machinedg@198.53.218.113) (Ping timeout: 252 seconds) |
| 17:31:10 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 17:31:20 | Lord_of_Life_ | is now known as Lord_of_Life |
| 17:32:10 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 17:32:10 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 17:34:45 | gehmehgeh | is now known as gmg |
| 17:34:57 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 17:35:24 | → | dsrt^ joins (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) |
| 17:35:28 | → | bitmapper joins (uid464869@id-464869.lymington.irccloud.com) |
| 17:35:56 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Remote host closed the connection) |
| 17:36:19 | × | gurkenglas quits (~gurkengla@x5271625d.dyn.telefonica.de) (Ping timeout: 268 seconds) |
| 17:36:20 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 17:37:58 | → | gurkenglas joins (~gurkengla@46.114.183.40) |
| 17:38:45 | × | Kuttenbrunzer quits (~Kuttenbru@2a02:8108:8b80:1d48::597f) (Quit: Where is it) |
| 17:39:11 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 17:39:11 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 17:41:16 | × | razetime quits (~Thunderbi@117.193.4.56) (Remote host closed the connection) |
| 17:44:37 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) |
| 17:46:12 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 17:46:12 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 17:46:22 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 17:47:16 | → | Vajb joins (~Vajb@2001:999:484:9db9:7ff5:c370:5511:7e1c) |
| 17:49:59 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:53:12 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 17:53:12 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 17:54:36 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 17:56:33 | → | cheater_ joins (~Username@user/cheater) |
| 17:56:54 | × | dcoutts_ quits (~duncan@host86-167-90-212.range86-167.btcentralplus.com) (Ping timeout: 255 seconds) |
| 17:57:51 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:59:36 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 17:59:38 | cheater_ | is now known as cheater |
| 18:00:13 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 18:00:13 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 18:02:05 | → | merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) |
| 18:03:25 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:04:04 | × | paddymahoney quits (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Read error: Connection reset by peer) |
| 18:07:14 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 18:07:14 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 18:07:20 | × | Yumemi_ quits (~Yumemi@chamoin.net) (Quit: .) |
| 18:10:16 | → | Yumemi joins (~Yumemi@chamoin.net) |
| 18:14:14 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 18:14:14 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 18:15:19 | → | econo joins (uid147250@user/econo) |
| 18:21:14 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 18:21:14 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 18:21:39 | <geekosaur> | no #s so it'snot a pragma. I think they're planning ahead for `data kind …` |
| 18:22:35 | × | hpc quits (~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 248 seconds) |
| 18:24:31 | → | hpc joins (~juzz@ip98-169-35-163.dc.dc.cox.net) |
| 18:28:15 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 18:28:15 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 18:29:06 | → | dcoutts_ joins (~duncan@host86-167-90-212.range86-167.btcentralplus.com) |
| 18:31:47 | <geekosaur> | oh, I stand corrected, looks like they went with `type data` instead of `data kind` so that comment probably wants to change at some point |
| 18:32:15 | <geekosaur> | (it's in 9.6.1, which is on alpha3) |
| 18:32:37 | × | lisq quits (~quassel@lis.moe) () |
| 18:32:38 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 18:33:00 | <geekosaur> | https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0106-type-data.rst |
| 18:33:04 | → | lisq joins (~quassel@lis.moe) |
| 18:33:04 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:35:15 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 18:35:16 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 18:36:47 | × | merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 264 seconds) |
| 18:37:17 | × | dcoutts_ quits (~duncan@host86-167-90-212.range86-167.btcentralplus.com) (Ping timeout: 255 seconds) |
| 18:42:19 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 18:42:19 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 18:48:08 | → | stef204 joins (~stef204@user/stef204) |
| 18:48:40 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 18:49:16 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 18:49:16 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 18:50:06 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 18:52:24 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 18:53:35 | → | cheater_ joins (~Username@user/cheater) |
| 18:56:18 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 18:56:18 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 18:56:45 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 18:56:51 | cheater_ | is now known as cheater |
| 18:58:24 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 19:01:58 | → | cheater_ joins (~Username@user/cheater) |
| 19:03:19 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 19:03:19 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 19:05:04 | × | cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds) |
| 19:05:12 | cheater_ | is now known as cheater |
| 19:09:49 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 19:10:18 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 19:10:18 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 19:14:45 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 255 seconds) |
| 19:17:19 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 19:17:19 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 19:17:45 | → | mauke joins (~mauke@user/mauke) |
| 19:20:02 | → | ddellacosta joins (~ddellacos@143.244.47.71) |
| 19:24:20 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 19:24:20 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 19:28:04 | <ph88> | Where could i add the Eq class to make this type check ? https://bpa.st/73UDK |
| 19:29:14 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 19:29:32 | <ph88> | this paste is probably better https://bpa.st/3IKUQ |
| 19:30:23 | <ph88> | hum small mistake in paste #2 this is paste #3 https://bpa.st/QVV3S probably best |
| 19:30:56 | <ph88> | Should i use this type perhaps ? https://www.stackage.org/haddock/nightly-2023-02-14/purescript-bridge-0.15.0.0/Language-PureScript-Bridge-TypeParameters.html#t:A1 |
| 19:31:20 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 19:31:20 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 19:31:20 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:32:42 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 19:35:39 | <ph88> | paste #4 https://bpa.st/XGDBU sorry for so many pasted i keep making little mistakes in them :/ |
| 19:35:40 | <[exa]> | ph88: what's the A there? |
| 19:35:52 | <ph88> | [exa], https://www.stackage.org/haddock/nightly-2023-02-14/purescript-bridge-0.15.0.0/Language-PureScript-Bridge-TypeParameters.html#t:A |
| 19:37:27 | <ph88> | let me try standalone deriving maybe that works .. |
| 19:37:54 | <ph88> | oh .. that already worked o_O |
| 19:38:01 | <[exa]> | how do you encode typeclasses into that thing? |
| 19:38:21 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 19:38:21 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 19:40:10 | <ph88> | which thing ? |
| 19:41:55 | → | atwm joins (~atwm@19-193-28-81.ftth.cust.kwaoo.net) |
| 19:42:59 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 255 seconds) |
| 19:43:13 | <[exa]> | into the types that don't have the actual haskell variables but the ABCD.. |
| 19:43:16 | × | atwm quits (~atwm@19-193-28-81.ftth.cust.kwaoo.net) (Remote host closed the connection) |
| 19:44:00 | <c_wraith> | I still want local data declarations. |
| 19:44:09 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 19:44:23 | <ph88> | [exa], i guess some magic with Generic |
| 19:44:41 | <[exa]> | magiiiiiiiiiic |
| 19:45:02 | <[exa]> | interesting though. |
| 19:45:22 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 19:45:22 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 19:45:35 | → | mechap joins (~mechap@user/mechap) |
| 19:45:55 | → | xkuru joins (~xkuru@user/xkuru) |
| 19:46:08 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 19:46:38 | → | mechap joins (~mechap@user/mechap) |
| 19:47:25 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 19:47:57 | → | mechap joins (~mechap@user/mechap) |
| 19:48:09 | <ph88> | :D |
| 19:48:39 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 19:49:55 | <ph88> | is Int the same size as Int64 on a 64bits machine ? |
| 19:50:36 | <geekosaur> | yes |
| 19:51:31 | <gqplox[m]> | hello guys |
| 19:52:12 | <ph88> | hi gqplox[m] |
| 19:52:23 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 19:52:23 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 19:53:31 | <gqplox[m]> | hows it going? |
| 19:53:42 | <gqplox[m]> | i am a bit stuck on this question, and although it's not really a haskell question i will ask here anyway because you guys seem smart |
| 19:54:02 | <gqplox[m]> | http://sprunge.us/Mo1jK1 |
| 19:54:04 | <gqplox[m]> | here is the code |
| 19:54:17 | × | iteratee quits (~kyle@162.218.222.107) (Ping timeout: 246 seconds) |
| 19:54:34 | <gqplox[m]> | basically i am given 10 ciphertexts which have been all encoded with the same pad. and an elevent which i have to try to decode |
| 19:55:16 | <gqplox[m]> | i have tried to write a program to solve it, and i have a kind of solution |
| 19:55:48 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 19:56:10 | <gqplox[m]> | my program outputs Th__se_uet_mes_ag___s___htn__s__g_w_Gt_eam_cip_er__nege__uQe_th__k_y____e_rhan__n_e from that i can work out it probably is something like The secret message is stream cipher use the key |
| 19:56:14 | <gqplox[m]> | but i unsure where to go from here |
| 19:56:47 | × | trev quits (~trev@user/trev) (Remote host closed the connection) |
| 19:57:00 | → | iteratee joins (~kyle@162.218.222.107) |
| 19:57:49 | × | tremon quits (~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 19:58:17 | × | ddellacosta quits (~ddellacos@143.244.47.71) (Ping timeout: 255 seconds) |
| 19:58:29 | <mauke> | if you know the plain version of any part of any ciphertext, that gives you immediate knowledge about the key |
| 19:58:41 | <mauke> | since plain `xor` cipher = key |
| 19:59:20 | <mauke> | you can use the partial key to decode other ciphertexts and guess more words |
| 19:59:22 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 19:59:22 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 19:59:24 | <[exa]> | gqplox[m]: do you know anything about the ciphertexts? such as they are ascii? |
| 20:00:21 | <gqplox[m]> | i am assuming so |
| 20:00:26 | <gqplox[m]> | i think it will be yes |
| 20:01:19 | × | andrewboltachev quits (~andrey@178.141.125.176) (Quit: Leaving.) |
| 20:01:37 | <gqplox[m]> | i thought since it is a one time pad (here used multiple times) knowing the decryption of char at pos i will only give me info on the key to decode pos i so it won't help me get the key |
| 20:02:02 | <mauke> | huh? |
| 20:03:10 | <darkling> | It will give you the pad at that point, so you can get a partial decrypt of each of the messages. |
| 20:03:29 | <darkling> | Some of those will give you a good idea of the missing plaintext. |
| 20:03:55 | <darkling> | That then gives you the pad at more points, that you can use to find more plaintext in other messages. |
| 20:04:15 | <darkling> | This isn't going to be a completely automated process, and you'll have to iterate and use some educated guessing. |
| 20:04:29 | <mauke> | in your case you have a good guess that message 11 starts with `The secret message is `. you can xor that into ciphertext 11 to recover a prefix of the cipher stream |
| 20:05:20 | <gqplox[m]> | i only need to figure out what ciphertext 11 says |
| 20:05:44 | <darkling> | Yes, but you've got ten other ciphertexts that all give you context. |
| 20:05:48 | <mauke> | yeah, but you still need to make sure of the other givens |
| 20:05:53 | <mauke> | er, make use* |
| 20:06:03 | <mauke> | it's like solving a crossword puzzle |
| 20:06:13 | <darkling> | Assuming that each of those makes sense in its plaintext, you can do partial decrypts of those as well and use that info to make more guesses. |
| 20:06:23 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 20:06:23 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 20:06:55 | <gqplox[m]> | ohh i get it, so you're saying the same way i did the decode here to get a partial thing of c11 and figured some others out, i can do it for the other ciphertexts and then guess based on those and apply it to c11 again |
| 20:07:24 | <darkling> | Yes, and each iteration you'll get more of the pad. |
| 20:07:25 | <gqplox[m]> | figured some otheres out = guess surround chars in c11 |
| 20:07:25 | <gqplox[m]> | oh right i see, ill try that |
| 20:07:54 | <gqplox[m]> | im dumb :/ thx guys ill try it |
| 20:08:00 | <darkling> | You also get good verification of your guesses of the pad -- if the words make sense on all the messages, you've got the right pad. :) |
| 20:09:31 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 20:12:17 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 20:13:25 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 20:13:25 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 20:18:12 | × | chexum_ quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 20:18:48 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 20:20:12 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Remote host closed the connection) |
| 20:20:24 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 20:20:24 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 20:24:37 | × | stef204 quits (~stef204@user/stef204) (Quit: WeeChat 3.8) |
| 20:24:54 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 20:27:26 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 20:27:26 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 20:32:38 | → | merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) |
| 20:34:26 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 20:34:26 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 20:36:49 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 20:37:04 | × | merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
| 20:37:47 | → | Hammdist joins (~Hammdist@67.169.114.135) |
| 20:38:32 | <Hammdist> | how do I test if a string ends in "_suffix"? |
| 20:40:40 | <geekosaur> | :t isSuffixOf |
| 20:40:41 | <lambdabot> | Eq a => [a] -> [a] -> Bool |
| 20:40:54 | <Hammdist> | hm ok thanks |
| 20:41:10 | <xerox> | @src isSuffixOf |
| 20:41:10 | <lambdabot> | isSuffixOf x y = reverse x `isPrefixOf` reverse y |
| 20:41:28 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 20:41:28 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 20:42:29 | <yushyin> | ^ is not how it is actually implemented |
| 20:43:22 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds) |
| 20:43:28 | <geekosaur> | well, that's true of @src in general |
| 20:43:43 | × | Yumemi quits (~Yumemi@chamoin.net) (Quit: .) |
| 20:45:00 | <xerox> | :t (. tails) . (any . (==)) |
| 20:45:01 | <lambdabot> | Eq a => [a] -> [a] -> Bool |
| 20:45:26 | → | Yumemi joins (~Yumemi@chamoin.net) |
| 20:48:28 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 20:48:28 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 20:52:25 | × | pescvilek quits (~pescvilek@93-103-164-4.dynamic.t-2.net) (Ping timeout: 268 seconds) |
| 20:53:54 | phma_ | is now known as phma |
| 20:54:48 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Quit: o/) |
| 20:55:08 | × | bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 20:55:27 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 20:55:27 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 20:57:21 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 20:57:43 | → | dcoutts_ joins (~duncan@86.167.90.212) |
| 21:02:28 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 21:02:28 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 21:03:03 | × | Yumemi quits (~Yumemi@chamoin.net) (Quit: .) |
| 21:03:33 | → | wroathe joins (~wroathe@50.205.197.50) |
| 21:03:33 | × | wroathe quits (~wroathe@50.205.197.50) (Changing host) |
| 21:03:33 | → | wroathe joins (~wroathe@user/wroathe) |
| 21:04:18 | → | Yumemi joins (~Yumemi@chamoin.net) |
| 21:05:18 | × | Yumemi quits (~Yumemi@chamoin.net) (Client Quit) |
| 21:05:37 | → | biberu joins (~biberu@user/biberu) |
| 21:09:29 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 21:09:29 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 21:11:36 | → | mechap joins (~mechap@user/mechap) |
| 21:12:29 | → | Bocaneri joins (~sauvin@user/Sauvin) |
| 21:12:52 | Bocaneri | is now known as Guest3260 |
| 21:14:51 | × | Sauvin quits (~sauvin@user/Sauvin) (Ping timeout: 252 seconds) |
| 21:15:10 | → | Sciencentistguy joins (~sciencent@hacksoc/ordinary-member) |
| 21:16:04 | → | opticblast joins (~Thunderbi@172.58.82.191) |
| 21:16:29 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 21:16:29 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 21:17:08 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 21:18:10 | → | Yumemi joins (~Yumemi@chamoin.net) |
| 21:19:14 | → | gmg joins (~user@user/gehmehgeh) |
| 21:20:12 | → | pavonia joins (~user@user/siracusa) |
| 21:21:22 | Guest3260 | is now known as SenFache |
| 21:23:19 | → | JonathanWatson[m joins (~jjwmatrix@2001:470:69fc:105::2:a544) |
| 21:23:30 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 21:23:30 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 21:26:20 | → | mikoto-chan joins (~mikoto-ch@2001:999:780:f282:401c:67bd:495d:c664) |
| 21:26:51 | × | Yumemi quits (~Yumemi@chamoin.net) (Quit: .) |
| 21:28:55 | → | Yumemi joins (~Yumemi@chamoin.net) |
| 21:30:31 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 21:30:32 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 21:30:59 | × | mikoto-chan quits (~mikoto-ch@2001:999:780:f282:401c:67bd:495d:c664) (Ping timeout: 255 seconds) |
| 21:32:59 | × | Yumemi quits (~Yumemi@chamoin.net) (Client Quit) |
| 21:35:12 | → | Yumemi joins (~Yumemi@chamoin.net) |
| 21:36:27 | × | cods quits (~fred@82-65-232-44.subs.proxad.net) (Read error: Connection reset by peer) |
| 21:37:31 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 21:37:32 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 21:40:45 | → | cods joins (~fred@82-65-232-44.subs.proxad.net) |
| 21:40:58 | → | vglfr joins (~vglfr@88.155.56.103) |
| 21:44:32 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 21:44:32 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 21:49:21 | → | ub joins (~Thunderbi@p200300ecdf1301b3ab5830a245f8dddb.dip0.t-ipconnect.de) |
| 21:50:13 | × | ubert quits (~Thunderbi@p200300ecdf13012f11fae769624975a6.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 21:50:13 | ub | is now known as ubert |
| 21:51:32 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 21:51:32 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 21:53:43 | × | telser quits (~quassel@user/telser) (Ping timeout: 252 seconds) |
| 21:54:52 | → | telser joins (~quassel@user/telser) |
| 21:58:34 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 21:58:34 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 22:05:34 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 22:05:34 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 22:12:34 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 22:12:35 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 22:19:35 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 22:19:35 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 22:22:34 | × | Yumemi quits (~Yumemi@chamoin.net) (Quit: .) |
| 22:25:18 | → | Yumemi joins (~Yumemi@chamoin.net) |
| 22:25:59 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 22:26:35 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 22:26:35 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 22:26:54 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
| 22:26:55 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 22:32:40 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 22:32:50 | → | mikoto-chan joins (~mikoto-ch@2001:999:250:81ee:23c4:8735:cf7a:82c6) |
| 22:33:14 | → | merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) |
| 22:33:36 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 22:33:36 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 22:37:39 | <gqplox[m]> | The secret message is: When using a stream cipher, never use the key more than once |
| 22:37:39 | <gqplox[m]> | :) |
| 22:38:00 | <darkling> | Seems reasonable. :) |
| 22:38:53 | → | captnemo joins (~captnemo@193.32.127.226) |
| 22:39:30 | × | captnemo quits (~captnemo@193.32.127.226) (Client Quit) |
| 22:40:36 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 22:40:36 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 22:41:01 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:44:33 | → | ddellacosta joins (~ddellacos@146.70.166.221) |
| 22:47:38 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 22:47:38 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 22:47:53 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 22:47:56 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:53:41 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 22:54:39 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 22:54:39 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 23:01:33 | × | telser quits (~quassel@user/telser) (Ping timeout: 252 seconds) |
| 23:01:39 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 23:01:39 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 23:03:38 | → | telser joins (~quassel@user/telser) |
| 23:05:46 | × | Tuplanolla quits (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:06:31 | × | merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
| 23:08:40 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 23:08:40 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 23:09:49 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:10:20 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 23:10:48 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 23:15:39 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 23:15:39 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 23:16:46 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 23:22:40 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 23:22:41 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 23:27:25 | → | xbarnett joins (~xbarnett@89.44.10.165) |
| 23:29:41 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 23:29:42 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 23:29:54 | × | oldsk00l quits (~znc@ec2-3-10-215-70.eu-west-2.compute.amazonaws.com) (Ping timeout: 255 seconds) |
| 23:30:04 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 23:30:53 | × | dcoutts_ quits (~duncan@86.167.90.212) (Ping timeout: 252 seconds) |
| 23:32:36 | × | AlexZenon quits (~alzenon@178.34.160.79) (Ping timeout: 255 seconds) |
| 23:33:48 | × | Alex_test quits (~al_test@178.34.160.79) (Ping timeout: 246 seconds) |
| 23:36:21 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:36:43 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 23:36:43 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 23:36:44 | → | AlexZenon joins (~alzenon@178.34.160.79) |
| 23:37:59 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 23:38:47 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 23:39:36 | → | Alex_test joins (~al_test@178.34.160.79) |
| 23:42:12 | × | mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8) |
| 23:43:43 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 23:43:43 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 23:47:51 | × | xbarnett quits (~xbarnett@89.44.10.165) (Remote host closed the connection) |
| 23:49:11 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 23:49:39 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 23:50:43 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 23:50:43 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
| 23:57:43 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 23:57:43 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit) |
All times are in UTC on 2023-02-18.