Logs: freenode/#haskell
| 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.