Logs on 2022-10-15 (liberachat/#haskell)
| 00:01:03 | → | hololeap joins (~quassel@user/hololeap) |
| 00:02:30 | → | titibandit joins (~titibandi@xdsl-78-34-208-230.nc.de) |
| 00:04:47 | × | `2jt quits (~jtomas@90.red-88-17-81.dynamicip.rima-tde.net) (Ping timeout: 268 seconds) |
| 00:09:20 | × | titibandit quits (~titibandi@xdsl-78-34-208-230.nc.de) (Remote host closed the connection) |
| 00:12:03 | × | chomwitt quits (~chomwitt@80.106.160.196) (Ping timeout: 252 seconds) |
| 00:12:44 | × | hololeap quits (~quassel@user/hololeap) (Quit: Bye) |
| 00:13:37 | → | hololeap joins (~quassel@user/hololeap) |
| 00:21:43 | → | jargon joins (~jargon@184.101.208.112) |
| 00:24:23 | → | notzmv joins (~zmv@user/notzmv) |
| 00:27:49 | × | raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 00:27:51 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 258 seconds) |
| 00:32:13 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 00:33:00 | → | MrsGenius joins (~MrsGenius@S01069050ca4e3573.cg.shawcable.net) |
| 00:33:17 | ← | MrsGenius parts (~MrsGenius@S01069050ca4e3573.cg.shawcable.net) () |
| 00:34:27 | <ski> | dolio : hm, were you saying ⌜Σ[ p ∈ 𝕊 ] (p → 2)⌝ had at most two points ? or was that re ⌜𝕊⌝ itself ? |
| 00:34:51 | <dolio> | 𝕊 |
| 00:35:15 | ski | nods |
| 00:35:32 | <dolio> | The other thing is like Haskell's Bool. |
| 00:36:08 | <ski> | hm, right. the monad adds the bottom element |
| 00:36:50 | <dolio> | Yeah. |
| 00:37:33 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 00:41:10 | → | rockystone joins (~rocky@user/rockymarine) |
| 00:57:12 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
| 00:58:31 | × | Kaipii quits (~Kaiepi@142.68.249.28) (Ping timeout: 260 seconds) |
| 00:58:37 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 01:02:36 | × | ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Remote host closed the connection) |
| 01:03:33 | → | Kaipii joins (~Kaiepi@142.68.249.28) |
| 01:04:06 | → | ezzieyguywuf joins (~Unknown@user/ezzieyguywuf) |
| 01:04:21 | × | beteigeuze quits (~Thunderbi@2001:8a0:61b5:6101:9233:19e9:6537:6e73) (Ping timeout: 260 seconds) |
| 01:14:35 | × | vorpuni quits (~pvorp@195.200.221.43) (Quit: bye) |
| 01:17:24 | → | frost26 joins (~frost@user/frost) |
| 01:20:40 | → | talismanick joins (~talismani@2601:200:c100:c9e0::1b0b) |
| 01:21:03 | talismanick | is now known as Guest362 |
| 01:21:22 | → | mikoto-chan joins (~mikoto-ch@193.185.223.3) |
| 01:24:24 | × | thegeekinside quits (~thegeekin@189.180.7.159) (Ping timeout: 264 seconds) |
| 01:26:11 | × | mikoto-chan quits (~mikoto-ch@193.185.223.3) (Ping timeout: 268 seconds) |
| 01:26:30 | × | califax quits (~califax@user/califx) (Ping timeout: 258 seconds) |
| 01:27:33 | <ski> | EvanR : hm, doesn't Erlang use "nested lists/strings", to avoid repeatedly traversing ? (also, i think you could use `Maybe' to abstract out the `EmptyBag' case, so that it can't occur in `TwoBags' recursively .. guess you could do pattern synonyms for this, and `ListBag' internally storing non-empty) |
| 01:27:45 | ski | . o O ( "The Boom Hierarchy" by Alexander Bunkenberg in 1993 at <https://web.archive.org/web/20211125043206/https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.3252> talks about trees,lists,bags,sets (and some more) relating them to associativity (and neutral element),commutativity,idempotence ) |
| 01:28:03 | <ski> | ("Structured Probabilistic Reasoning" by Bart Jacobs in 2021-08-26,2021-11-30 version (draft) at <https://www.cs.ru.nl/B.Jacobs/PAPERS/ProbabilisticReasoning.pdf> also talks about lists,bags/multisets,sets,distributions, in the first two chapters) |
| 01:28:25 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 01:28:25 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 01:28:25 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:28:41 | <ski> | difference lists in logic programming do keep an uninstantiated (to begin with) logic/dataflow variable to the end of the list. but difference lists aren't first-class (at least not without uniqueness), after appending something after it, you can't append something else after the same difference list (in the same success / AND- continuation. if you backtrack (undoing the instantiation) to the failure / OR- |
| 01:28:47 | <ski> | continuation, you can do it) |
| 01:28:59 | → | califax joins (~califax@user/califx) |
| 01:31:33 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:32:03 | <ski> | (i guess it's somewhat similar to if you had a subroutine that accepted a parameter by you overwriting an operand of a machine instruction (or some static memory area associated with the routine), which is not reentrant (this is not the quite same thing as instantiating the tail (rather than calling a function that'll populate a tail after freshly constructed cells), but seems similar in that it's |
| 01:32:09 | <ski> | destructive)) |
| 01:32:12 | <ski> | @hackage ivar-simple |
| 01:32:12 | <lambdabot> | https://hackage.haskell.org/package/ivar-simple |
| 01:32:20 | <ski> | @hackage data-ivar |
| 01:32:20 | <lambdabot> | https://hackage.haskell.org/package/data-ivar |
| 01:32:44 | <ski> | has `IVar a', which you can instantiate with an `a'. trying to read before that blocks |
| 01:32:58 | ski | . o O ( "I-structures: data structures for parallel computing" by Arvind,Rishiyur S. Nikhil,Keshav K. Pingali in 1989-10 at <https://dl.acm.org/doi/10.1145/69558.69562> ) |
| 01:33:29 | ski | . o O ( chapter 4 "Dataflow Parallelism: The Par Monad" <https://web.archive.org/web/20180119053756/http://chimera.labs.oreilly.com/books/1230000000929/ch04.html> in "Parallel and Concurrent Programming in Haskell" by Simon Marlow in 2013 at |
| 01:33:33 | ski | <https://web.archive.org/web/20180121171509/http://chimera.labs.oreilly.com/books/1230000000929>,<https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/> ) |
| 01:33:37 | <ski> | @where CTM |
| 01:33:37 | <lambdabot> | "Concepts, Techniques, and Models of Computer Programming", by Peter Van Roy,Seif Haridi, at <http://www.info.ucl.ac.be/~pvr/book.html> |
| 01:34:01 | <ski> | (CTM also talks about how to use dataflow variables for declarative concurrency in a chapter (not having added the operation that can race-join multiple concurrent channels/streams by that chapter yet)) |
| 01:39:33 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 01:40:34 | → | califax joins (~califax@user/califx) |
| 01:44:41 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 01:49:18 | × | Topsi quits (~Topsi@dyndsl-095-033-095-014.ewe-ip-backbone.de) (Quit: Leaving.) |
| 01:55:00 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 264 seconds) |
| 01:55:43 | × | k8yun quits (~k8yun@user/k8yun) (Quit: Leaving) |
| 02:00:45 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 268 seconds) |
| 02:02:02 | → | burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 02:07:50 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 02:08:31 | × | burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 260 seconds) |
| 02:08:31 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 02:08:49 | → | rockystone joins (~rocky@user/rockymarine) |
| 02:10:31 | → | elbear joins (~lucian@188.24.138.239) |
| 02:14:56 | × | elbear quits (~lucian@188.24.138.239) (Ping timeout: 260 seconds) |
| 02:16:08 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 02:26:37 | × | td_ quits (~td@83.135.9.35) (Ping timeout: 268 seconds) |
| 02:28:18 | → | td_ joins (~td@83.135.9.18) |
| 02:31:38 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 02:35:27 | × | Me-me quits (~me-me@tunnel690570-pt.tunnel.tserv12.mia1.ipv6.he.net) (Changing host) |
| 02:35:27 | → | Me-me joins (~me-me@user/me-me) |
| 02:37:30 | → | Lumia joins (~Lumia@c-24-34-172-110.hsd1.ma.comcast.net) |
| 02:45:41 | × | raym quits (~aritra@user/raym) (Ping timeout: 252 seconds) |
| 02:45:49 | → | berberman joins (~berberman@user/berberman) |
| 02:49:18 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 258 seconds) |
| 02:51:38 | → | raym joins (~aritra@user/raym) |
| 03:06:16 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
| 03:14:46 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 03:19:46 | → | rockystone joins (~rocky@user/rockymarine) |
| 03:28:13 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 03:31:11 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 03:35:26 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 03:38:52 | → | mikoto-chan joins (~mikoto-ch@193.185.223.3) |
| 03:42:24 | → | rockystone joins (~rocky@user/rockymarine) |
| 03:44:15 | × | Sauvin quits (~colere@about/linux/staff/sauvin) (Read error: Connection reset by peer) |
| 03:44:52 | → | Colere joins (~colere@about/linux/staff/sauvin) |
| 03:45:10 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 03:57:14 | × | Lumia quits (~Lumia@c-24-34-172-110.hsd1.ma.comcast.net) (Remote host closed the connection) |
| 03:57:38 | → | Lumia joins (~Lumia@c-24-34-172-110.hsd1.ma.comcast.net) |
| 03:58:30 | × | johnjaye quits (~pi@173.209.64.74) (Ping timeout: 268 seconds) |
| 03:59:51 | → | johnjaye joins (~pi@173.209.64.74) |
| 04:00:26 | → | freemanX joins (~user@138.202-128-197.unknown.qala.com.sg) |
| 04:01:35 | → | freemanX` joins (~user@138.202-128-197.unknown.qala.com.sg) |
| 04:01:55 | ← | freemanX parts (~user@138.202-128-197.unknown.qala.com.sg) () |
| 04:08:14 | × | califax quits (~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in) |
| 04:10:26 | × | wroathe quits (~wroathe@user/wroathe) (Read error: Connection reset by peer) |
| 04:11:08 | → | califax joins (~califax@user/califx) |
| 04:16:30 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 04:28:39 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 04:28:39 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 04:28:39 | → | wroathe joins (~wroathe@user/wroathe) |
| 04:38:02 | × | freemanX` quits (~user@138.202-128-197.unknown.qala.com.sg) (Remote host closed the connection) |
| 04:38:39 | → | razetime joins (~quassel@117.254.35.178) |
| 04:41:17 | × | wroathe quits (~wroathe@user/wroathe) (Quit: leaving) |
| 04:43:10 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 04:43:10 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 04:43:10 | → | wroathe joins (~wroathe@user/wroathe) |
| 05:06:27 | × | Vajb quits (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) (Read error: Connection reset by peer) |
| 05:07:42 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) |
| 05:13:45 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 05:14:52 | × | Lumia quits (~Lumia@c-24-34-172-110.hsd1.ma.comcast.net) (Quit: ,-) |
| 05:34:18 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 05:34:57 | → | elbear joins (~lucian@188.24.138.239) |
| 05:38:46 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 05:42:50 | → | Vajb joins (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) |
| 05:43:51 | <qrpnxz> | i have finally found a place where implementing `mapM` can get speed!!!! |
| 05:44:27 | <qrpnxz> | a version of traverse for lists using foldrM rather than foldr is faster for me in some CPS code |
| 05:44:38 | <qrpnxz> | unfortunately, base doesn't define mapM lol |
| 05:56:51 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 248 seconds) |
| 06:08:08 | → | burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 06:13:45 | × | raym quits (~aritra@user/raym) (Quit: kernel update : rebooting...) |
| 06:14:30 | × | Flow quits (~none@gentoo/developer/flow) (Ping timeout: 264 seconds) |
| 06:14:41 | × | burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds) |
| 06:16:59 | → | raym joins (~aritra@user/raym) |
| 06:17:52 | <qrpnxz> | nevermind... i wasn't doing what i thought i was doing :/// |
| 06:22:47 | → | Flow joins (~none@gentoo/developer/flow) |
| 06:26:07 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:27:09 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
| 06:30:46 | × | phma quits (~phma@host-67-44-209-51.hnremote.net) (Read error: Connection reset by peer) |
| 06:31:37 | → | phma joins (~phma@2001:5b0:212a:b868:10d:f982:1a1:a475) |
| 06:31:48 | → | codaraxis___ joins (~codaraxis@user/codaraxis) |
| 06:34:43 | × | codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 248 seconds) |
| 06:47:48 | × | lagash quits (lagash@lagash.shelltalk.net) (Ping timeout: 264 seconds) |
| 06:48:45 | × | nshepperd quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Quit: quit) |
| 06:48:53 | → | nshepperd joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) |
| 06:57:21 | → | acidjnk joins (~acidjnk@p200300d6e7137a402c719b85df11c214.dip0.t-ipconnect.de) |
| 06:57:34 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 06:58:51 | → | zaquest joins (~notzaques@5.130.79.72) |
| 07:00:00 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) (Remote host closed the connection) |
| 07:10:27 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:13:11 | → | burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 07:22:00 | × | Flow quits (~none@gentoo/developer/flow) (Ping timeout: 264 seconds) |
| 07:24:06 | → | Flow joins (~none@gentoo/developer/flow) |
| 07:26:44 | → | tam-carre joins (~tam-carre@2a01cb088a83b300a322b3f387318318.ipv6.abo.wanadoo.fr) |
| 07:28:18 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 07:30:30 | → | kuribas joins (~user@ptr-17d51emezcmdxqisyeh.18120a2.ip6.access.telenet.be) |
| 07:31:13 | <kuribas> | Is it possible to implement static typed access control at the database level? |
| 07:31:15 | × | razetime quits (~quassel@117.254.35.178) (Ping timeout: 248 seconds) |
| 07:31:59 | <kuribas> | for example, each table in the database can only be used if it has an access control feature enabled. |
| 07:32:28 | <kuribas> | And the business logic of the access control is a query. |
| 07:33:13 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 07:33:22 | <kuribas> | For example, to check the domain, you have a query which goes to the domain table. |
| 07:34:42 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 07:36:03 | <kuribas> | And access to the table requires a typed token that proves the user has gained access. |
| 07:37:02 | × | burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) () |
| 07:41:51 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 07:47:57 | → | Guest|50 joins (~Guest|50@176.44.50.192) |
| 07:48:56 | <Guest|50> | Hi |
| 07:49:04 | <Guest|50> | stack build --install-ghc --executable-profiling --ghc-options="-v" --copy-bins --local-bin-path /usr/local/bin |
| 07:49:09 | <Guest|50> | Fails |
| 07:49:37 | <Guest|50> | What can I do to fix it ? |
| 07:49:50 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 07:49:51 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 07:51:00 | <Guest|50> | https://paste.tomsmeding.com/nMgNHa1O |
| 07:51:06 | <Guest|50> | is the log |
| 07:54:41 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds) |
| 07:56:48 | × | Flow quits (~none@gentoo/developer/flow) (Ping timeout: 264 seconds) |
| 08:00:30 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:cc25:90bb:71ed:321e) |
| 08:01:00 | → | razetime joins (~quassel@117.254.35.178) |
| 08:03:29 | → | Flow joins (~none@gentoo/developer/flow) |
| 08:05:10 | × | elbear quits (~lucian@188.24.138.239) (Ping timeout: 268 seconds) |
| 08:05:12 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:cc25:90bb:71ed:321e) (Ping timeout: 264 seconds) |
| 08:09:39 | → | Kaladin joins (~Kaladin@157-131-169-214.fiber.dynamic.sonic.net) |
| 08:23:22 | × | Kaladin quits (~Kaladin@157-131-169-214.fiber.dynamic.sonic.net) (Quit: Leaving) |
| 08:31:48 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 08:37:51 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds) |
| 08:38:27 | × | acidjnk quits (~acidjnk@p200300d6e7137a402c719b85df11c214.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 08:38:29 | [itchyjunk] | is now known as [spookyjunk] |
| 08:44:39 | × | loras quits (~loras@c-73-139-125-125.hsd1.fl.comcast.net) (Ping timeout: 252 seconds) |
| 08:45:22 | → | vorpuni joins (~pvorp@2001:861:3881:c690:e185:5e3b:1c93:d57c) |
| 08:49:49 | → | v0rpun1 joins (~pvorp@195.200.221.194) |
| 08:50:26 | × | vorpuni quits (~pvorp@2001:861:3881:c690:e185:5e3b:1c93:d57c) (Ping timeout: 260 seconds) |
| 08:57:36 | → | Cerins joins (~Cerins@balticom-142-106-43.balticom.lv) |
| 09:02:25 | → | vn36 joins (~vn36@123.63.203.210) |
| 09:05:26 | × | Cerins quits (~Cerins@balticom-142-106-43.balticom.lv) (Quit: Leaving) |
| 09:07:52 | → | Everything joins (~Everythin@37.115.210.35) |
| 09:08:17 | <Everything> | Hi. It's safe to say that Haskell (by design) doesn't have mutable types? |
| 09:09:24 | <kuribas> | Everything: what's a mutable type? |
| 09:09:29 | <kuribas> | types aren't mutable by definition |
| 09:09:43 | <kuribas> | if you mean mutable values, it does have mutable values. |
| 09:09:52 | <kuribas> | like IORef |
| 09:11:14 | <Hecate> | Everything: even though we highly promote immutable values (for the usual reasons), we do have mutable values and references |
| 09:11:47 | <Everything> | Hecate: yes, but initially? As in pure functional PL? |
| 09:11:57 | <Everything> | OK, mutable data |
| 09:17:31 | <kuribas> | Everything: the IORef itself is immutable |
| 09:17:49 | <kuribas> | but it's basically a reference, then you use IO to get out the value? |
| 09:18:02 | <kuribas> | s/?/. |
| 09:18:15 | <Hecate> | Everything: pretty sure every pure functional PL that wants to be remotely useful for anything other than teaching embeds mutable data facilities |
| 09:18:27 | <Everything> | OK |
| 09:18:46 | <kuribas> | Hecate: probably even the teaching languages :) I am not sure about agda, coq, though... |
| 09:19:24 | <kuribas> | Which systems do people use to make webshops are CMS in haskell? |
| 09:19:38 | <Hecate> | kuribas: shopify :P |
| 09:19:41 | <Hecate> | (jk) |
| 09:19:59 | <kuribas> | Do you simply write haskell to interact with existing javascript CMS frameworks? |
| 09:20:03 | × | Guest362 quits (~talismani@2601:200:c100:c9e0::1b0b) (Ping timeout: 248 seconds) |
| 09:20:16 | <kuribas> | Or do people write a new frontend for each project? |
| 09:20:19 | <Hecate> | there are frontend CMS frameworks…? |
| 09:20:54 | <Hecate> | kuribas: do you have some more specific technologies in mind? |
| 09:21:26 | <kuribas> | Hecate: not really |
| 09:21:42 | <kuribas> | Hecate: I am just scrolling freelance jobs, and there is a lot of demand for webshops and CMSes. |
| 09:21:59 | <Hecate> | kuribas: they want their webshop tailor-made? |
| 09:22:04 | <Hecate> | or do they want a webshop? |
| 09:22:15 | <Hecate> | because if people want a webshop, you create a Shopify |
| 09:22:23 | <kuribas> | I guess the simplest and cheapest solution :P |
| 09:22:28 | <Hecate> | aye |
| 09:22:36 | <kuribas> | But it depends on how much custom programming needs to be there. |
| 09:22:47 | <Hecate> | hence the need to refine the needs of the clients ;-D |
| 09:23:08 | → | Tuplanolla joins (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) |
| 09:23:15 | <kuribas> | hmm: https://hackage.haskell.org/package/shopify |
| 09:24:02 | <Hecate> | you will want to ask davean if it's still good |
| 09:25:23 | <Hecate> | kuribas: if you ever develop a CMS platform in Haskell with nice theming and less security breaches than Wordpress, please hit me up :P |
| 09:25:39 | <kuribas> | Hecate: inclusing 20000 plugins? |
| 09:26:12 | <kuribas> | Making a basic CMS platform is doable. |
| 09:26:17 | → | `2jt joins (~jtomas@90.red-88-17-81.dynamicip.rima-tde.net) |
| 09:26:23 | <kuribas> | But supporting everythin wordpress has is impossible. |
| 09:26:56 | <Hecate> | kuribas: don't be silly, of course not including wordpress has, since it is in direct contradiction with the "less security breaches" constraint :P |
| 09:27:55 | <kuribas> | I know a commercial CMS in haskell: https://www.centralapp.com |
| 09:28:08 | <kuribas> | Hecate: hehe |
| 09:29:04 | <kuribas> | Hecate: I think the backend part should be trivial. The most work is creating a good frontend UI. |
| 09:29:27 | <Hecate> | kuribas: neither will be trivial |
| 09:34:09 | <kuribas> | that means haskell is useless for most projects? |
| 09:37:36 | → | loras joins (~loras@c-73-139-125-125.hsd1.fl.comcast.net) |
| 09:37:45 | × | [spookyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 09:37:49 | <Hecate> | kuribas: please put down your crack pipe :P |
| 09:38:04 | <Hecate> | I'm talking about the domain, not the language |
| 09:39:13 | <kuribas> | no, I mean haskell isn't a great option for most of the freelance projects I come across. |
| 09:39:27 | <Hecate> | ah |
| 09:39:40 | <kuribas> | As it is easier to setup a crappy wordpress installation that to write a robust haskell webapp. |
| 09:39:58 | <tomsmeding> | replace "haskell" with "" in that sentence and it still holds |
| 09:40:02 | <tomsmeding> | so not sure that says much about haskell |
| 09:40:09 | <Hecate> | kuribas: the idea is that eventually you want to setup a shiny haskell CMS instead of a crappy wordpress |
| 09:40:18 | <Hecate> | not develop your own from scratch, in PHP or Haskell |
| 09:40:23 | <kuribas> | tomsmeding: yeah, I am not critising haskell, rather the industry :) |
| 09:40:24 | <Hecate> | same for the e-shop |
| 09:40:44 | <Guest|50> | Solved with ghcup. Thanks |
| 09:40:54 | <Hecate> | Guest|50: Have a nice day |
| 09:41:01 | ← | Guest|50 parts (~Guest|50@176.44.50.192) () |
| 09:41:15 | <kuribas> | Hecate: eventually is when? |
| 09:41:28 | <Hecate> | kuribas: when you have an adequate product? |
| 09:41:52 | <Hecate> | if you're asking me for a more precise timeline, I would advise you to hire me as a product manager :P |
| 09:42:43 | <kuribas> | Hecate: fine, I could work 1 to 2 days in the week on it. |
| 09:43:28 | <kuribas> | still I wonder if I can just steal the UI from an existing framework, and build a good haskell backend for it. |
| 09:43:48 | <Hecate> | p. sure you're going to have to learn how 2 CSS |
| 09:44:07 | <kuribas> | I know CSS |
| 09:44:09 | <kuribas> | and html |
| 09:44:16 | <Hecate> | even CSS grid and flexbox? :p |
| 09:44:47 | <kuribas> | I learned CSS when all browsers had a different implementation. |
| 09:45:03 | <kuribas> | Well, they still have, but not that bad. |
| 09:45:44 | <Hecate> | you might want to update your skillset then, we have CSS3 and a bunch of nice stuff nowadays |
| 09:49:16 | <kuribas> | wouldn't "shopify + haskell plugin" work well enough? |
| 09:49:50 | <kuribas> | "You need to use Node.js to install Shopify CLI and manage its dependencies. However, you can use any technology stack to build your app's functionality." |
| 09:52:58 | → | king_gs joins (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) |
| 09:54:14 | → | michalz joins (~michalz@185.246.207.200) |
| 09:57:01 | <kuribas> | Hecate: you could read the graphql schema into a type definitions, and get a type-safe experience. |
| 09:57:08 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:58:43 | × | king_gs quits (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) (Quit: king_gs) |
| 09:58:57 | → | beteigeuze joins (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 09:59:03 | → | king_gs joins (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) |
| 10:02:00 | → | spacenautx joins (~spacenaut@user/spacenautx) |
| 10:02:20 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 10:02:21 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 10:02:57 | × | spacenautx quits (~spacenaut@user/spacenautx) (Client Quit) |
| 10:06:51 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 10:06:59 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 248 seconds) |
| 10:07:07 | → | kenran joins (~user@user/kenran) |
| 10:07:15 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 10:08:22 | → | spacenautx joins (~spacenaut@user/spacenautx) |
| 10:08:43 | × | spacenautx quits (~spacenaut@user/spacenautx) (Client Quit) |
| 10:09:05 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 10:12:36 | → | Midjak joins (~Midjak@82.66.147.146) |
| 10:13:37 | → | elbear joins (~lucian@188.24.138.239) |
| 10:17:01 | × | frost26 quits (~frost@user/frost) (Quit: Ping timeout (120 seconds)) |
| 10:18:24 | × | elbear quits (~lucian@188.24.138.239) (Ping timeout: 264 seconds) |
| 10:22:46 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 10:23:48 | → | crazazy joins (~user@130.89.171.62) |
| 10:25:25 | → | frost56 joins (~frost@user/frost) |
| 10:25:58 | × | pareto-optimal-d quits (~pareto-op@2001:470:69fc:105::1:b61f) (Read error: Connection reset by peer) |
| 10:25:58 | × | baaash[m] quits (~baaashmat@2001:470:69fc:105::2:1e90) (Write error: Connection reset by peer) |
| 10:25:58 | × | lawt quits (~lawtonmat@2001:470:69fc:105::2:97b8) (Write error: Connection reset by peer) |
| 10:25:58 | × | jneira[m] quits (~jneiramat@2001:470:69fc:105::d729) (Read error: Connection reset by peer) |
| 10:25:58 | × | Tisoxin quits (~ikosit@user/ikosit) (Read error: Connection reset by peer) |
| 10:25:58 | × | Deide quits (~deide@user/deide) (Read error: Connection reset by peer) |
| 10:25:59 | × | SeanKing[m] quits (~seankingm@2001:470:69fc:105::cf9c) (Write error: Connection reset by peer) |
| 10:25:59 | × | cp1313[m] quits (~cp1313mat@2001:470:69fc:105::2:9293) (Write error: Connection reset by peer) |
| 10:25:59 | × | BB[m] quits (~cashmagem@2001:470:69fc:105::f6dc) (Write error: Connection reset by peer) |
| 10:25:59 | × | aviladev[m] quits (~aviladevm@2001:470:69fc:105::1:cbc7) (Write error: Connection reset by peer) |
| 10:25:59 | × | ManofLetters[m] quits (~manoflett@2001:470:69fc:105::3be) (Write error: Connection reset by peer) |
| 10:25:59 | × | nomagno quits (~nomagno@2001:470:69fc:105::c1f0) (Read error: Connection reset by peer) |
| 10:25:59 | × | jbggs[m] quits (~jbggsmatr@2001:470:69fc:105::2:995f) (Read error: Connection reset by peer) |
| 10:25:59 | × | vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Read error: Connection reset by peer) |
| 10:25:59 | × | Orbstheorem quits (~orbstheor@2001:470:69fc:105::a56) (Read error: Connection reset by peer) |
| 10:25:59 | × | Christoph[m] quits (~hpotsirhc@2001:470:69fc:105::2ff8) (Read error: Connection reset by peer) |
| 10:25:59 | × | jinsun_ quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 10:25:59 | × | Killy quits (~killy@2001:470:69fc:105::2:6ec1) (Write error: Connection reset by peer) |
| 10:25:59 | × | disco-dave[m] quits (~disco-dav@2001:470:69fc:105::2:1892) (Write error: Connection reset by peer) |
| 10:25:59 | × | jean-paul[m] quits (~jean-paul@2001:470:69fc:105::d1ab) (Write error: Connection reset by peer) |
| 10:25:59 | × | desophos[m] quits (~desophosm@2001:470:69fc:105::2:81d9) (Read error: Connection reset by peer) |
| 10:25:59 | × | kadoban quits (~kadoban@user/kadoban) (Write error: Connection reset by peer) |
| 10:25:59 | × | FurudeRika[m] quits (~chitandae@2001:470:69fc:105::1:6039) (Write error: Connection reset by peer) |
| 10:25:59 | × | july541[m] quits (~july541ma@2001:470:69fc:105::1:e416) (Read error: Connection reset by peer) |
| 10:25:59 | × | MangoIV[m] quits (~mangoivma@2001:470:69fc:105::2:8417) (Read error: Connection reset by peer) |
| 10:25:59 | × | alexfmpe[m] quits (~alexfmpem@2001:470:69fc:105::38ba) (Write error: Connection reset by peer) |
| 10:25:59 | × | ongy[m] quits (~ongymatri@2001:470:69fc:105::5018) (Read error: Connection reset by peer) |
| 10:25:59 | × | weeezes[m] quits (~weeezesma@2001:470:69fc:105::1:da65) (Read error: Connection reset by peer) |
| 10:25:59 | × | maralorn quits (~maralorn@2001:470:69fc:105::251) (Read error: Connection reset by peer) |
| 10:25:59 | × | smichel17[m] quits (~smichel17@2001:470:69fc:105::2d32) (Read error: Connection reset by peer) |
| 10:25:59 | × | psydroid quits (~psydroid@user/psydroid) (Write error: Connection reset by peer) |
| 10:25:59 | × | ericson2314 quits (~ericson23@2001:470:69fc:105::70c) (Write error: Connection reset by peer) |
| 10:25:59 | × | SridharRatnakuma quits (~sridmatri@2001:470:69fc:105::1c2) (Write error: Connection reset by peer) |
| 10:25:59 | × | romes[m] quits (~romesmatr@2001:470:69fc:105::2:1660) (Write error: Connection reset by peer) |
| 10:25:59 | × | Guillaum[m] quits (~guiboumat@2001:470:69fc:105::1:72ac) (Write error: Connection reset by peer) |
| 10:25:59 | × | fendor[m] quits (~fendormat@2001:470:69fc:105::fcbd) (Write error: Connection reset by peer) |
| 10:25:59 | × | xgpt[m] quits (~xgptmatri@2001:470:69fc:105::2:619a) (Write error: Connection reset by peer) |
| 10:25:59 | × | zfnmxt quits (~zfnmxt@2001:470:69fc:105::2b32) (Write error: Connection reset by peer) |
| 10:25:59 | × | silky[m] quits (~noonvande@2001:470:69fc:105::2:943c) (Read error: Connection reset by peer) |
| 10:25:59 | × | sm quits (~sm@plaintextaccounting/sm) (Read error: Connection reset by peer) |
| 10:25:59 | × | ormaaj quits (~ormaaj@user/ormaaj) (Write error: Connection reset by peer) |
| 10:26:00 | × | maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Write error: Connection reset by peer) |
| 10:26:00 | × | foghorn quits (~foghorn@user/foghorn) (Write error: Connection reset by peer) |
| 10:26:00 | × | geekosaur[m] quits (~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer) |
| 10:26:00 | × | sibnull[m] quits (~sibnullma@2001:470:69fc:105::1:1291) (Read error: Connection reset by peer) |
| 10:26:00 | × | famubu[m] quits (~famubumat@2001:470:69fc:105::1081) (Write error: Connection reset by peer) |
| 10:26:00 | × | olivermead[m] quits (~olivermea@2001:470:69fc:105::2:4289) (Read error: Connection reset by peer) |
| 10:26:00 | × | aaronv quits (~aaronv@user/aaronv) (Read error: Connection reset by peer) |
| 10:26:00 | × | fr33domlover[m] quits (~fr33domlo@2001:470:69fc:105::1:3bb6) (Read error: Connection reset by peer) |
| 10:26:00 | × | aidy quits (~aidy@2001:470:69fc:105::c7b4) (Read error: Connection reset by peer) |
| 10:26:00 | × | cafkafk[m] quits (~cafkafkma@2001:470:69fc:105::1:cea8) (Read error: Connection reset by peer) |
| 10:26:00 | × | siraben quits (~siraben@user/siraben) (Read error: Connection reset by peer) |
| 10:26:00 | × | oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Read error: Connection reset by peer) |
| 10:26:00 | × | Matthew|m quits (~arathorn@2001:470:69fc:105::1f) (Write error: Connection reset by peer) |
| 10:26:00 | × | sektor[m] quits (~sektor@2001:470:69fc:105::2:3f60) (Write error: Connection reset by peer) |
| 10:26:00 | × | mimi1vx[m] quits (~osukupmat@2001:470:69fc:105::2:418d) (Read error: Connection reset by peer) |
| 10:26:00 | × | jz99[m] quits (~jz99matri@2001:470:69fc:105::1:d5f1) (Read error: Connection reset by peer) |
| 10:26:00 | × | ozkutuk[m] quits (~ozkutuk@2001:470:69fc:105::2:9af8) (Read error: Connection reset by peer) |
| 10:26:00 | × | Neosake[m] quits (~neosakema@2001:470:69fc:105::2:989e) (Read error: Connection reset by peer) |
| 10:26:00 | × | CeNiEi[m] quits (~cenieimat@2001:470:69fc:105::1:894c) (Read error: Connection reset by peer) |
| 10:26:00 | × | bb010g quits (~bb010g@2001:470:69fc:105::9a5) (Read error: Connection reset by peer) |
| 10:26:00 | × | TrueBlue[m] quits (~busterblu@2001:470:69fc:105::1:d7e8) (Read error: Connection reset by peer) |
| 10:26:00 | × | schuelermine[m] quits (~schuelerm@user/schuelermine) (Write error: Connection reset by peer) |
| 10:26:00 | × | loosh[m] quits (~looshchat@2001:470:69fc:105::2:5ddd) (Write error: Connection reset by peer) |
| 10:26:00 | × | M3g-mentok[m] quits (~M3g-mento@2001:470:69fc:105::2:9a49) (Read error: Connection reset by peer) |
| 10:26:00 | × | VarikValefor[m] quits (~varikvale@2001:470:69fc:105::a5d) (Read error: Connection reset by peer) |
| 10:26:03 | × | mekeor[m] quits (~mekeormat@2001:470:69fc:105::17e4) (Write error: Connection reset by peer) |
| 10:26:03 | × | RowanG[m] quits (~rowang077@2001:470:69fc:105::1:ca9f) (Read error: Connection reset by peer) |
| 10:26:03 | × | expipiplus1 quits (~expipiplu@2001:470:69fc:105::d713) (Read error: Connection reset by peer) |
| 10:26:03 | × | vladan[m] quits (~vladanmat@2001:470:69fc:105::2:24df) (Write error: Connection reset by peer) |
| 10:26:03 | × | unclechu quits (~unclechu@2001:470:69fc:105::354) (Write error: Connection reset by peer) |
| 10:26:03 | × | kiri1606[m] quits (~kiri1606m@2001:470:69fc:105::2:8ec9) (Read error: Connection reset by peer) |
| 10:26:03 | × | nicmollel[m] quits (~nicmollel@2001:470:69fc:105::1:feeb) (Read error: Connection reset by peer) |
| 10:26:03 | × | peddie quits (~peddie@2001:470:69fc:105::25d) (Write error: Connection reset by peer) |
| 10:26:03 | × | drsooch[m] quits (~drsoochma@2001:470:69fc:105::1:c8a1) (Write error: Connection reset by peer) |
| 10:26:03 | × | Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Write error: Connection reset by peer) |
| 10:26:05 | × | fgaz quits (~fgaz@2001:470:69fc:105::842) (Write error: Connection reset by peer) |
| 10:26:05 | × | chreekat quits (~chreekat@2001:470:69fc:105::16b5) (Read error: Connection reset by peer) |
| 10:26:05 | × | jmcantrell quits (~jmcantrel@user/jmcantrell) (Write error: Connection reset by peer) |
| 10:26:05 | × | rockymarine[m] quits (~rockymari@2001:470:69fc:105::2:9a0c) (Read error: Connection reset by peer) |
| 10:26:05 | × | JensPetersen[m] quits (~juhp@2001:470:69fc:105::6e9) (Read error: Connection reset by peer) |
| 10:26:05 | × | elvishjerricco quits (~elvishjer@2001:470:69fc:105::6172) (Read error: Connection reset by peer) |
| 10:26:05 | × | duckie quits (~duckie@user/duckie) (Read error: Connection reset by peer) |
| 10:26:05 | × | Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (Read error: Connection reset by peer) |
| 10:26:05 | × | polykernel[m] quits (~polykerne@user/polykernel) (Read error: Connection reset by peer) |
| 10:26:05 | × | RosarioPulella[m quits (~rosariopu@2001:470:69fc:105::a57) (Read error: Connection reset by peer) |
| 10:26:05 | × | Clinton[m] quits (~clintonme@2001:470:69fc:105::2:31d4) (Read error: Connection reset by peer) |
| 10:27:05 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 10:27:24 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 264 seconds) |
| 10:28:18 | → | fgaz joins (~fgaz@2001:470:69fc:105::842) |
| 10:29:22 | → | Topsi joins (~Topsi@dyndsl-095-033-095-014.ewe-ip-backbone.de) |
| 10:29:28 | → | wonko joins (~wjc@2a0e:1c80:2:0:45:15:19:130) |
| 10:33:25 | <Everything> | [6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~ |
| 10:33:27 | → | peddie joins (~peddie@2001:470:69fc:105::25d) |
| 10:33:27 | → | ericson2314 joins (~ericson23@2001:470:69fc:105::70c) |
| 10:33:27 | → | famubu[m] joins (~famubumat@2001:470:69fc:105::1081) |
| 10:33:28 | → | maralorn joins (~maralorn@2001:470:69fc:105::251) |
| 10:33:42 | → | zfnmxt joins (~zfnmxt@2001:470:69fc:105::2b32) |
| 10:33:42 | → | sm joins (~sm@plaintextaccounting/sm) |
| 10:33:42 | → | Christoph[m] joins (~hpotsirhc@2001:470:69fc:105::2ff8) |
| 10:33:43 | → | ongy[m] joins (~ongymatri@2001:470:69fc:105::5018) |
| 10:33:43 | → | SridharRatnakuma joins (~sridmatri@2001:470:69fc:105::1c2) |
| 10:33:43 | → | siraben joins (~siraben@user/siraben) |
| 10:33:44 | → | smichel17[m] joins (~smichel17@2001:470:69fc:105::2d32) |
| 10:33:51 | → | july541[m] joins (~july541ma@2001:470:69fc:105::1:e416) |
| 10:33:57 | <Everything> | Ouch, sorry, wrong terminal |
| 10:34:10 | → | kiri1606[m] joins (~kiri1606m@2001:470:69fc:105::2:8ec9) |
| 10:34:12 | → | chreekat joins (~chreekat@2001:470:69fc:105::16b5) |
| 10:34:30 | → | expipiplus1 joins (~expipiplu@2001:470:69fc:105::d713) |
| 10:34:47 | → | sibnull[m] joins (~sibnullma@2001:470:69fc:105::1:1291) |
| 10:34:48 | → | ManofLetters[m] joins (~manoflett@2001:470:69fc:105::3be) |
| 10:34:48 | → | fendor[m] joins (~fendormat@2001:470:69fc:105::fcbd) |
| 10:35:00 | → | bb010g joins (~bb010g@2001:470:69fc:105::9a5) |
| 10:35:01 | → | oak- joins (~oakuniver@2001:470:69fc:105::fcd) |
| 10:35:02 | → | jmcantrell joins (~jmcantrel@user/jmcantrell) |
| 10:35:03 | → | maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee) |
| 10:35:03 | → | jinsun_ joins (~jinsun@user/jinsun) |
| 10:35:03 | → | romes[m] joins (~romesmatr@2001:470:69fc:105::2:1660) |
| 10:35:04 | → | JensPetersen[m] joins (~juhp@2001:470:69fc:105::6e9) |
| 10:35:04 | → | ormaaj joins (~ormaaj@user/ormaaj) |
| 10:35:04 | → | cp1313[m] joins (~cp1313mat@2001:470:69fc:105::2:9293) |
| 10:35:04 | → | kadoban joins (~kadoban@user/kadoban) |
| 10:35:04 | → | BB[m] joins (~cashmagem@2001:470:69fc:105::f6dc) |
| 10:35:05 | → | Guillaum[m] joins (~guiboumat@2001:470:69fc:105::1:72ac) |
| 10:35:29 | → | silky[m] joins (~noonvande@2001:470:69fc:105::2:943c) |
| 10:35:29 | → | RosarioPulella[m joins (~rosariopu@2001:470:69fc:105::a57) |
| 10:35:29 | → | nicmollel[m] joins (~nicmollel@2001:470:69fc:105::1:feeb) |
| 10:35:29 | → | jneira[m] joins (~jneiramat@2001:470:69fc:105::d729) |
| 10:35:30 | → | alexfmpe[m] joins (~alexfmpem@2001:470:69fc:105::38ba) |
| 10:35:33 | → | Matthew|m joins (~arathorn@2001:470:69fc:105::1f) |
| 10:35:34 | → | lawt joins (~lawtonmat@2001:470:69fc:105::2:97b8) |
| 10:35:34 | → | RowanG[m] joins (~rowang077@2001:470:69fc:105::1:ca9f) |
| 10:35:34 | → | Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0) |
| 10:35:54 | <ski> | (pressing `<next>' a bunch of times, presumably) |
| 10:35:55 | → | drsooch[m] joins (~drsoochma@2001:470:69fc:105::1:c8a1) |
| 10:35:57 | → | vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe) |
| 10:35:57 | → | olivermead[m] joins (~olivermea@2001:470:69fc:105::2:4289) |
| 10:36:15 | → | Neosake[m] joins (~neosakema@2001:470:69fc:105::2:989e) |
| 10:36:32 | → | aidy joins (~aidy@2001:470:69fc:105::c7b4) |
| 10:36:57 | <Everything> | PgDn, actually |
| 10:37:01 | → | jbggs[m] joins (~jbggsmatr@2001:470:69fc:105::2:995f) |
| 10:37:27 | → | CeNiEi[m] joins (~cenieimat@2001:470:69fc:105::1:894c) |
| 10:37:40 | → | rockymarine[m] joins (~rockymari@2001:470:69fc:105::2:9a0c) |
| 10:37:42 | → | loosh[m] joins (~looshchat@2001:470:69fc:105::2:5ddd) |
| 10:37:59 | → | M3g-mentok[m] joins (~M3g-mento@2001:470:69fc:105::2:9a49) |
| 10:38:17 | → | disco-dave[m] joins (~disco-dav@2001:470:69fc:105::2:1892) |
| 10:38:18 | → | Orbstheorem joins (~orbstheor@2001:470:69fc:105::a56) |
| 10:38:18 | → | Tisoxin joins (~ikosit@user/ikosit) |
| 10:38:37 | → | ozkutuk[m] joins (~ozkutuk@2001:470:69fc:105::2:9af8) |
| 10:38:37 | → | Artem[m] joins (~artemtype@2001:470:69fc:105::75b) |
| 10:38:38 | → | foghorn joins (~foghorn@user/foghorn) |
| 10:38:38 | → | unclechu joins (~unclechu@2001:470:69fc:105::354) |
| 10:38:43 | → | baaash[m] joins (~baaashmat@2001:470:69fc:105::2:1e90) |
| 10:38:57 | → | sektor[m] joins (~sektor@2001:470:69fc:105::2:3f60) |
| 10:38:57 | → | mimi1vx[m] joins (~osukupmat@2001:470:69fc:105::2:418d) |
| 10:39:09 | → | Clinton[m] joins (~clintonme@2001:470:69fc:105::2:31d4) |
| 10:39:09 | → | mekeor[m] joins (~mekeormat@2001:470:69fc:105::17e4) |
| 10:39:09 | → | vladan[m] joins (~vladanmat@2001:470:69fc:105::2:24df) |
| 10:39:10 | → | elvishjerricco joins (~elvishjer@2001:470:69fc:105::6172) |
| 10:39:10 | → | jz99[m] joins (~jz99matri@2001:470:69fc:105::1:d5f1) |
| 10:39:10 | → | geekosaur[m] joins (~geekosaur@xmonad/geekosaur) |
| 10:39:10 | → | VarikValefor[m] joins (~varikvale@2001:470:69fc:105::a5d) |
| 10:39:10 | → | duckie joins (~duckie@user/duckie) |
| 10:39:11 | → | nomagno joins (~nomagno@2001:470:69fc:105::c1f0) |
| 10:39:11 | → | jean-paul[m] joins (~jean-paul@2001:470:69fc:105::d1ab) |
| 10:39:11 | → | FurudeRika[m] joins (~chitandae@2001:470:69fc:105::1:6039) |
| 10:39:11 | → | aviladev[m] joins (~aviladevm@2001:470:69fc:105::1:cbc7) |
| 10:39:11 | → | Deide joins (~deide@user/deide) |
| 10:39:12 | → | fr33domlover[m] joins (~fr33domlo@2001:470:69fc:105::1:3bb6) |
| 10:39:12 | → | TrueBlue[m] joins (~busterblu@2001:470:69fc:105::1:d7e8) |
| 10:39:26 | → | desophos[m] joins (~desophosm@2001:470:69fc:105::2:81d9) |
| 10:39:39 | → | cafkafk[m] joins (~cafkafkma@2001:470:69fc:105::1:cea8) |
| 10:39:39 | → | Killy joins (~killy@2001:470:69fc:105::2:6ec1) |
| 10:39:51 | → | pareto-optimal-d joins (~pareto-op@2001:470:69fc:105::1:b61f) |
| 10:39:51 | → | SeanKing[m] joins (~seankingm@2001:470:69fc:105::cf9c) |
| 10:39:51 | → | aaronv joins (~aaronv@user/aaronv) |
| 10:39:52 | → | MangoIV[m] joins (~mangoivma@2001:470:69fc:105::2:8417) |
| 10:39:52 | → | psydroid joins (~psydroid@user/psydroid) |
| 10:39:52 | → | schuelermine[m] joins (~schuelerm@user/schuelermine) |
| 10:39:53 | → | xgpt[m] joins (~xgptmatri@2001:470:69fc:105::2:619a) |
| 10:40:05 | → | weeezes[m] joins (~weeezesma@2001:470:69fc:105::1:da65) |
| 10:40:06 | → | polykernel[m] joins (~polykerne@user/polykernel) |
| 10:40:09 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds) |
| 10:40:17 | <dminuoso> | https://hackage.haskell.org/package/mason-0.2.5/docs/src/Mason.Builder.Internal.html#Builder |
| 10:40:37 | → | CiaoSen joins (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 10:41:14 | <dminuoso> | `BuilderFor` uses an unpacked IO internally in order to allow producing unboxed tuples directly (presumingly avoiding relying on GHC to unbox explicit tuples) |
| 10:41:31 | <dminuoso> | However, here comes the question: |
| 10:42:28 | <dminuoso> | `withPtr n f = ensure n $ \(Buffer e p) -> Buffer e <$> f p` uses the bidirectional pattern synonym `Buffer`, which in the forward direction uses `unBuilder` to first produce an `IO`, that is at the same time being deconstructed in the `Builder` pattern synonym itself (unBuilder is iis used as a view pattern) |
| 10:43:46 | <dminuoso> | What's going on with this roundtrip through IO here? |
| 10:45:03 | → | acidjnk joins (~acidjnk@p200300d6e7137a402c719b85df11c214.dip0.t-ipconnect.de) |
| 10:46:30 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 10:51:12 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds) |
| 10:53:31 | → | Cerins joins (~Cerins@balticom-142-106-43.balticom.lv) |
| 11:03:57 | → | Kaipei joins (~Kaiepi@142.68.249.28) |
| 11:04:57 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 11:04:58 | → | elbear joins (~lucian@188.24.138.239) |
| 11:06:14 | → | Kaiepi joins (~Kaiepi@142.68.249.28) |
| 11:07:31 | × | Kaipii quits (~Kaiepi@142.68.249.28) (Ping timeout: 260 seconds) |
| 11:08:48 | × | Kaipei quits (~Kaiepi@142.68.249.28) (Ping timeout: 264 seconds) |
| 11:09:19 | × | elbear quits (~lucian@188.24.138.239) (Ping timeout: 250 seconds) |
| 11:09:34 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 11:09:45 | × | king_gs quits (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) (Remote host closed the connection) |
| 11:10:04 | → | king_gs joins (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) |
| 11:11:12 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 264 seconds) |
| 11:15:08 | × | king_gs quits (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) (Ping timeout: 268 seconds) |
| 11:15:57 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 11:19:31 | × | acidjnk quits (~acidjnk@p200300d6e7137a402c719b85df11c214.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 11:22:27 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
| 11:24:58 | × | mikoto-chan quits (~mikoto-ch@193.185.223.3) (Ping timeout: 268 seconds) |
| 11:31:17 | × | CiaoSen quits (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 11:35:55 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 11:35:55 | → | acidjnk joins (~acidjnk@p200300d6e7137a402c719b85df11c214.dip0.t-ipconnect.de) |
| 11:37:05 | → | elbear joins (~lucian@188.24.138.239) |
| 11:41:48 | × | elbear quits (~lucian@188.24.138.239) (Ping timeout: 264 seconds) |
| 11:53:10 | → | CiaoSen joins (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 11:56:44 | → | tremon joins (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) |
| 11:58:04 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 12:02:48 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 264 seconds) |
| 12:03:51 | → | chomwitt joins (~chomwitt@2a02:587:dc1e:5e00:6d70:b0c1:e403:3e35) |
| 12:12:48 | → | jtomas joins (~jtomas@90.red-88-17-81.dynamicip.rima-tde.net) |
| 12:15:11 | × | vn36 quits (~vn36@123.63.203.210) (Ping timeout: 260 seconds) |
| 12:15:32 | × | `2jt quits (~jtomas@90.red-88-17-81.dynamicip.rima-tde.net) (Ping timeout: 268 seconds) |
| 12:17:02 | × | jargon quits (~jargon@184.101.208.112) (Remote host closed the connection) |
| 12:25:20 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 12:28:31 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 12:30:19 | × | ncf quits (~n@monade.li) (Quit: Fairfarren.) |
| 12:30:41 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 12:31:01 | → | ncf joins (~n@monade.li) |
| 12:32:12 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 264 seconds) |
| 12:32:53 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 12:36:24 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 12:38:25 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds) |
| 12:40:20 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 12:44:48 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 12:45:05 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 12:45:44 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: Leaving) |
| 12:47:02 | → | Midjak joins (~Midjak@82.66.147.146) |
| 12:47:21 | × | Cerins quits (~Cerins@balticom-142-106-43.balticom.lv) (Quit: Leaving) |
| 12:47:39 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 12:52:22 | × | mesaoptimizer quits (apotheosis@user/PapuaHardyNet) (Quit: mesaoptimizer) |
| 12:52:33 | → | mesaoptimizer joins (apotheosis@user/PapuaHardyNet) |
| 12:57:18 | × | [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
| 12:57:38 | → | [Leary] joins (~Leary]@user/Leary/x-0910699) |
| 12:58:39 | <ski> | Everything : same thing |
| 13:04:02 | → | elbear joins (~lucian@188.24.138.239) |
| 13:08:48 | × | elbear quits (~lucian@188.24.138.239) (Ping timeout: 264 seconds) |
| 13:16:29 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 13:19:59 | × | frost56 quits (~frost@user/frost) (Quit: Client closed) |
| 13:20:26 | → | elbear joins (~lucian@188.24.138.239) |
| 13:24:51 | × | elbear quits (~lucian@188.24.138.239) (Ping timeout: 248 seconds) |
| 13:27:05 | × | tubogram44 quits (~tubogram@user/tubogram) (Ping timeout: 258 seconds) |
| 13:27:08 | <ski> | dminuoso : `Builder' is the bidi pattern synonym, not `Buffer' |
| 13:28:06 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 13:28:22 | × | CiaoSen quits (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 13:28:27 | <ski> | dminuoso : not sure what you mean by "which in the forward direction uses `unBuilder` to first produce an `IO`, that is at the same time being deconstructed in the `Builder` pattern synonym itself (unBuilder is iis used as a view pattern)", assuming you rather meant that regarding the bidi pattern synonym `Builder' |
| 13:29:17 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 250 seconds) |
| 13:29:55 | <ski> | (also `Builder' and `unBuilder' uses inconsistent (with definition of `Buffer', and later use of it) naming for the two pointers .. apparently the ordering of the pointers were swapped, but they forgot to swap names in `Builder' & `unBuilder' (although since it's just shuffling them around, the semantics is the same .. it's just confusing naming)) |
| 13:31:45 | × | phma quits (~phma@2001:5b0:212a:b868:10d:f982:1a1:a475) (Read error: Connection reset by peer) |
| 13:32:11 | → | phma joins (~phma@host-67-44-208-75.hnremote.net) |
| 13:34:14 | → | tubogram44 joins (~tubogram@user/tubogram) |
| 13:40:49 | → | __monty__ joins (~toonn@user/toonn) |
| 13:42:15 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 13:45:49 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded) |
| 13:47:15 | → | thyriaen joins (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) |
| 13:51:55 | → | Taneb joins (~Taneb@runciman.hacksoc.org) |
| 14:03:07 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 14:03:54 | → | vn36 joins (~vn36@123.63.203.210) |
| 14:06:08 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:cc25:90bb:71ed:321e) |
| 14:06:22 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded) |
| 14:10:11 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 14:10:36 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:cc25:90bb:71ed:321e) (Ping timeout: 264 seconds) |
| 14:10:54 | → | kenran joins (~user@user/kenran) |
| 14:13:12 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 14:15:36 | [itchyjunk] | is now known as [spookyjunk] |
| 14:17:13 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 14:19:15 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 14:23:17 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 14:31:45 | → | ddellacosta joins (~ddellacos@143.244.47.82) |
| 14:50:12 | × | vn36 quits (~vn36@123.63.203.210) (Ping timeout: 264 seconds) |
| 14:51:25 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 14:55:06 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 14:55:34 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 14:57:25 | → | elbear joins (~lucian@188.24.138.239) |
| 15:02:04 | × | elbear quits (~lucian@188.24.138.239) (Ping timeout: 268 seconds) |
| 15:02:18 | → | Guest23 joins (~Guest23@p200300cf073d88d05051af636e755410.dip0.t-ipconnect.de) |
| 15:05:28 | × | Guest23 quits (~Guest23@p200300cf073d88d05051af636e755410.dip0.t-ipconnect.de) (Client Quit) |
| 15:06:07 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 15:11:02 | × | causal quits (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) (Quit: WeeChat 3.6) |
| 15:13:05 | → | vn36 joins (~vn36@123.63.203.210) |
| 15:19:31 | → | crazazy` joins (~user@130.89.173.127) |
| 15:21:01 | × | crazazy quits (~user@130.89.171.62) (Ping timeout: 252 seconds) |
| 15:21:32 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 15:27:43 | <lisbeths> | please explain the bind operator to me I don't understand what it's for |
| 15:27:54 | <lisbeths> | if you could show me what the bind operator does in lisp then I can understand it |
| 15:27:59 | <lisbeths> | or if you could show me in JavaScript |
| 15:29:53 | ← | Digit parts (~user@user/digit) (going minimal for focus.) |
| 15:32:07 | × | thyriaen quits (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) (Remote host closed the connection) |
| 15:33:10 | → | zebrag joins (~chris@user/zebrag) |
| 15:40:38 | <[exa]> | lisbeths: not sure if basic lisp or javascript has >>=. But we have a few good explanations for that -- the simplest one is that it's for combining values that are "wrapped" in some kind of extra meaning |
| 15:41:02 | → | elbear joins (~lucian@188.24.138.239) |
| 15:42:12 | <[exa]> | lisbeths: let's see a few simple examples, I'll take Maybe as the "extra meaning" for values that might be missing: |
| 15:43:23 | → | MajorBiscuit joins (~MajorBisc@86-88-79-148.fixed.kpn.net) |
| 15:43:34 | <[exa]> | (let's first try the simpler operators) |
| 15:44:05 | <lisbeths> | is it kind of like union in c |
| 15:44:13 | <[exa]> | > (fmap (+1) (Just 123), fmap (+1) Nothing) -- fmap "ignores the extra meaning" and maps a function to a value |
| 15:44:15 | <lambdabot> | (Just 124,Nothing) |
| 15:44:50 | <[exa]> | that way, you can do something like `fmap (+1) complicatedProgram` and you don't need to care if the program failed (returned Nothing) or not -- it's just going to do the right thing |
| 15:45:21 | × | elbear quits (~lucian@188.24.138.239) (Ping timeout: 250 seconds) |
| 15:45:32 | <[exa]> | now a bit more complicated -- what if you have 2 programs that may fail (returning Nothing)? |
| 15:45:53 | <[exa]> | there's the "almost bind" operator for that, the >> |
| 15:46:00 | <[exa]> | > Just 5 >> Just 3 |
| 15:46:01 | <lambdabot> | Just 3 |
| 15:46:25 | <[exa]> | > Nothing >> Just 3 |
| 15:46:26 | <lambdabot> | Nothing |
| 15:46:28 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 15:46:35 | → | nate1 joins (~nate@98.45.169.16) |
| 15:46:37 | <lisbeths> | what is just |
| 15:47:03 | <[exa]> | lisbeths: ah, I assumed you already know the basic types. Just is a constructor for Maybe's |
| 15:47:20 | <lisbeths> | I do not understand the haskell type system or type theory |
| 15:47:33 | <[exa]> | ok whew |
| 15:47:44 | <[exa]> | I can provide a super high-level explanation then :D |
| 15:47:47 | <lisbeths> | I typically code in a typeless error checkless manner |
| 15:48:43 | × | crazazy` quits (~user@130.89.173.127) (Remote host closed the connection) |
| 15:48:53 | <[exa]> | the high-level explanation: a >>= b takes 2 "programs", runs the first, feeds the result into the second one, and if their results are imbued with some special meaning (as defined by Monad typeclass), it "combines" the meaning and returns a single result with a single imbued meaning |
| 15:49:06 | <[exa]> | so for example, you can combine 2 small IO programs into one IO programs |
| 15:49:21 | <[exa]> | or you can combine 2 small possibly-failing computation into 1 possibly-failing computation |
| 15:49:35 | <[exa]> | or you can combine 2 non-deterministic computations into 1 non-deterministic computation |
| 15:49:38 | <[exa]> | etc. |
| 15:49:52 | <lisbeths> | so it is g(f(x))-ing |
| 15:49:54 | <lisbeths> | ? |
| 15:50:18 | <[exa]> | no, it also handles the "side effects" |
| 15:50:36 | <[exa]> | check out this (that's the non-determinism): |
| 15:50:55 | <[exa]> | > [1,2,3] >>= (\f -> [f, f*10]) |
| 15:50:56 | <lambdabot> | [1,10,2,20,3,30] |
| 15:52:10 | <[exa]> | this is pretty hard to do by just composing the functions (as with g(f(x))), because 'g' gets something a bit more complicated than it would expect (a whole list of possible values instead of a single one) |
| 15:53:44 | → | econo joins (uid147250@user/econo) |
| 15:54:24 | <[exa]> | in Javascript, imagine that in your g(f(x)) the f(x) returns a `null` and `g` is not ready for that. Combining the functions with >>= instead is able to remove this "extra meaning" (the failing possibility) and not evaluate the `g`. |
| 15:55:20 | <[exa]> | and this is a pretty useful general concept, so in Haskell the >>= is "overloaded" for many possible types, giving many possible kinds of such combinations of "extra meanings" |
| 15:55:29 | <lisbeths> | not ready? |
| 15:55:35 | <[exa]> | not ready |
| 15:55:47 | <[exa]> | ...as in "it throws an exception if it gets a null" |
| 15:55:51 | <lisbeths> | it must exit gracefully? |
| 15:56:11 | <[exa]> | imagine it just expects a string and explodes when it gets the null. :] |
| 15:56:39 | <lisbeths> | But if it was supposed to transform a string then what will it do if it gets a null |
| 15:56:58 | <lisbeths> | does it too throw an error? |
| 15:57:00 | <[exa]> | something like `f = (str) -> str.length()` |
| 15:57:09 | <[exa]> | this should crash with a null, right? |
| 15:57:16 | <lisbeths> | or throw |
| 15:57:27 | <[exa]> | yeah (that's pretty much the same) |
| 15:58:39 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 15:59:34 | <[exa]> | hm... imagine that the function f(x) wants to log something, and you are coding in purescript or super-functionally or something, so you can't just append the log to a global object or something |
| 15:59:43 | <[exa]> | (also, g(x) may want to log) |
| 16:00:17 | <[exa]> | the obvious "pure" thing to do is to not return a single value, but a tuple with the value and the produced log entries |
| 16:00:35 | <lisbeths> | why not always apply using bind |
| 16:01:11 | <[exa]> | if you have pure function composition, implementation of `g` would need to manually strip off the log entries of `f` and then append them to its own ones, again returning the tuple |
| 16:01:48 | <[exa]> | now, in this instance, >>= would do that for `g` magically |
| 16:01:52 | <lisbeths> | this is very unsettling I will have to think about this for a while |
| 16:02:42 | <[exa]> | "why not always apply using bind" -- in our case you'd need to tell the compiler that all your values have no special meaning so that it doesn't need to worry that much (the corresponding "meaning" is called Identity monad) |
| 16:02:49 | <[exa]> | the "logging" meaning is called Writer monad btw |
| 16:03:28 | <dminuoso> | lisbeths: Personal recommendation, to learn >>= (and return), just study their semantics on a particular instance. |
| 16:03:36 | <dminuoso> | For each particular instance, they are super easy to understand and grok. |
| 16:05:48 | <geekosaur> | http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html |
| 16:10:23 | <monochrom> | It is probably not a coincidence that callback-style programming is reinvented all the time. |
| 16:10:36 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 264 seconds) |
| 16:14:54 | <dminuoso> | monochrom: Honestly, it wasnt until Haskell that I begun to truly explore continuations. |
| 16:14:56 | <int-e> | @quote burrito |
| 16:14:56 | <lambdabot> | hpc says: people hear "omg io monad; it is magic" and write shitty tutorials when they finally realize that a monad is a burrito |
| 16:15:04 | <dminuoso> | Lack of "function returns" makes continuations worthwhile using. |
| 16:15:24 | <int-e> | oh... a pretty harsh one. |
| 16:15:24 | <dminuoso> | In almost all others languages you have to rely on TCO to make continuations something worth using much |
| 16:16:10 | <int-e> | Every single time: "total cost of ownership... wait, this is PL... tail call optimization" |
| 16:16:50 | <monochrom> | Let's rename it to TACO then. |
| 16:17:00 | <int-e> | food is good |
| 16:17:06 | <monochrom> | Then you can say, TACO keeps burritos efficient >:) |
| 16:17:08 | <int-e> | it rhymes, therefore it must be true |
| 16:17:53 | <int-e> | . o O ( continuation [pun accepted]: monad is bad ) |
| 16:18:51 | <int-e> | monochrom: maybe "TaCO" |
| 16:18:59 | <monochrom> | Yeah |
| 16:19:44 | → | rockystone joins (~rocky@user/rockymarine) |
| 16:19:53 | <lisbeths> | throwing and catching is impure |
| 16:19:59 | <lisbeths> | I have decided it is bad |
| 16:20:00 | → | Guest|65 joins (~Guest|65@net-2-34-225-11.cust.vodafonedsl.it) |
| 16:23:54 | Colere | is now known as Sauvin |
| 16:24:52 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 246 seconds) |
| 16:26:41 | × | Guest|65 quits (~Guest|65@net-2-34-225-11.cust.vodafonedsl.it) (Quit: Connection closed) |
| 16:28:19 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 16:29:15 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 16:29:29 | <hpc> | everyone should switch to templeos and code in the only pure language, the holy C |
| 16:32:29 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 16:33:13 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 16:37:16 | → | elbear joins (~lucian@188.24.138.239) |
| 16:39:48 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:41:19 | × | elbear quits (~lucian@188.24.138.239) (Ping timeout: 246 seconds) |
| 16:41:50 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:cc25:90bb:71ed:321e) |
| 16:44:42 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 16:44:43 | × | cheater quits (~Username@user/cheater) (Read error: Connection reset by peer) |
| 16:45:32 | → | cheater joins (~Username@user/cheater) |
| 16:47:46 | × | MajorBiscuit quits (~MajorBisc@86-88-79-148.fixed.kpn.net) (Quit: WeeChat 3.5) |
| 16:49:07 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 248 seconds) |
| 16:52:18 | → | rockystone joins (~rocky@user/rockymarine) |
| 16:57:23 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 16:59:32 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org) |
| 17:00:58 | <Guillaum[m]> | Do you know if we can convert `ghc-pkg dump` to json or any easilly parsable format? In some process I need to recover a few fields for some packages, and calling `ghc-pkg field` three time for each package is impressively slow. |
| 17:01:13 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:02:48 | <hpc> | the output is a stream of yaml documents, fwiw |
| 17:03:03 | <hpc> | break up the stream and convert each to json |
| 17:03:52 | <hpc> | pretty sure you don't even have to do that, and there's already a parser for such output, but i have never had to use it |
| 17:03:56 | <dminuoso> | lisbeths: purity is a matter of perspective. it is the lack of effects (whatever that word means to you) |
| 17:04:05 | <monochrom> | Oh! Is that why all the "---"s? |
| 17:04:10 | <hpc> | yep |
| 17:04:15 | <dminuoso> | For example, is `Maybe Int` pure code? depends on whether you consider `Maybe` an effect or not, its not clear. |
| 17:04:25 | × | wonko quits (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 246 seconds) |
| 17:04:38 | <hpc> | that "---" exists solely so yaml can be catted in this way |
| 17:05:01 | <Guillaum[m]> | hpc: haaa, so I can just split and convert. Thank you! |
| 17:05:35 | <ski> | lisbeths : "why not always apply using bind" -- the point is that we want to know (from a glance at the source) when we're *not* using effects (like failure, nondeterminism, logging, state, ..) |
| 17:12:44 | <dminuoso> | Guillaum[m]: But yeah I guess the case could be made, to train these ghc interfaces to conditionally produce JSON. |
| 17:13:01 | <dminuoso> | It's become quite the standard for plumbing |
| 17:13:27 | <hpc> | or a flag to switch between them |
| 17:13:32 | → | nikos_kz joins (~weechat@240a:61:1107:e7fd:53e:a49e:1e9d:c025) |
| 17:13:34 | <hpc> | yaml is annoyingly also standard |
| 17:13:35 | <dminuoso> | Yes, that's what I meant by conditionally. :) |
| 17:13:44 | <dminuoso> | YAML is ultra complex parse though. |
| 17:13:51 | <hpc> | oh whoops, yeah |
| 17:13:53 | <monochrom> | Better idea: randomly choose the output format. >:) |
| 17:13:54 | <dminuoso> | JSON parsers can be written in a few dozen lines. |
| 17:14:15 | <monochrom> | Although, ghc-pkg dump uses a very small subset of yaml. |
| 17:14:31 | <dminuoso> | Sure, but for pipefitting it likely means you will need a fully fledged yaml parser. |
| 17:15:07 | <dminuoso> | given that "a subset" would otherwise mean a custom parser, or a "fully standard parser". neither one of which is an agreeable solution |
| 17:15:10 | → | rockystone joins (~rocky@user/rockymarine) |
| 17:15:19 | <jbggs[m]> | Better idea: procedurally generate a format and then output in that format |
| 17:15:36 | <jbggs[m]> | Yaml but lists use '*' instead of '-' and you need curly brackets |
| 17:15:51 | <dminuoso> | Hah, that change to config-value was my favourite one. |
| 17:16:04 | <dminuoso> | Now config-value can be written in a YAML subset. :) |
| 17:16:38 | ← | nikos_kz parts (~weechat@240a:61:1107:e7fd:53e:a49e:1e9d:c025) () |
| 17:16:40 | <hpc> | just make ghc-pkg dump output markdown |
| 17:17:03 | <dminuoso> | GHC would need a custom micro JSON library first, though. |
| 17:17:13 | <[exa]> | hpc: markdown flavor wars in 3 2 1 |
| 17:17:20 | <monochrom> | Haha "similar to yaml or json" |
| 17:17:30 | <dminuoso> | But I guess there's no real performance concerns, and no parser is needed either. Just generating JSON naively can probably done with just `bytestring` alone. |
| 17:17:54 | <monochrom> | PHP is similar to python or perl, too >:) |
| 17:17:57 | <dminuoso> | [exa]: Dont even need flavours. Markdown is not even specified. It's horrid. |
| 17:18:00 | <dminuoso> | None of the flavours are. |
| 17:18:10 | <dminuoso> | They're all just some adhoc nonsense with no specification or definition of semantics. |
| 17:18:33 | <dminuoso> | Like in the original markdown, is a table in a hyperlink valid? Who knows, if the reference implementation chokes, its not.. perhaps? |
| 17:18:51 | <monochrom> | GHC 10 will come with aeson because ghc-dump wants it >:) |
| 17:18:56 | <dminuoso> | haha |
| 17:18:59 | <dminuoso> | I hope not. |
| 17:19:09 | <dminuoso> | Aeson is my single most hated library, it drags so much stuff into my builds. |
| 17:19:24 | <geekosaur> | GHC already has a custom mini-JSON, since you can request errors/warnings in JSON format |
| 17:19:29 | <hpc> | ghc already has a layout parser, maybe a purpose-built yaml parser wouldn't be so bad |
| 17:19:31 | <dminuoso> | Im wondering whether I should perhaps prepare a drop-in replacement, that will work for 95 of the cases, but with a minimal footprint. |
| 17:19:41 | <dminuoso> | geekosaur: Oh nice. |
| 17:19:43 | <monochrom> | Yeah, -ddump-json |
| 17:19:47 | <hpc> | (if it even needs to parse) |
| 17:20:16 | <dminuoso> | well given the use case, we only need to encode |
| 17:20:29 | <dminuoso> | but even parsing json is very easy if you dont care about performance much |
| 17:20:41 | <dminuoso> | (well even if you do its relatively easy) |
| 17:21:14 | <monochrom> | Oh, so that's why eventlog2html pulls in a million packages... because first of all it pulls in aeson... |
| 17:21:57 | <dminuoso> | Yeah its really horrible. Next week I will remove `aeson` from `ip` (controllable via cabal flag), to drastically reduce the footprint in some of our projects. |
| 17:23:20 | <monochrom> | This is what you get for category-theory-style programming. Now everyone depends on witherable and bifunctors. |
| 17:23:45 | <c_wraith> | witherable? really? I can't say I see that just about anywhere. |
| 17:24:12 | <dminuoso> | c_wraith: It was added in aeson-2.0.0.0 |
| 17:24:21 | <dminuoso> | So relatively recently |
| 17:24:30 | <dminuoso> | Each version seems to just add to build-depends >:) |
| 17:24:33 | <c_wraith> | huh. as a direct dependency? |
| 17:24:35 | <dminuoso> | Yes. |
| 17:24:38 | <monochrom> | Yes direct. |
| 17:24:44 | <monochrom> | Can't imagine why. |
| 17:24:53 | <c_wraith> | I guess they wanted to add a filtering API? I dunno |
| 17:25:12 | <dminuoso> | I have `wither` in almost every project. As a simple adhoc definition in some utils library. |
| 17:25:17 | <dminuoso> | *module |
| 17:25:25 | <dminuoso> | Very useful interface, but I dont need a package fo rit. |
| 17:26:13 | <c_wraith> | this is reminding me I never did publish that library I wrote that I felt mixed Witherable and lens better than the old blog post talking about it. |
| 17:26:33 | <c_wraith> | if Witherable is in every project now, maybe it's actually practical |
| 17:26:45 | <monochrom> | And then witherable depends on vector, so now aeson takes forever to build. |
| 17:26:59 | <dminuoso> | aeson already directly depends on vector since forever |
| 17:27:05 | <dminuoso> | Since lists are kept as Vector |
| 17:27:12 | <monochrom> | Ah right OK nevermind heh |
| 17:27:28 | <dminuoso> | But vector at least is a boot library, so that one isnt too harsh. |
| 17:27:43 | <dminuoso> | Given that cabal will always prefer boot library version over newest on hackage, you should never notice it |
| 17:27:56 | <dminuoso> | Unless something introduces some constraint that excludes your boot version |
| 17:27:58 | <c_wraith> | it's not wired in, though. You can still install new versions! |
| 17:28:34 | <monochrom> | Is that since GHC 9.4? I don't have vector in 9.2 or 8.10 |
| 17:28:46 | <dminuoso> | huh oh wait, it isnt?! |
| 17:28:54 | <dminuoso> | Ohh right, its just `array` |
| 17:29:01 | <dminuoso> | Nevermind me :) |
| 17:29:42 | <dminuoso> | At version 3.0.0.0 the joke will be unveiled, that the `a` in aeson stands for `acme`, and the `e` for `everything`. |
| 17:29:57 | <dminuoso> | It's just a work in progress. |
| 17:30:03 | <geekosaur> | when did ekmett take over aeson? 😛 |
| 17:30:18 | <monochrom> | All it needs to do is to depend on lens >:) |
| 17:30:31 | <dminuoso> | Doesnt it already depend on lens? :p |
| 17:30:58 | <dminuoso> | By the way, is there some minimal lens implementation that supports prisms, but without pulling in `profunctors`? |
| 17:31:08 | <dminuoso> | Something microprism? |
| 17:31:08 | <geekosaur> | tell me about it. I've been debugging an issue with cabal-install HEAD and got yelled at because of the dep footprint of my test program, which via dbus depends on both conduit and lens 🙂 |
| 17:31:40 | <dminuoso> | geekosaur: simple solution. use DBus instead. |
| 17:32:06 | <dminuoso> | Ive never understood the innate desire of Haskellers to use handwritten pure implementations rather than just bindings to well known and functioning C libraries. |
| 17:32:15 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 17:32:42 | <monochrom> | Oh that's just because I haven't done "sudo apt install pkg-config" >:) |
| 17:33:01 | <geekosaur> | doesn't that come with build-essential? |
| 17:33:17 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 17:33:32 | <c_wraith> | I've seen a *lot* of bindings to simple C libraries that corrupt memory. |
| 17:33:51 | <geekosaur> | yeh, you replace dep issues with problems with bad FFI bindings |
| 17:33:53 | <c_wraith> | Given that, I'd rather not use a one-off |
| 17:34:08 | <c_wraith> | if it's a heavily used binding, sure. |
| 17:34:10 | <geekosaur> | including a ridic tendency for people to use "unsafe" calls to things that really need to be "safe" |
| 17:34:28 | <dminuoso> | geekosaur: but it must go fast! |
| 17:34:30 | <dminuoso> | >:) |
| 17:34:34 | <monochrom> | No, it doesn't come with build-essential in ubuntu 22.04 |
| 17:34:55 | <dminuoso> | geekosaur: But luckily these things are identifiable during auditing a dependency, something that I always do. |
| 17:35:03 | <dminuoso> | (Or something Ive trained myself to do recently) |
| 17:35:10 | <dminuoso> | Well for a few years now. |
| 17:35:32 | <c_wraith> | hell, even the one-off I wrote had a segfault bug in it when used improperly because I couldn't imagine anyone would use it that improperly... |
| 17:35:39 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 17:35:44 | <c_wraith> | though at least segfault is better than memory corruption |
| 17:36:02 | <geekosaur> | I lkearned early on not to do that |
| 17:36:33 | <geekosaur> | with myself as exhibit A because I turn out to have an annoying tendency to use things in ways their designers (including myself) never imagined |
| 17:36:45 | <Rembane> | That's a super power |
| 17:37:13 | <c_wraith> | well, I really do mean "improperly". Like, if that was happening, the data being passed into it was corrupted. |
| 17:37:16 | <geekosaur> | I still have yet to make myself a "human fuzzer" Tshirt |
| 17:37:25 | <c_wraith> | But I added a new crash that the underlying library didn't have. |
| 17:38:21 | <AndreasK> | dminuoso: Vector used to be a boot library a while back but it was removed a while ago, as ghc currently doesn't use it. |
| 17:38:44 | zero | is now known as zzz |
| 17:38:53 | <dminuoso> | AndreasK: Must have been before 7.0.1, because the wiki does not list it anymore: https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history |
| 17:39:07 | <AndreasK> | It was removed along DPH iirc |
| 17:40:09 | <AndreasK> | I think people often prefer pure implementations as it often makes packaging a non-issue. |
| 17:40:18 | <geekosaur> | ^ |
| 17:40:48 | <geekosaur> | (to both: vector was used by DPH, and pure impls solve a lot of Windows packaging issues in particular) |
| 17:43:53 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Quit: Off to see the wizard.) |
| 17:46:56 | × | Everything quits (~Everythin@37.115.210.35) (Quit: leaving) |
| 17:47:48 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 17:52:40 | → | elbear joins (~lucian@188.24.138.239) |
| 17:52:45 | <dminuoso> | AndreasK: Interesting, but then again I dont mind native dependencies that much. |
| 17:53:23 | <AndreasK> | Personally on linux i haven't had much of an issue. But on windows it can be very painful. |
| 17:53:45 | <dminuoso> | Let windows users FFI against their own libraries! :p |
| 17:54:14 | <geekosaur> | the problem is finding them. in multiple senses |
| 17:54:53 | → | kora9 joins (~kora@h-98-128-228-57.NA.cust.bahnhof.se) |
| 17:55:54 | → | odnes joins (~odnes@5-203-147-237.pat.nym.cosmote.net) |
| 17:56:12 | × | odnes quits (~odnes@5-203-147-237.pat.nym.cosmote.net) (Client Quit) |
| 17:56:51 | × | elbear quits (~lucian@188.24.138.239) (Ping timeout: 252 seconds) |
| 18:01:33 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds) |
| 18:01:55 | justVain | is now known as justache |
| 18:03:26 | × | razetime quits (~quassel@117.254.35.178) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 18:03:29 | × | jbayardo quits (~jbayardo@20.83.116.49) (Ping timeout: 268 seconds) |
| 18:04:30 | → | elbear joins (~lucian@188.24.138.239) |
| 18:08:51 | → | jbayardo joins (~jbayardo@20.83.116.49) |
| 18:10:46 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 18:18:45 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 250 seconds) |
| 18:19:44 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 18:22:30 | → | rockystone joins (~rocky@user/rockymarine) |
| 18:26:33 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 18:27:03 | → | zer0bitz_ joins (~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi) |
| 18:29:48 | × | zer0bitz quits (~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi) (Ping timeout: 264 seconds) |
| 18:29:55 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Read error: Connection reset by peer) |
| 18:30:41 | × | kora9 quits (~kora@h-98-128-228-57.NA.cust.bahnhof.se) (Quit: WeeChat 3.5) |
| 18:31:36 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 18:32:46 | → | phileas_fogg joins (~quassel@2a05:f480:2000:1e94:5400:4ff:fe2c:431f) |
| 18:33:29 | → | zer0bitz joins (~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi) |
| 18:34:14 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 18:34:45 | <[exa]> | is there any alternative for generic-pretty that works with ghc8+ ? |
| 18:34:50 | <[exa]> | (now I'm with pretty-simple) |
| 18:35:31 | × | zer0bitz_ quits (~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi) (Ping timeout: 260 seconds) |
| 18:35:49 | <dminuoso> | What's wrong with pretty-simple? |
| 18:36:17 | <dminuoso> | There's also pretty-show if you want something that works with Generics |
| 18:40:50 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 18:45:58 | → | nate1 joins (~nate@98.45.169.16) |
| 18:48:05 | → | rumraisin joins (~quassel@2a05:f480:2000:1e94:5400:4ff:fe2c:431f) |
| 18:48:36 | rumraisin | is now known as phileasfogg |
| 18:48:40 | <[exa]> | dminuoso: I want to combine stuff with custom Pretty instances for more complicated data |
| 18:50:05 | <[exa]> | ok pretty-show could work, a bit of misdirection with their Value but that shouldn't be hard to handle |
| 18:50:12 | <[exa]> | thx |
| 18:50:14 | × | phileas_fogg quits (~quassel@2a05:f480:2000:1e94:5400:4ff:fe2c:431f) (Ping timeout: 268 seconds) |
| 18:50:39 | → | thegeekinside joins (~thegeekin@189.180.97.156) |
| 18:51:26 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 18:53:48 | → | wroathe joins (~wroathe@50.205.197.50) |
| 18:53:48 | × | wroathe quits (~wroathe@50.205.197.50) (Changing host) |
| 18:53:48 | → | wroathe joins (~wroathe@user/wroathe) |
| 18:57:40 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 19:00:34 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:cc25:90bb:71ed:321e) (Remote host closed the connection) |
| 19:00:41 | × | thegeekinside quits (~thegeekin@189.180.97.156) (Ping timeout: 268 seconds) |
| 19:07:34 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 19:08:17 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 19:08:47 | <EvanR> | ski, since that Bag code was from GHC I guess they didn't go the Maybe route for the invariants due to some performance thing. A flat type with 4 constructors may runs better than a Maybe around a type with 3 |
| 19:11:35 | <EvanR> | Boom hierarchy is a nice and old reference, very interesting... pushing "figure out wth Squiggol is/was" on the stack |
| 19:13:51 | <ski> | oh, i forgot to mention the ProfTeggy (Torsten Grust) did some papers on monad comprehensions (relating to databases), talking about lists, bags, sets |
| 19:13:59 | <ski> | s/the/that/ |
| 19:15:02 | → | linoleum joins (~linoleum@93.176.166.86) |
| 19:15:03 | <ski> | (and there's `TransformListComp') |
| 19:15:54 | <ski> | Squiggol is the "funny brackets" notation for catamorphisms, anamorphisms, &c. |
| 19:16:33 | phileasfogg | is now known as rumraisin |
| 19:16:57 | rumraisin | is now known as phileasfogg |
| 19:17:05 | phileasfogg | is now known as rumraisin |
| 19:17:57 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 19:19:13 | × | elbear quits (~lucian@188.24.138.239) (Ping timeout: 268 seconds) |
| 19:19:13 | × | rumraisin quits (~quassel@2a05:f480:2000:1e94:5400:4ff:fe2c:431f) (Changing host) |
| 19:19:13 | → | rumraisin joins (~quassel@user/phileasfogg) |
| 19:19:53 | rumraisin | is now known as phileasfogg |
| 19:21:31 | <EvanR> | https://www.cs.ox.ac.uk/people/jeremy.gibbons/publications/squiggol-history.pdf |
| 19:22:48 | <ski> | "Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire" by Maarten Fokkinga,Ross Paterson in 1991 at <https://research.utwente.nl/files/6142049/meijer91functional.pdf> |
| 19:22:55 | <ski> | "Bananas in Space: Extending Fold and Unfold to Exponential Types" by Erik Meijer,Graham Hutton in 1995 at <https://www.cs.nott.ac.uk/~pszgmh/bananas.pdf> |
| 19:23:49 | <c_wraith> | are there exponential types that don't have a function underlying them somehow? |
| 19:24:35 | <EvanR> | Conclusion: The story of Squiggol is one of an ebb and flow of enthusiasm for the squiggly notation. |
| 19:25:53 | → | pavonia joins (~user@user/siracusa) |
| 19:26:18 | × | phileasfogg quits (~quassel@user/phileasfogg) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 19:26:48 | → | phileasfogg joins (~tardis@user/phileasfogg) |
| 19:27:55 | × | linoleum quits (~linoleum@93.176.166.86) (Quit: Client closed) |
| 19:31:05 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 19:34:03 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds) |
| 19:36:01 | → | wonko joins (~wjc@2a0e:1c80:2:0:45:15:19:130) |
| 19:38:35 | → | moonsheep joins (~moonsheep@user/moonsheep) |
| 19:39:59 | <EvanR> | that's the second paper in 2 days that begins with the disclaimer "Knowledge of category theory not required", maybe Haskell should have that xD |
| 19:42:01 | × | zer0bitz quits (~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi) (Ping timeout: 260 seconds) |
| 19:42:06 | <c_wraith> | that could be the official slogan. "Haskell: Category theory is not required." |
| 19:42:14 | → | elbear joins (~lucian@188.24.138.239) |
| 19:43:55 | <phileasfogg> | c_wraith: beginner here, is that true? |
| 19:44:04 | <c_wraith> | absolutely |
| 19:44:34 | <c_wraith> | some things are named after category theory ideas. But you do not need to know the category theory to use them. (I don't really know category theory. I know some words from it) |
| 19:45:21 | <geekosaur> | ^ |
| 19:45:25 | <phileasfogg> | happy to hear that, recently I tried to take the haskell course in my school, but one of my friend stopped me and forced me to take the category theory course first |
| 19:45:53 | <c_wraith> | then there's a good chance you know more category theory than I do |
| 19:45:55 | <geekosaur> | lots of things are named after ideas from category theory, or number theory, or other forms of higher math. you don't need to know where they came from to use them |
| 19:46:36 | <phileasfogg> | ah, approach of an engineer. love it |
| 19:46:49 | geekosaur | is mostly an engineer at heart |
| 19:47:04 | <geekosaur> | programmer/sysadmin background |
| 19:47:06 | <c_wraith> | well. Haskell is a programming language first. It really is intended to be a tool to get software built. |
| 19:48:02 | <phileasfogg> | "Hey look, buddy. I'm an engineer, that means I solve problems. Not problems like 'What is beauty?', 'cause that would fall within the purview of your conundrums of philosophy." -tf2 |
| 19:48:34 | <geekosaur> | first got interested because I was thinking about applicability of Haskell to sysadmin stuff. (and indeed that exists now: propellor. but I dropped it because ghc was a non-starter on some of the historical machines I was managing at the time) |
| 19:48:54 | <geekosaur> | and hugs wasn't quite enough although I probably should have looked more closely |
| 19:49:05 | <EvanR> | at that time those were the only options? |
| 19:49:21 | <geekosaur> | pretty much |
| 19:49:43 | <geekosaur> | well, uhc but it was in thre same state it is now: teaching language at UUtrecht, otherwise invisible |
| 19:50:01 | <EvanR> | uhc, ehc, jhc, hbc, ... |
| 19:50:10 | <geekosaur> | jhc wasn't around yet |
| 19:50:11 | <monochrom> | OOP terminology such as "objects", "classes" are named after ontology ideas. Now show me one single OOP programmer who has studied ontology ever. |
| 19:50:15 | <geekosaur> | 2006 timeframe |
| 19:50:23 | <geekosaur> | hbc was already dead |
| 19:51:01 | <darkling> | monochrom: Me? :) |
| 19:51:07 | <monochrom> | haha |
| 19:51:07 | <EvanR> | dedekind cuts of time, the set of dead haskell implementations on one hand, the set of not yet started haskell implementations on the other |
| 19:53:11 | <geekosaur> | I did take some interest in jhc while it lasted but that wasn't very long, sadly |
| 19:53:15 | <monochrom> | More sadly, cloud computing requires knowledge of theorems and algorithms from distributive systems (the proper name before people call it "cloud computing"), and most cloud computing programmers still don't know any of them. |
| 19:54:16 | <darkling> | This is sadly true. |
| 19:54:46 | <EvanR> | I cut through the fog hehe and explain that cloud computing means computing on someone else's computer |
| 19:55:26 | <darkling> | We've had problems with the clustering solution on one of the databases we use. Looking closely at how they actually implemented it, I'm frankly astonished that anyone actually thought it would be a good idea. |
| 19:56:19 | <ski> | EvanR : linear order morphisms to two-point order |
| 19:56:29 | <EvanR> | was that to c_wraith |
| 19:56:47 | EvanR | casts reflect |
| 19:56:47 | × | tam-carre quits (~tam-carre@2a01cb088a83b300a322b3f387318318.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 19:56:55 | <ski> | no, it was re cuts |
| 19:56:59 | <EvanR> | oh |
| 19:57:27 | <EvanR> | yes actual haskell implementations live for finite time |
| 19:59:54 | <dolio> | Nobody remembers yhc? |
| 20:00:01 | <dolio> | Shameful. |
| 20:00:06 | <c_wraith> | I remember it existed |
| 20:00:16 | <geekosaur> | likewise |
| 20:00:22 | <c_wraith> | But I definitely never used it |
| 20:00:37 | <ski> | geekosaur : jmeacham had the idea of being able to add superclasses to a class, restricting by removing members |
| 20:00:52 | × | mrmonday quits (~robert@what.i.hope.is.not.a.tabernaevagant.es) (Quit: .) |
| 20:01:03 | × | zebrag quits (~chris@user/zebrag) (Read error: Connection reset by peer) |
| 20:01:24 | <EvanR> | doh, yhc of course |
| 20:01:27 | ski | . o O ( "Supertyping Suggestion for Haskell" <http://repetae.net/recent/out/supertyping.html> ; also "Class Alias Proposal for Haskell" <http://repetae.net/recent/out/classalias.html> ) |
| 20:01:46 | ski | idly recalls seeing brisk on some FTP server |
| 20:01:55 | <ski> | (bristol Haskell) |
| 20:02:22 | <EvanR> | also nhc |
| 20:02:26 | <ski> | and LHC |
| 20:02:49 | <c_wraith> | Wait, when did the large hadron collider start compiling haskell? |
| 20:02:57 | → | mrmonday joins (~robert@what.i.hope.is.not.a.tabernaevagant.es) |
| 20:03:19 | <dolio> | I think the above sells engineers short, too. |
| 20:03:24 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 20:03:26 | <EvanR> | the haskell2k apocalypse is when the american alphabet runs out of letters for new haskell compilers |
| 20:03:39 | <dolio> | In actual engineering disciplines, practitioners aren't afraid of learning relevant mathematics. |
| 20:04:14 | <darkling> | As always, computing takes a perfectly good word and redefines it to mean something else... :) |
| 20:04:16 | <dolio> | Or similar. |
| 20:04:41 | <c_wraith> | sure. But engineers are also happy to use the results of math without learning all the methods. |
| 20:04:53 | <c_wraith> | So it can go either way. |
| 20:05:10 | <hpc> | engineers are also happy to make up their own math and ignore what's "sensible" |
| 20:05:19 | <c_wraith> | all true |
| 20:05:21 | <hpc> | it took a long time for people to accept even the dirac delta function |
| 20:05:23 | × | vn36 quits (~vn36@123.63.203.210) (Ping timeout: 248 seconds) |
| 20:05:53 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 20:06:02 | <ski> | <https://github.com/Lemmih/lhc>,<https://web.archive.org/web/20141107225119/http://lhc.seize.it/> |
| 20:06:29 | <ski> | @where Eden |
| 20:06:29 | <lambdabot> | "Eden: Parallel Functional Programming with Haskell" <http://www.mathematik.uni-marburg.de/~eden/> |
| 20:06:33 | <geekosaur> | vaguely recall that one too |
| 20:06:44 | <geekosaur> | (lhc that is) |
| 20:07:10 | <ski> | and we mentioned Helium and Vital the other day |
| 20:08:07 | × | elbear quits (~lucian@188.24.138.239) (Ping timeout: 252 seconds) |
| 20:08:56 | <EvanR> | >The biggest challenge for Yhc was the build system - we ended up with 10,000 lines of Python Scons scripts. Without a robust build system nothing else matters. When our sole Python hacker left the team that was the beginning of the end. |
| 20:09:00 | <EvanR> | smh |
| 20:09:16 | <darkling> | Ow |
| 20:09:29 | <geekosaur> | I knew there was a reason I didn't bother with yhc… |
| 20:09:32 | <darkling> | Bus number too small. |
| 20:10:04 | <int-e> | the hadrian subdirectory in Haskell is up to 9.5k lines of Haskell according to sloccount. |
| 20:10:48 | <geekosaur> | question there being how much of it is essentially boilerplate |
| 20:11:24 | <int-e> | hmmm |
| 20:12:13 | <geekosaur> | hadrian being mostly a build script written in shake |
| 20:12:45 | <geekosaur> | and I think it needs at least one line per built file |
| 20:13:18 | <geekosaur> | (I may well be wrong about that) |
| 20:13:54 | <int-e> | Well, not all code is useful... http://paste.debian.net/1257188/ |
| 20:14:27 | <geekosaur> | heh |
| 20:14:33 | <int-e> | it doesn't look very boilerplatey to me, honestly. |
| 20:15:39 | <int-e> | But I guess the code can be navigated reasonably well and more than one person understands it. |
| 20:16:05 | <EvanR> | make sure ghc has backups of the build system specialist |
| 20:16:20 | <int-e> | Whereas I guess the make system was kind of stuck after Igloo stopped maintaining it. |
| 20:16:58 | <geekosaur> | also I asked for `du -sxh` and it looks quote reasonable so I guess most of those lines are short |
| 20:17:40 | <geekosaur> | *quite |
| 20:18:00 | <int-e> | (I thought it was pretty well designed, making pretty good use of GNU make's features to avoid duplication of dependencies and rules. And well, the fact that hadrian took so long to catch up to it is also testament to that.) |
| 20:18:16 | <geekosaur> | the make system has apparently been a hack for years because of dependencies make couldn't deal with |
| 20:18:59 | <geekosaur> | and eventually it needed one hack too many and nobody could figure out how to hack it in (possibly due to Igloo no longer maintaining it) |
| 20:19:19 | <int-e> | hadrian replicates some of the hacks because ghc --make can't deal with them. |
| 20:19:37 | <int-e> | err |
| 20:19:49 | <int-e> | that's the wrong flag, there's one specifically to extract dependencies. |
| 20:20:04 | <int-e> | which was originally for the make-based build, but is also used by hadrian. |
| 20:20:21 | <int-e> | -M is the flag. |
| 20:20:49 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:28:51 | ← | moonsheep parts (~moonsheep@user/moonsheep) () |
| 20:31:29 | → | zebrag joins (~chris@user/zebrag) |
| 20:33:26 | <int-e> | geekosaur: Ah, here's the latest fix for one such hack: https://gitlab.haskell.org/ghc/ghc/-/commit/c8ae3add11969b5128f34d02a5582c1f007cce5c ...maybe that's the only one? Hmm. I don't know. |
| 20:35:50 | × | v0rpun1 quits (~pvorp@195.200.221.194) (Quit: bye) |
| 20:36:11 | <EvanR> | what does it mean for ghc to be effectively the only real haskell compiler, is it like the titanic with no lifeboats |
| 20:36:43 | <EvanR> | it's fine because it's unsinkable |
| 20:39:39 | <darkling> | Yes, but what's the iceberg number? |
| 20:39:42 | <int-e> | The bus number for GHC is not impressive. 2, maybe 3? |
| 20:40:01 | <c_wraith> | It's a lot higher than it was 10 years ago, at least. |
| 20:40:04 | <geekosaur[m]> | They are working on that |
| 20:40:15 | <int-e> | It's larger than 1. |
| 20:40:30 | <c_wraith> | It used to be the case that losing either Simon would have sunk it. |
| 20:40:43 | <geekosaur[m]> | Yeah |
| 20:41:22 | <c_wraith> | Now... neither one is a full-time GHC dev |
| 20:42:35 | <geekosaur[m]> | Things still clog a bit when bgamari's not around though |
| 20:44:21 | <int-e> | ..."just" build infrastructure, eh... |
| 20:45:39 | <int-e> | (That's unfair to bgamari, he hacks a lot on the compiler too. But from what I'm seeing he's also kicking Marge (merge bot) a lot and cleaning up build artefacts to fix runners that have run out of disk space) |
| 20:46:44 | → | vn36 joins (~vn36@123.63.203.210) |
| 20:47:46 | → | vorpuni joins (~pvorp@2001:861:3881:c690:cb48:57b9:21f1:54ea) |
| 20:47:55 | <geekosaur[m]> | That's changed, chreekat has taken over much of that |
| 20:48:08 | <int-e> | Ah. |
| 20:48:56 | <monochrom> | OOD killer :) |
| 20:51:03 | × | phileasfogg quits (~tardis@user/phileasfogg) (Quit: It's the only way, then they can all forget me. I got too big, Dorium, too noisy. Time to step back into the shadows.) |
| 20:51:44 | <geekosaur> | And mpickering is helping take more of the load off bgamari |
| 20:52:42 | <monochrom> | The iceberg number is lower than apparent because too many of the devs go to the same conference so you just need 1 iceberg to hit that conference. Though improbable, it does bring down the expected value quite a bit. |
| 20:52:55 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 20:53:13 | → | v0rpun1 joins (~pvorp@160.238.38.133) |
| 20:53:18 | <c_wraith> | Do they frequently hold these conferences at sea? |
| 20:54:01 | × | vorpuni quits (~pvorp@2001:861:3881:c690:cb48:57b9:21f1:54ea) (Ping timeout: 246 seconds) |
| 20:54:33 | <geekosaur> | anyway HF is aware of it and is funding more dev and ops positions, starting with hiring chreekat |
| 20:55:33 | <monochrom> | I think of this because I was at a Marktoberdorf summer school (1 hour train ride from Munich), actually the one when SPJ lectured his Awkward Squad thing. It was also near a NATO airbase, we heard jet fighters over-flying. A classmate remarked "if an accident happened and a bomb dropped from a plane and hit us, that would set back computer science for decades because it would kill so many of us". |
| 20:58:08 | <monochrom> | If you aren't persuaded by icebergs, try new supervirus outbreak at a hotel. |
| 20:58:48 | → | rumraisin joins (~tardis@user/phileasfogg) |
| 20:59:09 | <monochrom> | Call it "zombie factor" or something >:) |
| 20:59:23 | <geekosaur> | legionnaires factor |
| 21:01:05 | <DigitalKiwi> | geekosaur: what'd you link my blog for |
| 21:01:09 | <monochrom> | And of course you may also like s/computer science/the area of computer science that this summer school focused on/ |
| 21:01:43 | <geekosaur> | [14 05:15:21] <ski> hm, someone recently showed some script to maximize and minimize Haskell imports, in here .. |
| 21:02:03 | <geekosaur> | so I dug it out of my log |
| 21:02:16 | <monochrom> | And since SPJ was there and it was the year 2000, GHC was very vulnerable back then. |
| 21:02:34 | <DigitalKiwi> | ahh |
| 21:02:57 | <DigitalKiwi> | cool |
| 21:04:02 | → | rockystone joins (~rocky@user/rockymarine) |
| 21:04:40 | × | vn36 quits (~vn36@123.63.203.210) (Ping timeout: 268 seconds) |
| 21:06:28 | → | vn36 joins (~vn36@123.63.203.210) |
| 21:07:55 | → | TonyStone31 joins (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
| 21:08:20 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds) |
| 21:08:37 | × | TonyStone31 quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Remote host closed the connection) |
| 21:09:38 | × | rumraisin quits (~tardis@user/phileasfogg) (Quit: It's the only way, then they can all forget me. I got too big, Dorium, too noisy. Time to step back into the shadows.) |
| 21:10:49 | <DigitalKiwi> | i should update the code to use nix so it's easier to run lol |
| 21:11:10 | → | phileasfogg joins (~phileasfo@user/phileasfogg) |
| 21:11:22 | <DigitalKiwi> | https://gist.github.com/Kiwi/ffc08bffb15798dc4b1ec2a1c47c6191#file-program-cabal-hs |
| 21:17:54 | → | talismanick joins (~talismani@2601:200:c100:c9e0::1b0b) |
| 21:21:13 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 21:23:22 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 21:24:55 | → | nate1 joins (~nate@98.45.169.16) |
| 21:25:10 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 21:26:12 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 264 seconds) |
| 21:26:30 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 21:26:52 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 21:30:31 | → | causal joins (~user@50.35.83.177) |
| 21:31:46 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 21:33:24 | × | acidjnk quits (~acidjnk@p200300d6e7137a402c719b85df11c214.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 21:33:53 | × | michalz quits (~michalz@185.246.207.200) (Remote host closed the connection) |
| 21:34:05 | → | moonsheep joins (~moonsheep@user/moonsheep) |
| 21:35:50 | × | thaumavorio quits (~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in) |
| 21:35:52 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:36:43 | → | thaumavorio joins (~thaumavor@thaumavor.io) |
| 21:37:21 | <EvanR> | if ghc started with the feature which deleted your code on type error, it very well may have sank on its maiden voyage (trying to compile itself) |
| 21:37:53 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 21:38:15 | <hpc> | that may be my favorite bug ever |
| 21:39:28 | <darkling> | I think that would elevate it into the realms of esoteric language. |
| 21:39:50 | <monochrom> | "The compiler is dead. Long live the compiler"? |
| 21:41:58 | <DigitalKiwi> | so i looked into that recently for a twitter thread and turns out there've been multiple such bugs in ghc lol |
| 21:42:58 | → | rockystone joins (~rocky@user/rockymarine) |
| 21:44:45 | <DigitalKiwi> | https://twitter.com/ArchKiwi/status/1576112320329023489 |
| 21:45:39 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds) |
| 21:50:51 | × | v0rpun1 quits (~pvorp@160.238.38.133) (Quit: bye) |
| 21:51:49 | → | wroathe joins (~wroathe@user/wroathe) |
| 21:54:50 | <DigitalKiwi> | i was going to link the bug report but then i found like 3 of them that were slightly different and i was like "well fuck idk which one |
| 21:54:51 | <DigitalKiwi> | " |
| 21:55:15 | <DigitalKiwi> | iirc there's like one that was only on windows and was because of paths or something lol |
| 21:55:54 | <geekosaur> | at one point I found the biggie but yes, noticed there were several others including the win-only one |
| 21:57:38 | ← | moonsheep parts (~moonsheep@user/moonsheep) () |
| 22:00:54 | × | wonko quits (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 268 seconds) |
| 22:04:42 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 22:11:36 | → | roboguy_ joins (~roboguy_@cpe-69-76-235-109.kc.res.rr.com) |
| 22:21:52 | × | kuribas quits (~user@ptr-17d51emezcmdxqisyeh.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 27.1)) |
| 22:37:18 | × | roboguy_ quits (~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Remote host closed the connection) |
| 22:37:51 | → | roboguy_ joins (~roboguy_@cpe-69-76-235-109.kc.res.rr.com) |
| 22:39:45 | × | jtomas quits (~jtomas@90.red-88-17-81.dynamicip.rima-tde.net) (Ping timeout: 268 seconds) |
| 22:41:23 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 22:42:41 | × | roboguy_ quits (~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Ping timeout: 268 seconds) |
| 22:47:25 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 250 seconds) |
| 22:48:23 | → | MajorBiscuit joins (~MajorBisc@2a02-a461-129d-1-6d4c-38a4-18b7-4b48.fixed6.kpn.net) |
| 22:49:12 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 22:51:24 | → | roboguy_ joins (~roboguy_@cpe-69-76-235-109.kc.res.rr.com) |
| 22:52:06 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 22:52:21 | × | AkechiShiro quits (~licht@2a01:e0a:5f9:9681:1473:3dff:fe42:56a9) (Changing host) |
| 22:52:21 | → | AkechiShiro joins (~licht@user/akechishiro) |
| 22:53:53 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:57:26 | → | rockystone joins (~rocky@user/rockymarine) |
| 23:04:30 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 23:05:16 | × | wroathe quits (~wroathe@user/wroathe) (Quit: leaving) |
| 23:06:14 | × | tremon quits (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 23:07:54 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 23:09:06 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 23:14:22 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Read error: Connection reset by peer) |
| 23:14:49 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds) |
| 23:20:31 | × | forell quits (~forell@user/forell) (Quit: ZNC - https://znc.in) |
| 23:21:21 | → | forell joins (~forell@user/forell) |
| 23:26:52 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 23:28:28 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 23:32:47 | × | MajorBiscuit quits (~MajorBisc@2a02-a461-129d-1-6d4c-38a4-18b7-4b48.fixed6.kpn.net) (Ping timeout: 268 seconds) |
| 23:34:32 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 23:35:08 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 23:37:19 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 23:38:08 | → | rockystone joins (~rocky@user/rockymarine) |
| 23:39:02 | → | king_gs joins (~Thunderbi@187.201.131.180) |
| 23:52:18 | × | Tuplanolla quits (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) (Quit: Leaving.) |
All times are in UTC on 2022-10-15.