Go Language Resources Go, golang, go... NOTE: This page ceased updating in October, 2012

--- 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