Logs on 2024-04-05 (liberachat/#haskell)
| 00:00:04 | → | [Leary] joins (~Leary]@user/Leary/x-0910699) |
| 00:02:59 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 00:05:28 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 00:11:34 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 00:14:02 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 00:14:26 | × | fererrorocher quits (fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1) |
| 00:24:58 | × | mima quits (~mmh@87-99-53-133.internetia.net.pl) (Quit: leaving) |
| 00:31:59 | × | sadie_ quits (~sadie@c-76-155-235-153.hsd1.co.comcast.net) (Remote host closed the connection) |
| 00:54:16 | × | dbaoty quits (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) (Quit: Leaving.) |
| 01:00:40 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 256 seconds) |
| 01:01:39 | × | bairyn quits (~bairyn@50.250.232.19) (Ping timeout: 255 seconds) |
| 01:03:34 | → | bairyn joins (~bairyn@50.250.232.19) |
| 01:11:26 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 01:16:03 | × | TheCoffeMaker_ quits (~TheCoffeM@200.114.213.75) (Ping timeout: 260 seconds) |
| 01:16:03 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds) |
| 01:16:25 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 01:18:50 | → | mei joins (~mei@user/mei) |
| 01:20:07 | × | peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds) |
| 01:24:03 | × | dolio quits (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in) |
| 01:26:07 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 01:26:39 | → | dolio joins (~dolio@130.44.134.54) |
| 01:39:11 | × | alexherbo2 quits (~alexherbo@2a02-8440-3240-7e76-652c-a596-803f-a5ea.rev.sfr.net) (Remote host closed the connection) |
| 01:39:51 | × | xff0x quits (~xff0x@2405:6580:b080:900:1c1a:c3eb:5e35:e984) (Ping timeout: 260 seconds) |
| 01:45:08 | × | prasad quits (~prasad_ma@2601:243:c001:3f07::54) (Quit: Leaving) |
| 01:45:46 | × | otto_s quits (~user@p5de2fc81.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 01:47:33 | → | otto_s joins (~user@p5b04448d.dip0.t-ipconnect.de) |
| 02:03:04 | → | cipherrot joins (~znc-user@user/petrichor) |
| 02:04:13 | × | petrichor quits (~znc-user@user/petrichor) (Ping timeout: 255 seconds) |
| 02:13:30 | × | yangby quits (~secret@36.24.163.39) (Quit: Go out for a walk and buy a drink.) |
| 02:13:51 | → | yangby joins (~secret@36.24.163.39) |
| 02:16:05 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 02:16:40 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 246 seconds) |
| 02:16:53 | → | travgm joins (~travgm@fsf/member/travgm) |
| 02:17:59 | × | yin quits (~yin@user/zero) (Ping timeout: 264 seconds) |
| 02:19:43 | × | yangby quits (~secret@36.24.163.39) (Quit: Go out for a walk and buy a drink.) |
| 02:20:04 | → | yangby joins (~secret@36.24.163.39) |
| 02:24:19 | → | yin joins (~yin@user/zero) |
| 02:24:52 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 02:26:24 | × | yangby quits (~secret@36.24.163.39) (Quit: Go out for a walk and buy a drink.) |
| 02:29:04 | × | travgm quits (~travgm@fsf/member/travgm) (Ping timeout: 256 seconds) |
| 02:36:18 | → | sadie_ joins (~sadie@c-76-155-235-153.hsd1.co.comcast.net) |
| 02:36:43 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 02:39:08 | → | mei joins (~mei@user/mei) |
| 02:42:45 | × | terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
| 02:44:21 | → | peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 02:46:05 | → | terrorjack joins (~terrorjac@2a01:4f8:c17:87f8::) |
| 02:50:06 | → | ddellacosta joins (~ddellacos@ool-44c73d29.dyn.optonline.net) |
| 02:53:00 | → | dbaoty joins (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) |
| 02:54:08 | ← | dbaoty parts (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) () |
| 02:54:42 | → | dbaoty joins (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) |
| 02:56:58 | × | yin quits (~yin@user/zero) (Ping timeout: 264 seconds) |
| 02:58:15 | × | td_ quits (~td@i53870905.versanet.de) (Ping timeout: 260 seconds) |
| 02:59:45 | → | td_ joins (~td@i53870915.versanet.de) |
| 02:59:55 | → | yin joins (~yin@user/zero) |
| 03:07:01 | × | yin quits (~yin@user/zero) (Ping timeout: 272 seconds) |
| 03:08:49 | → | yin joins (~yin@user/zero) |
| 03:25:46 | × | peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
| 03:26:11 | → | aforemny joins (~aforemny@i59F516F4.versanet.de) |
| 03:26:49 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 03:27:28 | × | aforemny_ quits (~aforemny@2001:9e8:6cc4:5e00:b48c:6599:621f:9f88) (Ping timeout: 255 seconds) |
| 03:29:47 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 03:32:17 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 04:05:08 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 04:08:07 | → | caconym joins (~caconym@user/caconym) |
| 04:11:09 | × | yin quits (~yin@user/zero) (Ping timeout: 256 seconds) |
| 04:13:44 | → | igemnace joins (~ian@user/igemnace) |
| 04:17:11 | → | yin joins (~yin@user/zero) |
| 04:22:10 | × | yin quits (~yin@user/zero) (Ping timeout: 264 seconds) |
| 04:31:43 | → | peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 04:37:00 | → | yin joins (~yin@user/zero) |
| 04:37:06 | × | dbaoty quits (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) (Quit: Leaving.) |
| 04:41:30 | → | visilii joins (~visilii@188.254.110.118) |
| 04:42:19 | × | visilii_ quits (~visilii@46.61.242.185) (Ping timeout: 256 seconds) |
| 04:42:34 | × | machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 264 seconds) |
| 04:46:05 | → | michalz joins (~michalz@185.246.207.193) |
| 04:48:00 | × | yin quits (~yin@user/zero) (Ping timeout: 255 seconds) |
| 04:49:56 | → | yin joins (~yin@user/zero) |
| 04:54:05 | × | peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds) |
| 05:00:38 | → | peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 05:00:57 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 05:05:52 | × | sadie_ quits (~sadie@c-76-155-235-153.hsd1.co.comcast.net) (Remote host closed the connection) |
| 05:09:59 | × | yin quits (~yin@user/zero) (Ping timeout: 268 seconds) |
| 05:15:46 | → | Square joins (~Square4@user/square) |
| 05:24:04 | → | yin joins (~yin@user/zero) |
| 05:41:09 | → | danza joins (~francesco@151.43.187.104) |
| 05:44:58 | × | yin quits (~yin@user/zero) (Ping timeout: 264 seconds) |
| 05:46:18 | → | sroso joins (~sroso@user/SrOso) |
| 05:53:34 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 05:57:14 | × | sroso quits (~sroso@user/SrOso) (Remote host closed the connection) |
| 05:57:56 | → | sroso joins (~sroso@user/SrOso) |
| 05:58:23 | × | sroso quits (~sroso@user/SrOso) (Max SendQ exceeded) |
| 05:58:24 | → | yin joins (~yin@user/zero) |
| 05:58:43 | → | sroso joins (~sroso@user/SrOso) |
| 05:58:50 | × | sroso quits (~sroso@user/SrOso) (Client Quit) |
| 05:59:26 | → | gentauro joins (~gentauro@user/gentauro) |
| 06:00:04 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 06:05:58 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 260 seconds) |
| 06:07:42 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 06:10:28 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 06:11:57 | × | peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
| 06:16:29 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 06:18:03 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 06:18:50 | × | tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
| 06:19:06 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 06:19:47 | × | yin quits (~yin@user/zero) (Ping timeout: 256 seconds) |
| 06:20:54 | → | tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 06:21:29 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 06:21:58 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 06:22:19 | → | yin joins (~yin@user/zero) |
| 06:27:06 | → | euphores joins (~SASL_euph@user/euphores) |
| 06:29:20 | <mauke> | what is unicode syntax good for if it doesn't let me replace -> by ≥ ? |
| 06:29:58 | <danza> | >= ? |
| 06:31:56 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 06:36:45 | <mauke> | ⤜ is the closest I can find |
| 06:37:23 | → | bilegeek joins (~bilegeek@2600:1008:b06f:5190:2e65:7fa0:5226:d224) |
| 06:37:46 | <mauke> | ⪚ |
| 06:47:11 | × | danza quits (~francesco@151.43.187.104) (Ping timeout: 252 seconds) |
| 06:48:04 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 06:53:08 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 06:55:56 | → | euphores joins (~SASL_euph@user/euphores) |
| 07:08:13 | → | acidjnk_new joins (~acidjnk@p200300d6e714dc123800cc33cf682def.dip0.t-ipconnect.de) |
| 07:13:04 | → | CiaoSen joins (~Jura@2a05:5800:29a:5e00:e6b9:7aff:fe80:3d03) |
| 07:13:10 | × | CiaoSen quits (~Jura@2a05:5800:29a:5e00:e6b9:7aff:fe80:3d03) (Client Quit) |
| 07:13:23 | → | CiaoSen joins (~Jura@2a05:5800:29a:5e00:e6b9:7aff:fe80:3d03) |
| 07:13:39 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:21:02 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 07:21:17 | → | caconym joins (~caconym@user/caconym) |
| 07:21:38 | × | zetef quits (~quassel@5.2.182.99) (Ping timeout: 268 seconds) |
| 07:21:55 | × | yin quits (~yin@user/zero) (Ping timeout: 255 seconds) |
| 07:22:54 | × | caconym quits (~caconym@user/caconym) (Client Quit) |
| 07:25:55 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
| 07:28:24 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:28:50 | × | CiaoSen quits (~Jura@2a05:5800:29a:5e00:e6b9:7aff:fe80:3d03) (Ping timeout: 256 seconds) |
| 07:31:19 | → | yin joins (~yin@user/zero) |
| 07:40:20 | × | tzh quits (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz) |
| 07:40:34 | → | danse-nr3 joins (~danse-nr3@151.44.199.122) |
| 07:45:35 | × | igemnace quits (~ian@user/igemnace) (Read error: Connection reset by peer) |
| 07:46:18 | × | yin quits (~yin@user/zero) (Ping timeout: 268 seconds) |
| 07:47:24 | → | yin joins (~yin@user/zero) |
| 08:00:11 | tomsmeding | hopes mauke 's question was in jest |
| 08:00:35 | <Reinhilde> | mauke, do you mean → |
| 08:01:53 | <tomsmeding> | the actual problem with UnicodeSyntax is that you can't write \ as λ |
| 08:02:14 | <Reinhilde> | hwat |
| 08:02:27 | → | igemnace joins (~ian@user/igemnace) |
| 08:02:31 | <tomsmeding> | (because λ is a letter so it's a valid variable name) |
| 08:05:33 | <mauke> | tomsmeding: that's a feature, not a bug |
| 08:06:05 | → | gmg joins (~user@user/gehmehgeh) |
| 08:06:15 | <tomsmeding> | mauke: you started complaining that you couldn't write -> as ≥ xD |
| 08:06:35 | <Reinhilde> | greater than or equal to |
| 08:06:50 | <mauke> | those are still symbols |
| 08:07:04 | <tomsmeding> | → also is |
| 08:07:23 | <mauke> | I don't want letters in my symbols and λ is clearly a letter |
| 08:08:07 | tomsmeding | was mostly joking about λ, but is now suspecting mauke of not joking about ≥ |
| 08:09:09 | × | Square quits (~Square4@user/square) (Ping timeout: 256 seconds) |
| 08:09:09 | <mauke> | sometimes it's hard to tell |
| 08:09:15 | <tomsmeding> | % type a ≥ b = a -> b |
| 08:09:15 | <yahb2> | <no output> |
| 08:09:34 | <tomsmeding> | % type a ≥ b = a -> b; infixr 0 ≥ |
| 08:09:34 | <yahb2> | <no output> |
| 08:09:39 | <tomsmeding> | can't quite give it -1 |
| 08:10:20 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:10:51 | <mauke> | % (show :: Int ≥ String) 42 |
| 08:10:51 | <yahb2> | "42" |
| 08:11:27 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Quit: o/) |
| 08:11:41 | <mauke> | % (show ⚃ Int ≥ String) 42 |
| 08:11:41 | <yahb2> | <interactive>:21:7: error: ; Variable not in scope: (⚃) :: (a0 -> String) -> t3 -> t6 ; ; <interactive>:21:9: error: ; • Illegal term-level use of the type constructor ‘Int’ ; impo... |
| 08:13:37 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 08:14:22 | → | gmg joins (~user@user/gehmehgeh) |
| 08:14:25 | → | Sciencentistguy joins (~sciencent@hacksoc/ordinary-member) |
| 08:17:23 | → | shara_ joins (~shara@c-24-60-154-223.hsd1.ma.comcast.net) |
| 08:19:55 | × | yin quits (~yin@user/zero) (Ping timeout: 256 seconds) |
| 08:20:13 | × | sharan quits (~shara@c-24-60-154-223.hsd1.ma.comcast.net) (Ping timeout: 268 seconds) |
| 08:21:51 | → | akegalj joins (~akegalj@141-136-147-171.dsl.iskon.hr) |
| 08:26:19 | × | danse-nr3 quits (~danse-nr3@151.44.199.122) (Remote host closed the connection) |
| 08:26:24 | → | yin joins (~yin@user/zero) |
| 08:26:43 | → | danse-nr3 joins (~danse-nr3@151.44.199.122) |
| 08:28:40 | → | Square2 joins (~Square@user/square) |
| 08:30:33 | × | ft quits (~ft@p4fc2a20e.dip0.t-ipconnect.de) (Quit: leaving) |
| 08:45:15 | → | titibandit_ joins (~titibandi@ip-037-201-154-121.um10.pools.vodafone-ip.de) |
| 08:45:26 | × | danse-nr3 quits (~danse-nr3@151.44.199.122) (Ping timeout: 252 seconds) |
| 08:47:35 | → | ubert joins (~Thunderbi@p200300ecdf1b4f9949cdb76d47d708bb.dip0.t-ipconnect.de) |
| 08:55:58 | → | danse-nr3 joins (~danse-nr3@151.44.199.122) |
| 09:03:14 | → | cfricke joins (~cfricke@user/cfricke) |
| 09:03:18 | → | titibandit joins (~titibandi@user/titibandit) |
| 09:05:47 | → | zetef joins (~quassel@5.2.182.99) |
| 09:08:31 | <tomsmeding> | % (show ∷ Int ≥ String) 42 |
| 09:08:31 | <yahb2> | <interactive>:23:7: error: ; Variable not in scope: (∷) :: (a0 -> String) -> t3 -> t6 ; ; <interactive>:23:9: error: ; • Illegal term-level use of the type constructor ‘Int’ ; impo... |
| 09:08:32 | × | yin quits (~yin@user/zero) (Ping timeout: 252 seconds) |
| 09:08:39 | <tomsmeding> | % :set -XUnicodeSyntax |
| 09:08:39 | <yahb2> | <no output> |
| 09:08:41 | <tomsmeding> | % (show ∷ Int ≥ String) 42 |
| 09:08:41 | <yahb2> | "42" |
| 09:11:14 | × | titibandit quits (~titibandi@user/titibandit) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)) |
| 09:11:14 | titibandit_ | is now known as titibandit |
| 09:11:15 | titibandit | is now known as Guest9522 |
| 09:12:23 | → | titibandit joins (~titibandi@user/titibandit) |
| 09:16:22 | → | yin joins (~yin@user/zero) |
| 09:20:58 | × | fryguybob quits (~fryguybob@024-094-050-022.inf.spectrum.com) (Ping timeout: 264 seconds) |
| 09:26:21 | → | fryguybob joins (~fryguybob@024-094-050-022.inf.spectrum.com) |
| 09:26:34 | × | bilegeek quits (~bilegeek@2600:1008:b06f:5190:2e65:7fa0:5226:d224) (Quit: Leaving) |
| 09:31:31 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:35:15 | × | Katarushisu1 quits (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
| 09:36:22 | → | Katarushisu1 joins (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) |
| 09:38:21 | <Inst> | Did anyone look at Universum? |
| 09:39:28 | → | qqq joins (~qqq@92.43.167.61) |
| 09:39:53 | → | Square joins (~Square4@user/square) |
| 09:40:09 | → | mrmr1553349 joins (~mrmr@user/mrmr) |
| 09:40:31 | × | mrmr155334 quits (~mrmr@user/mrmr) (Ping timeout: 255 seconds) |
| 09:40:31 | mrmr1553349 | is now known as mrmr155334 |
| 09:42:54 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 09:46:03 | × | yin quits (~yin@user/zero) (Ping timeout: 256 seconds) |
| 09:47:02 | → | yin joins (~yin@user/zero) |
| 09:50:41 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:51:36 | → | son0p joins (~ff@191.104.17.254) |
| 10:07:51 | × | Guest9522 quits (~titibandi@ip-037-201-154-121.um10.pools.vodafone-ip.de) (Remote host closed the connection) |
| 10:09:21 | × | titibandit quits (~titibandi@user/titibandit) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)) |
| 10:13:21 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1) |
| 10:14:22 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 264 seconds) |
| 10:17:44 | → | sroso joins (~sroso@user/SrOso) |
| 10:23:27 | × | otto_s quits (~user@p5b04448d.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 10:23:39 | <Inst> | anyone have an opinion on Crypton-connection? |
| 10:23:52 | → | misterfish joins (~misterfis@046044172198.static.ipv4.heldenvannu.net) |
| 10:25:03 | → | otto_s joins (~user@p5de2f5c3.dip0.t-ipconnect.de) |
| 10:25:40 | → | titibandit joins (~titibandi@user/titibandit) |
| 10:29:56 | × | yin quits (~yin@user/zero) (Ping timeout: 252 seconds) |
| 10:30:09 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 10:32:17 | → | titibandit joins (~titibandi@user/titibandit) |
| 10:33:00 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 10:33:43 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
| 10:35:54 | Lord_of_Life_ | is now known as Lord_of_Life |
| 10:38:24 | → | philopsos joins (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) |
| 10:38:48 | × | philopsos quits (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) (Client Quit) |
| 10:41:03 | → | philopsos joins (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) |
| 10:41:36 | → | yin joins (~yin@user/zero) |
| 10:43:55 | × | philopsos quits (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) (Client Quit) |
| 10:45:02 | × | Katarushisu1 quits (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
| 10:45:23 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 10:46:00 | → | Katarushisu1 joins (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) |
| 10:46:04 | <kuribas> | fullstack means javascript + javascript (nodejs), right? |
| 10:46:07 | <kuribas> | I wish it could mean haskell + purescript ... |
| 10:49:48 | <ncf> | mauke: that's kind of odd; usually → would be replaced by ≤ |
| 10:50:38 | <ncf> | (decategorifying sets into numbers, e.g. Void → () becomes 0 ≤ 1) |
| 10:52:19 | <kuribas> | I thought -> is exponentiation |
| 10:52:40 | <kuribas> | (Void -> ()) ~= 0^1 == 0 |
| 10:54:03 | <mauke> | f :: Void ≥ Void; f_1 v = v; f_2 v = absurd v |
| 10:54:10 | <mauke> | 0^0 == 2 |
| 10:54:45 | <ncf> | yeah you have to look at a category of sets and injections |
| 10:54:58 | <ncf> | i guess you could argue that surjections would give you the opposite order... |
| 10:55:35 | <ncf> | except when 0 is involved |
| 10:56:13 | → | philopsos joins (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) |
| 10:56:25 | × | ubert quits (~Thunderbi@p200300ecdf1b4f9949cdb76d47d708bb.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 10:59:22 | × | philopsos quits (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) (Changing host) |
| 10:59:22 | → | philopsos joins (~caecilius@user/philopsos) |
| 10:59:26 | × | philopsos quits (~caecilius@user/philopsos) (Client Quit) |
| 10:59:27 | × | danse-nr3 quits (~danse-nr3@151.44.199.122) (Read error: Connection reset by peer) |
| 10:59:29 | → | ubert joins (~Thunderbi@p548c8b9f.dip0.t-ipconnect.de) |
| 10:59:41 | → | philopsos joins (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) |
| 10:59:58 | × | philopsos quits (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) (Changing host) |
| 10:59:58 | → | philopsos joins (~caecilius@user/philopsos) |
| 11:00:21 | → | danse-nr3 joins (~danse-nr3@151.57.3.21) |
| 11:00:38 | <ncf> | mauke: i would simply assume funext |
| 11:01:14 | × | philopsos quits (~caecilius@user/philopsos) (Client Quit) |
| 11:01:57 | <Inst> | kuribas: does fullstack imply that you use node.js as a backend language? |
| 11:02:00 | → | philopsos joins (~caecilius@user/philopsos) |
| 11:02:11 | <Inst> | fullstack ruby on rails is a thing |
| 11:02:25 | <Inst> | and i suppose you could wasm for frontend as well? |
| 11:02:36 | × | philopsos quits (~caecilius@user/philopsos) (Client Quit) |
| 11:03:38 | <int-e> | I think the joke was that you could be a "full stack" developer while knowing only a single programming language |
| 11:03:39 | → | philopsos joins (~caecilius@user/philopsos) |
| 11:04:08 | × | philopsos quits (~caecilius@user/philopsos) (Client Quit) |
| 11:04:13 | <Inst> | how is that funny? |
| 11:04:24 | → | philopsos joins (~caecilius@user/philopsos) |
| 11:04:52 | × | philopsos quits (~caecilius@user/philopsos) (Client Quit) |
| 11:05:09 | → | philopsos joins (~caecilius@user/philopsos) |
| 11:06:13 | <mauke> | stack of one |
| 11:06:36 | × | ftweedal quits (~ftweedal@211.30.152.176) (Ping timeout: 260 seconds) |
| 11:07:21 | × | misterfish quits (~misterfis@046044172198.static.ipv4.heldenvannu.net) (Ping timeout: 255 seconds) |
| 11:09:34 | <ncf> | full-stack is when you only use forth |
| 11:12:10 | → | alexherbo2 joins (~alexherbo@2a02-8440-3241-3a37-b147-e92e-839c-d513.rev.sfr.net) |
| 11:12:15 | → | xff0x joins (~xff0x@2405:6580:b080:900:2bd3:fa41:7b29:56d9) |
| 11:15:48 | → | misterfish joins (~misterfis@84.53.85.146) |
| 11:21:41 | × | sroso quits (~sroso@user/SrOso) (Ping timeout: 240 seconds) |
| 11:22:58 | → | sroso joins (~sroso@user/SrOso) |
| 11:30:29 | <danse-nr3> | a fullstack dev usually works with different languages. A whole stack in the same lang is (improperly) called "isomorphic" if i recall correctly |
| 11:33:01 | × | random-jellyfish quits (~developer@user/random-jellyfish) (Ping timeout: 255 seconds) |
| 11:36:12 | × | sroso quits (~sroso@user/SrOso) (Quit: Leaving :)) |
| 11:38:10 | × | visilii quits (~visilii@188.254.110.118) (Ping timeout: 268 seconds) |
| 11:43:33 | → | destituion joins (~destituio@85.221.111.174) |
| 11:44:38 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 11:45:26 | → | yeitrafferin joins (~user@2a04:4540:7205:cc00:73fb:e92e:478f:daa3) |
| 11:56:32 | → | ph88 joins (~ph88@ip5b403f30.dynamic.kabel-deutschland.de) |
| 11:57:05 | <ph88> | when i have multiple records with the same field name is there an extension that can help to find out from which record type to use the field ? |
| 11:58:40 | <kuribas> | Inst: I thought it did. |
| 11:59:37 | <tomsmeding> | ph88: there is https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/disambiguate_record_fields.html#extension-DisambiguateRecordFields but it's not very powerful iirc |
| 12:01:04 | <ph88> | how can i use it on the call site ? |
| 12:01:09 | <tomsmeding> | kuribas: the exponentiation goes the other way, a -> b is b^a |
| 12:01:51 | <tomsmeding> | it's a product of bs, one for every value of a |
| 12:02:02 | <tomsmeding> | ph88: the extension works or it doesn't work :p |
| 12:02:42 | <tomsmeding> | if it doesn't, there's probably a reason why that case is hard in general |
| 12:02:57 | × | qqq quits (~qqq@92.43.167.61) (Remote host closed the connection) |
| 12:06:03 | × | jle` quits (~jle`@2603-8001-3b02-84d4-c3f6-003a-068f-efb1.res6.spectrum.com) (Remote host closed the connection) |
| 12:06:29 | → | jle` joins (~jle`@2603-8001-3b02-84d4-fb26-0043-58fe-e57b.res6.spectrum.com) |
| 12:08:33 | × | yeitrafferin quits (~user@2a04:4540:7205:cc00:73fb:e92e:478f:daa3) (Quit: Leaving) |
| 12:11:12 | <ph88> | when i use SomeModule https://bpa.st/3UEA in another module it can not differentiate which record extraChildren belong to. Do i have to enable some extensions in the calling module too? |
| 12:14:38 | <tomsmeding> | ph88: I think you need the DisambiguateRecordFields extension in the module where the disambiguation needs to happen |
| 12:14:43 | <tomsmeding> | hence in the calling module |
| 12:15:27 | <tomsmeding> | but relying on the extension in a public interface is not particularly nice, precisely because it cannot handle all cases that one would want |
| 12:16:10 | × | yin quits (~yin@user/zero) (Ping timeout: 264 seconds) |
| 12:21:12 | × | danse-nr3 quits (~danse-nr3@151.57.3.21) (Read error: Connection reset by peer) |
| 12:26:20 | → | yin joins (~yin@user/zero) |
| 12:28:13 | <ph88> | is there any way i can specificy "manually" which `extraChildren` i want without the use of extensions? |
| 12:37:04 | × | ddellacosta quits (~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 12:39:16 | → | qqq joins (~qqq@92.43.167.61) |
| 12:45:34 | → | ftweedal joins (~ftweedal@211.30.152.176) |
| 12:50:17 | → | danse-nr3 joins (~danse-nr3@151.57.121.183) |
| 12:50:39 | × | danse-nr3 quits (~danse-nr3@151.57.121.183) (Remote host closed the connection) |
| 12:51:04 | → | danse-nr3 joins (~danse-nr3@151.57.121.183) |
| 12:51:27 | <kuribas> | tomsmeding: right :) |
| 12:52:54 | <Hecate> | https://fosstodon.org/@haskell/112218627494648144 |
| 12:52:59 | <Hecate> | https://twitter.com/HaskellOrg/status/1776226543204700248 |
| 12:54:25 | <Rembane> | \o/ |
| 12:56:40 | <opqdonut> | is there something special in 9.8.2? |
| 12:57:56 | <Hecate> | opqdonut: yah it's not very adopted :D |
| 12:59:48 | <Hecate> | opqdonut: more interestingly, GHC 9.8 implements the semaphore concurrency proposal, which (with the right cabal-install version) enables you to greatly improve compilation performance when a lot of different modules/units can be compiled in parallel |
| 12:59:59 | <opqdonut> | well that's nice for sure |
| 13:00:19 | <opqdonut> | I'm reading https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.8 and it doesn't seem that big of a change language-wise |
| 13:00:30 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 13:00:39 | <Hecate> | opqdonut: nope but bound bumps are not automagic :) |
| 13:00:45 | <Hecate> | (one day they will be) |
| 13:00:45 | <opqdonut> | sure, sure |
| 13:01:27 | <haskellbridge> | <shapr> I just heard about https://github.com/nomeata/cabal-plan-bounds |
| 13:05:47 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 13:10:37 | × | philopsos quits (~caecilius@user/philopsos) (Ping timeout: 256 seconds) |
| 13:14:07 | → | ystael joins (~ystael@user/ystael) |
| 13:25:59 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 13:26:49 | <yin> | as i understand it GHC doesn't perform cross-module optimizations. wouldn't this be a very valuable thing specially in a language like haskell? |
| 13:29:32 | <yin> | maybe it's cross-library? |
| 13:30:54 | <yin> | anyways, compiling a program as a whole seems like it would be a very good thing |
| 13:33:02 | <kuribas> | tomsmeding: so "() -> void" has cardinality 1^0 = 1, since there is no way to get a void value out of a tuple, but "void -> ()" has 0^1 = 1, since there is one way to get a tuple out of a void value (absurd proof)? |
| 13:33:09 | × | ftweedal quits (~ftweedal@211.30.152.176) (Ping timeout: 255 seconds) |
| 13:33:58 | <ncf> | other way around |
| 13:34:31 | <kuribas> | right |
| 13:38:24 | <probie> | yin: GHC will still inline things marked with the inline pragma across both module and library boundaries. Whole program compilation (in the style of stalin or mlton) is slow and resource intensive |
| 13:43:49 | × | malte quits (~malte@mal.tc) (Remote host closed the connection) |
| 13:44:57 | → | malte joins (~malte@mal.tc) |
| 13:52:23 | × | yin quits (~yin@user/zero) (Ping timeout: 272 seconds) |
| 13:56:56 | × | akegalj quits (~akegalj@141-136-147-171.dsl.iskon.hr) (Remote host closed the connection) |
| 14:03:10 | → | alex` joins (~user@149.22.101.75) |
| 14:06:41 | → | berekolo joins (~berekolo@112.78.178.130) |
| 14:13:32 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 14:16:19 | → | califax joins (~califax@user/califx) |
| 14:18:47 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1) |
| 14:18:51 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 14:19:18 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 14:20:32 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 4.1.2) |
| 14:23:19 | → | fererrorocher joins (fererroroc@gateway/vpn/protonvpn/fererrorocher) |
| 14:29:36 | <EvanR> | semaphore concurrency proposal? |
| 14:29:53 | → | bjorkintosh joins (~bjork@user/bjorkintosh) |
| 14:29:56 | ← | bjorkintosh parts (~bjork@user/bjorkintosh) (Leaving) |
| 14:31:12 | tomsmeding | nods at ncf and kuribas |
| 14:32:27 | <tomsmeding> | Hecate: why migrate? Isn't support enough? |
| 14:42:36 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:43:53 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 14:44:34 | × | fererrorocher quits (fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1) |
| 14:46:18 | → | mei joins (~mei@user/mei) |
| 14:48:32 | <tomsmeding> | EvanR: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0540-jsem.rst |
| 14:51:27 | <EvanR> | execute build plans in shorter wall-time durations |
| 14:51:31 | <EvanR> | in other words |
| 14:51:34 | <EvanR> | run faster |
| 14:51:35 | <tomsmeding> | yes |
| 14:51:49 | <tomsmeding> | "sooner", in the terminology of the ghc user guide |
| 14:52:42 | tomsmeding | hopes to be able to pass -jsem to cabal in the future without having to also pass --ghc-options=-jsem |
| 14:53:26 | <EvanR> | oh, it uses system semaphores, interesting |
| 14:53:42 | <tomsmeding> | well it's not very "system" |
| 14:54:23 | <tomsmeding> | it uses a POSIX semaphore but it's a bespoke protocol for haskell tools |
| 14:54:31 | <tomsmeding> | it's not like make(1) knows about it :) |
| 14:55:02 | Rembane | teaches make about all the things |
| 14:55:23 | <tomsmeding> | one of the alternatives in the proposal was to do the converse, to teach ghc and cabal about the make semaphore protocol |
| 14:55:35 | <tomsmeding> | see the proposal for reasons why that was considered a bad idea |
| 14:56:07 | <EvanR> | ghc uses make? |
| 14:56:10 | <EvanR> | at all? |
| 14:56:14 | <tomsmeding> | no |
| 14:56:18 | <EvanR> | ok good |
| 14:56:53 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 14:56:54 | <tomsmeding> | but to me "system semaphore" sounds like if you run ghc as well as other tools inside a single make(1) graph or something, they will cooperate |
| 14:56:54 | <EvanR> | not that I have anything against make itself, for not-haskell |
| 14:56:56 | <tomsmeding> | they will not |
| 14:57:06 | <tomsmeding> | I would just have said "a semaphore" |
| 14:57:16 | <tomsmeding> | implementation details being that it's a POSIX semaphore on unixy systems |
| 14:57:24 | <EvanR> | I was referring to just thing supported by the OS |
| 14:57:37 | <EvanR> | instead of reinvented |
| 14:57:40 | <tomsmeding> | yeah that's funny, posix semaphores were a TIL for me too |
| 14:58:25 | <EvanR> | unix linux has all these things you can use but probably shouldn't for reasons xD |
| 14:58:27 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 14:58:41 | <EvanR> | because the person who replaces you won't know how it works |
| 14:58:46 | <EvanR> | e.g. |
| 14:59:00 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 14:59:28 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
| 14:59:38 | <EvanR> | the only way to future proof anything is rewrite it in rust!!! |
| 14:59:59 | × | Square quits (~Square4@user/square) (Ping timeout: 256 seconds) |
| 15:00:17 | <ph88> | EvanR, you like rust ? |
| 15:00:30 | <EvanR> | this has been a meme |
| 15:00:47 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 272 seconds) |
| 15:01:27 | <EvanR> | haskell is great because we don't want to rewrite everything in it |
| 15:01:28 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:01:49 | <danse-nr3> | don't we? |
| 15:01:54 | danse-nr3 | is disappointed |
| 15:02:54 | → | img joins (~img@user/img) |
| 15:04:51 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:04:52 | → | yin joins (~yin@user/zero) |
| 15:05:32 | × | Eoco quits (~ian@128.101.131.218) (Ping timeout: 260 seconds) |
| 15:07:32 | × | destituion quits (~destituio@85.221.111.174) (Ping timeout: 268 seconds) |
| 15:08:57 | → | poxel2 joins (~lennart@user/poxel) |
| 15:11:32 | → | machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net) |
| 15:12:21 | → | destituion joins (~destituio@2a02:2121:107:22da:bbaf:a6d8:6599:5221) |
| 15:14:14 | → | vpan joins (~vpan@212.117.1.172) |
| 15:15:28 | <tomsmeding> | most of us are too sensible for that |
| 15:15:50 | <tomsmeding> | and also people who do haskell are typically interested in programming languages in general, somehow, meaning that they typically know more than 1 language |
| 15:17:01 | <danse-nr3> | yeah was kidding. It seems legit to be fantasizing about writing something existing in another lang though |
| 15:17:30 | <danse-nr3> | especially if one is in a cult :D |
| 15:17:45 | <Rembane> | cult-lang-2000 |
| 15:17:46 | <EvanR> | the knights of lambda calculus |
| 15:18:00 | <danse-nr3> | the church of haskell obviously! |
| 15:18:18 | <EvanR> | the church of curry |
| 15:18:41 | × | alex` quits (~user@149.22.101.75) (Ping timeout: 256 seconds) |
| 15:19:03 | <tomsmeding> | yum |
| 15:21:20 | → | polyphem joins (~rod@p200300ef271ab1008634ba5d8231450c.dip0.t-ipconnect.de) |
| 15:22:39 | → | Eoco joins (~ian@128.101.131.218) |
| 15:29:46 | × | Eoco quits (~ian@128.101.131.218) (Remote host closed the connection) |
| 15:31:01 | → | Eoco joins (~ian@128.101.131.218) |
| 15:31:06 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
| 15:31:21 | <Inst> | (knights of lambda calculus is actually a thing) |
| 15:31:25 | <Inst> | (see MIT and Scheme) |
| 15:32:44 | ski | imagines that's why they were mentioned |
| 15:32:53 | <yin> | is there a way to force whole program compilation? |
| 15:34:22 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 15:36:05 | <yin> | hmm not in GHC i see |
| 15:36:30 | <geekosaur> | unless you count GRIN |
| 15:38:00 | × | Eoco quits (~ian@128.101.131.218) (Remote host closed the connection) |
| 15:38:26 | → | gmg joins (~user@user/gehmehgeh) |
| 15:39:05 | → | Eoco joins (~ian@128.101.131.218) |
| 15:43:18 | × | igemnace quits (~ian@user/igemnace) (Read error: Connection reset by peer) |
| 15:44:59 | → | tzh joins (~tzh@c-73-164-206-160.hsd1.or.comcast.net) |
| 15:45:33 | <yin> | geekosaur: thanks |
| 15:46:51 | <kuribas> | GRIN doesn't do recursive inlining. |
| 15:47:02 | <kuribas> | So it isn't as good as GHC's optimizer. |
| 15:52:39 | × | danse-nr3 quits (~danse-nr3@151.57.121.183) (Ping timeout: 255 seconds) |
| 15:56:57 | <geekosaur> | WPC generally requires a different compilation strategy, although GRIN was (is? not sure if it's still alive) I think an experiment in a middle path |
| 16:00:44 | → | igemnace joins (~ian@user/igemnace) |
| 16:07:46 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1)) |
| 16:08:37 | → | yin_ joins (~yin@user/zero) |
| 16:09:18 | × | zetef quits (~quassel@5.2.182.99) (Ping timeout: 255 seconds) |
| 16:10:08 | → | noumenon joins (~noumenon@113.51-175-156.customer.lyse.net) |
| 16:16:09 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 16:18:05 | → | visilii joins (~visilii@188.254.110.118) |
| 16:22:45 | × | berekolo quits (~berekolo@112.78.178.130) (Remote host closed the connection) |
| 16:29:11 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 16:30:05 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 256 seconds) |
| 16:31:16 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:31:36 | → | mei joins (~mei@user/mei) |
| 16:32:13 | × | igemnace quits (~ian@user/igemnace) (Quit: WeeChat 4.2.1) |
| 16:38:12 | × | vpan quits (~vpan@212.117.1.172) (Quit: Leaving.) |
| 16:38:38 | → | rvalue joins (~rvalue@user/rvalue) |
| 16:38:52 | → | ft joins (~ft@p4fc2a20e.dip0.t-ipconnect.de) |
| 16:44:15 | × | yin quits (~yin@user/zero) (Ping timeout: 256 seconds) |
| 16:50:35 | → | yin joins (~yin@user/zero) |
| 16:50:47 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds) |
| 16:54:41 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 16:58:00 | <Inst> | btw did someone prune libraries from Hackage recently? |
| 16:58:08 | <Inst> | i feel like the total number of libs dropped |
| 17:00:03 | <geekosaur> | it's supposed to be append-only |
| 17:00:28 | <Inst> | yeah, it's weird, i just remember ed we had 18k packages and somehow it's only 16k |
| 17:00:37 | <Inst> | 4300 libs updated in the last 24 months |
| 17:01:09 | <Inst> | vs about 2940 in the last 12 months |
| 17:03:19 | <yin_> | one possibility that i'm completely making up is mergers |
| 17:03:29 | → | pavonia joins (~user@user/siracusa) |
| 17:10:13 | <int-e> | Inst: https://hackage.haskell.org/packages/deprecated is where the difference is, I think (1268 packages) |
| 17:12:44 | <Hecate> | tomsmeding: the tweets say "support" |
| 17:18:08 | <tomsmeding> | Hecate: right :) |
| 17:18:17 | × | noumenon quits (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving) |
| 17:27:13 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 17:27:25 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 17:38:00 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:39:53 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 17:41:01 | ChanServ | sets mode +o litharge |
| 17:41:01 | litharge | sets mode -qo *!*@92.237.136.64 litharge |
| 17:44:15 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 17:45:09 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 17:54:25 | → | misterfish joins (~misterfis@84.53.85.146) |
| 17:58:59 | → | zetef joins (~quassel@5.2.182.99) |
| 18:08:18 | → | Inst_ joins (~Inst@120.244.192.170) |
| 18:11:22 | × | Inst quits (~Inst@120.244.192.126) (Ping timeout: 264 seconds) |
| 18:15:29 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 256 seconds) |
| 18:20:44 | <yin_> | oh weird. i'm getting warnings about lazy fields in data tyeps |
| 18:21:06 | <geekosaur> | HLS? |
| 18:21:25 | <tomsmeding> | yin_: are those "lints"? |
| 18:21:27 | <tomsmeding> | probably from hlint |
| 18:21:34 | <geekosaur> | the stan plugin was accidentally enabled by default when it was re-added |
| 18:21:43 | <tomsmeding> | oh or stan, yes |
| 18:31:34 | tomsmeding | has haskell.plugin.hlint.globalOn = false and haskell.plugin.stan.globalOn = false |
| 18:35:21 | → | sharan joins (~shara@c-24-60-154-223.hsd1.ma.comcast.net) |
| 18:36:39 | <yin_> | hls |
| 18:37:49 | × | shara_ quits (~shara@c-24-60-154-223.hsd1.ma.comcast.net) (Ping timeout: 268 seconds) |
| 18:42:10 | <mauke> | just add `!` so it knows you mean business |
| 18:45:58 | × | alexherbo2 quits (~alexherbo@2a02-8440-3241-3a37-b147-e92e-839c-d513.rev.sfr.net) (Remote host closed the connection) |
| 18:46:18 | → | alexherbo2 joins (~alexherbo@2a02-8440-3241-3a37-b147-e92e-839c-d513.rev.sfr.net) |
| 18:49:13 | × | yin_ quits (~yin@user/zero) (Ping timeout: 268 seconds) |
| 18:50:48 | <monochrom> | Ugh that is going to be a problem if I give students an assignment in which it is important to have a lazy data field. |
| 18:51:18 | <monochrom> | We are talking about beginners who do not know that a standard toolchain is not to be trusted. |
| 18:52:40 | <tomsmeding> | monochrom: too lazy (heh) to search when it was introduced, but "stan on by default" was apparently fixed in HLS 2.6 https://github.com/haskell/haskell-language-server/pull/3917 |
| 18:53:26 | <monochrom> | That only solves the symptom. |
| 18:53:51 | × | Square2 quits (~Square@user/square) (Ping timeout: 268 seconds) |
| 18:53:55 | <tomsmeding> | well it means that students will only see this warning if they manually enable stan |
| 18:54:15 | <monochrom> | The deeper and worse problem is why personal niche religious opinions keep getting standardized in standard toolchains. |
| 18:54:46 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 18:54:50 | <tomsmeding> | I mean, there are a number of formatters in HLS too |
| 18:54:56 | <tomsmeding> | code formatting is subjective too |
| 18:55:06 | <tomsmeding> | at least they don't run unless you ask for it |
| 18:55:10 | <tomsmeding> | (unlike hlint) |
| 18:56:15 | → | misterfish joins (~misterfis@84.53.85.146) |
| 18:57:33 | <Rembane> | I miss brittany! |
| 19:03:00 | <tomsmeding> | monochrom: a decent reason why all these things are in HLS proper now (they are written as plugins, but the plugins are bundled with standard HLS downloads) is that a separate plugin system would be cumbersome |
| 19:03:10 | × | alexherbo2 quits (~alexherbo@2a02-8440-3241-3a37-b147-e92e-839c-d513.rev.sfr.net) (Remote host closed the connection) |
| 19:03:29 | → | alexherbo2 joins (~alexherbo@2a02-8440-3241-3a37-b147-e92e-839c-d513.rev.sfr.net) |
| 19:03:33 | <tomsmeding> | s/downloads/builds/ |
| 19:06:21 | × | ubert quits (~Thunderbi@p548c8b9f.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 19:07:44 | → | ubert joins (~Thunderbi@p548c9ed6.dip0.t-ipconnect.de) |
| 19:09:30 | <tomsmeding> | yin: so in case you missed it, the fix is to upgrade to hls >= 2.6 or to set haskell.plugin.stan.globalOn = false in your editor LSP config |
| 19:12:25 | × | poxel2 quits (~lennart@user/poxel) (Quit: WeeChat 4.2.1) |
| 19:12:35 | × | ubert quits (~Thunderbi@p548c9ed6.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 19:14:07 | → | poxel joins (~lennart@user/poxel) |
| 19:22:50 | × | poxel quits (~lennart@user/poxel) (Ping timeout: 256 seconds) |
| 19:28:02 | → | liamzy__ joins (~Inst@120.244.192.170) |
| 19:28:31 | × | Inst_ quits (~Inst@120.244.192.170) (Ping timeout: 260 seconds) |
| 19:29:35 | liamzy__ | is now known as Inst |
| 19:31:26 | → | tmtt joins (~tmtt@user/tmtt) |
| 19:34:57 | × | AlexZenon quits (~alzenon@94.233.240.255) (Ping timeout: 255 seconds) |
| 19:36:50 | → | dbaoty joins (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) |
| 19:39:08 | → | philopsos joins (~caecilius@user/philopsos) |
| 19:39:58 | → | AlexZenon joins (~alzenon@94.233.240.255) |
| 19:40:57 | → | poxel joins (~lennart@user/poxel) |
| 19:46:28 | <tmtt> | Hi! I'm writing a small brainfuck compiler in Haskell to learn the language and compiler design. I'm currently working on parsing loops, and wondering what would be the common way of recursively parsing those loops. Right now, I have this code <https://paste.tomsmeding.com/XYyvZpGp> (see line 40) which doesn't work since it doesn't "skip" the tokens after it finishes parsing the inside of the loop. Thanks in advance for any help and sor |
| 19:46:28 | <tmtt> | ry fot the weird question lol |
| 19:48:34 | <mauke> | the general idea is that your parser needs to return not just a parsed result, but also the unparsed/unconsumed rest of the input |
| 19:48:54 | <mauke> | parse :: [Token] -> (Result, [Token]) |
| 19:49:20 | <ski> | `BracketOpen' and `BracketClosed' cases of the parser looks incorrect |
| 19:49:22 | <ski> | (and what mauke said) |
| 19:49:37 | <tmtt> | ski: yeah, they're not working as of now |
| 19:50:41 | <tmtt> | mauke: I see. Let me try something with that |
| 19:51:39 | <ski> | in the `BracketClose' case, you need to have `[]' as `Program' result, and `xs' as unconsumed input |
| 19:52:32 | × | yin quits (~yin@user/zero) (Ping timeout: 260 seconds) |
| 19:52:46 | <ski> | that way, in the `BracketOpen' case, when you get the `Program' result from the recursive call on `xs', you can stuff that `Program' inside `Loop', and then call recursively again, on the remainder of `xs' |
| 19:53:00 | <mauke> | once you've done that, you might realize that [Token] -> (a, [Token]) looks a lot like the State monad |
| 19:53:20 | <ski> | of course, you'll need to adapt the other cases to just forward the remaining input from the recursive call |
| 19:53:34 | <tmtt> | yeah |
| 19:53:45 | <ski> | are you familiar with monads yet ? |
| 19:53:45 | <mauke> | and then you might realize that your parsing code only modifies the state in very particular ways and write a few helper functions for that |
| 19:53:52 | <mauke> | and then you've invented parser combinators |
| 19:54:04 | <tmtt> | ski: not really |
| 19:54:14 | <ski> | okay, don't worry about that, for now, then |
| 19:54:27 | <mauke> | yeah, the manual approach works fine |
| 19:54:37 | <mauke> | particularly for brainfuck :-) |
| 19:54:47 | <ski> | just make the parser input a "state", whose versions are threaded through your computation, as sketched above |
| 19:54:57 | <tmtt> | mauke: Yeah lol |
| 19:55:00 | <tmtt> | ski: I see |
| 19:55:11 | <tmtt> | I think I got it, I'll try to make it work with that |
| 19:55:16 | <mauke> | I'm still bad at programming in brainfuck |
| 19:55:38 | <darkling> | Isn't everyone? |
| 19:55:40 | <mauke> | I once wrote a bf assembler in haskell |
| 19:55:51 | <mauke> | then I used that to write a bf compiler in bf |
| 19:55:52 | <tmtt> | that's exactly what I'm trying to do here |
| 19:55:56 | <tmtt> | oh |
| 19:56:09 | <darkling> | I've got most of a BF CPU in Verilog here. :) |
| 19:56:15 | <mauke> | no, I was going from a DSL to BF |
| 19:56:57 | <tmtt> | Oh ok |
| 20:00:07 | × | alexherbo2 quits (~alexherbo@2a02-8440-3241-3a37-b147-e92e-839c-d513.rev.sfr.net) (Remote host closed the connection) |
| 20:02:51 | × | YuutaW quits (~YuutaW@mail.yuuta.moe) (Ping timeout: 255 seconds) |
| 20:04:14 | → | yin joins (~yin@user/zero) |
| 20:04:17 | → | YuutaW joins (~YuutaW@mail.yuuta.moe) |
| 20:07:11 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 20:08:30 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 20:09:58 | <probie> | I wrote a BF to web assembly text "compiler" in BF once, which sounds more impressive than it was, because it just output a simple interpreter with the program to run hardcoded in |
| 20:11:47 | <darkling> | BF (interpreter|compiler) makes a good practice thing for lots of cases, because it's such a simple model. |
| 20:12:23 | × | titibandit quits (~titibandi@user/titibandit) (Read error: Connection reset by peer) |
| 20:12:28 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:15:22 | × | YuutaW quits (~YuutaW@mail.yuuta.moe) (Ping timeout: 246 seconds) |
| 20:15:44 | × | michalz quits (~michalz@185.246.207.193) (Quit: ZNC 1.8.2 - https://znc.in) |
| 20:16:13 | <probie> | I've "written" more impressive things in BF, but they don't really count, because they've really been written in higher level languages with BF as a compilation target, and also require a specialised compiler to run at any reasonable speed |
| 20:16:26 | → | YuutaW joins (~YuutaW@mail.yuuta.moe) |
| 20:16:58 | <tomsmeding> | https://git.tomsmeding.com/bfturing/about/ |
| 20:17:27 | <tomsmeding> | also written in a higher-level language and then compiled, but the HLL was English and the compiler was me :p |
| 20:19:14 | → | euphores joins (~SASL_euph@user/euphores) |
| 20:19:37 | <tomsmeding> | now write your programs on a bare turing machine >:D |
| 20:19:45 | → | euleritian joins (~euleritia@dynamic-176-006-182-016.176.6.pool.telefonica.de) |
| 20:21:16 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:25:46 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 20:27:06 | <probie> | I implemented an 8-bit CPU (with 16-bit addresses), so a "program" involved setting up the CPU itself, writing the instructions to memory and then jumping into the main "CPU" loop. However, every read/write from memory was rather expensive without a magical compiler |
| 20:30:12 | <tomsmeding> | probie: because it had to loop linearly to the correct memory cell? :p |
| 20:30:34 | <tomsmeding> | doing multi-byte arithmetic at every cell to check if you're there yet |
| 20:30:39 | <tomsmeding> | perfect |
| 20:31:38 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 20:34:00 | <Inst> | do people try to write prelude extensions? |
| 20:34:21 | <Inst> | I know of this |
| 20:34:21 | <Inst> | https://hackage.haskell.org/package/extra |
| 20:37:22 | × | tmtt quits (~tmtt@user/tmtt) (Quit: Leaving.) |
| 20:37:53 | <dolio> | Just don't write Turing machines. They're awful. |
| 20:38:22 | × | yin quits (~yin@user/zero) (Ping timeout: 264 seconds) |
| 20:38:54 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:38:56 | → | peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 20:41:53 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 20:43:13 | <tomsmeding> | dolio: I challenge you to write a lambda calculus interpreter in brainfuck :p |
| 20:43:50 | <int-e> | sounds painful |
| 20:44:04 | <tomsmeding> | at least a turing machine is something that's humanly possible |
| 20:44:12 | <dolio> | Isn't brainfuck almost as bad as Turing machines? :) |
| 20:44:21 | <tomsmeding> | yes |
| 20:44:25 | <int-e> | yes |
| 20:44:43 | → | vhs joins (~vhs@185.76.9.56) |
| 20:45:32 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:45:40 | <int-e> | including the wonderful experience of walking the pointer back and forth to get any real work done |
| 20:46:03 | <int-e> | the pointer being what the tape head would be for a "real" Turing machine |
| 20:46:14 | <dolio> | Yeah. |
| 20:47:05 | <tomsmeding> | even a combinator graph reducer sounds painful in brainfuck |
| 20:47:37 | <dolio> | Turing actually wrote a paper where he implemented lambda calculus on Turing machines, I think. |
| 20:47:43 | <dolio> | So you could crib that. |
| 20:47:49 | <tomsmeding> | worth a paper apparently |
| 20:48:19 | <tomsmeding> | though it makes sense that that would be a thing that needed to be done back then |
| 20:48:34 | × | peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |
| 20:48:40 | <int-e> | tomsmeding: a string representation will be easier (pointers are fiendishly difficult)... but then you have to move substrings around a lot so it's undoubtedly still a mess. |
| 20:48:54 | <tomsmeding> | hm true |
| 20:49:22 | <tomsmeding> | moving a suffix of a string by a statically-known number of characters is at least easy (if slow) |
| 20:49:54 | tomsmeding | resists starting an attempt to write one |
| 20:55:20 | × | qqq quits (~qqq@92.43.167.61) (Remote host closed the connection) |
| 20:56:29 | × | ph88 quits (~ph88@ip5b403f30.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 20:58:25 | → | vhsconnect joins (~vhs@81-233-2-46-no600.tbcn.telia.com) |
| 21:00:35 | × | flounders quits (~flounders@24.246.176.178) (Quit: WeeChat 4.1.2) |
| 21:00:47 | → | ubert joins (~Thunderbi@p200300ecdf39578eeee93514f98d266d.dip0.t-ipconnect.de) |
| 21:00:57 | × | vhs quits (~vhs@185.76.9.56) (Ping timeout: 256 seconds) |
| 21:01:16 | → | __monty__ joins (~toonn@user/toonn) |
| 21:01:17 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 21:05:24 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 21:12:19 | × | dbaoty quits (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) (Quit: Leaving.) |
| 21:15:19 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 255 seconds) |
| 21:24:25 | <Inst> | just curious, from Haskellers, how would you rank base / stdlib of various languages? |
| 21:26:32 | <EvanR> | often missing something obvious that exists in haskell |
| 21:28:15 | <sm> | python's is considered more full-featured ("batteries included") than haskell's. Haskell's usually feels more rigorous and trustworthy than others. |
| 21:28:15 | <Inst> | just as Haskell is missing something obvious that exists in other langs? :3 |
| 21:28:31 | <int-e> | Haskell is always missing something that exists on hackage. |
| 21:28:33 | <Inst> | To an extent, I feel that Haskell's Prelude / base is almost deliberately bad |
| 21:28:35 | <int-e> | ;) |
| 21:28:55 | <geekosaur> | haskell has reasons to keep base small, though |
| 21:28:56 | <int-e> | It's not deliberate. The attitude towards base has changed. |
| 21:29:02 | <Inst> | how has that changed? |
| 21:29:05 | <geekosaur> | (they're working on fixing the main reason) |
| 21:29:25 | <int-e> | It used to be batteries included, and then at some point it stopped because that attitude lead to feature creep. |
| 21:29:28 | <Inst> | by deliberately, I mean that if you're too opinionated with base, you cut off innovation |
| 21:29:51 | <int-e> | No, the attitude now is that you're supposed to use other packages alongside base. |
| 21:30:10 | <Inst> | but that comes with its own drawbacks, no? |
| 21:30:30 | <int-e> | yes, you can't please everybody |
| 21:30:47 | <int-e> | I bet if people started over, base would be *smaller*. |
| 21:32:24 | <Inst> | would deepseq be in base, then? |
| 21:32:42 | <int-e> | probably not? |
| 21:33:03 | <Inst> | what's the arguments for keeping deepseq out of base? |
| 21:33:19 | <int-e> | Who knows. And whatever base would be would still displease the majority of people. |
| 21:33:33 | <int-e> | And that's not a base problem, it's a people problem. :P |
| 21:33:51 | <int-e> | It can be an extra package easily. |
| 21:33:53 | int-e | shrugs |
| 21:36:09 | × | phma quits (phma@2001:5b0:211c:a48:b538:9e99:373e:ab2f) (Read error: Connection reset by peer) |
| 21:36:45 | <int-e> | FWIW, the core libraries are collectively the standard library to my mind. But of course they don't cover all bases either. I believe ghcup has its own notion of default packages, so those could be standard libraries. |
| 21:37:06 | <int-e> | Some people will include lens, others some web libraries like servant... programmers are different and have different needs. |
| 21:37:09 | → | phma joins (~phma@host-67-44-208-145.hnremote.net) |
| 21:37:15 | <int-e> | None of this is really a problem in my eyes. |
| 21:37:36 | <tomsmeding> | int-e: the argument for keeping deepseq out of base is the same for keeping anything else that doesn't _need_ to be in base out of base |
| 21:37:48 | <int-e> | exactly |
| 21:38:03 | <tomsmeding> | namely that you can upgrade it without upgrading the compiler, that you can have several different implementations, experiment, etc. |
| 21:38:08 | <int-e> | but maybe 20 years ago people would've felt differently |
| 21:38:20 | <tomsmeding> | sure, what I'm saying is the current feeling towards base |
| 21:38:24 | <Inst> | the problem is that if in a functional language, you're writing eDSLs all the time, the varying combinations of libraries essentially comprise their own eDSLs |
| 21:38:26 | <tomsmeding> | *toward |
| 21:38:32 | <int-e> | support for extra packages has improved dramatically since then, and that's a huge factor |
| 21:38:33 | <Inst> | then is Haskell a single language? |
| 21:38:44 | <tomsmeding> | is lisp a single language? |
| 21:38:47 | <tomsmeding> | is c++ a single language? |
| 21:38:53 | × | YuutaW quits (~YuutaW@mail.yuuta.moe) (Ping timeout: 240 seconds) |
| 21:38:55 | <int-e> | is english a single language? |
| 21:39:16 | → | shapr joins (~user@c-24-218-186-89.hsd1.ma.comcast.net) |
| 21:39:37 | <sm> | haskell platform was an attempt at a more complete standard lib. A stackage snapshot could also be seen as one. |
| 21:40:13 | <Inst> | iirc there's advice floating around to -XNoImplicitPrelude and roll your own if you want to use Haskell seriously |
| 21:40:26 | <EvanR> | three languages in a trenchcoat |
| 21:40:31 | <tomsmeding> | and there's also advice floating around to not do that |
| 21:40:32 | <Inst> | heh |
| 21:40:42 | <tomsmeding> | people's opinions will differ |
| 21:40:50 | <tomsmeding> | if you want a language that doesn't allow dissenting opinions, use Go :p |
| 21:40:54 | <shapr> | ouch |
| 21:41:11 | <EvanR> | auto formatters |
| 21:41:17 | <EvanR> | don't question it |
| 21:41:40 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:42:16 | <sm> | alternate preludes are a good idea, in principle they can compete and one of them could become popular, but more support from GHC/ecosystem seems needed to make them easier |
| 21:42:16 | → | YuutaW joins (~YuutaW@mail.yuuta.moe) |
| 21:43:14 | <sm> | or, just better docs/guidance so we make and use them more |
| 21:43:31 | <sm> | but I think there are some unnecessary roadbumps |
| 21:44:04 | <shapr> | it's instructive to try writing your own prelude |
| 21:44:12 | <shapr> | or at least, I learned much from my own attempt |
| 21:44:28 | <Inst> | tbh I just had a culture shock looking at Julia's batteries included base / stdlib |
| 21:44:31 | <sm> | I want the scripter's prelude, PHP-like - everything you need in scope. (This isn't just about a prelude, but also involves imports...) |
| 21:44:57 | <sm> | why, what's that like Inst ? |
| 21:44:59 | <Inst> | i'd rather just see a prelude extension; rather, instead of -XNoImplicitPrelude, you import it alongside prelude instead |
| 21:45:01 | <shapr> | Yeah, I like reading about the default imports used by high scoring Advent of Code participants |
| 21:45:39 | <Inst> | tbh an erdorsed prelude / base extension actually makes sense insofar as it works as an alpha test of changes to prelude |
| 21:45:56 | <Inst> | currently i guess all the alt preludes effectively function as R&D for standard prelude |
| 21:46:11 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 21:46:19 | <yushyin> | i sometimes use mixins + base-prelude for my toy projects, spares me from importing so many things from base |
| 21:47:23 | <Inst> | that is really cool, thanks for bringing it up |
| 21:48:01 | <shapr> | now that I think about it, cabal-add integration with haskell-language-server brings me closer to a much larger Prelude |
| 21:48:29 | <shapr> | that's the separation between Prelude and everything else, right? that I have to manually add something to my cabal file? |
| 21:48:36 | → | mei joins (~mei@user/mei) |
| 21:49:26 | → | sadie_ joins (~sadie@c-76-155-235-153.hsd1.co.comcast.net) |
| 21:49:34 | <yushyin> | Inst: so like `mixins: base hiding (Prelude), base-prelude (BasePrelude as Prelude)', weird but works |
| 21:50:30 | <sm> | you can choose a different prelude in a stack script / cabal script too IIRC |
| 21:51:47 | × | zetef quits (~quassel@5.2.182.99) (Remote host closed the connection) |
| 21:51:58 | <Inst> | holy at Python stdlib |
| 21:52:07 | <Inst> | is this the peak kitchen sink of stdlibs? |
| 21:52:34 | → | ftweedal joins (~ftweedal@211.30.152.176) |
| 21:52:50 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:53:26 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 21:53:36 | <Inst> | https://docs.julialang.org/en/v1/stdlib/TOML/ |
| 21:54:07 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex) |
| 21:54:39 | <Inst> | the argument for a larger standard lib is that a lot of these things in Haskell are outsourced to FOSS maintainers, or it doesn't even exist |
| 21:54:59 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 21:55:03 | <Inst> | and FOSS maintainers might get bored and walk off |
| 21:55:14 | <Inst> | recall what happened with cryptonite, right? |
| 21:55:29 | <sm> | I'll see your julia/python stdlib and raise you https://www.stackage.org/lts-22.15 |
| 21:56:06 | <Inst> | i like Network.I like this |
| 21:56:07 | <Inst> | lol |
| 21:56:08 | <Inst> | https://hackage.haskell.org/package/http-conduit-2.3.8.3 |
| 21:56:29 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 21:56:41 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 21:56:47 | <Inst> | sm: are we going to start the cabal stack wars again? |
| 21:56:58 | <sm> | why would you say that ? please don't |
| 21:57:08 | <EvanR> | if python doesn't come with an MMORPG engine what's even the point |
| 21:57:37 | <EvanR> | literally useless |
| 21:58:23 | <Inst> | what was the background behind that again? |
| 21:58:31 | <Inst> | I don't get why Snoyman is considered so controversial |
| 21:58:51 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 21:58:52 | <sm> | I don't either but seriously please, let's not |
| 21:59:21 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 21:59:53 | <Inst> | i mean that I thought the cabal stack wars ended with a cabal victory |
| 22:00:04 | <sm> | alright, I can't and shouldn't stop you, but let's not keep saying there's a "war" |
| 22:00:26 | <sclv> | they ended because everyone agreed to be normal about things |
| 22:01:38 | <Inst> | i mean that re cabal-stack, i learned haskell with cabal partisans and really ignored stack most of the time |
| 22:02:04 | <geekosaur> | it's around 50-50 |
| 22:02:09 | <geekosaur> | and really not worth arguing about |
| 22:03:14 | <Inst> | i'm not going to argue about it, but fragmented build system / tooling is and was a mess, even though it was sort of a cabal victory, you also have the folks who moved off to nix |
| 22:03:49 | <sm> | victory is a matter of opinion. I'd say evolution is ongoing. |
| 22:03:53 | <shapr> | nix uses cabal to build |
| 22:04:03 | <shapr> | but stackage snapshots for library versions |
| 22:04:14 | <Inst> | just incredible fragmentation in the ecosystem, sometimes more trouble than it's worth |
| 22:04:25 | <yushyin> | as long as projects have a cabal file in the repo and reasonable version bounds, I personally don't care what build tool is used |
| 22:04:57 | <shapr> | inst: is there something specific you'd want improved? |
| 22:05:33 | <Inst> | the one thing I'd love, tbh, would be a network package in base |
| 22:05:35 | <shapr> | my fun thing is using GHC runtime coverage to improve property based tests |
| 22:05:44 | <EvanR> | Inst, you're so controversial |
| 22:05:44 | <shapr> | Inst: propose it? push it? |
| 22:05:50 | <shapr> | build a posse? :-D |
| 22:05:59 | <EvanR> | I'm calling the ny post on you |
| 22:06:01 | <int-e> | depend on `network`? |
| 22:06:19 | <int-e> | all of these are largely non-issues painted in the most negative light possible |
| 22:06:45 | <int-e> | to what end I do not know |
| 22:06:52 | <shapr> | I wish CloudHaskell had let me do Erlang things, but I never had the motivation to go fix it myself |
| 22:08:04 | <EvanR> | fear uncertainty and doubt in haskell, furthering the interests of agents of chaos |
| 22:08:26 | <Rembane> | shapr: The whole concept was really cool though! |
| 22:08:41 | × | vhsconnect quits (~vhs@81-233-2-46-no600.tbcn.telia.com) (Quit: Leaving) |
| 22:08:53 | <sm> | as a programmer, I object to having to learn and manage two separate "import systems" - one getting the right packages in scope, two getting the right modules in scope. |
| 22:08:54 | <shapr> | yeah CloudHaskell was really cool. I especially liked the part about shipping types across the wire for use on the other end |
| 22:09:29 | <Rembane> | shapr: That's the catch, right? |
| 22:09:54 | <shapr> | it's certainly required |
| 22:11:06 | <Inst> | because, end of the day, which one am i supposed to use? there's like 20 different network packages just for downloading a file, and more than 3 in stackage |
| 22:12:03 | <shapr> | I do wish we had library curation, some sort of recommended set |
| 22:12:29 | <shapr> | for example, I never got fgl to work, but algebraic graphs was easy for me, so that would be my recommendation |
| 22:12:46 | <shapr> | Actually, I'd want curation with usage examples |
| 22:12:48 | <sm> | s/two import systems/*three* import systems - the right compiler, the right packages, the right modules/ |
| 22:12:56 | <Inst> | iirc gabriella gonzalez had her site on github for that |
| 22:13:16 | <shapr> | yeah, that's true. I'm using nix to run our tests with several different versions of GHC (credit to exarkun for writing that, thanks! ) |
| 22:13:54 | <shapr> | Which gabriella site? |
| 22:14:56 | <shapr> | I recently found out about juhp's hkgr from reading https://github.com/tonyday567/checklist |
| 22:15:03 | <Inst> | this was good... 2 years ago |
| 22:15:04 | <Inst> | https://github.com/Gabriella439/post-rfc/blob/main/sotu.md |
| 22:16:12 | <shapr> | Oh yeah, that is a good resource |
| 22:18:51 | <Inst> | the issue i bring up with networking, though, is, if i simply want to get a file from the interwebs, there's like 20 different libraries for it, all with different interfaces, build on different models, and i don't know wwhich ones are performant, and which ones are not |
| 22:19:13 | <sm> | which are the 3 in stackage ? |
| 22:19:39 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 22:20:01 | <yushyin> | you can ask here for recommendations, i guess |
| 22:20:02 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 22:20:45 | <Inst> | i mean i have my own choice, it's probably suboptimal, but it's irritating |
| 22:20:58 | <sm> | stackage LTS that is at least a first layer of curation. I see http-conduit, http-download, ... ? |
| 22:21:43 | <sm> | I bet there's more than 3 in there actually |
| 22:22:59 | <Inst> | https://hackage.haskell.org/package/HTTP | https://hackage.haskell.org/package/http2 | https://hackage.haskell.org/package/http-client-tls | https://hackage.haskell.org/package/http-conduit | https://www.stackage.org/haddock/lts-22.15/http-download-0.2.1.0/Network-HTTP-Download.html | https://www.stackage.org/haddock/lts-22.15/http-io-streams-0.1.7.0/Network-Http-Client.html |
| 22:23:02 | <Inst> | not going to keep going |
| 22:24:32 | <sm> | Yes, a curation task as always. http-conduit was considered a safe bet for a while, handling tls etc. |
| 22:24:48 | <Inst> | yeah, i went there |
| 22:25:07 | <sm> | now we have 4+ streaming libs which probably all do it |
| 22:25:07 | <Inst> | it also doesn't look that well for hackage, i.e, there's 3-4k packages being maintained |
| 22:25:27 | <sm> | Hackage is the everything repo, like github |
| 22:25:35 | <Inst> | a huge number of them are clones of each other with variations that do some basic capability |
| 22:25:49 | <shapr> | that's why I want a reviews+examples site |
| 22:26:52 | <Inst> | hmmm |
| 22:26:54 | <Inst> | k |
| 22:26:58 | <sm> | let's add comments to flora |
| 22:27:29 | <shapr> | I like that idea, but we gotta ask Hecate |
| 22:27:36 | <sm> | bah why |
| 22:27:54 | <shapr> | I mean, we could just put up a PR |
| 22:27:56 | <sm> | just quietly quietly add them |
| 22:27:58 | <shapr> | haha |
| 22:28:01 | <shapr> | I like it! |
| 22:28:10 | <Inst> | also that'd have the problem that people would get upset at negative reviews |
| 22:28:23 | shapr | shrugs |
| 22:28:27 | <Hecate> | shapr: oi |
| 22:28:32 | <Hecate> | sm: oi oi oi |
| 22:28:33 | <sm> | and spam. But, it's needed |
| 22:28:36 | <shapr> | if the negative review says "this doesn't work, here's some code to show you what I mean" |
| 22:28:39 | <shapr> | then I'm okay with that |
| 22:28:40 | <sm> | every app store does it |
| 22:28:45 | <shapr> | salut Hecate, ca va? |
| 22:29:15 | <Hecate> | God kväll |
| 22:29:25 | <shapr> | Inst: I agree, I often don't know which library to use when I'm doing something unfamiliar |
| 22:29:28 | <Hecate> | shapr: ça va pas trop mal, merci. Et toi ? |
| 22:29:40 | <shapr> | Hecate: jättebra ;-) |
| 22:29:44 | <shapr> | pas mal! |
| 22:29:52 | <Inst> | btw who is handling hackage? |
| 22:30:01 | <shapr> | I got to speak my pitiful high school French to the dentist assistant yesterday, that was fun |
| 22:30:10 | <Inst> | it has a bias for libraries that start with numbers |
| 22:30:15 | <Inst> | i'm glad no one has tried to game the system yet |
| 22:30:20 | <shapr> | there have been some games |
| 22:30:25 | <shapr> | name squatting and the like |
| 22:30:34 | <shapr> | the gamers got a talking to |
| 22:30:46 | <Inst> | https://hackage.haskell.org/packages/browse |
| 22:30:49 | <shapr> | Inst: you could be one of those who handles hackage! |
| 22:30:50 | <Hecate> | shapr: in MA? damn, interesting |
| 22:31:04 | <shapr> | Hecate: lots of imports / expats in the Boston area |
| 22:31:10 | <Hecate> | shapr: haha, I see |
| 22:31:20 | <shapr> | Sometimes I get to hear languages I don't recognize! That makes me very happy. |
| 22:31:30 | <Inst> | i'd love to, but would need to "get gud", as the kids say |
| 22:31:46 | <Inst> | i hate haddock btw and wish i were competent enough to rework it |
| 22:31:48 | <shapr> | nah, it's just boring work |
| 22:32:02 | <sm> | Inst, you can help Hecate do that |
| 22:32:07 | <shapr> | being a hackage admin is just detail stuff |
| 22:32:17 | <Inst> | uhhh |
| 22:32:36 | <Inst> | bleh, i should get my github working again |
| 22:32:49 | <Inst> | hackage currently defaults to alphabetical order on browse |
| 22:32:50 | <shapr> | You have good ideas, just gotta pick one and push it |
| 22:33:11 | <Inst> | comparable package repos default to sorting on latest upload |
| 22:33:21 | <Inst> | thank you for the encouragement |
| 22:33:59 | <shapr> | Inst: write a blog post about the one that interests you most? |
| 22:34:10 | <shapr> | I got a PR into cabal not too long ago (with exarkun ) |
| 22:34:17 | <shapr> | I bet you can get a PR into hackage for default sorting? |
| 22:34:37 | <Inst> | will write a note to self |
| 22:35:07 | → | hiredman joins (~hiredman@frontier1.downey.family) |
| 22:35:32 | <Inst> | that's just a really minor quality of life issue |
| 22:36:23 | <shapr> | you can fix it! |
| 22:37:56 | <sm> | I will upvote that PR |
| 22:38:55 | <Inst> | https://github.com/haskell/hackage-server |
| 22:39:13 | <sm> | in the larger scheme of things, there's a choice of do you want to invest time in hackage or flora |
| 22:39:37 | <sm> | and/or what is a good future path for these |
| 22:41:13 | <shapr> | flora is REALLY AWESOME |
| 22:41:43 | × | sudden quits (~cat@user/sudden) (Ping timeout: 260 seconds) |
| 22:42:29 | <Inst> | whoa, this hand-crafted? |
| 22:42:31 | <Inst> | https://github.com/haskell/hackage-server/blob/master/hackage-server.cabal |
| 22:42:36 | <Inst> | this is hand-crafted? |
| 22:44:07 | <sm> | Hecate I wouldn't mind seeing the modules by default on a package page, as on Hackage. I guess that would require a big haddock integration project. |
| 22:44:59 | <shapr> | argh, why does haskell-mode in emacs want me to use haskell-mode-jump-to-def-or-tag when I want to use lsp-find-definition ?! |
| 22:45:26 | <shapr> | I thought I had a haskell-mode-hook that fixed this *frustration* |
| 22:45:43 | × | amjoseph quits (~amjoseph@static-198-44-128-146.cust.tzulo.com) (Read error: Connection reset by peer) |
| 22:46:05 | → | amjoseph joins (~amjoseph@static-198-44-128-146.cust.tzulo.com) |
| 22:46:30 | <Inst> | oh, looks like happstack |
| 22:46:39 | shapr | has PTSD flashbacks |
| 22:46:45 | <shapr> | stop saying that name! |
| 22:50:26 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:54:27 | → | sudden joins (~cat@user/sudden) |
| 22:55:39 | → | yin joins (~yin@user/zero) |
| 22:56:03 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 22:58:28 | → | mei joins (~mei@user/mei) |
| 23:00:12 | × | acidjnk_new quits (~acidjnk@p200300d6e714dc123800cc33cf682def.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 23:01:14 | × | yin quits (~yin@user/zero) (Read error: Connection reset by peer) |
| 23:06:55 | → | igemnace joins (~ian@user/igemnace) |
| 23:07:17 | × | raym quits (~ray@user/raym) (Ping timeout: 252 seconds) |
| 23:08:49 | × | shapr quits (~user@c-24-218-186-89.hsd1.ma.comcast.net) (Quit: rebooting emacs) |
| 23:12:40 | → | dbaoty joins (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) |
| 23:15:10 | → | raym joins (~ray@user/raym) |
| 23:20:47 | × | sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 256 seconds) |
| 23:30:50 | × | igemnace quits (~ian@user/igemnace) (Quit: WeeChat 4.2.1) |
| 23:31:14 | × | poxel quits (~lennart@user/poxel) (Quit: WeeChat 4.2.1) |
| 23:31:28 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:34:04 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 23:39:03 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 23:39:51 | <Inst> | shapr, sm, regarding flora |
| 23:40:03 | <Inst> | github has a policy against viral code, right? |
| 23:40:59 | <Inst> | they don't enforce it |
| 23:54:19 | → | peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 23:57:17 | × | euleritian quits (~euleritia@dynamic-176-006-182-016.176.6.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 23:59:45 | <Inst> | ugh, this really sucks |
All times are in UTC on 2024-04-05.