Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-04-15 14:24:58 <tdammers> well yeah, debuggers being shit also contributes
2021-04-15 14:25:11 <merijn> Good debuggers exist, but people charge :p
2021-04-15 14:25:30 <maerwald> my debugger is printf
2021-04-15 14:25:33 <tdammers> but the fundamental problem remains that step-debugging is usually ad-hoc and unprincipled
2021-04-15 14:25:36 <maerwald> screw everything else
2021-04-15 14:25:45 <tdammers> even printf-debugging is more principled than step debugging
2021-04-15 14:26:25 <maerwald> also, gdb acts weird with O2 sometimes and some bugs disappear with O0
2021-04-15 14:26:51 <merijn> maerwald: printf is my default too, tbh
2021-04-15 14:27:03 <kuribas> hyperisco: the usecase is this, I want to make a combinator library for generating some javascript, and some combinations are invalid. Proving them invalid in code makes the types complicated, requires typeclasses, phantom types, etc... however doing it using a runtime error is relatively easy.
2021-04-15 14:27:10 Profpatsch joins (~Profpatsc@static.88-198-193-255.clients.your-server.de)
2021-04-15 14:27:54 <tdammers> kuribas: in that case, the standard Haskell approach would be to lock down what you can with types, within reason, and use property testing to deal with the rest
2021-04-15 14:28:17 Profpatsch parts (~Profpatsc@static.88-198-193-255.clients.your-server.de) ("WeeChat 3.0.1")
2021-04-15 14:28:21 <hyperisco> kuribas, I wouldn't bother then
2021-04-15 14:28:43 <kuribas> tdammers: how would property testing help the user get it right?
2021-04-15 14:29:26 <kuribas> tdammers: or do you mean the user should property test their use?
2021-04-15 14:29:55 <kuribas> I guess unit tests will help, not sure how to make property tests for the generated javascript...
2021-04-15 14:32:01 <tdammers> I meant property-test the combinators to make sure they meet the specification
2021-04-15 14:32:04 <dolio> Are you talking about giving a 'runtime error' during the generation of the JS? Because that sounds like in this scenario it's actually a static error.
2021-04-15 14:32:25 <tdammers> ^ that
2021-04-15 14:32:27 <dolio> Which is precisely what the 'total functions' are supposed to accomplish in the scenarios you're talking about.
2021-04-15 14:33:32 raichoo joins (~raichoo@dslb-088-077-024-130.088.077.pools.vodafone-ip.de)
2021-04-15 14:33:58 __minoru__shirae joins (~shiraeesh@109.166.58.151)
2021-04-15 14:34:48 mrchampion joins (~mrchampio@38.18.109.23)
2021-04-15 14:35:16 × tv quits (~tv@unaffiliated/tv) (Ping timeout: 252 seconds)
2021-04-15 14:35:37 <kuribas> dolio: yeah
2021-04-15 14:36:01 <dolio> The analogue of what people dislike about partial functions would be your tool saying nothing, but generating JS that fails for customers instead.
2021-04-15 14:42:03 <kuribas> indeed
2021-04-15 14:42:59 × ericsagnes quits (~ericsagne@2405:6580:0:5100:b785:70ea:2ff6:8e22) (Ping timeout: 260 seconds)
2021-04-15 14:46:17 Wizek joins (uid191769@gateway/web/irccloud.com/x-rypqrtfuoeoxlmkt)
2021-04-15 14:47:13 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-04-15 14:48:29 × acidjnk_new quits (~acidjnk@p200300d0c72b9573c48ebca42f820036.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-04-15 14:53:32 × knupfer quits (~Thunderbi@200116b82be60c00402734a0c266fa8b.dip.versatel-1u1.de) (Ping timeout: 258 seconds)
2021-04-15 14:54:43 tv joins (~tv@unaffiliated/tv)
2021-04-15 14:56:10 × Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer)
2021-04-15 14:56:18 ericsagnes joins (~ericsagne@2405:6580:0:5100:335e:738b:9066:e6)
2021-04-15 14:56:34 Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net)
2021-04-15 14:57:10 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
2021-04-15 14:59:47 Deide joins (~Deide@217.155.19.23)
2021-04-15 15:02:58 <absence> maralorn: cool, thanks
2021-04-15 15:02:58 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
2021-04-15 15:03:03 × Raito_Bezarius quits (~Raito@unaffiliated/raito-bezarius/x-8764578) (Ping timeout: 260 seconds)
2021-04-15 15:06:19 × malumore quits (~malumore@151.62.126.218) (Remote host closed the connection)
2021-04-15 15:06:57 malumore joins (~malumore@151.62.126.218)
2021-04-15 15:07:44 knupfer joins (~Thunderbi@i577BCD8A.versanet.de)
2021-04-15 15:08:57 alx741 joins (~alx741@181.196.69.92)
2021-04-15 15:10:14 nbloomf joins (~nbloomf@2600:1700:ad14:3020:79ab:58a1:3b3d:8069)
2021-04-15 15:11:50 Guest78317 joins (~laudiacay@67.176.215.84)
2021-04-15 15:13:47 × hiroaki_ quits (~hiroaki@2a02:8108:8c40:2bb8:6755:5277:6a5:378b) (Ping timeout: 260 seconds)
2021-04-15 15:15:24 Raito_Bezarius joins (~Raito@unaffiliated/raito-bezarius/x-8764578)
2021-04-15 15:15:59 × Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 246 seconds)
2021-04-15 15:16:14 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:79ab:58a1:3b3d:8069) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-04-15 15:18:19 nbloomf joins (~nbloomf@2600:1700:ad14:3020:79ab:58a1:3b3d:8069)
2021-04-15 15:19:45 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-15 15:20:45 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:79ab:58a1:3b3d:8069) (Client Quit)
2021-04-15 15:20:53 × BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 240 seconds)
2021-04-15 15:22:18 BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
2021-04-15 15:22:56 frozenErebus joins (~frozenEre@37.231.244.249)
2021-04-15 15:23:25 nbloomf joins (~nbloomf@2600:1700:ad14:3020:79ab:58a1:3b3d:8069)
2021-04-15 15:30:18 viluon joins (uid453725@gateway/web/irccloud.com/x-sdeodmvqokbrtcvh)
2021-04-15 15:30:22 nineonine joins (~nineonine@50.216.62.2)
2021-04-15 15:31:49 × rmk236 quits (~lcampos@2a02:908:3616:b100:7f3a:e025:cd55:2b03) (Remote host closed the connection)
2021-04-15 15:32:46 myShoggoth joins (~myShoggot@97-120-72-12.ptld.qwest.net)
2021-04-15 15:34:40 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 252 seconds)
2021-04-15 15:35:30 × idhugo quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
2021-04-15 15:36:59 LKoen_ joins (~LKoen@65.250.88.92.rev.sfr.net)
2021-04-15 15:38:04 × graf_blutwurst quits (~user@2001:171b:226e:adc0:24b2:5439:95f2:6db1) (Remote host closed the connection)
2021-04-15 15:39:12 × LKoen quits (~LKoen@65.250.88.92.rev.sfr.net) (Ping timeout: 240 seconds)
2021-04-15 15:40:28 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-04-15 15:40:48 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1)
2021-04-15 15:41:02 × cloudpip quits (sid67735@gateway/web/irccloud.com/x-lqqwgjfhbduhzygo) (Changing host)
2021-04-15 15:41:02 cloudpip joins (sid67735@unixcorps/staff/pippijn)
2021-04-15 15:41:35 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-15 15:45:02 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 246 seconds)
2021-04-15 15:46:37 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-04-15 15:46:54 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:79ab:58a1:3b3d:8069) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-04-15 15:47:49 × kritzefitz quits (~kritzefit@2003:5b:203b:200::10:49) (Remote host closed the connection)
2021-04-15 15:48:25 × Pickchea quits (~private@unaffiliated/pickchea) (Ping timeout: 252 seconds)
2021-04-15 15:53:37 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-04-15 15:53:46 <shapr> Does cabal support "find all source files in specified directory" ? That is, can cabal automatically create an export module list?
2021-04-15 15:53:49 nbloomf joins (~nbloomf@2600:1700:ad14:3020:79ab:58a1:3b3d:8069)
2021-04-15 15:54:31 <edwardk> shapr: no
2021-04-15 15:54:33 <geekosaur> no. iirc that's one of the big reasons people prefer stack's package.yaml even though it's less capable in other ways
2021-04-15 15:54:38 <edwardk> shapr: you can do that through the stack toolchain
2021-04-15 15:54:58 × Guest61024 quits (~textual@zrcout.mskcc.org) (Ping timeout: 240 seconds)
2021-04-15 15:55:03 <shapr> edwardk: we want to switch from stack to cabal at work, so I'm checking feature parity
2021-04-15 15:55:35 <shapr> I've seen many cases where stack does more rebuilding than cabal when module change, but I haven't pinned it down to specifics.
2021-04-15 15:55:44 <edwardk> you can still use package.yaml through whatever tool it was that produces it
2021-04-15 15:55:56 <edwardk> er consumes it
2021-04-15 15:56:09 <shapr> so, use hpack to produce a cabal file?
2021-04-15 15:56:12 <edwardk> yeah
2021-04-15 15:56:16 <sclv> right, if you want autodiscovery
2021-04-15 15:56:26 <sclv> imho its overrated as a feature for production
2021-04-15 15:56:29 <edwardk> then you can just use the cabal toolchain from there
2021-04-15 15:56:34 <shapr> we also mentioned https://github.com/deech/cabal-auto-expose but I don't think anyone has tried it.
2021-04-15 15:56:40 <sclv> its really just handy for sort of experimental projects
2021-04-15 15:56:50 <edwardk> my concern with stack is mostly that the moment i want backpack multiple public libs to shrink my maintenance burden, etc. i get stuck
2021-04-15 15:57:06 <Franciman> stack is the inferior solution
2021-04-15 15:57:10 <sclv> but yeah, package.yaml vs cabal files is actually orthogonal to cabal/stack
2021-04-15 15:57:15 <shapr> Franciman: for some things! not for other things
2021-04-15 15:57:20 <sclv> its just stack runs stuff thru hpack by default

All times are in UTC.