Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-03-22 23:02:31 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-22 23:02:57 × stevenxl quits (~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Ping timeout: 264 seconds)
2021-03-22 23:03:32 <Axman6> bbhoss: are you implementing any other electoral systems? the one we use here is quite interesting, and lends itself quite nicely to using Rational, since you end up with fractional votes
2021-03-22 23:04:08 × roconnor quits (~roconnor@host-45-58-230-226.dyn.295.ca) (Ping timeout: 260 seconds)
2021-03-22 23:04:09 × titusg quits (~user@152.229.6.51.dyn.plus.net) (Ping timeout: 264 seconds)
2021-03-22 23:04:09 <bbhoss> Axman6: I wasn't planning on it but they are a lot of fun to work through. what is the system?
2021-03-22 23:04:12 stree joins (~stree@68.36.8.116)
2021-03-22 23:04:41 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
2021-03-22 23:05:29 jacks2 joins (~bc8134e3@217.29.117.252)
2021-03-22 23:05:30 <Axman6> the actual implementation that's used is open source and available at https://www.elections.act.gov.au/elections_and_voting/electronic_voting_and_counting - it's in C, which scares me. The system, is the Hare-Clark system
2021-03-22 23:05:54 <Axman6> hmm,according to that page it's written in Ada... but I remember looking at it and could have sworn it was C
2021-03-22 23:06:12 × Cerato quits (~Cerberus@185.207.164.90) (Remote host closed the connection)
2021-03-22 23:07:44 × chele quits (~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2021-03-22 23:09:33 <bbhoss> I shudder to think what the actual implementation is in here in the US. we are rushing to try to do the first ranked choice elections here in NYC, apparently the software isn't "certified" yet. the smaller ones they've just done by hand apparently
2021-03-22 23:09:36 stevenxl joins (~stevenlei@c-73-45-168-220.hsd1.il.comcast.net)
2021-03-22 23:11:14 × cabpa_ quits (~cabpa@180.190.165.139) (Remote host closed the connection)
2021-03-22 23:11:18 <bbhoss> oh it's apparently available on github, +1 to that
2021-03-22 23:11:35 <bbhoss> https://github.com/BrightSpots/rcv
2021-03-22 23:11:40 perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2021-03-22 23:11:41 cabpa_ joins (~cabpa@180.190.165.139)
2021-03-22 23:14:03 × stevenxl quits (~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Ping timeout: 246 seconds)
2021-03-22 23:14:23 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-22 23:14:27 <bbhoss> of course it's just one huge while loop
2021-03-22 23:15:26 <Axman6> ha
2021-03-22 23:17:42 <ski> @wiki Obfuscation -- wz1000
2021-03-22 23:17:42 <lambdabot> https://wiki.haskell.org/Obfuscation__--_wz1000
2021-03-22 23:17:46 <ski> er
2021-03-22 23:17:48 <ski> @wiki Obfuscation
2021-03-22 23:17:48 <lambdabot> https://wiki.haskell.org/Obfuscation
2021-03-22 23:20:52 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Ping timeout: 268 seconds)
2021-03-22 23:26:34 × jess quits (jess@freenode/staff/jess) (Quit: K-Lined)
2021-03-22 23:27:36 j joins (jess@freenode/staff/jess)
2021-03-22 23:30:24 solidus-river joins (~mike@174.127.249.180)
2021-03-22 23:31:09 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-03-22 23:32:25 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-22 23:33:25 jb55 joins (~jb55@gateway/tor-sasl/jb55)
2021-03-22 23:33:30 × mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Remote host closed the connection)
2021-03-22 23:34:06 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
2021-03-22 23:37:58 vicfred joins (vicfred@gateway/vpn/mullvad/vicfred)
2021-03-22 23:40:11 × jacks2 quits (~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout))
2021-03-22 23:42:55 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-22 23:43:26 Tario joins (~Tario@201.192.165.173)
2021-03-22 23:43:45 × cabpa_ quits (~cabpa@180.190.165.139) (Ping timeout: 264 seconds)
2021-03-22 23:44:02 stevenxl joins (~stevenlei@c-73-45-168-220.hsd1.il.comcast.net)
2021-03-22 23:44:57 jamm_ joins (~jamm@unaffiliated/jamm)
2021-03-22 23:47:09 × dsrt^ quits (dsrt@ip98-184-89-2.mc.at.cox.net) ()
2021-03-22 23:48:08 × stevenxl quits (~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Ping timeout: 240 seconds)
2021-03-22 23:48:33 × is_null_ quits (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 264 seconds)
2021-03-22 23:49:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-03-22 23:49:20 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
2021-03-22 23:49:29 solarus joins (~solarus@2a03:b0c0:2:d0::48:7001)
2021-03-22 23:52:07 × perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.1)
2021-03-22 23:52:33 × myShoggoth quits (~myShoggot@75.164.81.55) (Ping timeout: 245 seconds)
2021-03-22 23:54:44 todda7 joins (~torstein@2a02:587:1b19:7e00:c6c7:4f08:2883:aa95)
2021-03-22 23:55:05 forp joins (57e3c46d@87.227.196.109)
2021-03-22 23:55:18 is_null joins (~jpic@pdpc/supporter/professional/is-null)
2021-03-22 23:55:41 nrh^ joins (nrh@ip98-184-89-2.mc.at.cox.net)
2021-03-22 23:56:59 × Nik05 quits (~Nik05@unaffiliated/nik05) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-22 23:57:20 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-03-22 23:58:09 × z0k quits (~user@115.186.169.1) (Ping timeout: 264 seconds)
2021-03-22 23:59:35 Nik05 joins (~Nik05@unaffiliated/nik05)
2021-03-22 23:59:43 × usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-03-23 00:02:45 <forp> Monads are used in FP as a workaround to producing side-effects. Would you say then monads are useful outside FP?
2021-03-23 00:03:09 <Axman6> monads are not a workaround for anything
2021-03-23 00:03:29 <Axman6> if you program in any language, you use monads every day, you just don't call them what they are
2021-03-23 00:03:46 <Axman6> because of this, the answer to your question is categorically yes
2021-03-23 00:03:46 <forp> Axman6, can you give an example
2021-03-23 00:04:06 <pjb> Well, there are implicit monads, (or not, depending on the formal semantics), but you could also have explicit monads.
2021-03-23 00:04:23 <Axman6> every time you interact with the outside world in a program, every time you deal with pointers which may be null, every time you write a for loop over the items in an array
2021-03-23 00:05:06 <forp> None of that is a monad.
2021-03-23 00:05:16 <forp> I think you may be yourself looking through Haskell tinted glasses
2021-03-23 00:05:18 <Axman6> all of those are monads
2021-03-23 00:06:13 <Axman6> the premise of your question shows you aren't very familiar with what monads are, so why would you think I'm not?
2021-03-23 00:06:15 <addem[m]> I never fully got what a monad was. I think they're something like, any type with a bind and a return. So to put it reductively it's one kind of a signature for a module (possibly speaking OCaml here since I know that language slightly more).
2021-03-23 00:06:16 <addem[m]> But what the hell do I know, amirite?
2021-03-23 00:06:21 <forp> They really aren't. Just because you need a monad for this in Haskell isn't a proof that everyone does
2021-03-23 00:06:27 <forp> A monad is an API in haskell
2021-03-23 00:06:30 <forp> Not the implementation
2021-03-23 00:07:13 <Axman6> suit yourself
2021-03-23 00:07:32 <Axman6> the monad type class does not define what a monad is though
2021-03-23 00:07:35 nighmi is all-suited
2021-03-23 00:07:46 <forp> Axman6, it defines an interface.
2021-03-23 00:08:27 <forp> Axman6, I just don't think when I, say, to write_file('file.txt', 'Hello') I'm doing anything that fits the definition of a monad
2021-03-23 00:08:47 <Axman6> there are many things which are monads which we can't imeplement an instance for Monad in Haskell, it's a much more general concept than the Haskell concept
2021-03-23 00:09:31 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 272 seconds)
2021-03-23 00:10:48 <Axman6> forp: have you ever used a ? operator in any OO language? foo.bar?baz.quux?id?
2021-03-23 00:11:34 <forp> Axman6, null coalescing?
2021-03-23 00:11:38 <Axman6> yes
2021-03-23 00:12:08 <Axman6> it implements exactly the behaviour of the Maybe monad
2021-03-23 00:12:22 <forp> It does, but does it do it through a monad
2021-03-23 00:12:35 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
2021-03-23 00:12:48 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
2021-03-23 00:12:59 <nighmi> "through" may not be the best preposition here
2021-03-23 00:13:13 <forp> forp, essentially I wonder if creating Monad types is worth it outside FP.
2021-03-23 00:13:28 <forp> forp, one "monadic" construction I can think of is Promises
2021-03-23 00:13:29 <Axman6> have you ever wruitten code which did out = []; for(x in anArray) { for(b in anotherArray) { out.pushBack(someSomethingWith(a,b)); }}?
2021-03-23 00:13:34 <forp> Axman6*
2021-03-23 00:13:53 <Axman6> that's the list monad
2021-03-23 00:14:26 <forp> Okay thanks
2021-03-23 00:15:29 <Axman6> forp: you might find this useful: https://codon.com/refactoring-ruby-with-monads

All times are in UTC.