Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2020-11-14 16:39:36 <orion> As an academic exercise, I am leaning towards trying to define a DSL to describe any generic voting system, but that may be a bit ambitious.
2020-11-14 16:40:29 <Zetagon> That sounds pretty cool though, it would make it easier to compare a bunch of systems right?
2020-11-14 16:40:38 <merijn> Zetagon: Would it, though?
2020-11-14 16:41:17 <Zetagon> I dunno, it would at least implementing different systems easier right? I have no idea how to actually do it
2020-11-14 16:41:27 <merijn> I don't think it would
2020-11-14 16:41:36 × xsarnik0 quits (xsarnik@gateway/shell/fi.muni.cz/x-sqicyawzroueowxj) (Quit: Ping timeout (120 seconds))
2020-11-14 16:41:48 <merijn> You can't even really define a generic ballot without including "basically everything"
2020-11-14 16:42:01 <systemfault> face
2020-11-14 16:42:08 <systemfault> oops, wrong browser.
2020-11-14 16:44:18 texasmynsted joins (~texasmyns@212.102.44.36)
2020-11-14 16:44:30 hackage polysemy-methodology-composite 0.1.4.0 - Functions for using polysemy-methodology with composite. https://hackage.haskell.org/package/polysemy-methodology-composite-0.1.4.0 (locallycompact)
2020-11-14 16:44:33 <orion> merijn: Hm, interesting. What do you mean by "basically everything"? Do you mean it in the spirit of the universal quantifier?
2020-11-14 16:45:23 × knupfer quits (~Thunderbi@87.123.206.158) (Ping timeout: 265 seconds)
2020-11-14 16:45:37 conal joins (~conal@64.71.133.70)
2020-11-14 16:46:53 mananamenos_ joins (~mananamen@84.122.202.215.dyn.user.ono.com)
2020-11-14 16:48:00 hackage ormolu 0.1.4.0 - A formatter for Haskell source code https://hackage.haskell.org/package/ormolu-0.1.4.0 (mrkkrp)
2020-11-14 16:49:22 × mananamenos quits (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 256 seconds)
2020-11-14 16:50:37 × conal quits (~conal@64.71.133.70) (Ping timeout: 264 seconds)
2020-11-14 16:51:24 <Zetagon> I'm thinking that there are many different voting systems so it's hard/impossible to generalize over all
2020-11-14 16:53:49 × Lycurgus quits (~niemand@cpe-45-46-134-163.buffalo.res.rr.com) (Quit: Exeunt)
2020-11-14 16:54:01 <orion> Okay, that's a more precise of saying that I intended.
2020-11-14 16:54:06 <orion> wat of*
2020-11-14 16:54:10 jaspervdj joins (~jaspervdj@213.55.241.35)
2020-11-14 16:54:10 <orion> way of**
2020-11-14 16:54:17 <carter> merijn: so many prjects need to migrate off Travis ci .
2020-11-14 16:55:45 xsarnik0 joins (xsarnik@gateway/shell/fi.muni.cz/x-hqlptmwsqmanredt)
2020-11-14 17:01:47 <hekkaidekapus> orion: There is <https://hackage.haskell.org/package/hjugement-protocol> whose maintainer hangs out in another channel. If you are interested, I can bribe him so that he joins #haskell :)
2020-11-14 17:02:37 × leungbk`` quits (~user@cpe-104-33-52-83.socal.res.rr.com) (Ping timeout: 264 seconds)
2020-11-14 17:03:00 nbloomf joins (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7)
2020-11-14 17:05:49 <orion> hekkaidekapus: Thanks! The inspiration for this idea came from this podcast: https://www.cryptography.fm/4
2020-11-14 17:07:33 <orion> It's an interesting coincidence that the package you mentioned is based in part on research done at INRIA. The aforementioned podcast episode is also based on research done at INRIA.
2020-11-14 17:07:43 <hekkaidekapus> orion: I have no clue in voting systems, I’m afraid listening to that podcast would be a good use of time. Let’s see if I can drag said maintainer into here.
2020-11-14 17:08:19 <hekkaidekapus> Since it’s the weekend, he might be slow to react, let’s see.
2020-11-14 17:09:15 <orion> hekkaidekapus: The tl;dl of the podcast is that the same formal methods used to verify the Signal and TLS protocols have been used to verify the French tax code.
2020-11-14 17:09:39 <carter> Huh
2020-11-14 17:09:46 <orion> If formal methods can be used to verify the French tax code, surely they can be applied to a simple Moose-lodge style voting system.
2020-11-14 17:11:34 <hekkaidekapus> I guess, yes.
2020-11-14 17:11:58 × todda7 quits (~torstein@ppp-2-84-17-169.home.otenet.gr) (Ping timeout: 256 seconds)
2020-11-14 17:12:00 <hekkaidekapus> (So French are screwed; no evasion possible, huh?)
2020-11-14 17:12:42 geekosaur joins (82659a09@host154-009.vpn.uakron.edu)
2020-11-14 17:13:01 hackage witch 0.0.0.0 - Convert values from one type into another. https://hackage.haskell.org/package/witch-0.0.0.0 (fozworth)
2020-11-14 17:13:24 <orion> While tax evasion might be eliminated, it might also allow a citizen to provably compute the lowest amount of taxes possible.
2020-11-14 17:14:03 <hekkaidekapus> I’m kidding, don’t mind me on the subject.
2020-11-14 17:14:27 <orion> I have my own views on the nature of taxation, but it's probably out of scope for this channel. ;)
2020-11-14 17:15:19 julm joins (~julm@revolt129.abo.ilico.org)
2020-11-14 17:15:35 <hekkaidekapus> orion: The maintainer is julm
2020-11-14 17:15:43 <julm> hi there :)
2020-11-14 17:15:48 <hekkaidekapus> Hi, julm!
2020-11-14 17:16:02 × HaskellYogi quits (~vivekrama@49.207.205.17) (Remote host closed the connection)
2020-11-14 17:16:40 HaskellYogi joins (~vivekrama@49.207.205.17)
2020-11-14 17:17:33 × vacm quits (~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-14 17:18:49 <orion> Hi julm. I have a task before me that I'd like to accomplish using Haskell. I am to implement a voting system for a "Moose-like" lodge. Members get to vote on other members, but it's not a simple majority.
2020-11-14 17:19:23 asheshambasta joins (~user@ptr-e1lysawl9rr13i61o92.18120a2.ip6.access.telenet.be)
2020-11-14 17:19:33 <merijn> carter: Yeah, like all of mine, which is why you should fix github actions so I don't have to ;)
2020-11-14 17:19:43 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds)
2020-11-14 17:20:36 <orion> julm: I was inspired by this podcast episode: https://www.cryptography.fm/4 -- Researchers at INRIA used formal methods to verify the French tax code. hekkaidekapus told me about hjugement-protocol, which I also see is inspired from research done at INRIA.
2020-11-14 17:21:25 × HaskellYogi quits (~vivekrama@49.207.205.17) (Ping timeout: 240 seconds)
2020-11-14 17:21:47 <orion> So my thinking is, if the entire French tax code can be modeled/encoded in this way, certainly a simple lodge voting system can be modeled also.
2020-11-14 17:21:59 <merijn> :ls
2020-11-14 17:22:32 sord937 joins (~sord937@gateway/tor-sasl/sord937)
2020-11-14 17:22:33 avdb joins (~avdb@ip-62-235-188-19.dsl.scarlet.be)
2020-11-14 17:22:51 HaskellYogi joins (~vivekrama@49.207.205.17)
2020-11-14 17:23:09 <orion> My initial thinking is that a DSL may be appropriate. I have sought prior art in this area, and hekkaidekapus was very kind enough to point me to your package and connect us. :)
2020-11-14 17:25:57 mirrorbird joins (~psutcliff@176.227.57.79)
2020-11-14 17:26:11 leungbk`` joins (~user@cpe-104-33-52-83.socal.res.rr.com)
2020-11-14 17:26:55 × indolering quits (~indolerin@178.162.212.214) (Remote host closed the connection)
2020-11-14 17:27:38 × HaskellYogi quits (~vivekrama@49.207.205.17) (Ping timeout: 260 seconds)
2020-11-14 17:28:29 HaskellYogi joins (~vivekrama@49.207.205.17)
2020-11-14 17:29:00 <Feuermagier> how do i take the symmetric difference of two lists (all entries of list b who are not also in list a)?
2020-11-14 17:29:02 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-14 17:30:34 <merijn> Feuermagier: You turns them into sets and use those instead ;)
2020-11-14 17:30:35 <hekkaidekapus> > [1 .. 10] \\ [1 ..5] -- Feuermagier
2020-11-14 17:30:37 <lambdabot> [6,7,8,9,10]
2020-11-14 17:30:57 × leungbk`` quits (~user@cpe-104-33-52-83.socal.res.rr.com) (Remote host closed the connection)
2020-11-14 17:31:07 <merijn> :t (\\)
2020-11-14 17:31:07 <Feuermagier> hekkaidekapus, so many interesting operators :D
2020-11-14 17:31:08 <lambdabot> Eq a => [a] -> [a] -> [a]
2020-11-14 17:31:31 × asheshambasta quits (~user@ptr-e1lysawl9rr13i61o92.18120a2.ip6.access.telenet.be) (Ping timeout: 272 seconds)
2020-11-14 17:31:34 <merijn> hekkaidekapus: Docs make no mention of symmetric different, though?
2020-11-14 17:32:11 <hekkaidekapus> merijn: Nope. A principled solution is via Set as you said.
2020-11-14 17:32:20 <julm> orion: ok, I've indeed initiated a few libraries on this topic, first https://hackage.haskell.org/package/hjugement implementing the voting method "Majority Judgment" designed by two mathematicians claiming it's the best one, and https://hackage.haskell.org/package/hjugement-protocol implementing the voting cryptographic protocol Helios-C, designed by several mathematicians and already implemented by Inria
2020-11-14 17:32:20 <julm> in OCaml https://www.belenios.org/
2020-11-14 17:32:21 <merijn> > [1 .. 10] \\ [5 .. 15]
2020-11-14 17:32:25 <lambdabot> [1,2,3,4]
2020-11-14 17:32:29 <merijn> That's wrong
2020-11-14 17:32:54 <hpc> it's correct for the parenthetical part of the question
2020-11-14 17:32:55 <merijn> @hackage containers -- Feuermagier
2020-11-14 17:32:55 <lambdabot> https://hackage.haskell.org/package/containers -- Feuermagier
2020-11-14 17:33:02 × HaskellYogi quits (~vivekrama@49.207.205.17) (Ping timeout: 264 seconds)
2020-11-14 17:33:07 <merijn> hpc: Ah, right
2020-11-14 17:33:39 <merijn> Feuermagier: If you wanna do anything other than "loop in sequence" with data, you probably want data structures from either containers or vector instead of lists :)
2020-11-14 17:33:51 dabura joins (~pablo@aftr-62-216-208-95.dynamic.mnet-online.de)
2020-11-14 17:34:11 HaskellYogi joins (~vivekrama@49.207.205.17)
2020-11-14 17:34:26 <Feuermagier> merijn, if time complexity isnt relevant i can just use the version of hekkaidekapus, right?
2020-11-14 17:34:50 <Feuermagier> that one is rather beautiful :P
2020-11-14 17:34:56 todda7 joins (~torstein@ppp-2-84-17-169.home.otenet.gr)
2020-11-14 17:35:07 <merijn> Feuermagier: Depends whether you want symmetric difference (as you said) or your instructions in the parenthesis (which are left-biased difference, rather than symmetric)
2020-11-14 17:35:43 <merijn> Feuermagier: Set has the same exact operator, though :p https://hackage.haskell.org/package/containers-0.6.4.1/docs/Data-Set.html#v:-92--92-
2020-11-14 17:35:45 × mmohammadi9812 quits (~mmohammad@2.178.173.138) (Read error: Connection reset by peer)
2020-11-14 17:35:52 <julm> orion: the description/links of the packages should help a lot to figure out how all this work, though the meta fields of those packages are not up-to-date: you'll find the latest code on https://code.sourcephile.fr/judgmentphile.git

All times are in UTC.