Logs on 2023-09-14 (liberachat/#haskell)
| 00:04:24 | × | phma quits (~phma@host-67-44-208-141.hnremote.net) (Read error: Connection reset by peer) |
| 00:04:48 | × | aaronv quits (~aaronv@user/aaronv) (Ping timeout: 246 seconds) |
| 00:04:53 | → | phma joins (~phma@2001:5b0:211f:7af8:a52f:4bf4:d1dd:8ad4) |
| 00:07:22 | × | bradparker quits (sid262931@id-262931.uxbridge.irccloud.com) (Server closed connection) |
| 00:07:31 | → | bradparker joins (sid262931@id-262931.uxbridge.irccloud.com) |
| 00:09:09 | × | Inst quits (~Inst@120.244.192.250) (Ping timeout: 252 seconds) |
| 00:14:33 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds) |
| 00:16:44 | → | ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com) |
| 00:26:21 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 00:35:17 | → | Inst joins (~Inst@120.244.192.250) |
| 00:39:05 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 00:42:50 | <Inst> | is it imperative that I handle all possible exceptions generated by a readFile action? |
| 00:43:48 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 00:45:23 | × | danza_ quits (~francesco@151.37.244.202) (Read error: Connection reset by peer) |
| 00:45:48 | → | danza_ joins (~francesco@151.37.236.99) |
| 00:48:21 | → | Sciencentistguy9 joins (~sciencent@hacksoc/ordinary-member) |
| 00:48:29 | <Inst> | probably it's just better to propagate IO errors via the IO exception type |
| 00:50:02 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Ping timeout: 255 seconds) |
| 00:50:02 | Sciencentistguy9 | is now known as Sciencentistguy |
| 00:53:42 | × | Square2 quits (~Square4@user/square) (Ping timeout: 252 seconds) |
| 00:55:12 | × | todi quits (~todi@p5dca5c94.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 00:55:29 | → | todi joins (~todi@p5dca5c94.dip0.t-ipconnect.de) |
| 00:55:44 | × | absence quits (torgeihe@hildring.pvv.ntnu.no) (Ping timeout: 246 seconds) |
| 00:55:51 | → | absence joins (torgeihe@hildring.pvv.ntnu.no) |
| 00:56:10 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 00:56:10 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 00:56:10 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:02:06 | × | samhh quits (7569f027cf@2604:bf00:561:2000::e4) (Server closed connection) |
| 01:02:06 | samhh_ | is now known as samhh |
| 01:02:18 | → | samhh_ joins (7569f027cf@2604:bf00:561:2000::e4) |
| 01:25:04 | × | drewjose quits (~drewjose@129.154.40.88) (Server closed connection) |
| 01:25:22 | → | drewjose joins (~drewjose@129.154.40.88) |
| 01:31:03 | × | ysh____ quits (sid6017@id-6017.ilkley.irccloud.com) (Server closed connection) |
| 01:31:10 | → | ysh____ joins (sid6017@id-6017.ilkley.irccloud.com) |
| 01:31:19 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 01:31:19 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 01:31:19 | finn_elija | is now known as FinnElija |
| 01:35:29 | <monochrom> | It is imperative programming to handle exceptions. >:) |
| 01:43:16 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 01:43:19 | <MelanieMalik> | dragons |
| 01:44:54 | × | otto_s quits (~user@p4ff27130.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 01:45:10 | <monochrom> | https://www.vex.net/~trebla/photo/unorganized/dragon.jpg :) |
| 01:45:52 | <int-e> | :t interact |
| 01:45:53 | <lambdabot> | (String -> String) -> IO () |
| 01:46:56 | → | otto_s joins (~user@p4ff27db5.dip0.t-ipconnect.de) |
| 01:49:03 | → | caryhartline joins (~caryhartl@168.182.58.169) |
| 01:50:48 | × | wagle quits (~wagle@quassel.wagle.io) (Server closed connection) |
| 01:51:05 | → | wagle joins (~wagle@quassel.wagle.io) |
| 01:54:01 | <Axman6> | Anyone have a good reference for how to implement showsPrec for a fairly standard numerical expression ADT? |
| 01:55:40 | <Axman6> | data type is: data E = Num Int | Var VarName | Index | Add E E | Mul E E | Sub E E | Neg E, so very simple, with Index just mapping to the string "index" |
| 01:58:49 | <Axman6> | I guess I could steal a lot of that from simple-reflect |
| 02:02:06 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 02:02:44 | → | haritzondo joins (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) |
| 02:03:26 | × | haritz quits (~hrtz@user/haritz) (Read error: Connection reset by peer) |
| 02:05:29 | <int-e> | Axman6: FWIW, the intended meaning of the precedence can be found in the Haskell report. https://www.haskell.org/onlinereport/derived.html#sect10.4 |
| 02:07:08 | <Axman6> | great, thanks |
| 02:10:08 | → | notzmv joins (~zmv@user/notzmv) |
| 02:12:00 | <[Leary]> | `deriving Show` + -ddump-deriv? |
| 02:13:34 | <Axman6> | That might help if I used infix constructors I guess |
| 02:17:06 | <Axman6> | not sure how to handle negation - showsIndexExprCPP p (Neg e) = showString "-" . showsIndexExprCPP (p+1) e, which seems to work, but I have no idea if it's actually correct |
| 02:17:24 | <Axman6> | also p never decreases |
| 02:17:24 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds) |
| 02:17:51 | × | codaraxis___ quits (~codaraxis@user/codaraxis) (Ping timeout: 252 seconds) |
| 02:19:18 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 255 seconds) |
| 02:19:31 | <Axman6> | definitely going to need to make a parser for this type at some point too -_- |
| 02:23:28 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 02:25:28 | Axman6 | could just make negate x = 0 - x ... |
| 02:31:24 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 246 seconds) |
| 02:33:23 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 02:34:17 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:f9cc:9bb3:d19d:9050) (Remote host closed the connection) |
| 02:34:41 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) |
| 02:34:47 | × | xff0x quits (~xff0x@2405:6580:b080:900:9311:4ac5:5e3e:3a1c) (Ping timeout: 246 seconds) |
| 02:42:46 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:42:46 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:43:40 | <Inst> | Axman6: no harsh feelings with anything you might have said, if I say stupid things or behave stupidly, I should expect to get a negative response |
| 02:45:31 | × | td_ quits (~td@i5387093F.versanet.de) (Ping timeout: 252 seconds) |
| 02:46:04 | <Inst> | monochrom: well, the original plan was to cast every exception constructor that could be anticipated to my own type |
| 02:47:13 | → | td_ joins (~td@i5387091B.versanet.de) |
| 02:48:12 | × | alinab quits (sid468903@id-468903.helmsley.irccloud.com) (Server closed connection) |
| 02:48:20 | → | alinab joins (sid468903@id-468903.helmsley.irccloud.com) |
| 02:50:50 | × | qqq quits (~qqq@92.43.167.61) (Remote host closed the connection) |
| 03:00:07 | × | caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline) |
| 03:08:27 | × | ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 03:09:14 | × | aforemny quits (~aforemny@i59F516E5.versanet.de) (Ping timeout: 245 seconds) |
| 03:09:23 | → | aforemny_ joins (~aforemny@i59F516F8.versanet.de) |
| 03:10:20 | → | ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net) |
| 03:10:56 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 03:14:50 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 03:25:18 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 03:25:30 | × | vglfr quits (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection) |
| 03:26:05 | × | ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 03:26:14 | → | vglfr joins (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
| 03:29:29 | × | vglfr quits (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection) |
| 03:29:47 | <jackdk> | Axman6: Best I know of is https://www.haskellforall.com/2020/11/pretty-print-syntax-trees-with-this-one.html ; if you find other good answers, do let me know |
| 03:30:06 | → | vglfr joins (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
| 03:31:45 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 03:31:55 | × | vglfr quits (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection) |
| 03:32:12 | → | vglfr joins (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
| 03:33:14 | × | c_wraith quits (~c_wraith@adjoint.us) (Server closed connection) |
| 03:34:24 | → | c_wraith joins (~c_wraith@adjoint.us) |
| 03:36:30 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 03:41:50 | → | caryhartline joins (~caryhartl@168.182.58.169) |
| 03:45:14 | → | privacy joins (~privacy@47.219.84.6) |
| 03:45:27 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:45:27 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:45:27 | finn_elija | is now known as FinnElija |
| 03:51:25 | × | caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline) |
| 03:56:22 | <haskellbridge> | <tewuzij> Can I use brackets and commas than spaces? |
| 03:58:40 | <monochrom> | No. |
| 04:03:44 | <EvanR> | :t "(), " |
| 04:03:45 | <lambdabot> | [Char] |
| 04:04:06 | → | Sciencentistguy3 joins (~sciencent@hacksoc/ordinary-member) |
| 04:04:08 | <EvanR> | Yes |
| 04:05:15 | × | privacy quits (~privacy@47.219.84.6) (Quit: Leaving) |
| 04:05:29 | → | jargon joins (~jargon@184.101.67.95) |
| 04:05:39 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Ping timeout: 252 seconds) |
| 04:05:39 | Sciencentistguy3 | is now known as Sciencentistguy |
| 04:05:59 | → | privacy joins (~privacy@47.219.84.6) |
| 04:06:14 | <institor> | :t ((,) ,) |
| 04:06:15 | <lambdabot> | t -> (a -> b -> (a, b), t) |
| 04:06:33 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 04:07:28 | → | aaronv joins (~aaronv@user/aaronv) |
| 04:08:13 | → | michalz joins (~michalz@185.246.207.217) |
| 04:08:57 | <EvanR> | touché |
| 04:13:23 | <Axman6> | > map(show)([1..10]) -- you can however use spaces and brackets |
| 04:13:24 | <lambdabot> | ["1","2","3","4","5","6","7","8","9","10"] |
| 04:17:33 | × | aaronv quits (~aaronv@user/aaronv) (Remote host closed the connection) |
| 04:17:58 | → | aaronv joins (~aaronv@user/aaronv) |
| 04:21:18 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 246 seconds) |
| 04:23:22 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 04:31:30 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 04:38:04 | × | tomku quits (~tomku@user/tomku) (Server closed connection) |
| 04:38:17 | → | tomku joins (~tomku@user/tomku) |
| 04:40:53 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 04:44:00 | × | Hobbyboy quits (Hobbyboy@hobbyboy.co.uk) (Server closed connection) |
| 04:44:15 | → | Hobbyboy joins (Hobbyboy@hobbyboy.co.uk) |
| 04:44:59 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 04:45:30 | × | danza_ quits (~francesco@151.37.236.99) (Read error: Connection reset by peer) |
| 04:45:48 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 04:46:17 | → | danza_ joins (~francesco@151.19.246.34) |
| 04:52:47 | <Inst> | okay, you know how bad Haskell via Pacman is? |
| 04:52:54 | <Inst> | it turns out that if you install agda, it corrupts GHCup |
| 04:53:07 | <Inst> | or rather, it corrupts Cabal, which for whatever reason all of a sudden wants to use the 9.0.2 that comes with agda |
| 04:57:10 | × | aaronv quits (~aaronv@user/aaronv) (Remote host closed the connection) |
| 04:57:14 | × | cafkafk quits (~cafkafk@fsf/member/cafkafk) (Quit: WeeChat 3.6) |
| 04:57:30 | → | aaronv joins (~aaronv@user/aaronv) |
| 05:01:22 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 05:03:05 | → | CiaoSen joins (~Jura@2a05:5800:2b2:5a00:664b:f0ff:fe37:9ef) |
| 05:07:56 | <haskellbridge> | <maerwald> That sounds like a PATH issue |
| 05:07:57 | <Axman6> | Yeah don't use system package managers for Haskell, it's not worth it. I would guess the same's true for Idris |
| 05:08:18 | → | chomwitt joins (~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) |
| 05:10:22 | → | caryhartline joins (~caryhartl@168.182.58.169) |
| 05:16:36 | → | glider joins (~glider@user/glider) |
| 05:17:57 | × | chomwitt quits (~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) (Ping timeout: 255 seconds) |
| 05:20:50 | → | chomwitt joins (~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) |
| 05:24:01 | × | Inst quits (~Inst@120.244.192.250) (Remote host closed the connection) |
| 05:24:31 | → | Inst joins (~Inst@120.244.192.250) |
| 05:28:56 | <Inst> | Axman6 no, I mean, I know that pacman goes TERRIBLY with Haskell |
| 05:29:18 | <Inst> | but Agda is a separate language, it just happens to use Haskell as a compiler |
| 05:34:45 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:34:46 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 05:39:11 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 05:43:15 | × | vglfr quits (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Read error: Connection reset by peer) |
| 05:43:50 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 05:44:29 | → | vglfr joins (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
| 05:47:59 | × | raym quits (~ray@user/raym) (Quit: server reboot - Upgrade to 13.2-RELEASE-p3) |
| 05:52:18 | → | ubert joins (~Thunderbi@178.165.200.97.wireless.dyn.drei.com) |
| 05:54:49 | × | jackdk quits (sid373013@cssa/jackdk) (Server closed connection) |
| 05:54:59 | → | jackdk joins (sid373013@cssa/jackdk) |
| 05:55:49 | × | mjs2600 quits (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Ping timeout: 252 seconds) |
| 05:58:02 | × | agander_m quits (sid407952@id-407952.tinside.irccloud.com) (Server closed connection) |
| 05:58:13 | → | agander_m joins (sid407952@id-407952.tinside.irccloud.com) |
| 05:59:36 | → | mjs2600 joins (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) |
| 06:01:15 | × | dy quits (sid3438@user/dy) (Server closed connection) |
| 06:01:26 | → | dy joins (sid3438@user/dy) |
| 06:05:49 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 06:07:59 | × | chomwitt quits (~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
| 06:08:20 | → | chomwitt joins (~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) |
| 06:10:04 | × | sgarcia quits (sgarcia@swarm.znchost.com) (Ping timeout: 245 seconds) |
| 06:11:03 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 06:14:05 | → | sgarcia joins (sgarcia@swarm.znchost.com) |
| 06:26:22 | → | yosef` joins (~yosef`@user/yosef/x-2947716) |
| 06:34:00 | → | sshine joins (~simon@zhen.mechanicus.xyz) |
| 06:34:49 | kraftwerk28_ | is now known as kraftwerk28 |
| 06:43:24 | × | chomwitt quits (~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) (Ping timeout: 240 seconds) |
| 06:44:45 | → | raym joins (~ray@user/raym) |
| 06:49:27 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 06:55:21 | × | Inst quits (~Inst@120.244.192.250) (Ping timeout: 255 seconds) |
| 06:58:13 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:03:38 | → | fendor joins (~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) |
| 07:03:54 | → | Inst joins (~Inst@120.244.192.250) |
| 07:07:24 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:1dda:7f6d:8801:7a7b) |
| 07:09:13 | aforemny_ | is now known as aforemny |
| 07:09:18 | × | chiselfuse quits (~chiselfus@user/chiselfuse) (Ping timeout: 246 seconds) |
| 07:11:35 | → | chiselfuse joins (~chiselfus@user/chiselfuse) |
| 07:13:31 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 07:15:26 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 07:17:40 | → | ursa-major joins (~ursa-majo@37.19.210.38) |
| 07:18:26 | × | qhong quits (~qhong@rescomp-21-400677.stanford.edu) (Read error: Connection reset by peer) |
| 07:18:36 | → | qhong joins (~qhong@rescomp-21-400677.stanford.edu) |
| 07:19:13 | × | renegade quits (~renegade@bcdcac82.skybroadband.com) (Read error: Connection reset by peer) |
| 07:19:56 | → | renegade joins (~renegade@bcdcac82.skybroadband.com) |
| 07:22:10 | × | xmachina quits (~xmachina@modemcable048.127-56-74.mc.videotron.ca) (Ping timeout: 252 seconds) |
| 07:22:14 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 07:22:36 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection) |
| 07:22:40 | → | xmachina joins (~xmachina@modemcable048.127-56-74.mc.videotron.ca) |
| 07:27:27 | × | robobub quits (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:28:07 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 07:34:54 | × | caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline) |
| 07:37:01 | × | aaronv quits (~aaronv@user/aaronv) (Ping timeout: 252 seconds) |
| 07:38:24 | × | libertyprime quits (~libertypr@203.96.203.44) (Quit: leaving) |
| 07:41:40 | → | schweers joins (~user@p200300e57723860073a75a2a83d5f435.dip0.t-ipconnect.de) |
| 07:43:18 | <Inst> | btw tomssmeding, any suggestions for what to do next? |
| 07:43:21 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 07:43:30 | <Inst> | My lib is hot garbage, every time I look at it, I get disgusted because I feel like the architecture is terrible |
| 07:43:35 | <tomsmeding> | using ghc from pacman is quite possible, you "just" have to pass -dynamic to ghc always iirc |
| 07:43:46 | <Inst> | I just cabal installed and called it a day |
| 07:43:49 | <tomsmeding> | but you have to choose between arch's ghc and pacman's ghc, otherwise you'll get confused |
| 07:44:06 | <tomsmeding> | afaiu the system can handle two simultaneously installed ghc's just fine, given the correct PATH setup |
| 07:44:14 | <Inst> | should I try to publish my hot garbage lib to hackage? The name literally says "alpha" though |
| 07:44:41 | <tomsmeding> | put it on github, add an entry to the haskell weekly news, and wait for feedback |
| 07:45:16 | <Inst> | hmmm, okay, and I can use cabal to link to the github package for my other project that I need |
| 07:45:42 | <tomsmeding> | yeah |
| 07:45:49 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 07:45:50 | <tomsmeding> | cabal.project |
| 07:46:00 | <schweers> | Hi, I have a (hopefully) quick question: I have a new stack project and I want to use HDBC and HDBC-postgresql. Adding HDBC to `package.yaml` works fine and I can `import HDBC` in my sources. Yet I have no idea how to add HDBC-postgresql. According to the user guide I need `extra-deps`, but this doesn’t work. Stack complains that the field `S.extra-deps` is unknown. For what it’s worth, I installed everything |
| 07:46:00 | <schweers> | using `ghcup`. |
| 07:47:37 | <tomsmeding> | schweers: post your full package.yaml and stack.yaml? |
| 07:47:39 | <tomsmeding> | @where paste |
| 07:47:39 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 07:48:22 | <schweers> | sure: package.yaml: https://paste.tomsmeding.com/vduFAqeu |
| 07:48:49 | <schweers> | stack.yaml: https://paste.tomsmeding.com/EUygkp5U |
| 07:49:33 | <tomsmeding> | schweers: try putting the 'extra-deps: - ...' block in stack.yaml instead |
| 07:49:36 | <tomsmeding> | I believe it goes there |
| 07:49:37 | <schweers> | Unless I made a mistake, stack.yaml should still be the the original. |
| 07:49:51 | <schweers> | tomsmeding: I’ll try, give me a sec |
| 07:50:02 | <tomsmeding> | schweers: I think you made a mistake _because_ it's still the original ;) |
| 07:50:46 | <schweers> | I feel really stupid right now. I’m sure that I tried that as well, but only got complaints from stack. Now it works. Thank you so much! |
| 07:50:59 | <tomsmeding> | glad it worked :) |
| 07:51:49 | <schweers> | So am I! |
| 07:52:10 | <Inst> | i'm wondering though, is a self-hosting installer for Haskell a good or bad idea? |
| 07:52:20 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:52:22 | <schweers> | On a related note: is HDBC-postgres the/a recommended library to use to connect to a Postgres Database? |
| 07:52:29 | <Inst> | erm, installer framework, rather |
| 07:54:38 | → | renegade_ joins (~renegade@bcdcac82.skybroadband.com) |
| 07:55:43 | → | chele joins (~chele@user/chele) |
| 07:55:51 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 07:56:49 | × | renegade quits (~renegade@bcdcac82.skybroadband.com) (Ping timeout: 252 seconds) |
| 07:59:17 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) |
| 07:59:33 | → | jackneill__ joins (~Jackneill@20014C4E1E101A0048EACD7D3B494F2B.dsl.pool.telekom.hu) |
| 08:00:02 | × | smoothdev quits (~smoothdev@91-169-231-236.subs.proxad.net) (Quit: smoothdev) |
| 08:00:25 | → | smoothdev joins (~smoothdev@91-169-231-236.subs.proxad.net) |
| 08:02:12 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 08:03:43 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Ping timeout: 240 seconds) |
| 08:06:50 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
| 08:14:36 | × | anpad quits (~pandeyan@user/anpad) (Ping timeout: 248 seconds) |
| 08:15:27 | → | cfricke joins (~cfricke@user/cfricke) |
| 08:17:09 | → | anpad joins (~pandeyan@user/anpad) |
| 08:18:18 | → | atwm joins (~atwm@45.10.152.184) |
| 08:18:49 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 08:23:15 | × | renegade_ quits (~renegade@bcdcac82.skybroadband.com) (Read error: Connection reset by peer) |
| 08:24:39 | × | danza_ quits (~francesco@151.19.246.34) (Ping timeout: 245 seconds) |
| 08:26:07 | × | ByronJohnson quits (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 258 seconds) |
| 08:28:24 | → | renegade joins (~renegade@bcdcac82.skybroadband.com) |
| 08:32:43 | → | ByronJohnson joins (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
| 08:38:34 | → | libertyprime joins (~libertypr@203.96.203.44) |
| 08:40:44 | × | atwm quits (~atwm@45.10.152.184) (Ping timeout: 255 seconds) |
| 08:41:55 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 08:42:25 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 08:42:40 | → | atwm joins (~atwm@45.10.152.186) |
| 08:46:15 | × | chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
| 08:46:53 | → | chiselfuse joins (~chiselfus@user/chiselfuse) |
| 08:47:15 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 08:48:10 | → | danse-nr3 joins (~francesco@151.35.230.79) |
| 08:49:25 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) |
| 08:49:57 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 08:49:57 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 08:49:57 | → | wroathe joins (~wroathe@user/wroathe) |
| 08:53:24 | × | privacy quits (~privacy@47.219.84.6) (Quit: Leaving) |
| 08:54:42 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 08:57:30 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 09:01:53 | × | renegade quits (~renegade@bcdcac82.skybroadband.com) (Ping timeout: 255 seconds) |
| 09:02:16 | × | atwm quits (~atwm@45.10.152.186) (Remote host closed the connection) |
| 09:02:34 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
| 09:07:36 | × | wagle quits (~wagle@quassel.wagle.io) (Ping timeout: 252 seconds) |
| 09:07:46 | × | apache quits (apache2@anubis.0x90.dk) (Server closed connection) |
| 09:07:54 | → | apache2 joins (apache2@anubis.0x90.dk) |
| 09:08:38 | → | renegade joins (~renegade@bcdcac82.skybroadband.com) |
| 09:08:50 | → | wagle joins (~wagle@quassel.wagle.io) |
| 09:09:49 | → | solution joins (~solution@94-21-157-146.pool.digikabel.hu) |
| 09:11:30 | × | smoothdev quits (~smoothdev@91-169-231-236.subs.proxad.net) (Quit: smoothdev) |
| 09:13:39 | × | troydm quits (~troydm@user/troydm) (Ping timeout: 252 seconds) |
| 09:13:44 | → | smoothdev joins (~smoothdev@91-169-231-236.subs.proxad.net) |
| 09:14:15 | × | lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Server closed connection) |
| 09:14:23 | → | lambdabot joins (~lambdabot@silicon.int-e.eu) |
| 09:14:23 | × | lambdabot quits (~lambdabot@silicon.int-e.eu) (Changing host) |
| 09:14:23 | → | lambdabot joins (~lambdabot@haskell/bot/lambdabot) |
| 09:14:59 | × | anpad quits (~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in) |
| 09:15:07 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 09:15:50 | → | anpad joins (~pandeyan@user/anpad) |
| 09:17:21 | × | smoothdev quits (~smoothdev@91-169-231-236.subs.proxad.net) (Client Quit) |
| 09:17:55 | → | smoothdev joins (~smoothdev@91-169-231-236.subs.proxad.net) |
| 09:26:37 | → | troydm joins (~troydm@user/troydm) |
| 09:27:27 | × | foul_owl_ quits (~kerry@185.219.141.161) (Ping timeout: 255 seconds) |
| 09:29:21 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 09:29:51 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 09:33:37 | × | mysl quits (~mysl@user/mysl) (Ping timeout: 252 seconds) |
| 09:34:22 | × | vglfr quits (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection) |
| 09:35:12 | → | vglfr joins (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
| 09:36:29 | × | vglfr quits (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection) |
| 09:37:47 | → | vglfr joins (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
| 09:38:38 | × | vglfr quits (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection) |
| 09:39:04 | → | vglfr joins (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
| 09:39:43 | × | yosef` quits (~yosef`@user/yosef/x-2947716) (Ping timeout: 245 seconds) |
| 09:40:08 | → | foul_owl_ joins (~kerry@185.219.141.160) |
| 09:43:00 | × | Inst quits (~Inst@120.244.192.250) (Remote host closed the connection) |
| 09:43:26 | → | Inst joins (~Inst@120.244.192.250) |
| 09:46:34 | × | ft quits (~ft@p508dbaa9.dip0.t-ipconnect.de) (Quit: leaving) |
| 09:50:39 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 09:52:04 | × | libertyprime quits (~libertypr@203.96.203.44) (Quit: leaving) |
| 09:54:03 | × | vglfr quits (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection) |
| 09:54:28 | → | vglfr joins (~vglfr@188.239.201.89) |
| 09:55:35 | → | oblivious joins (~oblivious@38.111.191.92.dynamic.jazztel.es) |
| 09:56:12 | × | oblivious quits (~oblivious@38.111.191.92.dynamic.jazztel.es) (Client Quit) |
| 09:57:04 | × | vglfr quits (~vglfr@188.239.201.89) (Remote host closed the connection) |
| 09:57:58 | → | vglfr joins (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
| 09:58:01 | × | vglfr quits (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection) |
| 09:59:29 | → | chomwitt joins (~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) |
| 10:00:47 | → | cyphase_eviltwin joins (~cyphase@user/cyphase) |
| 10:01:04 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 258 seconds) |
| 10:02:18 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 10:05:21 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds) |
| 10:07:45 | × | smoothdev quits (~smoothdev@91-169-231-236.subs.proxad.net) (Quit: smoothdev) |
| 10:22:44 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 10:31:54 | × | Putonlalla quits (~Putonlall@it-cyan.it.jyu.fi) (Server closed connection) |
| 10:32:54 | → | Putonlalla joins (~Putonlall@it-cyan.it.jyu.fi) |
| 10:33:05 | → | vglfr joins (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
| 10:36:23 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 10:44:34 | × | michalz quits (~michalz@185.246.207.217) (Read error: No route to host) |
| 10:45:42 | → | michalz joins (~michalz@185.246.207.201) |
| 10:47:06 | → | Square2 joins (~Square4@user/square) |
| 11:00:21 | × | Inst quits (~Inst@120.244.192.250) (Ping timeout: 252 seconds) |
| 11:02:31 | → | Inst joins (~Inst@120.244.192.250) |
| 11:03:20 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 11:03:21 | → | nyr joins (~nyr@user/nyr) |
| 11:07:05 | → | xff0x joins (~xff0x@2405:6580:b080:900:820a:8b71:e207:7b95) |
| 11:12:23 | × | CiaoSen quits (~Jura@2a05:5800:2b2:5a00:664b:f0ff:fe37:9ef) (Ping timeout: 255 seconds) |
| 11:22:29 | → | pyooque joins (~puke@user/puke) |
| 11:22:29 | × | puke quits (~puke@user/puke) (Killed (osmium.libera.chat (Nickname regained by services))) |
| 11:22:29 | pyooque | is now known as puke |
| 11:30:29 | × | Teacup quits (~teacup@user/teacup) (Ping timeout: 245 seconds) |
| 11:31:00 | → | Teacup joins (~teacup@user/teacup) |
| 11:33:00 | → | pounce joins (~pounce@user/cute/pounce) |
| 11:33:23 | <dminuoso> | Hi. Im a bit at a loss. Im fiddling around with nano-cryptr, which does foreign import ccall safe "crypt_r" crypt_r :: CString-> CString -> Ptr CDOpaque -> IO CString |
| 11:33:54 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 252 seconds) |
| 11:33:55 | <dminuoso> | However, Im on macOS and I cant quite figure out what macho objects this is resolved from ultimately |
| 11:34:13 | <dminuoso> | i.e. how can I figure out which library this is resolved from? |
| 11:36:10 | <jackdk> | schweers: I like hasql. If you need a big, heavy, type-safe hammer, opaleye is awesome but has more of a learning curve. Unsure of others (rel8, selda, etc). Never got my head around beam. If you want something really simple, postgresql-simple is that. |
| 11:38:02 | <dminuoso> | postgresql-simple has a rather questional "self-made" query parameter interpolation logic, sadly, however. |
| 11:38:17 | <dminuoso> | Which is a real bummer considering libpq has first class support for this. |
| 11:38:50 | <haskellbridge> | <mauke> safeErce :: (a ~ b) => b -> a |
| 11:38:53 | <dminuoso> | hasql gets this one right, and it uses binary de/serialization too (postgresql-simple only uses text encoding). for various workloads that makes a tremendous performance difference |
| 11:39:10 | → | __monty__ joins (~toonn@user/toonn) |
| 11:44:16 | → | gmg_ joins (~user@user/gehmehgeh) |
| 11:45:32 | <schweers> | jackdk: Thanks, I’ll have a look at those, especially opaleye. |
| 11:46:09 | × | gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 246 seconds) |
| 11:49:30 | <jackdk> | yeah I like hasql's use of the binary protocol, as well as its ability to annotate query strings with types denoting their parameters. That's why I'd say opaleye pays off if you really need the safety and the ability to stitch queries together |
| 11:50:29 | <danse-nr3> | cannot hasql do that? Seems quite a common use case |
| 11:51:18 | <danse-nr3> | but from what you say it seems that hasql is less type-safe, that is more interesting |
| 11:51:29 | <dminuoso> | danse-nr3: No, hasql is not about query building. |
| 11:51:55 | <dminuoso> | It just gives you some tools to stich sort of parameter decoder/encoder together with queries. |
| 11:52:07 | <danse-nr3> | i see, thanks dminuoso |
| 11:52:28 | <dminuoso> | well and a lot of small combinators, like TH syntax validation of your queries if you want it. |
| 11:52:36 | <jackdk> | https://hackage.haskell.org/package/hasql-1.6.3.2/docs/Hasql-Statement.html#t:Statement this constructor just wraps a ByteString with additional information and codecs, but you can't bolt statements together. I do like its use of contravariant functors |
| 11:53:16 | <dminuoso> | my biggest convern with postgresql-simple is really the "home-made" query interpolation, really. |
| 11:54:15 | <dminuoso> | I have more trust in libpq getting this right, than some convoluted haskell code that likely was written once, and never looked at by anyone else. |
| 11:54:23 | <dminuoso> | but thats just grumpy me. |
| 11:55:19 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 11:55:49 | <danse-nr3> | i recall studying relational algebra, but i am not aware of any haskell lib that is based on it |
| 11:56:32 | <danse-nr3> | it would probably be more effort on top of building the compatibility layer |
| 11:57:36 | <danse-nr3> | but could aid a neat design |
| 11:58:44 | → | privacy joins (~privacy@47.219.84.6) |
| 12:10:19 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 12:11:06 | <dminuoso> | There is a bunch of relational algebra libraries |
| 12:11:09 | <dminuoso> | https://github.com/agentm/project-m36 is one of them |
| 12:11:47 | <dminuoso> | Nowadays, I think I really just want a django-esque relational mapper but for Haskell. Without any type tricks. |
| 12:11:50 | <dminuoso> | Just pure, dumb, dynamic things. |
| 12:14:26 | <danse-nr3> | nice, i will check project-m36 out, thanks. Dynamic things? Having a type for a table is already a lot of type safety, to help with marshalling and querying |
| 12:15:04 | <danse-nr3> | i guess that does not need the less known type-level features |
| 12:16:13 | <danse-nr3> | anyways, for practicality, if i would write an app nowadays i would base it upon postgrest. Saves even more boilerplate |
| 12:16:56 | haritzondo | is now known as haritz |
| 12:16:56 | × | haritz quits (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host) |
| 12:16:56 | → | haritz joins (~hrtz@user/haritz) |
| 12:19:15 | <danse-nr3> | oh m36 is not a shim, it is a database |
| 12:20:24 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Quit: _) |
| 12:20:41 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 12:26:11 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 12:29:04 | × | danse-nr3 quits (~francesco@151.35.230.79) (Ping timeout: 252 seconds) |
| 12:35:03 | × | phma quits (~phma@2001:5b0:211f:7af8:a52f:4bf4:d1dd:8ad4) (Read error: Connection reset by peer) |
| 12:36:00 | → | phma joins (phma@2001:5b0:210b:c008:bd31:491b:c236:df4b) |
| 12:39:39 | × | nyr quits (~nyr@user/nyr) (Ping timeout: 245 seconds) |
| 12:41:51 | × | acidjnk quits (~acidjnk@p200300d6e7072f94d95e0f42a9292ff4.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 12:44:10 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 12:49:04 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
| 12:52:56 | × | disconnect3d quits (~disconnec@user/disconnect3d) (Server closed connection) |
| 12:53:06 | → | disconnect3d joins (~disconnec@user/disconnect3d) |
| 12:53:19 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 12:55:02 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:56:56 | → | danse-nr3 joins (~francesco@151.35.231.127) |
| 12:58:02 | → | acidjnk joins (~acidjnk@p200300d6e7072f94d84002b8d460e75b.dip0.t-ipconnect.de) |
| 12:59:52 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds) |
| 13:00:52 | → | bontaq joins (~user@ool-45707d2c.dyn.optonline.net) |
| 13:02:14 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 13:05:51 | × | MelanieMalik quits (ellenor@callbox.trd.is) (Server closed connection) |
| 13:09:47 | → | smoothdev joins (~smoothdev@91-169-231-236.subs.proxad.net) |
| 13:10:53 | × | ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Quit: WeeChat 4.0.3) |
| 13:11:09 | × | smoothdev quits (~smoothdev@91-169-231-236.subs.proxad.net) (Client Quit) |
| 13:13:27 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds) |
| 13:13:52 | <dminuoso> | danse-nr3: There are things where bolting on type system just adds so much inconvenience with a complicated and verbose, and slow, API, all at the cost of perceived stability. |
| 13:14:47 | → | Ellenor joins (ellenor@callbox.trd.is) |
| 13:15:18 | <dminuoso> | The reality is, when you build SQL queries, you *very* likely will try them out rapidly anyway, to see whether your SQL is expressed correctly. |
| 13:17:11 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 13:17:19 | <danse-nr3> | maybe having a type for a table and using it for querying is more complex than i imagine |
| 13:17:28 | × | acidjnk quits (~acidjnk@p200300d6e7072f94d84002b8d460e75b.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 13:20:25 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:1dda:7f6d:8801:7a7b) (Quit: WeeChat 2.8) |
| 13:20:37 | <dminuoso> | Honestly, 'query :: Typeable a => Connection -> String -> IO [a]' is all I really want. |
| 13:21:17 | <dminuoso> | There could be some additional glue, where the database code is made aware of some kind of table <> type mapping, such that diagnotics work nicely |
| 13:22:07 | <dminuoso> | The sort of django model.py equivalent. |
| 13:25:55 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:1dda:7f6d:8801:7a7b) |
| 13:27:12 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds) |
| 13:29:47 | → | ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net) |
| 13:30:17 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 13:31:21 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 13:31:21 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 13:31:21 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:40:18 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds) |
| 13:42:18 | <fendor> | dminuoso, I suppose you do want an API that enforces the usage of prepared statements |
| 13:42:48 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 13:44:09 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 13:47:43 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
| 13:49:08 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 13:49:49 | → | acidjnk joins (~acidjnk@p200300d6e7072f94d84002b8d460e75b.dip0.t-ipconnect.de) |
| 13:51:48 | × | privacy quits (~privacy@47.219.84.6) (Quit: Leaving) |
| 13:52:38 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds) |
| 13:54:03 | × | bsima quits (~bsima@143.198.118.179) (Server closed connection) |
| 13:54:22 | → | bsima joins (~bsima@2604:a880:400:d0::19f1:7001) |
| 13:54:50 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
| 13:55:17 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 13:55:43 | → | califax joins (~califax@user/califx) |
| 13:55:49 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 13:58:27 | → | ystael joins (~ystael@user/ystael) |
| 13:58:42 | × | chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
| 13:59:13 | → | chiselfuse joins (~chiselfus@user/chiselfuse) |
| 14:00:29 | × | ggVGc quits (~ggVGc@a.lowtech.earth) (Server closed connection) |
| 14:00:52 | → | ggVGc joins (~ggVGc@a.lowtech.earth) |
| 14:01:22 | → | ripspin joins (~chatzilla@1.145.159.142) |
| 14:03:01 | → | nyr joins (~nyr@user/nyr) |
| 14:04:03 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 252 seconds) |
| 14:13:34 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds) |
| 14:15:32 | → | ystael joins (~ystael@user/ystael) |
| 14:19:56 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:21:04 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 14:22:08 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:1dda:7f6d:8801:7a7b) (Quit: WeeChat 2.8) |
| 14:25:27 | → | califax_ joins (~califax@user/califx) |
| 14:27:54 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
| 14:28:15 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 252 seconds) |
| 14:29:15 | × | califax quits (~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in) |
| 14:29:15 | califax_ | is now known as califax |
| 14:33:00 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 240 seconds) |
| 14:35:29 | × | megaTherion quits (~therion@2001:470:1f09:68::1) (Quit: ZNC 1.8.2 - https://znc.in) |
| 14:35:39 | → | megaTherion joins (~therion@unix.io) |
| 14:39:48 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 14:45:10 | → | ystael joins (~ystael@user/ystael) |
| 14:46:10 | → | samlamamma joins (~user@h-46-59-69-159.A785.priv.bahnhof.se) |
| 14:47:28 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 14:48:44 | × | lisq quits (~quassel@lis.moe) (Server closed connection) |
| 14:48:53 | → | lisq joins (~quassel@lis.moe) |
| 14:52:09 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 245 seconds) |
| 14:52:36 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 14:52:59 | → | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 14:54:04 | <samlamamma> | Hi :-). Dumb question: Is the 'diamond problem' from multiple inheritance possible in Haskell's type classes? I'd think no, since we can't provide or override implementations in the type classes themselves. |
| 14:54:59 | <danse-nr3> | i agree |
| 14:55:00 | → | Square joins (~Square@user/square) |
| 14:55:40 | <EvanR> | there's no inheritance so you can't have multiple inheritance |
| 14:56:19 | <samlamamma> | What about class (Foo f, Bar f) => Baz f where ... ? |
| 14:56:36 | × | aspen quits (sid449115@helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 14:56:44 | × | jackdk quits (sid373013@cssa/jackdk) (Ping timeout: 245 seconds) |
| 14:56:44 | × | dsal quits (sid13060@id-13060.lymington.irccloud.com) (Ping timeout: 245 seconds) |
| 14:56:46 | <samlamamma> | EvanR: What would you call that :-)? |
| 14:56:47 | × | bjs quits (sid190364@user/bjs) (Ping timeout: 246 seconds) |
| 14:56:56 | × | joel135 quits (sid136450@id-136450.hampstead.irccloud.com) (Ping timeout: 255 seconds) |
| 14:56:56 | × | pjlsergeant__ quits (sid143467@id-143467.hampstead.irccloud.com) (Ping timeout: 255 seconds) |
| 14:56:57 | × | snek quits (sid280155@id-280155.lymington.irccloud.com) (Ping timeout: 246 seconds) |
| 14:56:57 | × | smalltalkman quits (uid545680@id-545680.hampstead.irccloud.com) (Ping timeout: 246 seconds) |
| 14:57:00 | × | gaze___ quits (sid387101@id-387101.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 14:57:00 | × | g00gler quits (uid125351@id-125351.uxbridge.irccloud.com) (Ping timeout: 258 seconds) |
| 14:57:00 | × | rubin55 quits (sid175221@id-175221.hampstead.irccloud.com) (Ping timeout: 258 seconds) |
| 14:57:01 | × | aristid quits (sid1599@id-1599.uxbridge.irccloud.com) (Ping timeout: 252 seconds) |
| 14:57:01 | × | Pent quits (sid313808@id-313808.lymington.irccloud.com) (Ping timeout: 252 seconds) |
| 14:57:01 | × | acertain_ quits (sid470584@id-470584.hampstead.irccloud.com) (Ping timeout: 252 seconds) |
| 14:57:02 | × | diagprov quits (sid348783@user/diagprov) (Ping timeout: 246 seconds) |
| 14:57:03 | <EvanR> | additional constraint on a class |
| 14:57:06 | × | gmc quits (sid58314@id-58314.ilkley.irccloud.com) (Ping timeout: 255 seconds) |
| 14:57:06 | × | hook54321 quits (sid149355@user/hook54321) (Ping timeout: 255 seconds) |
| 14:57:07 | × | iphy quits (sid67735@id-67735.lymington.irccloud.com) (Ping timeout: 258 seconds) |
| 14:57:08 | × | skippy quits (sid26890@user/slice) (Ping timeout: 246 seconds) |
| 14:57:09 | × | SrPx quits (sid108780@id-108780.uxbridge.irccloud.com) (Ping timeout: 245 seconds) |
| 14:57:14 | <danse-nr3> | as you said samlamamma, implementations are not provided in the classes, so there is no inheritance |
| 14:57:16 | × | hongminhee quits (sid295@id-295.tinside.irccloud.com) (Ping timeout: 248 seconds) |
| 14:57:17 | × | integral quits (sid296274@user/integral) (Ping timeout: 248 seconds) |
| 14:57:17 | × | parseval quits (sid239098@id-239098.helmsley.irccloud.com) (Ping timeout: 248 seconds) |
| 14:57:17 | × | bw_ quits (sid2730@id-2730.ilkley.irccloud.com) (Ping timeout: 248 seconds) |
| 14:57:17 | × | tritlo_ quits (sid58727@id-58727.hampstead.irccloud.com) (Ping timeout: 248 seconds) |
| 14:57:18 | × | NiKaN quits (sid385034@id-385034.helmsley.irccloud.com) (Ping timeout: 246 seconds) |
| 14:57:23 | × | agander_m quits (sid407952@id-407952.tinside.irccloud.com) (Ping timeout: 255 seconds) |
| 14:57:23 | × | jakesyl____ quits (sid56879@id-56879.hampstead.irccloud.com) (Ping timeout: 255 seconds) |
| 14:57:23 | × | sclv quits (sid39734@haskell/developer/sclv) (Ping timeout: 258 seconds) |
| 14:57:23 | × | chessai quits (sid225296@id-225296.lymington.irccloud.com) (Ping timeout: 246 seconds) |
| 14:57:24 | × | delyan_ quits (sid523379@id-523379.hampstead.irccloud.com) (Ping timeout: 246 seconds) |
| 14:57:24 | × | dy quits (sid3438@user/dy) (Ping timeout: 240 seconds) |
| 14:57:24 | × | shawwwn quits (sid6132@id-6132.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 14:57:30 | × | meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Ping timeout: 258 seconds) |
| 14:57:32 | × | b20n quits (sid115913@id-115913.uxbridge.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:32 | × | pepeiborra quits (sid443799@id-443799.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:32 | × | jonrh quits (sid5185@id-5185.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:32 | × | rune_ quits (sid21167@id-21167.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:32 | × | edwardk quits (sid47016@haskell/developer/edwardk) (Read error: Connection reset by peer) |
| 14:57:32 | × | S11001001 quits (sid42510@id-42510.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:32 | × | mustafa quits (sid502723@rockylinux/releng/mustafa) (Read error: Connection reset by peer) |
| 14:57:32 | × | lexi-lambda quits (sid92601@id-92601.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:32 | × | evertedsphere quits (sid434122@id-434122.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:32 | × | amir quits (sid22336@user/amir) (Read error: Connection reset by peer) |
| 14:57:32 | × | hamishmack quits (sid389057@id-389057.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:33 | × | glowcoil quits (sid3405@id-3405.tinside.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:33 | × | NemesisD quits (sid24071@id-24071.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:33 | × | hovsater quits (sid499516@id-499516.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:33 | × | jmct quits (sid160793@id-160793.tinside.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:33 | × | idnar quits (sid12240@debian/mithrandi) (Read error: Connection reset by peer) |
| 14:57:33 | × | degraafk quits (sid71464@id-71464.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:33 | × | geekosaur[c] quits (sid609282@xmonad/geekosaur) (Read error: Connection reset by peer) |
| 14:57:34 | × | AndreasK quits (sid320732@id-320732.uxbridge.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:34 | × | lally quits (sid388228@id-388228.uxbridge.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:34 | × | systemfault quits (sid267009@about/typescript/member/systemfault) (Read error: Connection reset by peer) |
| 14:57:34 | × | T_S____ quits (sid501726@id-501726.uxbridge.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:34 | × | bradparker quits (sid262931@id-262931.uxbridge.irccloud.com) (Ping timeout: 252 seconds) |
| 14:57:34 | × | tnks quits (sid412124@id-412124.helmsley.irccloud.com) (Ping timeout: 252 seconds) |
| 14:57:34 | × | sa1 quits (sid7690@id-7690.ilkley.irccloud.com) (Ping timeout: 245 seconds) |
| 14:57:35 | × | JSharp quits (sid4580@id-4580.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:36 | × | taktoa[c] quits (sid282096@id-282096.tinside.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:36 | × | astra quits (sid289983@id-289983.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:36 | × | cbarrett quits (sid192934@id-192934.helmsley.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:36 | × | Fangs quits (sid141280@id-141280.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:37 | × | PotatoGim quits (sid99505@id-99505.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:37 | × | yvan-sraka quits (sid419690@id-419690.lymington.irccloud.com) (Write error: Connection reset by peer) |
| 14:57:37 | × | buhman quits (sid411355@user/buhman) (Read error: Connection reset by peer) |
| 14:57:38 | × | davetapley quits (sid666@2a03:5180:f:5::29a) (Read error: Connection reset by peer) |
| 14:57:38 | × | totbwf quits (sid402332@id-402332.uxbridge.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:38 | × | wallymathieu quits (sid533252@id-533252.uxbridge.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:38 | × | ysh____ quits (sid6017@id-6017.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:38 | × | SethTisue quits (sid14912@id-14912.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:38 | × | ProofTechnique_ quits (sid79547@id-79547.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:38 | × | haasn quits (sid579015@id-579015.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:39 | × | dmj` quits (sid72307@id-72307.hampstead.irccloud.com) (Write error: Connection reset by peer) |
| 14:57:39 | × | conjunctive quits (sid433686@id-433686.helmsley.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:39 | × | carter quits (sid14827@id-14827.helmsley.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:39 | × | yandere quits (sid467876@id-467876.ilkley.irccloud.com) (Ping timeout: 246 seconds) |
| 14:57:39 | × | Boarders___ quits (sid425905@id-425905.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:39 | × | nrr______ quits (sid20938@id-20938.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:40 | × | edm quits (sid147314@id-147314.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:40 | × | SanchayanMaity quits (sid478177@id-478177.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 14:57:45 | <danse-nr3> | so many people quitting ... some network disruption going on ... |
| 14:57:46 | × | edmundnoble_ quits (sid229620@id-229620.helmsley.irccloud.com) (Ping timeout: 258 seconds) |
| 14:57:52 | <EvanR> | I detect a great split in the net |
| 14:57:54 | <samlamamma> | So it's not just me! |
| 14:57:54 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 14:58:00 | × | mankyKitty quits (sid31287@id-31287.helmsley.irccloud.com) (Ping timeout: 246 seconds) |
| 14:58:08 | → | aspen joins (sid449115@helmsley.irccloud.com) |
| 14:58:08 | <Square> | You can have implementation in classes iirc |
| 14:58:12 | <EvanR> | Like a 1000 connections were just suddenly reset by peer |
| 14:58:21 | × | Guest3051 quits (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 246 seconds) |
| 14:58:21 | <samlamamma> | Alright, I accept what you're saying. That makes sense, inheritance is the borrowing of concrete implementation. |
| 14:58:24 | × | alinab quits (sid468903@id-468903.helmsley.irccloud.com) (Ping timeout: 245 seconds) |
| 14:58:24 | × | christiaanb quits (sid84827@id-84827.lymington.irccloud.com) (Ping timeout: 245 seconds) |
| 14:58:32 | × | Adeon quits (sid418992@id-418992.lymington.irccloud.com) (Ping timeout: 258 seconds) |
| 14:58:35 | × | schweers quits (~user@p200300e57723860073a75a2a83d5f435.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 14:58:40 | × | ggranberry quits (sid267884@id-267884.uxbridge.irccloud.com) (Ping timeout: 252 seconds) |
| 14:58:42 | × | lightandlight quits (sid135476@id-135476.helmsley.irccloud.com) (Ping timeout: 246 seconds) |
| 14:58:59 | → | mankyKitty joins (sid31287@helmsley.irccloud.com) |
| 14:59:02 | → | jmct joins (sid160793@tinside.irccloud.com) |
| 14:59:03 | → | edwardk joins (sid47016@haskell/developer/edwardk) |
| 14:59:04 | → | evertedsphere joins (sid434122@hampstead.irccloud.com) |
| 14:59:04 | → | pepeiborra joins (sid443799@ilkley.irccloud.com) |
| 14:59:04 | <danse-nr3> | yeah there can be default implementations |
| 14:59:04 | → | pjlsergeant__ joins (sid143467@hampstead.irccloud.com) |
| 14:59:06 | → | amir joins (sid22336@user/amir) |
| 14:59:07 | → | S11001001 joins (sid42510@ilkley.irccloud.com) |
| 14:59:12 | → | g00gler joins (uid125351@uxbridge.irccloud.com) |
| 14:59:12 | → | geekosaur[c] joins (sid609282@xmonad/geekosaur) |
| 14:59:13 | → | ggranberry joins (sid267884@id-267884.uxbridge.irccloud.com) |
| 14:59:13 | → | glowcoil joins (sid3405@id-3405.tinside.irccloud.com) |
| 14:59:14 | → | wallymathieu joins (sid533252@uxbridge.irccloud.com) |
| 14:59:15 | → | bradparker joins (sid262931@id-262931.uxbridge.irccloud.com) |
| 14:59:17 | → | buhman joins (sid411355@user/buhman) |
| 14:59:18 | → | jonrh joins (sid5185@id-5185.ilkley.irccloud.com) |
| 14:59:20 | → | parseval joins (sid239098@id-239098.helmsley.irccloud.com) |
| 14:59:21 | → | hovsater joins (sid499516@id-499516.lymington.irccloud.com) |
| 14:59:21 | → | sclv joins (sid39734@haskell/developer/sclv) |
| 14:59:22 | → | sa1 joins (sid7690@id-7690.ilkley.irccloud.com) |
| 14:59:23 | → | T_S____ joins (sid501726@id-501726.uxbridge.irccloud.com) |
| 14:59:23 | → | hamishmack joins (sid389057@id-389057.hampstead.irccloud.com) |
| 14:59:25 | → | Adeon joins (sid418992@id-418992.lymington.irccloud.com) |
| 14:59:27 | → | tritlo_ joins (sid58727@id-58727.hampstead.irccloud.com) |
| 14:59:31 | → | idnar joins (sid12240@debian/mithrandi) |
| 14:59:35 | → | davetapley joins (sid666@id-666.uxbridge.irccloud.com) |
| 14:59:37 | → | dy joins (sid3438@id-3438.helmsley.irccloud.com) |
| 14:59:38 | → | iphy joins (sid67735@id-67735.lymington.irccloud.com) |
| 14:59:39 | → | skippy joins (sid26890@id-26890.lymington.irccloud.com) |
| 14:59:40 | → | systemfault joins (sid267009@about/typescript/member/systemfault) |
| 14:59:40 | → | NemesisD joins (sid24071@id-24071.lymington.irccloud.com) |
| 14:59:41 | → | nrr______ joins (sid20938@id-20938.lymington.irccloud.com) |
| 14:59:42 | → | rune_ joins (sid21167@ilkley.irccloud.com) |
| 14:59:42 | → | ProofTechnique_ joins (sid79547@id-79547.ilkley.irccloud.com) |
| 14:59:42 | → | cbarrett joins (sid192934@id-192934.helmsley.irccloud.com) |
| 14:59:42 | → | snek joins (sid280155@id-280155.lymington.irccloud.com) |
| 14:59:43 | → | alinab joins (sid468903@helmsley.irccloud.com) |
| 14:59:44 | → | integral joins (sid296274@id-296274.lymington.irccloud.com) |
| 14:59:44 | → | conjunctive joins (sid433686@id-433686.helmsley.irccloud.com) |
| 14:59:45 | <EvanR> | in class (Foo f, Bar f) => Baz f where, you have to have those 3 classes for each f, it can't borrow |
| 14:59:45 | → | degraafk joins (sid71464@id-71464.lymington.irccloud.com) |
| 14:59:45 | → | jackdk joins (sid373013@id-373013.tinside.irccloud.com) |
| 14:59:48 | → | diagprov joins (sid348783@id-348783.hampstead.irccloud.com) |
| 14:59:49 | → | rubin55 joins (sid175221@id-175221.hampstead.irccloud.com) |
| 14:59:51 | <danse-nr3> | hey people that are joining again: what happened to your internet? |
| 14:59:52 | → | Pent joins (sid313808@id-313808.lymington.irccloud.com) |
| 14:59:53 | → | JSharp joins (sid4580@id-4580.lymington.irccloud.com) |
| 14:59:53 | → | Fangs joins (sid141280@hampstead.irccloud.com) |
| 14:59:54 | → | aristid joins (sid1599@uxbridge.irccloud.com) |
| 14:59:54 | × | dy quits (sid3438@id-3438.helmsley.irccloud.com) (Changing host) |
| 14:59:54 | → | dy joins (sid3438@user/dy) |
| 14:59:56 | × | integral quits (sid296274@id-296274.lymington.irccloud.com) (Changing host) |
| 14:59:56 | → | integral joins (sid296274@user/integral) |
| 14:59:57 | × | skippy quits (sid26890@id-26890.lymington.irccloud.com) (Changing host) |
| 14:59:57 | → | skippy joins (sid26890@user/slice) |
| 14:59:58 | → | totbwf joins (sid402332@uxbridge.irccloud.com) |
| 14:59:59 | → | Guest3051 joins (sid1055@id-1055.tinside.irccloud.com) |
| 14:59:59 | × | diagprov quits (sid348783@id-348783.hampstead.irccloud.com) (Changing host) |
| 14:59:59 | → | diagprov joins (sid348783@user/diagprov) |
| 15:00:04 | × | jackdk quits (sid373013@id-373013.tinside.irccloud.com) (Changing host) |
| 15:00:04 | → | jackdk joins (sid373013@cssa/jackdk) |
| 15:00:05 | → | carter joins (sid14827@2a03:5180:f:1::39eb) |
| 15:00:05 | → | edmundnoble_ joins (sid229620@helmsley.irccloud.com) |
| 15:00:13 | × | Fangs quits (sid141280@hampstead.irccloud.com) (Client Quit) |
| 15:00:15 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 255 seconds) |
| 15:00:17 | → | AndreasK joins (sid320732@id-320732.uxbridge.irccloud.com) |
| 15:00:18 | → | bw_ joins (sid2730@2a03:5180:f:3::aaa) |
| 15:00:25 | → | SethTisue joins (sid14912@id-14912.ilkley.irccloud.com) |
| 15:00:26 | → | haasn joins (sid579015@hampstead.irccloud.com) |
| 15:00:26 | → | edm joins (sid147314@hampstead.irccloud.com) |
| 15:00:28 | → | meinside joins (uid24933@helmsley.irccloud.com) |
| 15:00:29 | <EvanR> | have to have instances* |
| 15:00:30 | → | b20n joins (sid115913@uxbridge.irccloud.com) |
| 15:00:36 | → | ysh____ joins (sid6017@id-6017.ilkley.irccloud.com) |
| 15:00:44 | → | lexi-lambda joins (sid92601@id-92601.hampstead.irccloud.com) |
| 15:00:45 | → | lightandlight joins (sid135476@id-135476.helmsley.irccloud.com) |
| 15:00:45 | → | Fangs joins (sid141280@2a03:5180:f:4::2:27e0) |
| 15:00:46 | → | taktoa[c] joins (sid282096@tinside.irccloud.com) |
| 15:00:47 | <samlamamma> | Yup, you guys are entirely correct! |
| 15:00:47 | → | chessai joins (sid225296@id-225296.lymington.irccloud.com) |
| 15:00:47 | → | agander_m joins (sid407952@id-407952.tinside.irccloud.com) |
| 15:00:48 | → | dsal joins (sid13060@id-13060.lymington.irccloud.com) |
| 15:00:49 | → | yandere joins (sid467876@id-467876.ilkley.irccloud.com) |
| 15:00:49 | → | mustafa joins (sid502723@id-502723.hampstead.irccloud.com) |
| 15:00:50 | → | christiaanb joins (sid84827@id-84827.lymington.irccloud.com) |
| 15:00:51 | → | bjs joins (sid190364@helmsley.irccloud.com) |
| 15:00:51 | → | acertain_ joins (sid470584@id-470584.hampstead.irccloud.com) |
| 15:00:53 | → | tnks joins (sid412124@id-412124.helmsley.irccloud.com) |
| 15:00:53 | → | hongminhee joins (sid295@id-295.tinside.irccloud.com) |
| 15:00:54 | gmg_ | is now known as gmg |
| 15:00:54 | → | shawwwn joins (sid6132@id-6132.helmsley.irccloud.com) |
| 15:00:54 | → | delyan_ joins (sid523379@id-523379.hampstead.irccloud.com) |
| 15:00:55 | → | gaze___ joins (sid387101@id-387101.helmsley.irccloud.com) |
| 15:00:56 | → | smalltalkman joins (uid545680@id-545680.hampstead.irccloud.com) |
| 15:00:58 | → | SanchayanMaity joins (sid478177@id-478177.hampstead.irccloud.com) |
| 15:00:59 | → | yvan-sraka joins (sid419690@id-419690.lymington.irccloud.com) |
| 15:01:00 | → | PotatoGim joins (sid99505@id-99505.lymington.irccloud.com) |
| 15:01:01 | → | astra joins (sid289983@id-289983.hampstead.irccloud.com) |
| 15:01:02 | → | lally joins (sid388228@id-388228.uxbridge.irccloud.com) |
| 15:01:02 | → | joel135 joins (sid136450@id-136450.hampstead.irccloud.com) |
| 15:01:04 | → | gmc joins (sid58314@id-58314.ilkley.irccloud.com) |
| 15:01:04 | → | jakesyl____ joins (sid56879@id-56879.hampstead.irccloud.com) |
| 15:01:06 | → | Boarders___ joins (sid425905@id-425905.lymington.irccloud.com) |
| 15:01:06 | × | bjs quits (sid190364@helmsley.irccloud.com) (Changing host) |
| 15:01:06 | → | bjs joins (sid190364@user/bjs) |
| 15:01:15 | → | hook54321 joins (sid149355@user/hook54321) |
| 15:01:17 | × | mustafa quits (sid502723@id-502723.hampstead.irccloud.com) (Changing host) |
| 15:01:17 | → | mustafa joins (sid502723@rockylinux/releng/mustafa) |
| 15:01:17 | → | dmj` joins (sid72307@id-72307.hampstead.irccloud.com) |
| 15:01:17 | → | SrPx joins (sid108780@uxbridge.irccloud.com) |
| 15:01:21 | <danse-nr3> | in #linux they say it was irccloud, i did not know it had that many users |
| 15:01:25 | → | NiKaN joins (sid385034@id-385034.helmsley.irccloud.com) |
| 15:01:38 | × | pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer) |
| 15:02:07 | → | pavonia joins (~user@user/siracusa) |
| 15:02:14 | × | NiKaN quits (sid385034@id-385034.helmsley.irccloud.com) (Client Quit) |
| 15:02:23 | <EvanR> | samlamamma, a deep dive into type classes which is at least good for deleting any preconceived notions of how type classes work https://www.youtube.com/watch?v=hIZxTQP1ifo |
| 15:03:04 | → | NiKaN joins (sid385034@id-385034.helmsley.irccloud.com) |
| 15:03:55 | <samlamamma> | Oooh you know what? I'm on vacation, I should print out some research papers |
| 15:04:17 | <geekosaur> | yeh, irccloud just reset for some reason |
| 15:08:25 | → | dhil joins (~dhil@78.45.150.83.ewm.ftth.as8758.net) |
| 15:09:27 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds) |
| 15:11:50 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 15:12:29 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:18:54 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection) |
| 15:19:17 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) |
| 15:19:48 | × | chomwitt quits (~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) (Ping timeout: 240 seconds) |
| 15:20:30 | → | ystael joins (~ystael@user/ystael) |
| 15:20:50 | → | powderhorn joins (~powderhor@207-153-12-54.static.fttp.usinternet.com) |
| 15:21:05 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 15:21:49 | → | smoothdev joins (~smoothdev@91-169-231-236.subs.proxad.net) |
| 15:21:51 | × | Square quits (~Square@user/square) (Ping timeout: 255 seconds) |
| 15:23:48 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds) |
| 15:25:36 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:28:45 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 4.0.4) |
| 15:30:25 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 15:30:43 | → | Simikando joins (~Simikando@bband-dyn237.95-103-149.t-com.sk) |
| 15:31:59 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection) |
| 15:35:27 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) |
| 15:36:02 | <ddellacosta> | EvanR: I love that talk |
| 15:36:51 | <EvanR> | oops, the link description is Edward Kmett - Type Classes vs. the World (Boston Haskell) |
| 15:37:09 | × | Simikando quits (~Simikando@bband-dyn237.95-103-149.t-com.sk) (Ping timeout: 245 seconds) |
| 15:37:54 | <ddellacosta> | it really helped me understand how distinctly modules solve certain problems and what tradeoffs that gives you |
| 15:42:27 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds) |
| 15:46:30 | <yin> | what's the canonical way of showing a record with indentation? |
| 15:46:34 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 15:46:49 | <yin> | is there a showPretty somewhere? |
| 15:47:03 | <EvanR> | I like pretty-simple package |
| 15:47:42 | <yin> | EvanR: ty |
| 15:51:43 | × | danse-nr3 quits (~francesco@151.35.231.127) (Ping timeout: 240 seconds) |
| 15:52:08 | <EvanR> | I changed my mind. To make the output reasonable you need to pass outputOptionsCompact = True |
| 15:52:16 | <EvanR> | cool but not simple at all! |
| 15:54:13 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds) |
| 15:54:47 | × | phma quits (phma@2001:5b0:210b:c008:bd31:491b:c236:df4b) (Read error: Connection reset by peer) |
| 15:55:15 | <EvanR> | ddellacosta, and from that video I just learned ghci command :bro (:browse) xD |
| 15:55:25 | → | phma joins (~phma@host-67-44-208-16.hnremote.net) |
| 15:56:37 | → | notzmv joins (~zmv@user/notzmv) |
| 15:57:48 | × | ripspin quits (~chatzilla@1.145.159.142) (Remote host closed the connection) |
| 15:59:08 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 248 seconds) |
| 15:59:17 | → | danse-nr3 joins (~francesco@151.35.231.127) |
| 16:01:08 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 16:01:45 | × | Inst quits (~Inst@120.244.192.250) (Ping timeout: 252 seconds) |
| 16:02:42 | → | caryhartline joins (~caryhartl@168.182.58.169) |
| 16:04:46 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 16:07:39 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 16:08:07 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 16:08:12 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 16:09:39 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection) |
| 16:11:56 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 248 seconds) |
| 16:13:06 | <EvanR> | samlamamma, great screenshot from the talk which sums up what I was remembering about it in relation to the question about diamond dependencies, https://i.imgur.com/A0Xvs9a.png |
| 16:13:10 | × | caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline) |
| 16:13:26 | × | codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 255 seconds) |
| 16:14:19 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 16:14:25 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) |
| 16:14:59 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 16:15:11 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 16:16:23 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 16:17:05 | × | fendor quits (~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) (Remote host closed the connection) |
| 16:17:29 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds) |
| 16:19:56 | → | caryhartline joins (~caryhartl@168.182.58.169) |
| 16:22:09 | <ddellacosta> | EvanR: haha a useful shortcut indeed |
| 16:23:25 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 16:24:29 | → | danse-nr3_ joins (~francesco@151.54.19.188) |
| 16:25:48 | × | danse-nr3 quits (~francesco@151.35.231.127) (Ping timeout: 240 seconds) |
| 16:31:43 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Server closed connection) |
| 16:32:05 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 16:33:22 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 16:35:12 | → | Simikando joins (~Simikando@bband-dyn237.95-103-149.t-com.sk) |
| 16:35:43 | Ellenor | is now known as MelanieMalik |
| 16:35:50 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds) |
| 16:35:51 | × | nyr quits (~nyr@user/nyr) (Ping timeout: 252 seconds) |
| 16:36:40 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection) |
| 16:36:47 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds) |
| 16:37:00 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 16:37:27 | × | powderhorn quits (~powderhor@207-153-12-54.static.fttp.usinternet.com) (Quit: Client closed) |
| 16:37:39 | → | powderhorn joins (~powderhor@207-153-12-54.static.fttp.usinternet.com) |
| 16:41:39 | → | hugo- joins (znc@verdigris.lysator.liu.se) |
| 16:41:43 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 16:43:51 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 16:45:00 | × | Simikando quits (~Simikando@bband-dyn237.95-103-149.t-com.sk) (Ping timeout: 248 seconds) |
| 16:45:40 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 16:48:13 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 16:48:15 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 16:50:53 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
| 16:54:17 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds) |
| 16:54:27 | → | shapr joins (~user@2600:1700:c640:3100:1053:3e08:b8d2:1dcd) |
| 16:55:33 | → | Simikando joins (~Simikando@bband-dyn237.95-103-149.t-com.sk) |
| 16:57:01 | × | caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline) |
| 16:59:38 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 17:03:23 | × | Square2 quits (~Square4@user/square) (Ping timeout: 246 seconds) |
| 17:08:26 | → | ystael joins (~ystael@user/ystael) |
| 17:11:19 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds) |
| 17:12:14 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds) |
| 17:14:46 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) |
| 17:17:08 | × | powderhorn quits (~powderhor@207-153-12-54.static.fttp.usinternet.com) (Quit: Client closed) |
| 17:18:00 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 17:19:14 | × | ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 246 seconds) |
| 17:19:43 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:21:06 | → | ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net) |
| 17:24:05 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:29:19 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection) |
| 17:29:35 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) |
| 17:30:33 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds) |
| 17:33:04 | × | Simikando quits (~Simikando@bband-dyn237.95-103-149.t-com.sk) (Quit: Leaving) |
| 17:34:07 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 17:37:37 | → | Square joins (~Square@user/square) |
| 17:37:55 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 17:38:39 | <Square> | I watched a video on mu-haskell the other day. Among other things they had disabled Existential Types, GADTs and recursion. Just curious why GADTs would be considered dubious? |
| 17:39:57 | <erisco> | Disabled recursion? Not sure what it is about but sounds like they're maybe trying to guarantee totality? |
| 17:42:42 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
| 17:48:05 | <[exa]> | Square: any video or written note on the reasons there? |
| 17:48:47 | → | qqq joins (~qqq@92.43.167.61) |
| 17:48:54 | <Square> | [exa], https://www.youtube.com/watch?v=8Xe0ujcThxg |
| 17:49:11 | <EvanR> | disabled recursion in datatypes or code |
| 17:49:38 | <[exa]> | Square: time? |
| 17:50:11 | <EvanR> | I know higher order algebraic datatypes in HoTT can get pretty wild fast |
| 17:50:29 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 245 seconds) |
| 17:50:45 | <[exa]> | oh what, the slides there literally say "but we didn't want to lose C++ and Excel interoperability" |
| 17:52:14 | <Square> | EvanR, Code is my understanding. "You rarely need recursion" he said. *shrug* =D |
| 17:52:18 | × | danse-nr3_ quits (~francesco@151.54.19.188) (Ping timeout: 246 seconds) |
| 17:52:20 | <EvanR> | lol |
| 17:52:22 | <EvanR> | ok |
| 17:53:22 | <EvanR> | in a DSL you can rely on primitive combinators which do specific things like map and reduce, which were verified using recursion correctly (if at all) |
| 17:53:34 | <[exa]> | looks a bit like they wanted cobol |
| 17:55:20 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 17:59:09 | × | connrs quits (~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in) |
| 17:59:58 | → | connrs joins (~connrs@user/connrs) |
| 18:01:24 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 18:02:20 | <tomsmeding> | turn haskell into cobol? |
| 18:02:22 | tomsmeding | confused |
| 18:02:35 | <tomsmeding> | it's easier to turn python into cobol |
| 18:04:08 | → | nyr joins (~nyr@user/nyr) |
| 18:04:36 | × | connrs quits (~connrs@user/connrs) (Read error: Connection reset by peer) |
| 18:05:27 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection) |
| 18:05:57 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 18:06:10 | → | connrs joins (~connrs@user/connrs) |
| 18:07:42 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds) |
| 18:08:10 | × | tomjaguarpaw quits (~tom@172.104.25.182) (Server closed connection) |
| 18:08:22 | → | tomjaguarpaw joins (~tom@172-104-25-182.ip.linodeusercontent.com) |
| 18:11:19 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 18:15:32 | <haskellbridge> | <sm> Square: that looked good.. worth watching ? |
| 18:16:11 | × | nyr quits (~nyr@user/nyr) (Ping timeout: 246 seconds) |
| 18:17:16 | <Square> | sm: I watched a bit by accident. It's not so much about Haskell/FP but how they use it on Standard Chartered bank. More interesting than it sounds tbh. =D |
| 18:17:31 | <haskellbridge> | <sm> 👍️ |
| 18:17:52 | × | [_________] quits (~oos95GWG@user/oos95GWG) (Server closed connection) |
| 18:18:11 | → | [_________] joins (~oos95GWG@user/oos95GWG) |
| 18:19:02 | <EvanR> | but it's easier to turn comonad into cobalnad, the inevitable name of such a library implementing the cobol comonad |
| 18:22:27 | <tomsmeding> | EvanR: lowest sum of edit distances seems to be achieved for 'comon' -- 2 to comonad and 2 to cobol |
| 18:22:44 | <tomsmeding> | (assuming you allow mutations as edits) |
| 18:23:04 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) |
| 18:23:24 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 245 seconds) |
| 18:24:33 | <EvanR> | c'monbal |
| 18:24:59 | → | danza joins (~francesco@151.43.248.148) |
| 18:25:17 | <tomsmeding> | adding 'bal' makes it funnier |
| 18:28:06 | → | todi1 joins (~todi@p5dca5734.dip0.t-ipconnect.de) |
| 18:28:13 | × | todi quits (~todi@p5dca5c94.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 18:28:27 | <EvanR> | shoot that's a misspell |
| 18:28:56 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 18:31:13 | → | ft joins (~ft@p3e9bc52b.dip0.t-ipconnect.de) |
| 18:41:29 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds) |
| 18:42:32 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection) |
| 18:43:36 | × | leah2 quits (~leah@vuxu.org) (Server closed connection) |
| 18:44:47 | → | leah2 joins (~leah@vuxu.org) |
| 18:45:12 | todi1 | is now known as todi |
| 18:45:54 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds) |
| 18:47:13 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 18:49:43 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 18:49:57 | → | caryhartline joins (~caryhartl@168.182.58.169) |
| 18:53:18 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) |
| 18:57:32 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection) |
| 18:58:52 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
| 19:00:26 | → | drewjose0 joins (~drewjose@129.154.40.88) |
| 19:00:30 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds) |
| 19:01:03 | × | drewjose quits (~drewjose@129.154.40.88) (Ping timeout: 252 seconds) |
| 19:01:03 | drewjose0 | is now known as drewjose |
| 19:01:51 | <monochrom> | You can recover existential types with GADT. So if someone seriously wants to ban existential types, they need to also ban GADT. |
| 19:02:38 | <monochrom> | Furthermore, you can recover all of the above plus most recursive types with RankNTypes. So the someone should have also banned that. |
| 19:02:54 | × | ncf quits (~n@monade.li) (Server closed connection) |
| 19:03:13 | → | ncf joins (~n@monade.li) |
| 19:03:29 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 19:03:42 | <monochrom> | OK actually I haven't done recovering GADT from RankNTypes. But RankNTypes can definitely let you recover existentials and most recursive types. |
| 19:04:11 | → | aa joins (~Username@104.28.200.197) |
| 19:04:43 | × | aa quits (~Username@104.28.200.197) (Excess Flood) |
| 19:05:11 | <monochrom> | Oh, recursion in code? You can use recursive data types to recover recursion in code. |
| 19:08:04 | → | privacy joins (~privacy@47.219.84.6) |
| 19:09:41 | → | powderhorn joins (~powderhor@207-153-12-54.static.fttp.usinternet.com) |
| 19:11:24 | <dolio> | Isn't the point in Standard Chartered to write libraries used by people who are domain experts, but not Haskell experts? |
| 19:12:02 | <dolio> | So, you don't want to have to teach them about the rules for existential type or gadts and such. |
| 19:15:47 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds) |
| 19:20:11 | × | privacy quits (~privacy@47.219.84.6) (Ping timeout: 255 seconds) |
| 19:22:35 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 19:22:45 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:24:41 | → | Sciencentistguy2 joins (~sciencent@hacksoc/ordinary-member) |
| 19:26:45 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 19:27:18 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Ping timeout: 255 seconds) |
| 19:27:19 | Sciencentistguy2 | is now known as Sciencentistguy |
| 19:30:18 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) |
| 19:31:51 | × | nek0 quits (~nek0@2a01:4f8:222:2b41::12) (Server closed connection) |
| 19:32:06 | → | nek0 joins (~nek0@2a01:4f8:222:2b41::12) |
| 19:32:57 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 19:34:30 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Ping timeout: 246 seconds) |
| 19:35:24 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 240 seconds) |
| 19:35:29 | × | Square quits (~Square@user/square) (Ping timeout: 255 seconds) |
| 19:37:00 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds) |
| 19:41:13 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 19:42:25 | <exarkun> | When the ghc rts is multithreaded, when are the threads created? |
| 19:51:01 | → | Square joins (~Square@user/square) |
| 19:51:30 | → | aaronv joins (~aaronv@user/aaronv) |
| 19:52:40 | → | chomwitt joins (~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) |
| 19:53:49 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 245 seconds) |
| 19:54:10 | <monochrom> | My http://www.vex.net/~trebla/haskell/ghc-conc-ffi.xhtml may not answer that question as stated, but may come close, or even answer the real question. |
| 19:54:13 | → | Batzy joins (~quassel@user/batzy) |
| 19:56:12 | <EvanR> | need the rts thread creation myth |
| 19:56:26 | <monochrom> | There is also https://github.com/takenobu-hs/haskell-ghc-illustrated which you should bookmark for future reference. |
| 19:57:42 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 19:58:28 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 19:59:23 | <exarkun> | monochrom: nice, thanks |
| 20:06:14 | × | michalz quits (~michalz@185.246.207.201) (Remote host closed the connection) |
| 20:06:26 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 20:09:36 | → | nyr joins (~nyr@user/nyr) |
| 20:10:54 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds) |
| 20:12:36 | → | mokrates joins (~user@2a04:4540:7105:1700:badc:5789:6bf6:5936) |
| 20:13:46 | <mokrates> | hi, I am currently reading "real world haskell" to get an intro, but I am already curious: |
| 20:16:04 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 20:16:08 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 20:16:14 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 20:16:53 | × | natto quits (~natto@129.154.243.159) (Server closed connection) |
| 20:16:57 | ← | mokrates parts (~user@2a04:4540:7105:1700:badc:5789:6bf6:5936) () |
| 20:17:01 | → | mokrates joins (~user@2a04:4540:7105:1700:badc:5789:6bf6:5936) |
| 20:17:15 | <mokrates> | this data declaration: data Foo a b = a `Foo` b |
| 20:17:17 | → | natto joins (~natto@129.154.243.159) |
| 20:17:40 | <mokrates> | sorry: data Foo a b = a `Foo` b deriving Show |
| 20:17:53 | <mokrates> | a = 5 `Foo` 6 |
| 20:17:55 | <mokrates> | a |
| 20:18:00 | <mokrates> | 5 `Foo` 6 |
| 20:18:04 | <mokrates> | ok, then |
| 20:18:09 | <mokrates> | b = Foo 5 6 |
| 20:18:11 | <mokrates> | b |
| 20:18:19 | <mokrates> | -> 5 `Foo` 6 |
| 20:18:24 | <mauke> | oh, it does that? |
| 20:18:35 | <mauke> | @let data Foo a b = a `Foo` b deriving Show |
| 20:18:37 | <lambdabot> | Defined. |
| 20:18:40 | <mokrates> | how does Show know the "fixity"? do Constructors even have a fixity? |
| 20:18:40 | <mauke> | > Foo 5 6 |
| 20:18:42 | <lambdabot> | 5 `Foo` 6 |
| 20:19:03 | <mauke> | there's a default fixity for operators if you don't explicitly define one |
| 20:19:17 | <mokrates> | I didn't define any more than that |
| 20:19:24 | <mokrates> | as you see with the bot |
| 20:19:42 | <mokrates> | :i doesn't say anything either |
| 20:20:04 | <mokrates> | and does a constructor Foo count as a operator? |
| 20:20:36 | <shapr> | good afternoon? |
| 20:20:47 | <mokrates> | evening ;) |
| 20:21:00 | <shapr> | good evening mokrates |
| 20:21:12 | <mauke> | "Any operator lacking a fixity declaration is assumed to be infixl 9" |
| 20:21:26 | <mauke> | Foo doesn't, but `Foo` does |
| 20:21:53 | <mauke> | https://www.haskell.org/onlinereport/haskell2010/haskellch4.html#x10-820004.4.2 |
| 20:22:28 | <mokrates> | thank you very much |
| 20:22:41 | <glguy> | there are two kinds of operators, symbols that aren't surrounded by ()s and identifiers that are surrounded by ``s |
| 20:23:27 | <mauke> | the standard library defines custom fixities for `div`, `mod`, `elem`, and others |
| 20:23:37 | → | ubert1 joins (~Thunderbi@91.141.49.150.wireless.dyn.drei.com) |
| 20:24:39 | × | ubert quits (~Thunderbi@178.165.200.97.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 20:24:39 | ubert1 | is now known as ubert |
| 20:25:24 | <mokrates> | interesting... but how would I see those? Where would a show display `div`, `mod` or `elem`? |
| 20:25:52 | <[exa]> | mokrates: re "how does show know fixity", there's showsPrec which should handle that |
| 20:25:53 | <mokrates> | ok, I am currently at a slow computer, I just check that page |
| 20:26:30 | × | caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline) |
| 20:27:04 | → | caryhartline joins (~caryhartl@168.182.58.169) |
| 20:27:18 | <[exa]> | actually I'm not really sure about what happens if you set the fixity after the Show instance is derived |
| 20:27:25 | <mauke> | you wouldn't see `div` or other functions from show |
| 20:28:05 | <mokrates> | aaah, I get it. the fixity declaration for `div` &al is just defining the precedence |
| 20:28:07 | <mauke> | but ':i elem' in ghc will tell you infix 4 `elem` |
| 20:28:23 | <mauke> | ghci doesn't show default fixities, though |
| 20:28:39 | <mokrates> | whereas my `Foo`-definition tagged some "this-is-infix" information on to the constructor |
| 20:28:58 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 258 seconds) |
| 20:29:10 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) |
| 20:29:11 | <mauke> | well, 'deriving Show' is compiler magic |
| 20:29:32 | <mokrates> | Yeah, I was disappointed when I read that |
| 20:29:39 | <mauke> | the compiler has to generate an implementation of 'show' based on the type you wrote, and the compiler knows whether you used infix syntax for your data constructors |
| 20:29:54 | <mauke> | so it mimics that |
| 20:30:12 | <c_wraith> | well. it's magic, but it's not mysterious. |
| 20:30:19 | <mokrates> | I really am like on page 70 and didn't know any haskell like 2 weeks ago |
| 20:30:25 | <c_wraith> | It follows simple rules and generates code that you could write yourself |
| 20:30:33 | <mokrates> | (apart from, idk, that it can pattern match and stuff) |
| 20:31:16 | <mauke> | https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/deriving.html we do have more advanced magic, though |
| 20:31:20 | <mokrates> | The disappointing thing is that you can't define classes which can be derived (w/o using some compiler-dependent magic modules) |
| 20:31:36 | <mokrates> | (or is this old info?) |
| 20:32:10 | <mauke> | oh, and Template Haskell |
| 20:32:22 | <mokrates> | yeah, c'mon, slowly |
| 20:32:34 | <mauke> | which can generate instances as well (/me waves at lens) |
| 20:32:37 | <mokrates> | I mean: EVERY book starts with "ok, here's hello world!" |
| 20:32:39 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection) |
| 20:32:49 | <c_wraith> | It's sort of half true. You can use compiler extensions to get access to tools that let you get closer and closer to GHC's built-in behavior for deriving. |
| 20:33:04 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 20:33:06 | <c_wraith> | But in the base language, the deriveable classes aren't something you can hook into |
| 20:33:12 | <mokrates> | real world haskell is like: "ok, we don't have any side effects. no really! we don't! hello world, and printing on the screen? chapter SEVEN" |
| 20:33:28 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 20:33:33 | <mokrates> | (real world haskell -- the book) |
| 20:33:47 | <mauke> | main = putStr "Hello, world!\n" -- done |
| 20:33:49 | <c_wraith> | to be pedantic, IO isn't *side* effects. It's not something that happens incidentally on the side. It's a type specifically for describing effects. |
| 20:34:04 | <c_wraith> | I'm not sure how valuable that pedantry is |
| 20:34:10 | × | jackneill__ quits (~Jackneill@20014C4E1E101A0048EACD7D3B494F2B.dsl.pool.telekom.hu) (Ping timeout: 252 seconds) |
| 20:34:11 | <c_wraith> | But it's sort of defensible |
| 20:34:11 | <mokrates> | yeah yeah... I already know. But still. You guys are serious ;) |
| 20:34:39 | <mokrates> | I like pedantry |
| 20:35:00 | <mokrates> | And I already got a liiiittle bit of a, say, feeling for it |
| 20:35:41 | <mokrates> | like for continuations (which I still don't really get my head around) |
| 20:36:03 | <mokrates> | (did some lisp stuff, b/c you know: fun) |
| 20:36:49 | → | privacy joins (~privacy@47.219.84.6) |
| 20:36:51 | <mokrates> | Did you know that common lisp doesn't have recursive types? I was as surprised as you are! |
| 20:37:43 | <mauke> | I didn't know CL had types in the first place |
| 20:38:09 | <mokrates> | It does. But it's weirdly tacked on |
| 20:38:26 | <mokrates> | (as everything is weirdly tacked together) |
| 20:39:00 | <mokrates> | ... *tacked together weirdly (is better english, I think) |
| 20:39:08 | <mauke> | > sum [0.2, 0.2, 0.2, 0.2, 0.2] :: Rational -- I know CL can't do this one |
| 20:39:09 | <lambdabot> | 1 % 1 |
| 20:39:22 | <glguy> | afaik CL has "types" as much as Python has them |
| 20:39:55 | <mokrates> | per standard, yes, but sbcl actually does type inference |
| 20:41:03 | → | zmt01 joins (~zmt00@user/zmt00) |
| 20:41:28 | <mokrates> | and compiles to really concise code. And you *can* declare them, and then, depending on what you declare, and what your compiler offers, can have them checked or just optimized for (if you just optimize and disobey, you get interesting segfaults) |
| 20:41:43 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 20:42:09 | <mauke> | all I remember is "type declarations" that are actually promises to the compiler: "I swear this variable will only contain fixed-width integers, so please generate optimized code that produces garbage if this assumption is violated" |
| 20:42:33 | × | danza quits (~francesco@151.43.248.148) (Read error: Connection reset by peer) |
| 20:42:56 | <mokrates> | but with classes and generic methods it has to use types to choose the correct method, similar to haskell has to find the right 'null' in the []-type or the e.g. Maybe-type |
| 20:43:18 | → | danza joins (~francesco@151.47.227.251) |
| 20:43:32 | <mauke> | no, that's all runtime dispatch |
| 20:43:40 | <glguy> | It only makes sense to call those types when you don't have types otherwise, though. That's runtime value dispatch, not type dispatch |
| 20:43:42 | <mokrates> | mauke: sbcl will actually throw compiler errors at you if the inferred types don't match up |
| 20:44:01 | <glguy> | if sbcl some some extensions, that's not Common Lisp having it |
| 20:44:21 | <mauke> | some |
| 20:44:22 | <mokrates> | CL permits it. |
| 20:44:31 | <mauke> | yeah, by making it undefined behavior |
| 20:44:48 | × | swamp_ quits (~zmt00@user/zmt00) (Ping timeout: 258 seconds) |
| 20:44:52 | <mokrates> | yeah, a bit like pragmas in C but still in the standard |
| 20:45:02 | <mokrates> | which is CL weirdness |
| 20:45:54 | <mokrates> | mauke: is it all runtime dispatch in haskell? wouldn't that be slow if the type is known at compile time? |
| 20:46:06 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds) |
| 20:46:10 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 20:46:21 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:46:51 | <mokrates> | ok, "in haskell" is probably the wrong question: in GHC would be more appropriate. (In Hugs it's probably all runtime..., I would think) |
| 20:47:22 | <glguy> | Hugs isn't a compiler, so it can't talk about compile time |
| 20:47:27 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 20:47:29 | <mauke> | ghc does resolve/inline class dictionaries at compile time when it can |
| 20:47:39 | <mokrates> | glguy: fair enough |
| 20:48:20 | <monochrom> | Using runghc to convert compile-time errors to run-time errors. >:D |
| 20:48:25 | <monochrom> | s/Using/Use/ |
| 20:48:26 | <int-e> | but then it does an indirect jump for every unevaluated thunk |
| 20:48:30 | <mokrates> | as does sbcl with methods |
| 20:48:32 | <mauke> | there are places where that's not possible, like class-generic operations with separate compilation, or runtime-generated types |
| 20:48:49 | <mokrates> | monochrom: lol |
| 20:48:50 | <monochrom> | But the serious answer is this: |
| 20:49:09 | <mauke> | -fdefer-type-errors |
| 20:49:17 | <int-e> | (I'm not sure how much utility the notion of "dispatch" has in implementations of Haskell.) |
| 20:49:25 | <mokrates> | mauke: of course |
| 20:49:32 | <monochrom> | Static type means that "if True then False else 34" is rejected, even if "obviously" the 34 is irrelevant. Dynamic typing means that it is accepted. |
| 20:50:17 | <monochrom> | So for example, even runghc rejects that code, despite my joke. |
| 20:50:28 | <c_wraith> | monochrom: I'm pretty sure you can make that one valid with sufficiently complex dependent types |
| 20:50:35 | <monochrom> | In fact, even -fdefer-type-errors rejects that, IIRC. |
| 20:50:40 | <mokrates> | It means that I can have a function which takes an Ord and uses < on it. But the implementation could be whatever... |
| 20:50:43 | <mauke> | monochrom: only if you don't define a Num Bool instance |
| 20:51:17 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 20:51:24 | <mokrates> | monochrom: yeah, it probably would reject that, b/c that looks like it can't be compiled |
| 20:52:12 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
| 20:52:36 | → | Square2 joins (~Square4@user/square) |
| 20:53:10 | <monochrom> | @quote monochrom poor.*dependent |
| 20:53:10 | <lambdabot> | monochrom says: dynamic type is poor man's dependent type, they are so poor they can't buy a theorem prover. |
| 20:54:10 | <mokrates> | damn! you slammed my limo interpreter. I was so proud of it! |
| 20:54:43 | <mokrates> | (my lisp dialect... who learns lisp without building one, amiright?) |
| 20:54:54 | <mokrates> | ok. back to mr. curry. |
| 20:54:57 | <monochrom> | I did. |
| 20:55:11 | × | Square quits (~Square@user/square) (Ping timeout: 246 seconds) |
| 20:55:12 | <mauke> | if nil evaluates to itself and (eq nil 'nil), then why is (if 'nil nil 34) 34? |
| 20:55:27 | <mauke> | oh, because I'm dumb |
| 20:55:41 | <mauke> | please erase all memories of what I just said |
| 20:55:43 | <monochrom> | (if 'nil 34 nil) is better. :) |
| 20:55:59 | <erisco> | known as lemma M4 |
| 20:56:09 | <monochrom> | Actually, let's erase "if" and learn "unless" instead. >:D |
| 20:56:21 | <mokrates> | what? |
| 20:56:36 | <monochrom> | (unless 'nil nil 34) is more intuitive. >:) |
| 20:56:36 | <mokrates> | so you're asking why (if 'nil 34 nil) -> 34? |
| 20:56:59 | <mauke> | I actually wrote (IF 'NIL ...) in the repl |
| 20:57:09 | <mauke> | I always uppercase my symbols out of respect |
| 20:57:30 | <mokrates> | uppercase is the way from a more civilized time |
| 20:57:41 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 20:57:44 | <mauke> | WHEN PEOPLE WERE SHOUTING AT EACH OTHER ALL THE TIME |
| 20:57:52 | <mokrates> | λimo > (if 'nil 34 nil) |
| 20:57:58 | <monochrom> | I always lowercase because of the exciting "w00t finally a computer that supports lowercase, I should actually use it!" |
| 20:57:59 | <mokrates> | -> 34 |
| 20:57:59 | × | ubert quits (~Thunderbi@91.141.49.150.wireless.dyn.drei.com) (Ping timeout: 245 seconds) |
| 20:58:07 | <monochrom> | s/exciting/excitement/ |
| 20:58:16 | <mokrates> | oh... what? |
| 20:58:23 | → | pavonia joins (~user@user/siracusa) |
| 20:58:45 | <mauke> | did you redefine nil, javascript style? |
| 20:58:45 | <mokrates> | ah, yes, of course |
| 20:58:56 | <mokrates> | a sec |
| 20:59:01 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 20:59:24 | <geekosaur> | or ruby style, I used that productively once |
| 20:59:59 | <mokrates> | in limo "nil" is just a variable conaining () |
| 21:00:00 | <mokrates> | and |
| 21:00:15 | <mokrates> | λimo > (if '() 'true 'false) -> FALSE |
| 21:00:36 | <monochrom> | Is it re-assignable? |
| 21:00:51 | <mokrates> | so 'nil evaluates (in limo) to the symbol nil which is not () but a symbol. so -> true |
| 21:00:57 | <monochrom> | Someone was obsessed with re-assigning a few days ago. |
| 21:01:07 | <mokrates> | CL should may do it differently |
| 21:01:35 | <mokrates> | CL-USER> (if 'nil 'true 'false) -> FALSE |
| 21:01:46 | <mauke> | '|a||b| ; string concatenation (under quote) in common lisp |
| 21:02:06 | <mokrates> | that works. nil is directly translated by the reader in this case |
| 21:02:49 | <mauke> | more like, () evalutes to the symbol NIL, which is falsy |
| 21:03:27 | <mokrates> | also, this is weird: |
| 21:03:28 | × | acidjnk quits (~acidjnk@p200300d6e7072f94d84002b8d460e75b.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
| 21:03:50 | <mokrates> | (symbolp nil) -> T |
| 21:03:51 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds) |
| 21:04:01 | <mokrates> | (symbolp 'nil) -> T |
| 21:04:12 | <mokrates> | (symbolp ()) -> T |
| 21:04:49 | <mauke> | yeah, that matches what I said |
| 21:05:04 | <mokrates> | why is it a symbol? |
| 21:05:14 | <mokrates> | λimo > (SYMBOLP 'nil) -> :T |
| 21:05:35 | <mokrates> | λimo > (SYMBOLP nil) -> () |
| 21:05:49 | <mauke> | because CL is weird |
| 21:05:50 | <mokrates> | (which is reasonable!) |
| 21:06:03 | <mokrates> | yeah, cl is weird |
| 21:06:34 | <mauke> | since it is a self-evaluating symbol, maybe it should've been called :NIL |
| 21:06:54 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 246 seconds) |
| 21:07:05 | <mokrates> | mauke: '|a||b| is not a string ;) |
| 21:07:26 | <mauke> | then why does it quack (concatenate) like one? |
| 21:07:52 | <mokrates> | I use :t for my true-value, b/c why define some special symbol for it? |
| 21:08:03 | <mokrates> | mauke: it's a symbol |
| 21:08:34 | <mauke> | :|not nil| |
| 21:08:56 | <mokrates> | absolutely standard ;) |
| 21:08:59 | <mauke> | actually, to maximize evil, you should probably call it :|nil| |
| 21:09:32 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds) |
| 21:09:32 | <mokrates> | but I didn't know that was possible with the ||-concatenation |
| 21:09:41 | <mokrates> | CL-USER> '|foo|bar -> |fooBAR| |
| 21:10:10 | <mauke> | oh, it's very shell-like |
| 21:10:10 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 21:10:48 | <mokrates> | but you have to admit: to be able to redefine your reader mid-program is mind melting yet powerful |
| 21:12:14 | <mokrates> | λimo > (import "simplejson.limo") |
| 21:12:21 | <mokrates> | λimo > (setq fromjson #j{"foo": [1, 2, 3]} ) |
| 21:12:27 | <mokrates> | -> #<dict: (("foo" 1 2 3))> |
| 21:13:33 | <mauke> | oh, like quasiquoting |
| 21:13:54 | <mokrates> | I got knots in my head. |
| 21:14:36 | <mauke> | here's a better canonical true value: (|FUNCTION| (lambda (|t| |f|) |t|)) |
| 21:14:38 | <mokrates> | Seriously. I implemented ',', ',@' and '`' in the reader just as syntactic sugar |
| 21:14:42 | <mauke> | now compatible with lambda calculus! |
| 21:15:05 | <mokrates> | like `(,x) just translates to a list (quasiquote (comma x)). that's it |
| 21:15:12 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 21:15:12 | <mokrates> | and then i defined a macro quasiquote |
| 21:17:59 | <mokrates> | https://github.com/mokrates/limo/blob/master/limo-code/std.limo#L221C1-L221C1 |
| 21:18:56 | <mokrates> | it's just a soup of cons and list and car and recursive calls |
| 21:19:36 | × | powderhorn quits (~powderhor@207-153-12-54.static.fttp.usinternet.com) (Quit: Client closed) |
| 21:20:25 | <mauke> | soupcons of lists |
| 21:20:36 | <mokrates> | mauke: about that lambda calculus... haskell has lazy eval... why does it have 'if'? |
| 21:20:42 | <mokrates> | why isn't if just |
| 21:20:53 | <mokrates> | if True x y = x |
| 21:20:57 | <mokrates> | if False x y = y |
| 21:20:58 | <mokrates> | ? |
| 21:21:03 | <sshine> | :t if' |
| 21:21:04 | <lambdabot> | error: |
| 21:21:04 | <lambdabot> | • Variable not in scope: if' |
| 21:21:04 | <lambdabot> | • Perhaps you meant ‘f'’ (imported from Debug.SimpleReflect) |
| 21:21:04 | <geekosaur> | :t bool |
| 21:21:05 | <lambdabot> | a -> a -> Bool -> a |
| 21:21:06 | <mauke> | tradition? |
| 21:21:44 | <geekosaur> | but `if` is actually syntax sugar for `case () of () | condition -> true | otherwise -> false` |
| 21:21:54 | <mauke> | I mean, that is how the 'if' syntax behaves. and with RebindableSyntax you can make it explicit |
| 21:22:59 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 245 seconds) |
| 21:24:36 | <mokrates> | hm... I would have thought it nicer to just have it as a function. Like in Clean |
| 21:25:10 | <mokrates> | but ok. doesn't really change anything, I think |
| 21:26:18 | <geekosaur> | iirc we've had trouble tracking down the folks involved with the original Haskell Report who made these kinds of decisions |
| 21:26:41 | <sshine> | mokrates, you get some indentation rules that are nice with dedicated syntax |
| 21:27:00 | <mokrates> | hm, ok |
| 21:27:12 | <sshine> | mokrates, but judging from the backlog, I suppose you might say that macros can give that, too ;-) |
| 21:27:22 | <dolio> | The natural answer is that the if-then-else syntax is way better than a function for many common if-then-else uses. |
| 21:27:53 | <mokrates> | but in the end it's just cosmetics, right? |
| 21:28:02 | <dolio> | Cosmetics matter. |
| 21:28:05 | <mokrates> | or is there a semantic difference, too? |
| 21:28:15 | <mokrates> | dolio: they absolutely do |
| 21:29:24 | <mokrates> | But I learn faster if there's not tons of syntax all doing their own shit ;) |
| 21:29:28 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 21:32:42 | <EvanR> | there is no semantic difference |
| 21:33:09 | <EvanR> | so all you've got to worry about is the cosmetics! |
| 21:33:23 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 21:33:45 | <EvanR> | mokrates, you could write all your code in core, which is very uniform and has no bells and whistles |
| 21:35:47 | × | nyr quits (~nyr@user/nyr) (Ping timeout: 246 seconds) |
| 21:38:33 | <mokrates> | yeah, of course not. expressiveness and cosmetics are relevant. to bother the lisp example again: I like when the core is slim and the whistles are all in macros which have certain constraints themselves and an implementation you can look at |
| 21:39:25 | <mokrates> | thanks everybody :) |
| 21:41:33 | × | mokrates quits (~user@2a04:4540:7105:1700:badc:5789:6bf6:5936) (Remote host closed the connection) |
| 21:42:06 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds) |
| 21:43:29 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:43:57 | → | mokrates joins (~user@2a04:4540:7105:1700:badc:5789:6bf6:5936) |
| 21:46:45 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:47:00 | → | mokrates2 joins (~user@2a04:4540:7105:1700:ccd1:ab0:40b8:b3a0) |
| 21:47:19 | × | bontaq quits (~user@ool-45707d2c.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 21:48:14 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 21:52:36 | → | Pickchea joins (~private@user/pickchea) |
| 21:54:02 | × | caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline) |
| 21:54:02 | → | acidjnk joins (~acidjnk@p200300d6e7072f496ceee41d277bee3f.dip0.t-ipconnect.de) |
| 21:56:58 | → | powderhorn joins (~powderhor@207-153-12-54.static.fttp.usinternet.com) |
| 21:58:31 | × | dhil quits (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 255 seconds) |
| 22:00:09 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 22:00:50 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds) |
| 22:01:14 | × | danza quits (~francesco@151.47.227.251) (Read error: Connection reset by peer) |
| 22:01:18 | → | danza_ joins (~francesco@151.57.185.241) |
| 22:05:40 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 22:06:12 | → | aliosablack joins (~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) |
| 22:06:30 | × | chomwitt quits (~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
| 22:07:06 | × | bionade24 quits (~bionade24@2a03:4000:33:45b::1) (Read error: Connection reset by peer) |
| 22:07:19 | → | bionade24 joins (~bionade24@server2.oscloud.info) |
| 22:07:46 | × | it_ quits (~quassel@v2202212189510211193.supersrv.de) (Quit: No Ping reply in 180 seconds.) |
| 22:08:14 | × | dcoutts_ quits (~duncan@82-69-94-207.dsl.in-addr.zen.co.uk) (Read error: Connection reset by peer) |
| 22:08:26 | → | dcoutts_ joins (~duncan@82-69-94-207.dsl.in-addr.zen.co.uk) |
| 22:08:55 | → | it_ joins (~quassel@v2202212189510211193.supersrv.de) |
| 22:12:36 | × | aliosablack quits (~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) (Ping timeout: 240 seconds) |
| 22:14:59 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:17:26 | × | privacy quits (~privacy@47.219.84.6) (Quit: Leaving) |
| 22:17:59 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 245 seconds) |
| 22:18:06 | → | Inst joins (~Inst@120.244.192.250) |
| 22:22:09 | × | drlkf quits (~drlkf@192.184.163.34.bc.googleusercontent.com) (Quit: drlkf) |
| 22:24:35 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 22:26:41 | → | drlkf joins (~drlkf@192.184.163.34.bc.googleusercontent.com) |
| 22:28:24 | × | troydm quits (~troydm@user/troydm) (Ping timeout: 252 seconds) |
| 22:32:36 | × | califax quits (~califax@user/califx) (Ping timeout: 246 seconds) |
| 22:32:37 | × | jle` quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 250 seconds) |
| 22:32:46 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 22:33:22 | → | califax joins (~califax@user/califx) |
| 22:34:43 | → | jle` joins (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
| 22:37:00 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds) |
| 22:41:46 | → | wroathe joins (~wroathe@user/wroathe) |
| 22:42:49 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 22:47:00 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 22:51:10 | × | drlkf quits (~drlkf@192.184.163.34.bc.googleusercontent.com) (Quit: drlkf) |
| 22:51:33 | → | drlkf joins (~drlkf@192.184.163.34.bc.googleusercontent.com) |
| 22:53:17 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 22:54:55 | × | samlamamma quits (~user@h-46-59-69-159.A785.priv.bahnhof.se) (Remote host closed the connection) |
| 22:55:27 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds) |
| 22:56:31 | → | whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com) |
| 23:00:04 | → | caryhartline joins (~caryhartl@168.182.58.169) |
| 23:01:04 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 23:02:27 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 23:06:14 | × | Inst quits (~Inst@120.244.192.250) (Read error: Connection reset by peer) |
| 23:08:05 | → | Square3 joins (~Square4@user/square) |
| 23:08:21 | × | pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer) |
| 23:09:21 | → | troydm joins (~troydm@user/troydm) |
| 23:10:06 | × | xff0x quits (~xff0x@2405:6580:b080:900:820a:8b71:e207:7b95) (Ping timeout: 246 seconds) |
| 23:10:22 | × | smoothdev quits (~smoothdev@91-169-231-236.subs.proxad.net) (Quit: smoothdev) |
| 23:10:29 | → | xff0x joins (~xff0x@178.255.149.135) |
| 23:10:35 | × | Square2 quits (~Square4@user/square) (Ping timeout: 255 seconds) |
| 23:11:15 | → | Inst joins (~Inst@120.244.192.250) |
| 23:13:05 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds) |
| 23:13:46 | → | pavonia joins (~user@user/siracusa) |
| 23:18:53 | → | mysl joins (~mysl@user/mysl) |
| 23:19:35 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 23:21:05 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 258 seconds) |
| 23:21:48 | × | bionade24 quits (~bionade24@server2.oscloud.info) (Ping timeout: 240 seconds) |
| 23:22:47 | × | xff0x quits (~xff0x@178.255.149.135) (Ping timeout: 246 seconds) |
| 23:23:11 | → | stefan-__ joins (~cri@42dots.de) |
| 23:23:46 | × | stefan-_ quits (~cri@42dots.de) (Ping timeout: 258 seconds) |
| 23:24:47 | → | xff0x joins (~xff0x@2405:6580:b080:900:820a:8b71:e207:7b95) |
| 23:26:49 | × | powderhorn quits (~powderhor@207-153-12-54.static.fttp.usinternet.com) (Quit: Client closed) |
| 23:27:37 | → | powderhorn joins (~powderhor@207-153-12-54.static.fttp.usinternet.com) |
| 23:31:53 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds) |
| 23:35:39 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 258 seconds) |
| 23:38:00 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 23:41:37 | → | bionade24 joins (~bionade24@2a03:4000:33:45b::1) |
| 23:48:52 | × | Inst quits (~Inst@120.244.192.250) (Remote host closed the connection) |
| 23:49:12 | → | Inst joins (~Inst@120.244.192.250) |
| 23:50:05 | × | Carbon-lang quits (~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds) |
| 23:56:15 | → | Carbon-lang joins (~Carbonlan@ip121.ip-149-56-160.net) |
| 23:57:14 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 23:57:18 | → | smoothdev joins (~smoothdev@91-169-231-236.subs.proxad.net) |
| 23:58:03 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 23:58:27 | × | smoothdev quits (~smoothdev@91-169-231-236.subs.proxad.net) (Client Quit) |
| 23:58:35 | Lord_of_Life_ | is now known as Lord_of_Life |
| 23:59:14 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
All times are in UTC on 2023-09-14.