2015/07/31

2015-07-31 00:26:14 +0200mizu_no_oto(~textual@c-73-219-2-228.hsd1.ma.comcast.net)
2015-07-31 00:28:52 +0200mizu_no_oto(~textual@c-73-219-2-228.hsd1.ma.comcast.net) (Client Quit)
2015-07-31 00:36:33 +0200dkoontz(~dkoontz@ip24-251-178-237.ph.ph.cox.net)
2015-07-31 00:38:27 +0200 <dkoontz> question on .net compatibility, I’m stuck on an old version of mono, basically .net 3.5, I’m seeing conflicing info on which versions of F# are supported, some places say F# 2.0 but the Nuget package for F# 4 says .NET 2.0 is supported
2015-07-31 01:11:17 +0200 <Lions> ninegrid postgres uber alles
2015-07-31 01:46:28 +0200Guest71969(~tvn@193.138.219.233) (Ping timeout: 246 seconds)
2015-07-31 01:51:42 +0200bruceadams1(bruceadams@gateway/vpn/mullvad/x-novfryfhjrqecbye)
2015-07-31 02:14:26 +0200kmels(~kmels@186.64.110.122) (Ping timeout: 240 seconds)
2015-07-31 02:17:27 +0200mizu_no_oto(~textual@c-73-219-2-228.hsd1.ma.comcast.net)
2015-07-31 02:37:03 +0200mizu_no_oto(~textual@c-73-219-2-228.hsd1.ma.comcast.net) (Quit: Computer has gone to sleep.)
2015-07-31 02:39:04 +0200mizu_no_oto(~textual@c-73-219-2-228.hsd1.ma.comcast.net)
2015-07-31 02:57:45 +0200mizu_no_oto(~textual@c-73-219-2-228.hsd1.ma.comcast.net) (Quit: Computer has gone to sleep.)
2015-07-31 03:06:46 +0200mizu_no_oto(~textual@c-73-219-2-228.hsd1.ma.comcast.net)
2015-07-31 03:10:48 +0200mizu_no_oto(~textual@c-73-219-2-228.hsd1.ma.comcast.net) (Client Quit)
2015-07-31 03:38:39 +0200gauthier(~chatzilla@161.225.90.92.rev.sfr.net) (Ping timeout: 255 seconds)
2015-07-31 03:48:15 +0200swgillespie(~textual@167.220.105.117) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2015-07-31 04:04:45 +0200mizu_no_oto(~textual@c-73-219-2-228.hsd1.ma.comcast.net)
2015-07-31 04:07:18 +0200 <onionhammer> anyone know of a way to get syntax highlighting in F# Interactive in VS? :)
2015-07-31 04:07:26 +0200 <onionhammer> if it's even possible..
2015-07-31 04:18:12 +0200 <fahadash> Ask Tomas Petricek
2015-07-31 04:18:30 +0200 <fahadash> He has been working on quite a few syntax highlighters for F#
2015-07-31 04:27:39 +0200swgillespie(~textual@167.220.98.117)
2015-07-31 04:33:37 +0200freeman42(Freeeman42@109.79.44.176)
2015-07-31 04:44:19 +0200malbertife(~malbertif@net-93-71-161-66.cust.vodafonedsl.it)
2015-07-31 04:59:45 +0200bruceadams1(bruceadams@gateway/vpn/mullvad/x-novfryfhjrqecbye) (Ping timeout: 256 seconds)
2015-07-31 05:02:27 +0200darkf(~darkf___@unaffiliated/darkf)
2015-07-31 05:10:17 +0200kmels(~kmels@248.62.151.186.static.intelnet.net.gt)
2015-07-31 05:11:32 +0200kmels(~kmels@248.62.151.186.static.intelnet.net.gt) (Max SendQ exceeded)
2015-07-31 05:14:54 +0200mizu_no_oto(~textual@c-73-219-2-228.hsd1.ma.comcast.net) (Quit: Computer has gone to sleep.)
2015-07-31 05:23:38 +0200jtk(jtk@gateway/vpn/mullvad/x-gcaxuvmjtqdvzykn)
2015-07-31 05:35:12 +0200swgillespie(~textual@167.220.98.117) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2015-07-31 05:59:49 +0200Progster(~Progster@unaffiliated/progster) (Ping timeout: 256 seconds)
2015-07-31 06:00:32 +0200Vandroiy(~FD@unaffiliated/vandroiy)
2015-07-31 06:03:58 +0200VandroiyIII(~FD@unaffiliated/vandroiy) (Ping timeout: 246 seconds)
2015-07-31 06:07:28 +0200freeman42(Freeeman42@109.79.44.176) (Ping timeout: 246 seconds)
2015-07-31 06:09:12 +0200swgillespie(~textual@104.232.112.57)
2015-07-31 06:10:55 +0200swgillespie(~textual@104.232.112.57) (Max SendQ exceeded)
2015-07-31 06:11:36 +0200swgillespie(~textual@104.232.112.57)
2015-07-31 06:12:43 +0200swgillespie(~textual@104.232.112.57) (Max SendQ exceeded)
2015-07-31 06:13:21 +0200swgillespie(~textual@104.232.112.57)
2015-07-31 06:16:20 +0200dkoontz(~dkoontz@ip24-251-178-237.ph.ph.cox.net) (Quit: dkoontz)
2015-07-31 06:48:46 +0200ninegrid(~ninegrid@cpe-24-28-17-80.austin.res.rr.com) (Ping timeout: 246 seconds)
2015-07-31 08:22:34 +0200swgillespie(~textual@104.232.112.57) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2015-07-31 08:32:08 +0200hio(05feb932@gateway/web/freenode/ip.5.254.185.50)
2015-07-31 08:32:33 +0200 <hio> why would i use a functional language if i can do everything with a normal language? what are the real advantages?
2015-07-31 08:42:51 +0200malbertife(~malbertif@net-93-71-161-66.cust.vodafonedsl.it) (Ping timeout: 255 seconds)
2015-07-31 09:25:41 +0200supersym(~supersym@5418F772.cm-5-1d.dynamic.ziggo.nl)
2015-07-31 10:00:44 +0200nsf(~nsf@jiss.convex.ru) (Quit: WeeChat 1.2)
2015-07-31 10:04:31 +0200Lethalman(~luca@89.118.249.114)
2015-07-31 10:08:11 +0200sepp2k(~Sepp2k@x5ce77ccd.dyn.telefonica.de)
2015-07-31 10:33:02 +0200 <{AS}> hio: There are a lot of loaded terms in that sentence :). What is a normal language for you (C#, Java, other Objected-Oriented languages) and what do you mean by everything?
2015-07-31 10:36:07 +0200 <{AS}> There are many things that make function languages nice: programs written in them are often more succinct (because of declarative higher-order functions), they are usually easier to reason about and the frequent use of immutability (as opposed to mutable data in OO/imperative languages) makes concurrency safer and algorithms easier to parallelize
2015-07-31 10:36:50 +0200 <{AS}> Of course, a lot of functional language features are slowly creeping into mainstream languages so the separations is not really clear-cut
2015-07-31 10:52:00 +0200nsf(~nsf@jiss.convex.ru)
2015-07-31 11:08:21 +0200Progster(~Progster@unaffiliated/progster)
2015-07-31 11:25:10 +0200Kristallo(6dbd4530@gateway/web/freenode/ip.109.189.69.48)
2015-07-31 11:34:40 +0200jtk(jtk@gateway/vpn/mullvad/x-gcaxuvmjtqdvzykn) (Remote host closed the connection)
2015-07-31 11:37:12 +0200 <HE_> hio: Why would you use one non-functional language instead of another? It's a matter of taste. Functional languages allow you to do certain things very nicely, and nudge you towards a certain style of programming that can be more efficient (both in dev and run time). And the point of languages of F# or Scala is to allow functional programming, while still being able to fall back to very imperative styles when those offer advantages.
2015-07-31 11:37:56 +0200 <HE_> hio: Or, to turn your question on your head: Why should I use a language that forces me to write endless boilerplate code when I could just write a nicely designed functional language?
2015-07-31 11:40:54 +0200 <hio> HE_: can you give an example code that is much nice due to a functional style programming?
2015-07-31 11:41:15 +0200 <hio> i need an example that is ONLY possible due to functional
2015-07-31 11:41:24 +0200secdragon(~secdragon@193.138.219.233)
2015-07-31 11:41:25 +0200 <hio> and otherwise the code would be huge
2015-07-31 11:42:21 +0200 <HE_> Well, what language are you comparing to?
2015-07-31 11:42:31 +0200 <hio> c#
2015-07-31 11:45:27 +0200 <HE_> Well, modern C# (i.e., w/ extensive use of LINQ) already includes some common functional patterns. One thing that I personally always miss in C# are algebraic data types and deconstruction by matching.
2015-07-31 11:55:45 +0200 <nsf> I'm new to F#, but I come from C# background as well, I'd say both languages have good and bad sides
2015-07-31 11:55:49 +0200 <hio> HE_: okay so you literally just admitted that I can keep using c#
2015-07-31 11:56:02 +0200 <hio> f# does not have significant advantages
2015-07-31 11:56:14 +0200 <nsf> for example I needed lightweight coroutines with custom scheduler
2015-07-31 11:56:28 +0200 <HE_> hio: I said _one_ thing that _I_ personally miss. You may find other reasons.
2015-07-31 11:56:28 +0200 <nsf> and C#'s async/await is tied with TPL library
2015-07-31 11:56:39 +0200 <nsf> the only way to do coroutines in C# hence is via generators
2015-07-31 11:56:58 +0200 <nsf> in F# you can do a totally custom impl. with nice syntax via computation expressions
2015-07-31 11:57:17 +0200 <HE_> hio: But if you don't want to use F#, that's OK. You should use the programming language that makes you the most productive. As you obviously do not want to use F#, you probably won't be very productive in it.
2015-07-31 11:57:27 +0200 <Progster> hio: you remind me of this - http://ericsink.com/entries/fsharp_chasm.html
2015-07-31 11:57:38 +0200 <nsf> there are things that can be really annoying for a C# programmer
2015-07-31 11:57:45 +0200 <HE_> hio: And then just be happy that F# drives the improvement of functional features in C#.
2015-07-31 11:57:48 +0200 <Progster> F# and Scala, even tho both functional, seem so different
2015-07-31 11:57:54 +0200 <nsf> like you can't overload module functions
2015-07-31 11:58:07 +0200 <nsf> and it feels wrong, because you totally can make a static class there
2015-07-31 11:58:17 +0200 <nsf> or order of declarations
2015-07-31 11:58:27 +0200 <hio> HE_ I absolutely want to use f#. IFF it provides a significant advantage over a language i already know. Which it doesnt seem to have, according to f# experts here
2015-07-31 11:58:57 +0200 <nsf> but yet, I decided to give F# a try, just for the sake of having better coroutines syntax :D
2015-07-31 11:59:56 +0200 <HE_> hio: I see F# as "at least as good as c#, plus extra features", so I prefer it. But hey, at the end of the day, any modern programming language is pretty good.
2015-07-31 12:00:47 +0200 <Progster> hio: depends for the problems you're solving
2015-07-31 12:00:55 +0200 <Progster> hio: in your case, it seems you should stick with C#
2015-07-31 12:04:32 +0200 <nsf> you can use both!
2015-07-31 12:04:33 +0200 <nsf> :)
2015-07-31 12:04:53 +0200 <hio> Progster: did you just call me an idiot?
2015-07-31 12:05:18 +0200 <Progster> hio: no, but I'm almost inclined to do so now...
2015-07-31 12:10:13 +0200nsf(~nsf@jiss.convex.ru) (Quit: WeeChat 1.2)
2015-07-31 12:14:22 +0200 <HE_> hio: There's no reason to try to pick a fight here. Programming languages are like editor or shell choices. It's very subjective. And you give the impression that you need to be convinced that you should use F#, and have no intrinsic interest.
2015-07-31 12:18:19 +0200 <Kristallo> here is a bit of less subjective analysis of F# and C# code http://evelinag.com/blog/2014/06-09-comparing-dependency-networks/
2015-07-31 12:19:03 +0200 <Progster> wonder if anyone here worked with scala
2015-07-31 12:19:42 +0200 <HE_> I tried, and gave up on waiting on the compiler...
2015-07-31 12:20:20 +0200 <Progster> heh. I don't "get" scala. Like what void is it trying to fill, with this half-baked OO/FP implementation, and let's throw the whole kitchen sink way of thinking
2015-07-31 12:46:44 +0200fahadash(uid44972@gateway/web/irccloud.com/x-ahcitmmifijgevqo) (Quit: Connection closed for inactivity)
2015-07-31 12:51:40 +0200TechCel(~Progster@unaffiliated/progster)
2015-07-31 12:53:00 +0200 <hio> scala is too complicated
2015-07-31 12:53:13 +0200Progster(~Progster@unaffiliated/progster) (Ping timeout: 246 seconds)
2015-07-31 12:54:04 +0200 <TechCel> well for you, apparently so is F#
2015-07-31 13:01:26 +0200sepp2k1(~Sepp2k@x5ce0610c.dyn.telefonica.de)
2015-07-31 13:01:52 +0200sepp2k(~Sepp2k@x5ce77ccd.dyn.telefonica.de) (Ping timeout: 246 seconds)
2015-07-31 13:29:36 +0200gauthier(~chatzilla@161.225.90.92.rev.sfr.net)
2015-07-31 13:48:40 +0200fahadash(uid44972@gateway/web/irccloud.com/x-icwvosdbfhiryyrm)
2015-07-31 13:49:00 +0200fahadash(uid44972@gateway/web/irccloud.com/x-icwvosdbfhiryyrm) (Changing host)
2015-07-31 13:49:00 +0200fahadash(uid44972@unaffiliated/fahadash)
2015-07-31 13:49:00 +0200fahadash(uid44972@unaffiliated/fahadash) (Changing host)
2015-07-31 13:49:00 +0200fahadash(uid44972@gateway/web/irccloud.com/x-icwvosdbfhiryyrm)
2015-07-31 14:38:11 +0200frankbro(~frankbro@144.ip-192-99-42.net)
2015-07-31 14:40:57 +0200nsf(~nsf@jiss.convex.ru)
2015-07-31 14:48:58 +0200[1]FaroreAbhorse(~adgreen@unaffiliated/ad-green)
2015-07-31 14:50:24 +0200FaroreAbhorsen(~adgreen@unaffiliated/ad-green) (Ping timeout: 244 seconds)
2015-07-31 14:50:24 +0200[1]FaroreAbhorseFaroreAbhorsen
2015-07-31 14:50:46 +0200Athas(~athas@149.210.169.107)
2015-07-31 14:51:12 +0200 <Athas> I find myself writing anonymous functions like (fun x y -> x + y). Is there a shortcut syntax?
2015-07-31 14:53:53 +0200 <frankbro> Athas, yes, you could write (+)
2015-07-31 14:54:26 +0200 <frankbro> consider the definition of the plus operator, let (+) x y = whatever
2015-07-31 14:54:43 +0200 <frankbro> you can always use operators in a non-inline fashion by surrounding it with ()
2015-07-31 14:54:50 +0200 <Athas> Oh, nice, just like Haskell!
2015-07-31 14:55:05 +0200 <frankbro> yea p. much
2015-07-31 14:55:20 +0200 <Athas> How wonderful, haskell-mode thinks that (*) starts a comment...
2015-07-31 14:55:43 +0200 <frankbro> you doing F# in vi and it somehow uses haskell-mode?
2015-07-31 14:55:48 +0200 <Athas> No, Emacs.
2015-07-31 14:55:56 +0200 <Athas> Er, I mean, fsharp-mode.
2015-07-31 14:55:58 +0200 <frankbro> eww ;)
2015-07-31 14:56:01 +0200 <Athas> Sorry, brainfart.
2015-07-31 14:56:19 +0200 <frankbro> but yea, (*) is indeed a comment start with an extra )
2015-07-31 14:57:45 +0200 <frankbro> oh apparently not, ) will cancel the comment, never mind
2015-07-31 14:58:09 +0200 <Athas> I guess I will just write ( *) instead.
2015-07-31 14:58:15 +0200 <Athas> The Death Star operator.
2015-07-31 14:59:18 +0200 <birryree> Athas: if you were just writing it for 'int', you could also do it point-free
2015-07-31 14:59:20 +0200 <birryree> let add x = (+) x
2015-07-31 14:59:30 +0200 <Athas> Well, this is my use case:
2015-07-31 14:59:30 +0200 <Athas> let product = List.fold ( *) 1
2015-07-31 15:04:59 +0200king_jah(~jah@S0106f46d04125349.ss.shawcable.net) (Ping timeout: 252 seconds)
2015-07-31 15:05:10 +0200 <frankbro> or you could you a real text editor like vi :>
2015-07-31 15:05:19 +0200 <birryree> There you could probably substitute in List.reduce (*) unless you wanted to specify a different value for the initial accumulator, Athas
2015-07-31 15:05:52 +0200 <birryree> I only know two people who use vim seriously in real life, and one is me. I think I'm working with the wrong people
2015-07-31 15:05:58 +0200king_jah(~jah@S0106f46d04125349.ss.shawcable.net)
2015-07-31 15:06:14 +0200 <Athas> There are plenty of Vim users at my department, unfortunately.
2015-07-31 15:06:20 +0200 <Athas> List.reduce fails on empty input lists.
2015-07-31 15:06:29 +0200 <birryree> Athas: yeah, there's also that case
2015-07-31 15:06:36 +0200 <frankbro> birryree, vsvim is flawless, use it everyday at work
2015-07-31 15:06:46 +0200 <Athas> Conceptually, it's also more appropriate to pass a neutral element, as that would be necessary for a parallel implementation.
2015-07-31 15:06:47 +0200hio(05feb932@gateway/web/freenode/ip.5.254.185.50) (Quit: Page closed)
2015-07-31 15:07:36 +0200 <birryree> frankbro: I do use vsvim a lot, haven't installed it yet on my new work machine
2015-07-31 15:10:48 +0200king_jah(~jah@S0106f46d04125349.ss.shawcable.net) (Ping timeout: 250 seconds)
2015-07-31 15:46:28 +0200mizu_no_oto(~textual@c-73-219-2-228.hsd1.ma.comcast.net)
2015-07-31 15:46:33 +0200 <frankbro> birryree:I used to work at an old place in C++, was stuck on vs2005
2015-07-31 15:46:54 +0200 <frankbro> vsvim is only 2010 and up I had to use a shit, paid addon
2015-07-31 15:47:18 +0200 <frankbro> Im so glad for vsvim, best vi integration I've ever seen
2015-07-31 15:56:42 +0200riksteri(~purple@dsl-tkubrasgw3-54f96b-216.dhcp.inet.fi)
2015-07-31 16:01:02 +0200Athas(~athas@149.210.169.107) ("ERC (IRC client for Emacs 24.5.1)")
2015-07-31 16:02:35 +0200tinduck(~tinduck@ipsec-143-215-26-190.vpn.gatech.edu)
2015-07-31 16:10:40 +0200mizu_no_oto(~textual@c-73-219-2-228.hsd1.ma.comcast.net) (Quit: Computer has gone to sleep.)
2015-07-31 16:16:44 +0200fahadash(uid44972@gateway/web/irccloud.com/x-icwvosdbfhiryyrm) (Quit: Connection closed for inactivity)
2015-07-31 16:25:02 +0200fahadash(uid44972@gateway/web/irccloud.com/x-bmrlqwbtjxifdunv)
2015-07-31 16:25:11 +0200fahadash(uid44972@gateway/web/irccloud.com/x-bmrlqwbtjxifdunv) (Changing host)
2015-07-31 16:25:11 +0200fahadash(uid44972@unaffiliated/fahadash)
2015-07-31 16:25:11 +0200fahadash(uid44972@unaffiliated/fahadash) (Changing host)
2015-07-31 16:25:11 +0200fahadash(uid44972@gateway/web/irccloud.com/x-bmrlqwbtjxifdunv)
2015-07-31 16:26:18 +0200 <rossjones> Hi, has anyone been through the F# exercism exercises and can recommend them (or not)? http://help.exercism.io/getting-started-with-fsharp.html
2015-07-31 16:26:40 +0200 <rossjones> I want to try some koan style thingies, but don't want to pick one that might teach bad habits.
2015-07-31 16:30:42 +0200darkf(~darkf___@unaffiliated/darkf) (Quit: Leaving)
2015-07-31 16:38:14 +0200Lethalman(~luca@89.118.249.114) (Remote host closed the connection)
2015-07-31 17:04:21 +0200mizu_no__(~textual@c-73-219-2-228.hsd1.ma.comcast.net)
2015-07-31 17:07:06 +0200mizu_no__(~textual@c-73-219-2-228.hsd1.ma.comcast.net) (Client Quit)
2015-07-31 17:09:23 +0200RandomStrangler(~RandomStr@x2f07493.dyn.telefonica.de)
2015-07-31 17:10:58 +0200RandomStranger-(~RandomStr@x2f000f3.dyn.telefonica.de) (Ping timeout: 265 seconds)
2015-07-31 17:13:07 +0200tarkus(~hello@109.230.140.12)
2015-07-31 17:29:54 +0200s4tan(~s4tan@91.218.224.92)
2015-07-31 17:50:42 +0200ncd|leeN(~leeN@x5ce21d9d.dyn.telefonica.de)
2015-07-31 17:53:59 +0200secdragon(~secdragon@193.138.219.233) (Remote host closed the connection)
2015-07-31 17:54:22 +0200leeN(~leeN@x5ce21f5c.dyn.telefonica.de) (Ping timeout: 260 seconds)
2015-07-31 17:59:36 +0200steven2(steven@gateway/vpn/mullvad/x-pcrcnpxjlutklpim)
2015-07-31 18:32:01 +0200freeman42(~Freeeman4@5.149.170.122)
2015-07-31 18:33:28 +0200freeman42x(~Freeeman4@5.149.170.122)
2015-07-31 18:36:49 +0200freeman42(~Freeeman4@5.149.170.122) (Ping timeout: 246 seconds)
2015-07-31 18:40:40 +0200tarkus(~hello@109.230.140.12) (Remote host closed the connection)
2015-07-31 18:41:20 +0200tarkus(~hello@109.230.140.12)
2015-07-31 18:56:28 +0200Kristallo(6dbd4530@gateway/web/freenode/ip.109.189.69.48) (Quit: Page closed)
2015-07-31 18:58:02 +0200mizu_no__(~textual@c-73-219-2-228.hsd1.ma.comcast.net)
2015-07-31 19:09:43 +0200freeman42x(~Freeeman4@5.149.170.122) (Ping timeout: 246 seconds)