--- Log opened Mon Sep 27 00:00:07 2010 00:26 < scyth> is there a way to set timeout on channel? 00:26 < napsy> yes 00:27 < scyth> how?:) 00:27 < napsy> scyth: http://blog.golang.org/2010/09/go-concurrency-patterns-timing-out-and.html 00:28 < scyth> thanks 00:28 < napsy> no problem 00:31 < scyth> though, I'm concerned, what will happen with go routine which blocks waiting for network communication? 00:31 < napsy> it will block 00:32 < scyth> is there a way to terminate it explicitly? 00:32 < napsy> try to implement a timeout like in the example on the blog 00:33 < napsy> or close() the channel after awhile 00:35 < scyth> what I'm trying here is to write "ping/pong" function which will send "PING" over tcp connection, and if it doesn't get "PONG" back in 5 seconds .. it will close the connection and do some cleanup work. So obviously, waiting for "PONG" interests me.. I don't want my funcion to fly around indefinitely waiting for that pong 00:35 < napsy> sure 00:36 < napsy> write and run a gorutine just before you start to wait for PONG 00:37 < napsy> create an extra "timeout" channel and then use the select statement to switch channels 00:37 < napsy> the example above does just that 00:42 < scyth> that means, if I put ch <- true after my Read(), and read never comes, garbage collector will eventually close "ch" and kill that routine? 00:43 < napsy> no 00:44 < scyth> I mean, it's clear to me how can I know for sure if timeout happened or not (from the example), but it's still unclear to me what will happen with routine which waits for Read() 00:44 < napsy> scyth: when you hit the timeout, close the channel 00:47 < scyth> and from my understanding, that will close the channel and that's fine, but routine will still hang on Read()? 00:48 < napsy> isn't there any function to set the Read() timeout? 00:49 -!- GoBIR [~gobir@res-128-61-89-71.res.gatech.edu] has quit [Ping timeout: 240 seconds] 00:51 < scyth> not that I'm aware of... checked on io, ioutil, bufio.. timeout is not mentioned 00:52 -!- falconindy [~noclaf@unaffiliated/falconindy] has quit [Ping timeout: 265 seconds] 00:52 -!- falconindy [~noclaf@unaffiliated/falconindy] has joined #go-nuts 00:52 < napsy> etReadTimeout(nsec int64) os.Error 00:53 < napsy> in net.Conn 00:53 -!- GoBIR [~gobir@res-128-61-89-71.res.gatech.edu] has joined #go-nuts 00:54 < scyth> oh 00:57 -!- gabriel9 [~gabriel9@93.157.192.28] has quit [Read error: Connection reset by peer] 00:58 -!- mikespook [~mikespook@58.61.203.135] has joined #go-nuts 01:04 -!- falconindy [~noclaf@unaffiliated/falconindy] has quit [Ping timeout: 265 seconds] 01:04 -!- niemeyer [~niemeyer@201-35-72-214.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 01:12 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts 01:14 -!- falconindy [~noclaf@unaffiliated/falconindy] has joined #go-nuts 01:16 < nf_> anyone know of anyone working on go llvm stuff and/or regional memory management? 01:16 < nf_> i've heard people mention it on -nuts but i can't figure out who they are 01:22 -!- artefon [~thiago@187.114.48.33] has quit [Read error: Connection reset by peer] 01:25 -!- Bombe [~droden@freenet/developer/Bombe] has quit [Excess Flood] 01:26 -!- Bombe [~droden@weltgehirnmaschine.de] has joined #go-nuts 01:27 -!- artefon [~thiago@187.114.48.33] has joined #go-nuts 01:30 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined #go-nuts 01:33 < Boney> nf_: A guy I know here, enferex, is planning to work on region based memory managment. 01:34 < Boney> (in/for go) 01:34 -!- JWHardcastle [~jwhardcas@pool-96-244-169-178.bltmmd.east.verizon.net] has joined #go-nuts 01:39 < nf_> Boney: yeah, i'm asking as i want to respond to an email from his supervisor :) 01:41 < Boney> ah right. 01:44 -!- major_majors [~major_maj@173-10-44-57-Michigan.hfc.comcastbusiness.net] has quit [Quit: major_majors] 01:46 -!- jmettraux [~jmettraux@211.19.55.177] has joined #go-nuts 01:52 < plexdev> http://is.gd/fuT0C by [Andrew Gerrand] in go/src/pkg/bytes/ -- bytes: fix typo in AddByte comment 01:52 < plexdev> http://is.gd/fuT0S by [Alex Brainman] in go/src/pkg/syscall/ -- syscall: fix windows value of IPV6_V6ONLY 02:05 -!- douglas19 [~douglas19@201-1-114-206.dsl.telesp.net.br] has quit [Quit: douglas19] 02:06 -!- douglas19 [~douglas19@201-1-114-206.dsl.telesp.net.br] has joined #go-nuts 02:15 -!- RobertLJ [~quassel@c-68-44-163-191.hsd1.nj.comcast.net] has quit [Ping timeout: 240 seconds] 02:20 -!- jA_cOp_ [~yakobu@unaffiliated/ja-cop/x-9478493] has quit [Read error: Connection reset by peer] 02:21 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 02:21 -!- jA_cOp_ [~yakobu@unaffiliated/ja-cop/x-9478493] has joined #go-nuts 02:22 -!- niemeyer [~niemeyer@201-35-72-214.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 245 seconds] 02:22 -!- jhawk28 [~jhawk28@user-142gfte.cable.mindspring.com] has quit [Remote host closed the connection] 02:25 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 240 seconds] 02:31 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds] 02:48 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 240 seconds] 03:01 -!- aho [~nya@fuld-4d00d07e.pool.mediaWays.net] has quit [Quit: EXEC_over.METHOD_SUBLIMATION] 03:02 -!- jA_cOp_ [~yakobu@unaffiliated/ja-cop/x-9478493] has joined #go-nuts 03:05 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 03:05 -!- mode/#go-nuts [+v iant] by ChanServ 03:05 -!- jA_cOp [~yakobu@unaffiliated/ja-cop/x-9478493] has quit [Ping timeout: 240 seconds] 03:18 -!- gnuvince_ [~vince@70.35.163.20] has joined #go-nuts 03:21 -!- jA_cOp_ [~yakobu@unaffiliated/ja-cop/x-9478493] has quit [Read error: Connection reset by peer] 03:21 -!- jA_cOp_ [~yakobu@unaffiliated/ja-cop/x-9478493] has joined #go-nuts 03:27 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 03:32 -!- artefon [~thiago@187.114.48.33] has quit [Read error: Connection reset by peer] 03:48 -!- JWHardcastle [~jwhardcas@pool-96-244-169-178.bltmmd.east.verizon.net] has quit [Quit: JWHardcastle] 03:49 -!- slashus2 [~slashus2@74-141-108-109.dhcp.insightbb.com] has joined #go-nuts 04:04 -!- ExtraSpice [~XtraSpice@88.118.34.223] has joined #go-nuts 04:13 -!- jhh [~jhh@f048106150.adsl.alicedsl.de] has joined #go-nuts 04:23 -!- Bombe [~droden@weltgehirnmaschine.de] has quit [Changing host] 04:23 -!- Bombe [~droden@freenet/developer/Bombe] has joined #go-nuts 04:26 -!- emmanueloga [~emmanuelo@190.244.14.111] has quit [Ping timeout: 272 seconds] 04:27 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has quit [Ping timeout: 245 seconds] 04:31 -!- emmanueloga [~emmanuelo@190.244.14.111] has joined #go-nuts 04:34 -!- emmanueloga [~emmanuelo@190.244.14.111] has quit [Max SendQ exceeded] 04:41 -!- emmanueloga [~emmanuelo@190.244.14.111] has joined #go-nuts 04:50 -!- jhh [~jhh@f048106150.adsl.alicedsl.de] has quit [Quit: jhh] 04:58 -!- fabled [~fabled@letku109.adsl.netsonic.fi] has joined #go-nuts 05:00 -!- eee19 [~douglas19@201-1-114-206.dsl.telesp.net.br] has quit [Quit: eee19] 05:00 -!- scm [scm@d057209.adsl.hansenet.de] has quit [Ping timeout: 240 seconds] 05:02 -!- scm [scm@d070082.adsl.hansenet.de] has joined #go-nuts 05:07 -!- dj2 [~dj2@2002:63ec:1a4e:0:21f:5bff:fe35:feb5] has quit [Quit: dj2] 05:11 -!- jdp [PHUNK@24.238.32.162.res-cmts.segr.ptd.net] has joined #go-nuts 05:18 -!- ronnyy [~quassel@p4FF1DDB9.dip.t-dialin.net] has joined #go-nuts 05:23 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has joined #go-nuts 05:26 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 255 seconds] 05:26 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 245 seconds] 05:39 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 05:44 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has quit [Ping timeout: 252 seconds] 05:46 -!- slashus2 [~slashus2@74-141-108-109.dhcp.insightbb.com] has quit [Quit: slashus2] 05:51 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 05:52 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: I ♥ Unicode] 05:53 -!- Adys [~Adys@cpc1-chap8-2-0-cust237.aztw.cable.virginmedia.com] has joined #go-nuts 05:53 -!- Adys [~Adys@cpc1-chap8-2-0-cust237.aztw.cable.virginmedia.com] has quit [Changing host] 05:53 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 05:56 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has joined #go-nuts 05:58 -!- ssjones [~ssjones@67-61-100-203.cpe.cableone.net] has quit [Read error: Connection reset by peer] 06:00 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts 06:10 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 06:14 -!- ronnyy [~quassel@p4FF1DDB9.dip.t-dialin.net] has quit [Remote host closed the connection] 06:17 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has quit [Read error: Connection reset by peer] 06:26 -!- jhh [~jhh@f048106150.adsl.alicedsl.de] has joined #go-nuts 06:31 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has joined #go-nuts 06:39 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 06:40 -!- cco3 [~conley@c-69-181-138-209.hsd1.ca.comcast.net] has quit [Ping timeout: 265 seconds] 06:47 < Bombe> Good morning. 06:48 -!- napsy [~luka@88.200.96.18] has quit [Read error: Operation timed out] 06:49 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts 06:57 -!- chressie [~chressie@dreggn.in-ulm.de] has quit [Quit: WeeChat 0.3.3] 06:59 -!- chressie [~chressie@dreggn.in-ulm.de] has joined #go-nuts 07:03 -!- virtualsue [~chatzilla@nat/cisco/x-gfbvibhqgynwdufs] has joined #go-nuts 07:13 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has quit [Quit: Morten. Desu~] 07:17 -!- ssjones [~ssjones@67-61-100-203.cpe.cableone.net] has joined #go-nuts 07:29 -!- ikaros [~ikaros@2001:41b8:9bf:fe04:bc79:99ff:fee5:1174] has joined #go-nuts 07:46 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 07:47 -!- jhh [~jhh@f048106150.adsl.alicedsl.de] has quit [Quit: jhh] 07:49 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 07:50 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 265 seconds] 07:54 -!- virtualsue [~chatzilla@nat/cisco/x-gfbvibhqgynwdufs] has quit [Ping timeout: 265 seconds] 07:54 -!- melba [~a@85.11.190.15] has joined #go-nuts 07:54 -!- melba [~a@85.11.190.15] has quit [Changing host] 07:54 -!- melba [~a@unaffiliated/lazz0] has joined #go-nuts 07:58 -!- Dayside [~niko@a91-155-166-91.elisa-laajakaista.fi] has joined #go-nuts 07:59 < Dayside> Hi all 07:59 < Dayside> any gui libraries planned for go? =) 08:01 < Gertm> gui? why would you want that? 08:01 * Gertm shudders 08:02 < Dayside> i mean gtk bindings or something? 08:02 < Dayside> well to write desktop apps for example 08:04 < napsy> Dayside: there are gtk+ libraries 08:04 < Bombe> Dayside, http://go-lang.cat-v.org/library-bindings lists bindings for gtk. 08:04 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-177-190.clienti.tiscali.it] has joined #go-nuts 08:04 < napsy> Dayside: take a look ate go-gtk 08:05 < napsy> at* 08:07 < Dayside> oh thanks! 08:07 < napsy> you're welcome 08:07 < Dayside> and sorry about my English. =) 08:09 -!- mikespook [~mikespook@58.61.203.135] has quit [Ping timeout: 265 seconds] 08:10 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts 08:17 -!- ikaros [~ikaros@2001:41b8:9bf:fe04:bc79:99ff:fee5:1174] has quit [Quit: Leave the magic to Houdini] 08:19 -!- jdp [PHUNK@24.238.32.162.res-cmts.segr.ptd.net] has quit [] 08:25 -!- mikespook [~mikespook@219.137.75.141] has joined #go-nuts 08:47 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 08:54 -!- wrtp [~rog@92.17.36.40] has joined #go-nuts 08:58 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the connection] 08:58 -!- cenuij [~cenuij@93.26.149.132] has joined #go-nuts 08:58 -!- cenuij [~cenuij@93.26.149.132] has quit [Changing host] 08:58 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts 09:03 -!- scyth_ [~scyth@zeljko.eunet.rs] has joined #go-nuts 09:05 -!- niemeyer [~niemeyer@201-35-72-214.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 09:07 * Bombe tries to compile go-gtk, but “make example” fails with “cfree: too many elf strings”. 09:08 -!- quag [~quag@121-98-81-61.bitstream.orcon.net.nz] has quit [Ping timeout: 240 seconds] 09:16 -!- quag [~quag@121-98-81-61.bitstream.orcon.net.nz] has joined #go-nuts 09:20 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has joined #go-nuts 09:20 -!- jmettraux [~jmettraux@211.19.55.177] has quit [Remote host closed the connection] 09:32 -!- slashus2 [~slashus2@74-141-108-109.dhcp.insightbb.com] has joined #go-nuts 09:34 -!- Shyde [~shyde@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de] has joined #go-nuts 09:39 -!- mikespook [~mikespook@219.137.75.141] has quit [Quit: Leaving.] 09:42 < nsf> Bombe: it was discussed in the ML recently, known bug 09:45 -!- jmettraux [~jmettraux@PPPbm5391.kanagawa-ip.dti.ne.jp] has joined #go-nuts 09:49 -!- slashus2 [~slashus2@74-141-108-109.dhcp.insightbb.com] has quit [Quit: slashus2] 09:53 -!- virtualsue [~chatzilla@nat/cisco/x-dlqqzmypjkowudrn] has joined #go-nuts 09:54 < Bombe> Raising the number of static allocations to 5000 fixes it, 500 didn’t. :) 10:10 -!- virtualsue [~chatzilla@nat/cisco/x-dlqqzmypjkowudrn] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.5.13/20100914122142]] 10:13 -!- falconindy [~noclaf@unaffiliated/falconindy] has quit [Quit: leaving] 10:13 -!- jhh [~jhh@f048106150.adsl.alicedsl.de] has joined #go-nuts 10:14 -!- falconindy [~noclaf@unaffiliated/falconindy] has joined #go-nuts 10:22 -!- MaksimBurnin [~max@44.188-224-87.telenet.ru] has quit [Ping timeout: 255 seconds] 10:23 -!- MaksimBurnin [~max@44.188-224-87.telenet.ru] has joined #go-nuts 10:26 -!- niemeyer [~niemeyer@201-35-72-214.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 245 seconds] 10:26 -!- Shyde [~shyde@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de] has quit [Remote host closed the connection] 10:50 -!- ProNihilist [~anathema@cpc4-cani1-0-0-cust597.14-2.cable.virginmedia.com] has quit [Ping timeout: 245 seconds] 10:51 -!- ProNihilist [~anathema@cpc4-cani1-0-0-cust597.14-2.cable.virginmedia.com] has joined #go-nuts 10:52 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 276 seconds] 10:58 < uriel> can't believe that the wave of curly-bikesheds is over... 10:58 < uriel> (well, more like a tsunami) 11:01 < Namegduf> A disturbing number of people claim to have worked on large projects without any style guidelines other than what they felt like, and to say that was a state worth supporting. 11:03 < melba> what's disturbing about it 11:03 < Namegduf> A mess of different styles throughout. 11:03 < melba> you have investments in them? 11:04 < Namegduf> I don't need to. 11:04 < melba> i prefer code ownership to style guidelines 11:08 -!- l00t [~i-i3id3r_@20150146192.user.veloxzone.com.br] has quit [Ping timeout: 255 seconds] 11:11 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 252 seconds] 11:11 -!- tvw [~tv@212.79.9.150] has joined #go-nuts 11:16 < nbjoerg> minor variations in style are harmless 11:16 < nbjoerg> having to deal e.g. with GNU indentation style if you are normally using K&R just sucks 11:19 < uriel> melba: 'code ownership'? what does that mean? everyone using whatever style they like? no more than one person should ever work on any given project? 11:20 < uriel> or do people select their employer based on what the official company coding style is? 11:20 < melba> tell someone i want this interface, let him break his head how to implement it instead of micromanaging his tabs 11:21 * uriel rolls eyes and gives up 11:21 < uriel> god forbid anyone read's somebody else's code! 11:22 < melba> god forbid different programming languages 11:22 < uriel> (code reviews? what a waste of time! stop interfering with my code ownership!) 11:23 < uriel> melba: so the same project should be written in as many languages as programmers are involved in its development? sounds like a great idea to me! 11:23 < melba> good 11:24 -!- Shyde [~shyde@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de] has joined #go-nuts 11:25 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 11:34 < Namegduf> The central problem I see is whenever a new programmer arrives, or god forbid, someone leaves. 11:35 < Namegduf> In which case no one else knows anything about the code they own, and there might not even be anyone competent in the language in question if you allow the language to vary. 11:35 < Namegduf> Which makes maintenance entertainign. 11:36 < Namegduf> Or a bug develops while a developer is off for a week in something important. 11:37 < melba> ofcourse it's about how much risk you are willing to take, that's why you have all the alternatives 12:08 -!- femtoo [~femto@95-89-248-241-dynip.superkabel.de] has joined #go-nuts 12:17 -!- niemeyer [~niemeyer@201-35-72-214.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 12:17 -!- lmoura__ [~lauromour@187.59.120.160] has quit [Read error: Connection reset by peer] 12:17 -!- lmoura_ [~lauromour@187.59.114.94] has joined #go-nuts 12:18 -!- rodablo [~rodablo@190.220.132.162] has joined #go-nuts 12:19 -!- rodablo [~rodablo@190.220.132.162] has quit [Client Quit] 12:23 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 12:37 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 12:44 -!- htoothrot [~mux@71-8-117-228.dhcp.ftwo.tx.charter.com] has quit [Ping timeout: 252 seconds] 12:45 -!- lmoura_ [~lauromour@187.59.114.94] has quit [Ping timeout: 245 seconds] 12:51 -!- skejoe [~skejoe@188.114.142.231] has joined #go-nuts 13:02 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 240 seconds] 13:07 -!- ExtraSpice [~XtraSpice@88.118.34.223] has quit [Quit: Leaving] 13:08 -!- synth [~cb@obfuscated.us] has quit [Ping timeout: 265 seconds] 13:11 -!- synth [~cb@obfuscated.us] has joined #go-nuts 13:17 -!- plainhao [~plainhao@mail.xbiotica.com] has joined #go-nuts 13:20 -!- skejoe [~skejoe@188.114.142.231] has quit [Quit: Lost terminal] 13:26 -!- navigator [~navigator@p54896993.dip.t-dialin.net] has joined #go-nuts 13:44 -!- Shyde [~shyde@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de] has quit [Quit: Shyde] 13:45 -!- skelterjohn [~jasmuth@c-76-124-135-199.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 13:45 -!- kanru [~kanru@118-160-164-110.dynamic.hinet.net] has joined #go-nuts 13:55 -!- DerHorst [~Horst@e176100043.adsl.alicedsl.de] has joined #go-nuts 13:59 < plexdev> http://is.gd/fvGeg by [Wei Guangjing] in go/src/libcgo/ -- libcgo: set g, m in thread local storage for windows 386. 14:02 -!- ikaros [~ikaros@188.107.221.102] has joined #go-nuts 14:03 -!- artefon [~thiago@187.114.48.33] has joined #go-nuts 14:04 -!- RobertLJ [~quassel@c-68-44-163-191.hsd1.nj.comcast.net] has joined #go-nuts 14:05 -!- ExtraSpice [~XtraSpice@88.118.34.223] has joined #go-nuts 14:17 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined #go-nuts 14:19 -!- nighty^ [~nighty@x122091.ppp.asahi-net.or.jp] has joined #go-nuts 14:20 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 14:23 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Ping timeout: 245 seconds] 14:23 -!- jA_cOp_ [~yakobu@unaffiliated/ja-cop/x-9478493] has quit [Quit: Leaving] 14:30 -!- jmettraux [~jmettraux@PPPbm5391.kanagawa-ip.dti.ne.jp] has quit [Remote host closed the connection] 14:31 -!- RobertLJ [~quassel@c-68-44-163-191.hsd1.nj.comcast.net] has quit [Ping timeout: 265 seconds] 14:32 -!- piyushmishra [~piyushmis@117.200.226.177] has joined #go-nuts 14:33 -!- Dayside [~niko@a91-155-166-91.elisa-laajakaista.fi] has quit [Ping timeout: 272 seconds] 14:39 -!- kanru [~kanru@118-160-164-110.dynamic.hinet.net] has quit [Ping timeout: 276 seconds] 14:43 -!- piyushmishra [~piyushmis@117.200.226.177] has quit [Quit: Leaving.] 14:45 -!- awidegreen [~quassel@62.176.237.78] has joined #go-nuts 15:00 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has left #go-nuts [] 15:00 -!- scyth_ [~scyth@zeljko.eunet.rs] has quit [Quit: Leaving] 15:01 -!- amackera [~amackera@tophatmonocle.acceleratorcentre.net] has joined #go-nuts 15:02 -!- gabriel9 [~gabriel9@93.157.192.28] has quit [Read error: Connection reset by peer] 15:02 -!- artefon [~thiago@187.114.48.33] has quit [Quit: bye] 15:04 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has joined #go-nuts 15:05 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts 15:14 -!- tvw [~tv@212.79.9.150] has quit [Ping timeout: 240 seconds] 15:15 -!- Venom_X [~pjacobs@adsl-99-20-147-171.dsl.aus2tx.sbcglobal.net] has joined #go-nuts 15:16 -!- tvw [~tv@212.79.9.150] has joined #go-nuts 15:20 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has joined #go-nuts 15:21 -!- res [c9ed8246@gateway/web/freenode/ip.201.237.130.70] has joined #go-nuts 15:29 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 15:31 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 240 seconds] 15:41 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has quit [Ping timeout: 265 seconds] 15:41 -!- RobertLJ [~quassel@c-68-44-163-191.hsd1.nj.comcast.net] has joined #go-nuts 15:47 < plexdev> http://is.gd/fvQN7 by [Russ Cox] in go/ -- CONTRIBUTORS: add Balazs Lecz (Google CLA) 15:47 < plexdev> http://is.gd/fvQNb by [Balazs Lecz] in go/src/pkg/syscall/ -- syscall: add inotify on Linux 15:47 -!- femtoo [~femto@95-89-248-241-dynip.superkabel.de] has quit [Quit: Leaving] 15:51 -!- Venom_X [~pjacobs@adsl-99-20-147-171.dsl.aus2tx.sbcglobal.net] has quit [Quit: Venom_X] 15:52 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has quit [Quit: leaving] 15:53 < nickaugust> "throw: recursive call during initialization - linker skew" hmm wonder what that means 15:54 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has joined #go-nuts 15:55 < cbeck> Huh 15:58 < wrtp> nickaugust: nice 15:58 < wrtp> was that from the compiler? 15:59 < nickaugust> wrtp: no runtime 15:59 < nickaugust> panic 16:00 < wrtp> have you tried rebuilding from scratch? 16:04 < plexdev> http://is.gd/fvSp9 by [Russ Cox] in 2 subdirs of go/ -- gc: allow select case expr = <-c 16:05 < nickaugust> wrtp: yes. still the same... hmm.. 16:10 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts 16:15 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has quit [Quit: Ex-Chat] 16:16 < wrtp> interesting. can you make a small example that does it? 16:17 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts 16:19 < nickaugust> wrtp: give me a minute here i think bash.all had an error i didnt see 16:19 < nickaugust> err all.bash 16:20 -!- tteras_ [~fabled@letku109.adsl.netsonic.fi] has joined #go-nuts 16:21 -!- fabled [~fabled@letku109.adsl.netsonic.fi] has quit [Ping timeout: 245 seconds] 16:24 < nickaugust> wrtp: nm rebuild fixed it 16:24 < nickaugust> now im back on to more sensible errors "panic: runtime error: invalid memory address or nil pointer dereference" :) thanks 16:24 -!- niemeyer [~niemeyer@201-35-72-214.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 245 seconds] 16:29 -!- res [c9ed8246@gateway/web/freenode/ip.201.237.130.70] has quit [Ping timeout: 252 seconds] 16:29 < wrtp> np 16:33 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 16:33 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 16:41 -!- Tv [~tv@gige.bur.digisynd.com] has joined #go-nuts 16:41 -!- artefon [~thiagon@150.164.2.20] has joined #go-nuts 16:46 < nickaugust> is there a way to accept a type as a function argument? maybe using an interface that I can pass types too like reflect.ChanValue or struct or string in order to do a type assertion inside the function? 16:47 < nickaugust> can someone remind me why this is not doable again 16:47 < nickaugust> s/too/to 16:47 -!- res [c9ed8246@gateway/web/freenode/ip.201.237.130.70] has joined #go-nuts 16:48 < vsmatck> nickaugust: Hm. Not sure if this is what you want. http://golang.org/pkg/reflect/#Type 16:48 <+iant> you could take a reflect.Type as a function value 16:48 < nickaugust> but does that work for custom types? 16:49 < nickaugust> i guess i should have put that in the question. sorry. 16:49 <+iant> custom types have a reflect.Type value, yes, which you can get using reflect.Typeof 16:49 <+iant> I'm not quite sure what you want to do, so I don't know if that will help you 16:49 < nickaugust> oh no kidding... yes let me try that. thanks iant vsmatck 16:49 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts 16:50 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 272 seconds] 16:50 < plexdev> http://is.gd/fvWNx by [Russ Cox] in 4 subdirs of go/src/pkg/runtime/ -- runtime: correct stats in SysFree 16:51 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 16:52 -!- belkiss [~belkiss@feu30-1-82-242-58-196.fbx.proxad.net] has joined #go-nuts 16:55 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has quit [Quit: Leaving.] 17:04 -!- belkiss [~belkiss@feu30-1-82-242-58-196.fbx.proxad.net] has quit [Remote host closed the connection] 17:07 < plexdev> http://is.gd/fvYPU by [Russ Cox] in go/src/cmd/gc/ -- gc: fix non-canonical import error message 17:09 -!- tvw [~tv@212.79.9.150] has quit [Ping timeout: 265 seconds] 17:15 -!- iant1 [~iant@216.239.45.130] has joined #go-nuts 17:16 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping timeout: 245 seconds] 17:16 -!- iant1 [~iant@216.239.45.130] has quit [Client Quit] 17:16 -!- iant [~iant@216.239.45.130] has joined #go-nuts 17:17 -!- mode/#go-nuts [+v iant] by ChanServ 17:22 -!- enherit [~enherit@cpe-98-149-170-48.socal.res.rr.com] has joined #go-nuts 17:22 -!- jonathan [~jonathan@friedpancakes.com] has joined #go-nuts 17:22 -!- jonathan [~jonathan@friedpancakes.com] has quit [Client Quit] 17:24 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has quit [Read error: Connection reset by peer] 17:24 -!- ukai [~ukai@nat/google/x-ertfzryhyarxhoue] has quit [Ping timeout: 255 seconds] 17:26 -!- ukai [~ukai@nat/google/x-eyqbibnbppljbatk] has joined #go-nuts 17:26 -!- slashus2 [~slashus2@74-141-108-109.dhcp.insightbb.com] has joined #go-nuts 17:31 < wrtp> nickaugust: it's not uncommon to pass a value just for its type 17:31 < wrtp> (but that means you can't specify interface types) 17:34 -!- lmoura [~lauromour@187.59.114.94] has joined #go-nuts 17:35 < vsmatck> Reflection is pretty interesting. C++ is really limited in that respect. 17:35 < vsmatck> There is static reflection in the form of type traits for C++ templates. And there is runtime reflection in the form of dynamic_cast. 17:35 < vsmatck> Although most C++ programmers think dynamic_cast is 'always' bad. 17:36 < vsmatck> People cite that LSP rule (liskov substitution rule) which I'm not sure I agree with. 17:36 < vsmatck> err. I mean Liskov Substitution Principle. That says you should be able to substitute in any derived type and the program should remain correct. 17:37 < Namegduf> I like Go's lack of type hierarchy. 17:37 < vsmatck> With go it seems like people do switches on types commonly. Not sure if that breaks the LSP because interfaces isn't exactly inheritance. 17:39 < vsmatck> I'm not sure about it. I do like how interfaces are decoupled from types. Like you don't have to explicitly derive from a type to satisfy an "interface". 17:39 < Namegduf> Well, in Go, the rule is generally that the publicly accessible functions of a type should fulfil what they say they do. 17:40 < Namegduf> This means that if they accept an interface and do not specifically specify that things satisfying the interface are restricting to a set of existing types, they should generally be able to accept anything that matches the interface. 17:40 < Namegduf> s/of a type/of a package/ 17:40 < vsmatck> It seems like a type switch statement basically exposes a jump table used for dynamic disptach like in C++. 17:40 < Namegduf> "no". 17:40 < Namegduf> The vtable of an interface is equivalent. 17:41 < Namegduf> A type switch is just an if, not a jumptable. 17:41 < vsmatck> interfaces are all statically compiled aren't they? Like there's no runtime component to them? (or am I totally wrong there?) 17:41 < vsmatck> Ah, I was thinking it was like a jump table just in the sense of a dynamic thing which has to happen depending on different types. 17:41 <+iant> interfaces are statically compiled, but the association of types with interfaces is not 17:42 <+iant> vtables are dynamically constructed at runtime when necessary 17:42 < wrtp> a type switch decides between a number of possible shapes of vtable 17:42 < Namegduf> No. 17:42 < Namegduf> The type switch doesn't touch the vtable. 17:42 <+iant> true 17:42 < Namegduf> Not in the sense of any kind of lookup, at least, unless I'm wrong. 17:42 < wrtp> no, but it selects one of a few possible *shapes* of vtable 17:43 < Namegduf> I don't know what you mean by "shape of a vtable". 17:43 < vsmatck> Ah, I suppose that'd have to be the case to link to already compiled code that has an interface in it. 17:43 < wrtp> i.e. a vtable with 5 entries, each of which corresponds to a method with a particular type 17:43 < Namegduf> vsmatck: Yeah, and Go does not use program-at-once compilation, so that's always the case. 17:43 < wrtp> s/i\.e\./e.g./ 17:44 < wrtp> actually, the type switch *does* touch the vtable - it builds one if necessary 17:44 < Namegduf> 17:45 <Namegduf> Not in the sense of any kind of lookup, at least 17:44 < Namegduf> Wait. 17:44 < Namegduf> No, a type switch does not build a vtable. 17:44 < Namegduf> Assigning to an interface does. 17:44 -!- skejoe [~skejoe@188.114.142.231] has joined #go-nuts 17:44 < wrtp> same thing 17:45 < Namegduf> Er, no. 17:45 < Namegduf> http://golang.org/doc/go_spec.html#Switch_statements 17:45 < wrtp> if i do: switch x.(type) {case io.Reader: ...} then the switch will try to make an io.Reader out of x 17:45 < wrtp> if possible 17:45 < Namegduf> You have it backwards. 17:45 < wrtp> if it's been done before, then it uses the one if built previously 17:46 < wrtp> really? 17:46 < Namegduf> Well, okay, that might actually happen but it's hardly a typical type switch. 17:46 < Namegduf> x is an interface, and the case is the type within. 17:47 < wrtp> sure. but there are many possible types within, each with their own possible vtable 17:47 < Namegduf> Types do not have vtables. 17:47 < wrtp> non-interface types don't need a vtable 17:47 < Namegduf> Type-interface combinations do. 17:47 < wrtp> interface types do 17:47 < vsmatck> I guess I'm quite decided I like interfaces better than inheritance anyways. If every program was creating using perfect waterfall method with no feedback OO inheritance would work fine because you could specify everything up front. Programming always ends up being more exploratory than that tho. So you got to be able to notice relationships after you create the objects and specify commonality between them with an interface. 17:47 < wrtp> vsmatck: me too 17:47 < Namegduf> Can you start from the beginning of your reasoning? I'm having trouble following it at all. 17:48 < wrtp> Namegduf: what me? 17:48 < Namegduf> Yeah. 17:48 < Namegduf> A type switch is doing a switch, based on the type within a value of an interface type. 17:48 < wrtp> well, an value of interface type holds a pointer to a vtable 17:48 < Namegduf> Right. 17:49 < wrtp> a type switch does one of two things, depending on the type that you're switching against 17:49 < wrtp> it either just checks for type equality 17:49 < wrtp> when the type you're checking against isn't an interface type 17:49 < wrtp> or 17:49 < wrtp> it checks for compatibility 17:49 < wrtp> if the type you're checking against is an interface type 17:50 < wrtp> in that case, it might need to build a vtable 17:50 < Namegduf> Right. 17:50 < wrtp> and it checks for compatibility by doing a lookup on the two types. 17:50 < Namegduf> So your point is that by picking an interface for it to be compatible with, it picks a "shape of vtable". 17:50 < wrtp> alhough it's quite optimised as methods are always stored in alphabetical order 17:51 < wrtp> yeah, once you've switched, you statically know what the vtable looks like - it's "shape" 17:51 < wrtp> s/it's/its/ :-) 17:51 < Namegduf> Well, you have a different vtable. 17:52 < Namegduf> Before you switched you had the vtable of the interface type going in, and knew that statically. 17:52 < wrtp> sure 17:53 < wrtp> in go, apart from dynamic type conversions (including switch) you always know statically what your vtables look like 17:53 < Namegduf> vsmatck: Anyways, what I was trying to suggest was that type switches in Go are probably absolutely fine so long as you meet your defined function for any value of said interface. 17:53 < wrtp> yup 17:54 < Namegduf> Go doesn't much care about "make a type like another type and be sure it'll be treated just the same". 17:54 < Namegduf> Lacking inheritance and all. 17:54 < Namegduf> That's my understanding. 17:54 < wrtp> yeah 17:54 < wrtp> go doesn't do subtyping 17:54 < Namegduf> Printf is a nice example of this. 17:54 < vsmatck> Namegduf: I hadn't thought of that. The specific trouble I was thinking of is how Go containers are basically totally heterogenous + a type switch. It'd probably be bad design for the different types you put in a container to not all satisfy the same interface. 17:55 < wrtp> vsmatck: depends what you wanna do with it 17:55 < vsmatck> Seems like inheritance would require this correct behavior. But ya, there are probably instances when you don't want to do this. 17:55 < wrtp> vsmatck: it'd be quite straightforward to make a container package that dynamically enforced a particular type. 17:55 < wrtp> vsmatck: i've done something similar in the past. 17:55 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Quit: Venom_X] 17:56 < vsmatck> wrtp: true true.. Like a simple decorator for a container. 17:56 < Namegduf> vsmatck: This is caused by lack of generics, basically. 17:56 < vsmatck> heh, just thought of something. I had a programming language class. I heard the saying, "if a programming language doesn't change the way you think about problems it's probably not worth using." 17:57 < Namegduf> Which is caused by an actually fairly tricky problem about how to make that happen. 17:57 < vsmatck> Namegduf: yeah, I'm trying to think of an example of something that can be done with C++ templates, that you'd want to do in Go but couldn't. 17:57 < vsmatck> Haven't come up with anything yet. 17:57 < Namegduf> Doesn't exist, they're both Turing complete languages. :P 17:58 < vsmatck> Namegduf: pffffff... well yeah. I guess we should all program in brainfuck then. heh 17:58 < Namegduf> Nah, there's plenty of metrics. 17:58 < Namegduf> The central one I think is ability to solve actual problems, not ability to solve them in a particular way. 17:59 < Namegduf> Well, not ability... ease of. 17:59 < vsmatck> There are probably instances where generics in Go could move some things from runtime to compile time. I think this isn't really a goal of Go however. So I'm not thinking along these lines as far as the usefulness of generics. (and this is hard having been a C++ programmer for so long) 18:00 < Namegduf> They could replace wrapping a container with checks at runtime with multiple copies of said container being compiled. 18:00 < Namegduf> (Which is what C++ templates do) 18:01 < vsmatck> ya, that can have the problem of bloating the compiled code a bit tho. 18:01 < Namegduf> I think that's disliked as having a negative effect on fast compilation. 18:01 < Namegduf> And that. 18:01 < KirkMcDonald> Templates do not necessarily mean slow compilation. 18:01 < vsmatck> Plus if you did that it may require name mangling? (not sure on this) 18:01 < KirkMcDonald> See also: D 18:02 < Namegduf> The other route is to fix all types to be the same size (which is what Java does, and what having an interface be stored does). 18:02 < KirkMcDonald> The slow compilation is (in part) a result of C++'s insane grammar. 18:02 < KirkMcDonald> Which C++'s templates do not help. 18:03 < KirkMcDonald> D compiles quickly because a degree of effort was made to use a template syntax which did not make for an insane grammar. 18:03 < Namegduf> The problem with that is that memory layout options are restricted (everything is a dereference away), and it's obviously got speed limits. 18:03 < vsmatck> Alexander Alexandreschu (sp?) said in a lecture that the average C++ compile does 7 passes. 18:03 < Namegduf> I don't think that'd push anything to compile time, it'd just make the decorators implicit. 18:03 < KirkMcDonald> vsmatck: Yes. 18:03 < KirkMcDonald> vsmatck: And what he said was that a C++ compiler must make a minimum of seven passes. 18:04 < vsmatck> KirkMcDonald: Hm. I think absolute minimum is 3 passes is what he said. I could probably find the video. He was referencing Walter Bright the D guy too. 18:04 < KirkMcDonald> vsmatck: It was at a tech talk on D at Google. 18:04 < vsmatck> KirkMcDonald: yes, I may be remembering incorrectly. 18:05 < Namegduf> KirkMcDonald: I've heard that, but I think the reason I gave is still why it's excluded as an answer for Go, although I could be wrong- maybe it's more the binary size part. 18:06 < vsmatck> Binary size does get pretty extreme in template heavy C++ stuff. I like the boost::spirit library is like 40mB. 18:06 < vsmatck> Ermm.. I mean, "I think" instead of "I like". In fact I don't like that size. 18:06 < Namegduf> Haha. 18:10 < plexdev> http://is.gd/fw5mx by [Russ Cox] in 2 subdirs of go/src/ -- gc: eliminate duplicates in method table 18:10 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has joined #go-nuts 18:10 < vsmatck> I saw a ray tracer written in C++ template meta-programming once. I guess it'd be a good benchmark. 18:11 < vsmatck> I talk about C++ too much in here probably. I guess people generally try to understand what they don't know in terms of what they do. *shrug* 18:12 < KirkMcDonald> vsmatck: Er, in C++? Are you thinking of this D one: http://h3.gd/ctrace/ 18:14 < vsmatck> I'll try to find. I'm certain I saw one in C++. 18:14 * nsf wants a Go version with manual memory management 18:15 < nsf> unfortunatelly this will require a separate standard library :( 18:15 < vsmatck> KirkMcDonald: Found it. http://ompf.org/forum/viewtopic.php?f=8&t=1556 18:18 -!- photron [~photron@port-92-201-47-154.dynamic.qsc.de] has joined #go-nuts 18:18 < Namegduf> "What?" "Why?" "How?" are the kind of questions I'd ask, but they'd be rhetorical. 18:19 < Namegduf> Hehe. It is an impressive thing to have done. 18:22 < vsmatck> Here's another weird one I saw a few days ago. HTTP server in postscript. http://www.pugo.org/main/project_pshttpd/ 18:23 < vsmatck> You'd have to use something like inetd for that. 18:32 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 264 seconds] 18:33 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 18:50 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has joined #go-nuts 19:10 < fenicks> hello 19:12 < plexdev> http://is.gd/fwc9y by [Rob Pike] in go/src/pkg/utf8/ -- utf8.String: provide an Init method to avoid unnecessary allocation 19:17 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:a11b:6749:d1a:42fe] has joined #go-nuts 19:17 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts 19:31 -!- major_majors_ [~major_maj@70-88-123-176-BusName-Monroe.Mi.hfc.comcastbusiness.net] has joined #go-nuts 19:31 -!- major_majors_ [~major_maj@70-88-123-176-BusName-Monroe.Mi.hfc.comcastbusiness.net] has quit [Read error: Connection reset by peer] 19:32 -!- major_majors_ [~major_maj@70-88-123-176-BusName-Monroe.Mi.hfc.comcastbusiness.net] has joined #go-nuts 19:33 -!- major_majors_ [~major_maj@70-88-123-176-BusName-Monroe.Mi.hfc.comcastbusiness.net] has quit [Client Quit] 19:36 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 276 seconds] 19:40 -!- plainhao [~plainhao@mail.xbiotica.com] has quit [Quit: plainhao] 19:41 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 19:45 < plexdev> http://is.gd/fwf4r by [Robert Griesemer] in go/src/pkg/go/scanner/ -- go/scanner: treat EOF like a newline for purposes of semicolon insertion 19:50 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 19:52 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts 19:55 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services] 19:56 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 19:57 -!- derferman [~derferman@c-98-207-60-44.hsd1.ca.comcast.net] has joined #go-nuts 20:05 -!- dj2 [~dj2@CPE001f5b35feb4-CM0014048e0344.cpe.net.cable.rogers.com] has joined #go-nuts 20:05 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts 20:15 -!- brtk [~brtk@c83-248-42-140.bredband.comhem.se] has joined #go-nuts 20:16 -!- slashus2 [~slashus2@74-141-108-109.dhcp.insightbb.com] has quit [Quit: slashus2] 20:25 -!- skejoe [~skejoe@188.114.142.231] has quit [Quit: leaving] 20:27 -!- Fish [~Fish@9fans.fr] has joined #go-nuts 20:32 -!- melba [~a@unaffiliated/lazz0] has left #go-nuts [] 20:35 -!- artefon [~thiagon@150.164.2.20] has quit [Quit: Leaving] 20:37 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 20:41 -!- dj2 [~dj2@CPE001f5b35feb4-CM0014048e0344.cpe.net.cable.rogers.com] has left #go-nuts [] 20:45 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has quit [Ping timeout: 255 seconds] 20:49 < nickaugust> how can I do a type assertion with a reflect.Type value? 20:51 < nickaugust> returned from reflect.Typeof() called on my custom type 20:52 -!- lmoura [~lauromour@187.59.114.94] has quit [Quit: Leaving] 20:56 -!- DerHorst [~Horst@e176100043.adsl.alicedsl.de] has quit [Remote host closed the connection] 20:56 < nickaugust> wrtp | (but that means you can't specify interface types) 20:56 < nickaugust> wrtp: do you cant use an interface as a function argument? 20:57 -!- lmoura [~lauromour@187.59.114.94] has joined #go-nuts 20:58 < nickaugust> so I can pass either an object of the correct type or the corrisponding reflect.Type value of that object but can I do a type assertion using that type information? 21:00 <+iant> when you are working with the reflect package, you are kind of in a mirror world 21:00 <+iant> you can only cross back to the normal world in a couple of specific ways 21:01 <+iant> e.g., given a reflect.Value, you can call the Interface method to get a value of type interface{} 21:02 <+iant> I don't think the reflect package currently provides a way to ask whether a reflect.InterfaceValue satisfies a reflect.Type 21:02 <+iant> I think that would be a logical addition 21:02 -!- derferman [~derferman@c-98-207-60-44.hsd1.ca.comcast.net] has quit [Quit: derferman] 21:07 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:a11b:6749:d1a:42fe] has quit [Quit: Leaving.] 21:11 -!- peterdn [~peterdn@host86-135-20-84.range86-135.btcentralplus.com] has quit [Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2/20100222071121]] 21:16 -!- jhh [~jhh@f048106150.adsl.alicedsl.de] has quit [Quit: jhh] 21:20 < nickaugust> hmm.. ive crossed over to the dark side but I want to come back! heheh i think i can work around this 21:28 -!- awidegreen [~quassel@62.176.237.78] has quit [Remote host closed the connection] 21:29 -!- sukuri [~travis@node86.seg138.ucf.edu] has joined #go-nuts 21:30 -!- artefon [~thiago@187.114.48.33] has joined #go-nuts 21:32 -!- navigator [~navigator@p54896993.dip.t-dialin.net] has quit [Quit: WeeChat 0.3.3] 21:33 < wrtp> iant: you can do it by attempting to do a SetValue on a value of the interface type of a value of the reflect.Type and catching any resulting panic 21:34 < wrtp> it's not a great way of doing it though 21:35 < wrtp> nickaugust: generally rather than doing a type assertion, you can just test for type equality, which is usually good enough. but not in the case of interface types, of course 21:37 < nickaugust> for now i'll just limit input to custom struct types and use reflect.StructValue for the assertion. not perfect but good enough. 21:37 < wrtp> nickaugust: http://code.google.com/p/rog-go/source/browse/values/lens.go#27 21:38 < wrtp> that piece of code checks that a value conforms to a particular interface, when both the type and the interface are only known at run time 21:39 < nickaugust> interesting... thanks wrtp 21:39 < wrtp> np 21:40 -!- photron [~photron@port-92-201-47-154.dynamic.qsc.de] has quit [Ping timeout: 240 seconds] 21:46 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by peer] 21:49 -!- Fish [~Fish@9fans.fr] has quit [Remote host closed the connection] 21:50 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has quit [Read error: Connection reset by peer] 21:54 -!- prip [~foo@host150-135-dynamic.43-79-r.retail.telecomitalia.it] has quit [Ping timeout: 252 seconds] 21:55 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 21:57 -!- slashus2 [~slashus2@74-141-108-109.dhcp.insightbb.com] has joined #go-nuts 22:02 -!- gabriel9 [~gabriel9@93.157.192.28] has quit [Read error: Connection reset by peer] 22:02 < plexdev> http://is.gd/fwpv5 by [Robert Griesemer] in 2 subdirs of go/src/pkg/go/printer/ -- gofmt: stability improvement 22:03 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-177-190.clienti.tiscali.it] has quit [Quit: E se abbasso questa leva che succ...] 22:04 -!- nekoh [~nekoh@p4FD886C9.dip0.t-ipconnect.de] has joined #go-nuts 22:05 -!- kanru [~kanru@118-168-236-6.dynamic.hinet.net] has joined #go-nuts 22:06 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts 22:07 -!- prip [~foo@host36-126-dynamic.36-79-r.retail.telecomitalia.it] has joined #go-nuts 22:14 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has joined #go-nuts 22:18 -!- wrtp [~rog@92.17.36.40] has quit [Quit: wrtp] 22:22 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has quit [Quit: skelterjohn] 22:23 -!- ikaros [~ikaros@188.107.221.102] has quit [Quit: Leave the magic to Houdini] 22:24 -!- brtk [~brtk@c83-248-42-140.bredband.comhem.se] has left #go-nuts [] 22:25 -!- sukuri [~travis@node86.seg138.ucf.edu] has quit [Quit: Leaving.] 22:36 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 240 seconds] 22:38 -!- Guest13307 [~irc@209.17.191.58] has quit [Read error: Connection reset by peer] 22:38 -!- irc [~irc@209.17.191.58] has joined #go-nuts 22:40 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 22:49 -!- nekoh [~nekoh@p4FD886C9.dip0.t-ipconnect.de] has quit [] 22:53 -!- jhawk28 [~jhawk28@user-142gfte.cable.mindspring.com] has joined #go-nuts 22:59 -!- felipe [~felipe@my.nada.kth.se] has quit [Ping timeout: 276 seconds] 23:00 -!- ronnyy [~quassel@p4FF1DDB9.dip.t-dialin.net] has joined #go-nuts 23:20 -!- Netsplit *.net <-> *.split quits: rejb 23:21 -!- Netsplit *.net <-> *.split quits: scm, AngryParsley, acts_as, segy, Venom_X, str1ngs, tteras_, juergbi, DJCapelis, IRWolfie-, (+146 more, use /NETSPLIT to show all of them) 23:26 -!- Netsplit over, joins: Fish9, soul9, rejb, i__, yiyus, nickaugust, ExtraSpice, MX80, SRabbelier, shawn (+146 more) 23:38 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 23:42 -!- jmettraux [~jmettraux@211.19.55.177] has joined #go-nuts 23:43 -!- emmanueloga [~emmanuelo@190.244.14.111] has quit [Ping timeout: 265 seconds] 23:44 -!- emmanueloga [~emmanuelo@190.244.14.111] has joined #go-nuts 23:45 -!- emmanueloga [~emmanuelo@190.244.14.111] has quit [Client Quit] 23:46 -!- emmanueloga [~emmanuelo@190.244.14.111] has joined #go-nuts 23:49 -!- felicity [~felicity@41.205.146.22] has joined #go-nuts 23:50 -!- emmanuel_oga [~emmanuelo@190.244.14.111] has joined #go-nuts 23:51 -!- emmanueloga [~emmanuelo@190.244.14.111] has quit [Ping timeout: 252 seconds] 23:55 -!- jdp [~justin@24.238.32.162.res-cmts.segr.ptd.net] has joined #go-nuts 23:57 -!- ExtraSpice [~XtraSpice@88.118.34.223] has quit [Remote host closed the connection] 23:58 -!- emmanuel_oga [~emmanuelo@190.244.14.111] has quit [Quit: WeeChat 0.3.3-dev] 23:59 -!- emmanueloga [~emmanuelo@190.244.14.111] has joined #go-nuts 23:59 -!- qIIp [~qIIp@72-173-149-185.cust.wildblue.net] has joined #go-nuts 23:59 -!- felicity [~felicity@41.205.146.22] has quit [Read error: Connection reset by peer] 23:59 -!- qIIp [~qIIp@72-173-149-185.cust.wildblue.net] has quit [Read error: Connection reset by peer] --- Log closed Tue Sep 28 00:00:07 2010