Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-05-06 08:02:31 kritzefitz joins (~kritzefit@212.86.56.80)
2021-05-06 08:02:52 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 240 seconds)
2021-05-06 08:03:06 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
2021-05-06 08:03:36 <tdammers> also, the naive OOP design approach ("identify domain objects; make them classes; identify domain operations; make them methods of the class that is the noun of the operation") isn't very good in practice
2021-05-06 08:05:25 <[exa]> it's almost a good practice if all classes really correspond to objects and all methods really correspond to verbs
2021-05-06 08:05:58 <[exa]> uNfOrTuNaTeLy reality often denies this representation
2021-05-06 08:06:42 × fendor_ quits (~fendor@91.141.1.157.wireless.dyn.drei.com) (Remote host closed the connection)
2021-05-06 08:06:52 bahamas_ joins (~lucian@188.27.62.94)
2021-05-06 08:07:02 fendor_ joins (~fendor@91.141.1.157.wireless.dyn.drei.com)
2021-05-06 08:07:10 × gitgoood quits (~gitgood@80-44-12-75.dynamic.dsl.as9105.com) (Quit: Probably away to do something really awesome)
2021-05-06 08:09:20 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 246 seconds)
2021-05-06 08:09:57 × hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
2021-05-06 08:10:30 dpl joins (~dpl@77-121-78-163.chn.volia.net)
2021-05-06 08:12:13 × Sgeo quits (~Sgeo@ool-18b9875e.dyn.optonline.net) (Read error: Connection reset by peer)
2021-05-06 08:12:15 hendursaga joins (~weechat@gateway/tor-sasl/hendursaga)
2021-05-06 08:13:26 × kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 240 seconds)
2021-05-06 08:13:58 kritzefitz joins (~kritzefit@2003:5b:203b:200::10:49)
2021-05-06 08:14:10 <tdammers> it's not the noun-object/verb-method thing I find questionable per se; it's which nouns and verbs you choose, and "verbs must be accompanied by nouns at all times" (Kingdom Of Nouns)
2021-05-06 08:14:35 <tdammers> I mean, we do "noun-data/verb-function" in haskell all the time
2021-05-06 08:15:30 ph88 joins (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de)
2021-05-06 08:15:40 <ph88> hi all
2021-05-06 08:16:02 <ph88> is there some thing/hack that can be done to export more from a module for testing purposes only ?
2021-05-06 08:16:34 <merijn> ph88: No
2021-05-06 08:17:18 <merijn> ph88: You can work around this by having an internal library that exports everything and then have the public library and tests using that, with the public library only exporting a subset
2021-05-06 08:17:27 <tdammers> ph88: a somewhat uncontroversial thing to do is to put the library internals in modules named "Internal", but still expose them
2021-05-06 08:17:41 <ph88> thanks guys
2021-05-06 08:18:09 <tdammers> the "Internal" module name signals that the module isn't intended for consumers of the library, and its API may change without notice, and isn't considered covered by PVP
2021-05-06 08:18:40 × othe1 quits (~othe@139.28.218.148) (Remote host closed the connection)
2021-05-06 08:23:45 LKoen joins (~LKoen@140.170.9.109.rev.sfr.net)
2021-05-06 08:24:22 <olle> xsperry: I'm actually not convinced that's true. FP feels like you have to touch old code both when adding operations AND new data.
2021-05-06 08:25:37 <jacks2> how so? if you add a new operation (function), old code remains the same
2021-05-06 08:26:51 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2021-05-06 08:27:19 × todda7 quits (~torstein@2a02:587:3724:1a75:aca:df22:9d82:969f) (Ping timeout: 260 seconds)
2021-05-06 08:27:23 berberman joins (~berberman@unaffiliated/berberman)
2021-05-06 08:28:13 <tdammers> touching old code isn't bad per se
2021-05-06 08:28:37 <tdammers> it's only bad when you can't do it safely
2021-05-06 08:28:46 <DigitalKiwi> at least in haskell touching old code is not so painful
2021-05-06 08:28:48 <jacks2> olle, this page has good examples: http://wiki.c2.com/?ExpressionProblem
2021-05-06 08:29:08 Pickchea joins (~private@unaffiliated/pickchea)
2021-05-06 08:29:38 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 268 seconds)
2021-05-06 08:30:04 <DigitalKiwi> python i wrote a week ago i have no effing idea what it does anymore and takes hours to debug; haskell from years ago that i don't even remember how to write i can modify >.>
2021-05-06 08:30:25 × toppler quits (~user@mtop.default.momentoftop.uk0.bigv.io) (Read error: Connection reset by peer)
2021-05-06 08:30:39 toppler joins (~user@mtop.default.momentoftop.uk0.bigv.io)
2021-05-06 08:30:47 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-05-06 08:30:48 <tdammers> that's the "change it safely" part I was hinting at
2021-05-06 08:31:27 <jacks2> olle, note that this isn't related to languages, but to modeling. record of functions follow OOP style of modeling, so adding a new functionality would require modifying original file (to add new function in the record)
2021-05-06 08:33:24 <DigitalKiwi> tdammers: yeah i hadn't even read all of your messages when i started typing lol
2021-05-06 08:34:00 × caubert quits (~caubert@136.244.111.235) (Quit: WeeChat 3.0)
2021-05-06 08:34:04 torax joins (~torax@139.28.218.148)
2021-05-06 08:34:18 caubert joins (~caubert@136.244.111.235)
2021-05-06 08:36:38 nineonine joins (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f)
2021-05-06 08:40:48 × perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.1)
2021-05-06 08:40:49 × nineonine quits (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f) (Ping timeout: 245 seconds)
2021-05-06 08:43:00 perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2021-05-06 08:43:31 × lieven quits (~mal@unaffiliated/lieven) (Ping timeout: 250 seconds)
2021-05-06 08:45:00 × perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Client Quit)
2021-05-06 08:45:40 <olle> I was thinking if splitting one OOP class into multiple files, each file implementing an interface, would "solve" the expression problem.
2021-05-06 08:46:03 <olle> extend class Foo with SaveableInterface { save(dbConnection); }
2021-05-06 08:46:09 <Aleksejs> Hello, I tried to implement a "cyclic" type (succ maxBound = minBound) and I managed to do that but it looks quite ugly http://vpaste.net/NmA9K. I wonder if there is a better way
2021-05-06 08:48:33 × remedan quits (~remedan@balak.me) (Quit: Bye!)
2021-05-06 08:48:42 <tdammers> olle: the explanation is a bit involved, but no, it doesn't. you're just moving the problem around.
2021-05-06 08:49:19 M66bdd7f1f556[m] joins (M66bdd7f1f@gateway/shell/matrix.org/x-oqbjqmoraaxfqpmo)
2021-05-06 08:50:14 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-05-06 08:51:22 <jacks2> olle, see this: http://www.cs.ru.nl/~W.Swierstra/Publications/DataTypesALaCarte.pdf
2021-05-06 08:51:52 <olle> jacks2: thanks!
2021-05-06 08:54:56 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
2021-05-06 08:55:02 remedan joins (~remedan@balak.me)
2021-05-06 08:59:31 dhil joins (~dhil@195.213.192.4)
2021-05-06 08:59:51 × nrdmn98 quits (~nrdmn@aufmachen.jetzt) (Ping timeout: 252 seconds)
2021-05-06 09:00:11 × amerocu[m] quits (amerocumat@gateway/shell/matrix.org/x-ettekisbiqeapgti) (Quit: Idle for 30+ days)
2021-05-06 09:00:11 × stevekrouse1[m] quits (stevekrous@gateway/shell/matrix.org/x-yavjkxinulfgxwlk) (Quit: Idle for 30+ days)
2021-05-06 09:01:23 × xff0x quits (~xff0x@2001:1a81:5284:1d00:fc89:b54a:8d08:1b37) (Ping timeout: 260 seconds)
2021-05-06 09:02:09 xff0x joins (~xff0x@2001:1a81:529c:3600:b6e:989c:229a:901a)
2021-05-06 09:05:10 × coot quits (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-05-06 09:05:26 coot joins (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl)
2021-05-06 09:05:54 acidjnk_new2 joins (~acidjnk@p200300d0c72b9513e05ff4b2b19e02c9.dip0.t-ipconnect.de)
2021-05-06 09:07:41 × toppler quits (~user@mtop.default.momentoftop.uk0.bigv.io) (Read error: Connection reset by peer)
2021-05-06 09:07:58 Synthetica joins (uid199651@gateway/web/irccloud.com/x-zjwhyipdmwoktmxx)
2021-05-06 09:07:58 toppler joins (~user@mtop.default.momentoftop.uk0.bigv.io)
2021-05-06 09:09:12 CrazyPython joins (~crazypyth@98.122.164.118)
2021-05-06 09:12:10 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-05-06 09:12:35 oish joins (~charlie@228.25.169.217.in-addr.arpa)
2021-05-06 09:13:07 × hypercube quits (~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Quit: WeeChat 3.1)
2021-05-06 09:20:20 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
2021-05-06 09:20:41 jb55 joins (~jb55@gateway/tor-sasl/jb55)
2021-05-06 09:20:59 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-05-06 09:25:43 <carbolymer> my application uses 8GB of RAM, in heap profile I can only see ~1GB of memory
2021-05-06 09:25:52 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-05-06 09:25:56 <carbolymer> where's the rest? stack?
2021-05-06 09:26:50 <[exa]> fragmentation?
2021-05-06 09:26:59 × stree quits (~stree@68.36.8.116) (Ping timeout: 268 seconds)
2021-05-06 09:27:01 <carbolymer> you mean slop? or what?
2021-05-06 09:31:35 <merijn> carbolymer: How are you measuring that 8GB?
2021-05-06 09:31:58 <carbolymer> merijn: EKG, current residency
2021-05-06 09:32:22 <merijn> current residency of 8GB? oof...
2021-05-06 09:32:42 <merijn> carbolymer: Probably pinned memory if it's not heap?
2021-05-06 09:33:21 <merijn> carbolymer: But without any profilng output/source/whatever all anyone can do is blind guesswork
2021-05-06 09:33:45 <carbolymer> merijn: pinned shows up in heap output afair
2021-05-06 09:35:13 <merijn> carbolymer: I can't think of anything that would be that big and not in the profiling output, tbh
2021-05-06 09:35:36 <merijn> carbolymer: What does "+RTS -sstderr" report?

All times are in UTC.