IRC Logs for #io Wednesday, 2014-02-26

aditsu"you can use as many different types as you want, so long as they're all int" - there's no int involved whatsoever00:03
aditsuonly the ordinal number associated with an enum value00:04
jerright, so as an example00:18
jeri can write this in rust (or any other language with real sum types):00:18
jerenum List<T> { Cons(T, ~List<T>), Nil };00:19
jerthis is a simple linked list ADT00:19
locksAcyclic Disjoint Tree?00:20
jerlocks, nothing about that is implicitly or otherwise acyclic =] in fact, if it terminates with the head node, and becomes a circular list, it's explicitly cyclic =]00:21
jerADT = abstract data type00:21
aditsujer: so you mean sum types are like enums with types for values?00:22
aditsuthe first example from looks exactly like a plain regular java enum00:23
aditsuand I didn't understand the rest...00:24
jeraditsu, i mean it's a data structure which is designed to hold a value which could take on several different types00:24
jerso in my example above, let's forget the <T> for a moment00:24
jerNil is just an empty value by convention, but Cons(int, ~List<int>) for instance, constructs a node holding an int, and an 'owned' pointer pointing at a list of int00:25
aditsuif you have a List value (not Nil), is it of type List? or Cons? or both?!00:27
aditsuare sum types like C++/VB variant types then?00:31
aditsuperhaps boost::variant00:37
pdurbinso who won?01:05
aditsupdurbin: Obama :)01:07
pdurbinaditsu: my kid back when obama won:
*** hashmal has joined #io01:08
jeraditsu, sorry, was away01:11
jeraditsu, yes sum types are like C++'s variant types01:11
jerboost::variant specifically is an implementation of sum types for C++01:11
aditsuoh ok, then the introduction of that article should probably remove C++01:12
pdurbinthis one:
*** hashmal has quit IRC01:13
jeraditsu, well it's not in the C++ spec, so ... i can see it there, but yeah you can definitely do it in C++01:13
aditsu...or it should clarify it's talking about built-in support01:15
jerdon't think it's that big of a deal, but i'm not nearly as pedantic as i used to be01:15
aditsuI don't know if the notion of sum type even makes sense in a dynamically-typed language like python01:16
jerfor sure01:17
jeri have kinda gravitated away from dynamic languages in my own time though as of late01:17
jeri used to be a core contributor on the most dynamic of them all -- io (this channel's support language)01:18
jershould attach an "IMO" to that statement01:18
jerbut if i were picking up io for the first time today, and not be 12 years into it, then i'd probably steer clear, knowing what i know now. making io safe is never gonna happen01:18
jerwhich is fine, that's great for some people, but for me in this day and age, it's not what i'm after01:18
jeri hang around here to offer support, since none of the other core members tend to hang around much01:19
pdurbinjer: haskell for you, then?01:19
aditsuhaskell may be the other extreme :p01:19
jerpdurbin, well that'd be the exact opposite end01:19
jerright now, Rust does a good job of being a less complicated C++, more safe, and suiting my style01:20
jeri'm on my third iteration of this kernel i'm building now01:20
jerit's rather nutty =p01:20
jerbut i'm doing it in Rust now.01:20
pdurbinrust seems cool. anything other than toy programs written in it?01:21
aditsuI was quite impressed with Groovy, not so much with its performance...01:22
jerpdurbin, i've just been starting off with it, so haven't written anything maraculous yet, but i do have a partial implmeentation of an FRP module01:22
jerala Rx01:22
pdurbinok. I did read through this: a while back01:23
jerhaven't used rxjava yet, but i have thought about it when rolling through scala land01:24
jerhave a friend who is into writing scala code for his backend systems, and has been using RxJava more and more01:24
pdurbinjer: so you may not have written anything miraculous in rust but what about other people?01:24
jerpdurbin, there are mostly systems level stuff -- a couple of OS kernels i've seen, bare metal stuff...01:25
jermy reason for looking at Rust was frustration with Go01:25
pdurbinis the next version of firefox going to be written in rust?01:25
jerpdurbin, there's Servo, which is an engine for a browser written in Rust01:25
jerdoubt it'll see Firefox for a while longer (when rust hits 1.0+)01:26
pdurbinyeah. I guess Go is a little ahead. more stable01:26
jerGo has some major problems that perturb me01:26
jerautomatic interface conformance being one of them01:26
jerit's one of those features that on the box sounds great01:26
jeruntil you write some serious code01:26
jeri can tell why most go projects are small01:27
jerwith few dependencies01:27
jerGo isn't a language that scales well with the size of projects =/01:27
jerwith C++11, i'm mostly content, but it'd be nice if someone were to take it, forget about the ABI, and just fix some of its problems; i believe Rust does that01:27
*** bjz has joined #io01:29
jerthat said, i write Objective-C code all day for Quirky01:31
jerso... =p01:31
jernot that i don't like objc, i've been writing code in it since the early 90s01:31
jerbut i've got to the point where the lack of forward progress in objc due to strict adherence to the objc abi, has become a hinderance to my ability to do my job the way i want to 01:32
pdurbinman, some people really love Go though. you should hear Brad Fitzpatrick gush about it at
jerpdurbin, i know01:39
jeri used to be one of those people, until i tried to use it on a large project01:39
jerlanguages shouldn't surprise you01:40
jerrust has one thing that annoys the pants off of me01:40
jerconsider you have a pointer to pointer to pointer to struct containing two fields, a and b01:40
aditsuI love Go (the board game, that is :D )01:40
jerif i want to deref that in C, i'd write *(*(*struct1)).a or i could write (*(*struct1))->a01:40
jerin rust, i just write: struct1.a01:41
jerno matter how many levels of pointer indirection there are01:41
jerthat's surprising01:41
pdurbinsurprisingly easy ;)01:41
jereasy yes, but it's annoying, because normal field access if you've got a struct passed in as a param, no pointer to it or anything, is struct1.a01:42
jerso i have to then look and see01:42
jerwhat type struct1 is01:42
jerif i want to pass it around01:42
pdurbindoes the tooling help?01:42
jerthere's almost no tooling01:42
jerin terms of IDE support01:42
jerthere's an eclipse thing, but i won't touch it01:42
jerso i don't know if it's good01:42
jeri just use vim, so i do:01:43
jercall vundle#rc()01:43
jerBundle 'wting/rust.vim'01:43
pdurbinI went from vim and perl to java and boy is the tooling helpful in java. can't imaging using vim with java01:44
bjzpdurbin: well Java *needs* an ide :)01:44
jeryeah java has some nice tooling, because it needs it01:45
jerobjc has mediocre tooling, and it needs more01:45
bjzcould not stand the boilerplate and lack of expressivness without it01:45
bjzbut typeing `foo.` then getting a list of available methods/feilds is rather nice01:46
bjzI haven't felt too bad just using a text editor with rust though. intellisense would be nice but yeah01:47
pdurbinbjz: are you writing a kernel too?01:50
bjzI do game stuff. also work on the standard libs, getting them up to scratch01:51
bjzthe rust standard libs that is01:52
pdurbinaditsu: I should learn one of the Go's. or both01:53
*** estebistec has joined #io02:53
*** nisstyre_ has joined #io02:53
*** nisstyre_ has quit IRC02:58
*** nisstyre has joined #io02:58
*** hashmal has joined #io03:09
*** hashmal has quit IRC03:13
*** gatesphere has quit IRC03:24
prologicjer, Ko Samui for my wife's 30th04:00
prologicpdurbin, no, my bot doesn't like DDoS attacks on FreeNode -- I need to improve it's netsplit/DDoS recovery capabilities :/04:00
pdurbinprologic: ah. yeah. pretty bad attack04:16
*** estebistec has quit IRC04:35
*** estebistec has joined #io04:45
*** estebistec has quit IRC04:45
*** estebistec has joined #io04:46
*** hashmal has joined #io05:10
*** asie has joined #io05:10
*** hashmal has quit IRC05:14
*** asie has quit IRC05:33
*** nisstyre has quit IRC05:57
*** hashmal has joined #io06:21
*** estebistec has quit IRC06:31
*** hashmal has quit IRC06:41
prologicwas it two attacks in the last 2 weeks07:00
prologicor ongoing from a few weeks ago?07:00
prologicbeen really painful staying connected to FreeNode lately07:01
prologiceven with my ZNC node in the US07:01
prologicand from home in AU07:01
jeri've not had any problems, but i connect directly to 07:08
jerit's not in the main rotation of or chat.freenode.net07:08
*** mkroehnert has joined #io07:22
prologicthat would help a lot07:27
prologicnot being in the rotation list07:27
prologicgawd hackers/script-kiddies are kinda stupid really07:28
*** mkroehnert has quit IRC07:35
*** pchalupa has joined #io07:54
*** hashmal has joined #io08:42
*** hashmal has quit IRC08:47
*** hashmal has joined #io10:43
*** hashmal has quit IRC10:48
*** Raimondi has joined #io11:51
*** hashmal has joined #io11:58
*** gatesphere has joined #io12:15
pdurbinprologic: my ilbots reconnected fine. you could always upgrade irclogger_ to ilbot ;)13:29
*** gatesphere has quit IRC13:31
*** adamnbowen has joined #io13:32
*** asie has joined #io14:15
*** adamnbowen has quit IRC14:29
*** adamnbowen has joined #io14:59
*** asie has quit IRC15:04
*** asie has joined #io15:04
*** asie has quit IRC16:28
*** asie has joined #io16:33
*** asie has quit IRC16:43
*** asie has joined #io17:00
*** adamnbowen has quit IRC17:05
*** asie has quit IRC17:29
*** pchalupa has quit IRC17:36
*** asie has joined #io18:16
*** asie has quit IRC18:52
*** pchalupa has joined #io18:52
*** asie has joined #io18:56
*** asie has quit IRC19:13
*** Raimondii has joined #io19:39
*** ElMonkey has joined #io19:42
prologicpdurbin, ilbot?19:44
pdurbinprologic: ilbot!
*** Raimondi has quit IRC19:47
prologicI don't see how a perl implementation helps19:49
prologicbut anyway :)19:49
prologicwait just a jolly minute19:50
prologicI added auto reconnect (timer and disconnect handling) to ircnotifier19:51
prologicbut not irclogger19:51
prologicI should merge the two code bases into a single codebase19:52
prologicircnotifier (on #circuits and #circuits-dev) used for commit notifications (runs a Web Service that bitbucket POST hooks connect to19:53
prologictries to reconnect 5s after a disconenction19:53
prologicand afaik should just keep trying indefinately if there are dns or connection problems19:53
prologicproblem is it still needs support for multiple servers so in the case of connectoin or reconnection problems19:54
prologicthen jump to the next server in the list19:54
*** bjz has quit IRC19:58
*** hashmal has quit IRC20:00
*** bjz_ has joined #io20:01
*** hashmal_ has joined #io20:01
*** bakkdoor has joined #io20:01
*** bakkdoor has quit IRC20:12
*** irclogger_ has quit IRC20:12
*** irclogger__ has joined #io20:12
*** bakkdoor has joined #io20:19
*** asie has joined #io21:02
*** asie has quit IRC21:13
*** bjz has joined #io21:24
*** TheMonkey has joined #io21:24
*** bjz_ has quit IRC21:28
*** ElMonkey has quit IRC21:34
*** hashmal_ has quit IRC23:01
*** nisstyre has joined #io23:11
*** gatesphere has joined #io23:15
*** mkroehnert has joined #io23:17
*** mkroehnert has quit IRC23:30
*** mkroehnert has joined #io23:31
*** chadkouse has joined #io23:40
*** chadkouse has quit IRC23:40
*** chadkouse has joined #io23:41
pdurbinsounds like a nice feature23:57
*** chadkouse has quit IRC23:57
prologicsorry what's that?23:59

Generated by 2.11.0 by Marius Gedminas - find it at!