Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,789,884 events total
2026-03-29 07:18:33 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 248 seconds)
2026-03-29 07:20:01 koala_man joins (~vidar@157.146.251.23.bc.googleusercontent.com)
2026-03-29 07:20:37 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-29 07:21:38 arandombit joins (~arandombi@user/arandombit)
2026-03-29 07:24:25 × koala_man quits (~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 248 seconds)
2026-03-29 07:26:38 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.10.1 - https://znc.in)
2026-03-29 07:26:59 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-03-29 07:27:02 berberman joins (~berberman@user/berberman)
2026-03-29 07:27:30 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-03-29 07:38:13 arandombit joins (~arandombi@user/arandombit)
2026-03-29 07:38:38 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-29 07:41:16 xff0x joins (~xff0x@2405:6580:b080:900:fe0d:cc74:768c:fa68)
2026-03-29 07:41:20 Guest62 joins (~Guest62@p200300ca8f23fa006ed0063bd1d9f371.dip0.t-ipconnect.de)
2026-03-29 07:43:03 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-03-29 07:47:33 × juri_ quits (~juri@217-114-215-140.pool.ovpn.com) (Ping timeout: 246 seconds)
2026-03-29 07:49:36 juri_ joins (~juri@217-114-215-140.pool.ovpn.com)
2026-03-29 07:50:39 <haskellbridge> <sm> haskell-links.org has been retired, use https://silicon.int-e.eu/lambdabot/State/where.html instead
2026-03-29 07:52:21 × nek0 quits (~nek0@user/nek0) (Quit: The Lounge - https://thelounge.chat)
2026-03-29 07:53:15 <haskellbridge> <sm> .
2026-03-29 07:53:15 <haskellbridge> @where browser-keywords
2026-03-29 07:53:15 <lambdabot> https://gist.github.com/simonmichael/6f95f7d72048649a9ba05c7b31e44968 time-saving Haskell-related url macros
2026-03-29 07:53:50 koala_man joins (~vidar@157.146.251.23.bc.googleusercontent.com)
2026-03-29 07:54:01 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-29 07:56:12 mistivia joins (~mistivia@user/mistivia)
2026-03-29 07:57:50 nek0 joins (~nek0@user/nek0)
2026-03-29 07:58:05 × koala_man quits (~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 245 seconds)
2026-03-29 08:01:37 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2026-03-29 08:05:04 acidjnk_new3 joins (~acidjnk@p200300d6e700e55368351fe88f29e79a.dip0.t-ipconnect.de)
2026-03-29 08:06:13 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-29 08:06:38 × mistivia quits (~mistivia@user/mistivia) (Remote host closed the connection)
2026-03-29 08:06:52 mistivia joins (~mistivia@user/mistivia)
2026-03-29 08:06:56 <gentauro> geekosaur: do you have a Framework laptop?
2026-03-29 08:07:01 bggd joins (~bgg@user/bggd)
2026-03-29 08:11:07 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-29 08:12:38 Square2 joins (~Square@user/square)
2026-03-29 08:14:58 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-03-29 08:15:51 × _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Read error: Connection reset by peer)
2026-03-29 08:17:39 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
2026-03-29 08:18:00 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.10.1 - https://znc.in)
2026-03-29 08:18:50 berberman joins (~berberman@user/berberman)
2026-03-29 08:21:36 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-29 08:23:33 _d0t joins (~{-d0t-}@user/-d0t-/x-7915216)
2026-03-29 08:24:11 <gentauro> is there a way to turn EVERYTHING off in a `GHCi` session? I tried with `λ> :set -XNoImplicitPrelude` but didn't seem to work …
2026-03-29 08:25:01 <tomsmeding> gentauro: what remains?
2026-03-29 08:25:20 <gentauro> λ> 4 + 2 -- 6 (0.00 secs, 111,456 bytes)
2026-03-29 08:25:31 <[exa]> gentauro: I think you have to use that one as a commandline argument
2026-03-29 08:25:33 koala_man joins (~vidar@157.146.251.23.bc.googleusercontent.com)
2026-03-29 08:25:41 <tomsmeding> gentauro: ghci -XNoImplicitPrelude
2026-03-29 08:25:57 <[exa]> gentauro: anyway I was using just `import Prelude ()` to kinda hide the conflicty things
2026-03-29 08:25:58 <tomsmeding> if you set it with :set then it doesn't un-import Prelude, it just sets it to not be imported next time
2026-03-29 08:26:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-03-29 08:27:05 <gentauro> tomsmeding: this worked like charm -> `ghci -XNoImplicitPrelude` (many thx)
2026-03-29 08:27:29 <tomsmeding> gentauro: possibly add -ignore-dot-ghci if your .ghci uses Prelude stuff
2026-03-29 08:29:11 <gentauro> tomsmeding: my `~/.ghci` is quite basic -> https://paste.tomsmeding.com/QcokzxL2
2026-03-29 08:32:49 × koala_man quits (~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 268 seconds)
2026-03-29 08:34:53 gentauro alias ddd='stack ghci --ghc-options -XNoImplicitPrelude' 👀
2026-03-29 08:36:56 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-29 08:39:30 <gentauro> have any of you used this approach for domain-driven design (DDD) doing "real-time" defs with customers? https://paste.tomsmeding.com/cPSF7ANV
2026-03-29 08:40:35 koala_man joins (~vidar@157.146.251.23.bc.googleusercontent.com)
2026-03-29 08:40:42 <gentauro> there is no implementation details, however, it's "very easy" to define the systems domain like that (Haskell enforce corretness and provides you with a nice AST you can then use to generate "boiler plate stuff")
2026-03-29 08:41:22 <[exa]> gentauro: so basically you agree with customers on the highlevel-ish types of all operations?
2026-03-29 08:41:23 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-03-29 08:41:27 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 246 seconds)
2026-03-29 08:42:34 × xff0x quits (~xff0x@2405:6580:b080:900:fe0d:cc74:768c:fa68) (Ping timeout: 256 seconds)
2026-03-29 08:42:48 <gentauro> [exa]: [exa]ctly !!!
2026-03-29 08:42:57 <tomsmeding> lol
2026-03-29 08:43:01 <gentauro> xD
2026-03-29 08:43:35 [exa] feels boxed
2026-03-29 08:43:45 tomsmeding blames [exa]
2026-03-29 08:43:59 <[exa]> perhaps I'm undefined the whole time guys, you never know until you force it
2026-03-29 08:44:37 <tomsmeding> I think you're just an infinite loop
2026-03-29 08:45:30 <[exa]> gentauro: anyway. :D back in the time when I was dealing with actual customers we didn't have much haskell (nor customer understanding for functional programming). So we did a roughly similar thing but with constraints and as little "concrete objects" as possible because customers tended to have opinions about anything they could imagine as materializable (they often imagined it wrong)
2026-03-29 08:45:35 × koala_man quits (~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 245 seconds)
2026-03-29 08:47:26 <gentauro> [exa]: «(they often imagined it wrong)» this comes to mind -> https://www.youtube.com/watch?v=BKorP55Aqvg
2026-03-29 08:48:25 <[exa]> gentauro: so the sotware kinda looked like a minimal set of actors (I was calling them "robots"), the robots ahd constraints ("must know this", "remembers this", "must not know this" because of security etc, "listens to requests from these guys"), and the "actions" were written usually as pre-conditions and post-conditions to avoid folks from starting to think about programs
2026-03-29 08:48:50 <gentauro> I normally sit in emacs (terminal ofc). Left part of screen is module for defining domain and right part is GHCi. We start basic and then CTRL+L (evaluate to GHCi). If there are any inconsistencies, Haskell WILL tell you
2026-03-29 08:49:17 <[exa]> yeah the point is that 99% of the usual programming job was the inconsistencies :D
2026-03-29 08:49:18 <gentauro> it's always easier to tell customers: "Your suggestions is not sound" by showing that having to argue for ages
2026-03-29 08:50:21 <[exa]> anyway the whole point was that the customers were not very computer friendly and they knew much better about what they did _not_ want, instead of the actual form of stuff that they wanted.
2026-03-29 08:50:50 <gentauro> once high-level is in place, we can begin to add attributes. Lets say for Person. We can also translate Person to a sumtype (Adult | Child and so)
2026-03-29 08:51:14 <[exa]> tomsmeding: oh let me quickly fix this loop here......whoops now there's two of them
2026-03-29 08:51:31 <gentauro> [exa]: the most diff thing to do is to actually show customers what they NEED and not what they want ;)
2026-03-29 08:51:48 <[exa]> yeah
2026-03-29 08:52:18 <gentauro> all the consultancies I worked for, I was tech-sales dude
2026-03-29 08:52:19 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-29 08:52:59 <gentauro> people always asked why I was doing it. Didn't I like code more. My answer was always: "Do you prefer that we bid on projects with the snake-oil sales reps?"
2026-03-29 08:52:59 <[exa]> extracting the needs without the taint of wishes and assumptions, the holy grail of customer relations :D
2026-03-29 08:53:50 arandombit joins (~arandombi@2a02:2455:8656:7100:4dba:7f3:232c:4f01)
2026-03-29 08:53:50 × arandombit quits (~arandombi@2a02:2455:8656:7100:4dba:7f3:232c:4f01) (Changing host)
2026-03-29 08:53:50 arandombit joins (~arandombi@user/arandombit)
2026-03-29 08:55:46 <gentauro> and getting paid for your those (scoping is SO important). However, birds-eye-view is as important as well. If you can spot (early) something that is essential for the project to a succeed and somehow get that in (and other stuff out) you are a God among people
2026-03-29 08:55:50 <gentauro> xD
2026-03-29 08:57:19 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
2026-03-29 08:57:21 m2 joins (~travltux@user/travltux)
2026-03-29 08:57:29 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-03-29 08:58:43 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 268 seconds)
2026-03-29 09:00:49 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-03-29 09:03:45 × Guest62 quits (~Guest62@p200300ca8f23fa006ed0063bd1d9f371.dip0.t-ipconnect.de) (Quit: Client closed)
2026-03-29 09:06:29 × m2 quits (~travltux@user/travltux) (Quit: WeeChat 4.7.2)
2026-03-29 09:06:46 m2 joins (~travltux@user/travltux)

All times are in UTC.