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

--- Log opened Tue Oct 05 00:00:09 2010
00:06 -!- acts_as [~acts_as@208.236.105.27] has quit [Quit: acts_as]
00:07 < plexdev> http://is.gd/fL1n4 by [Alex Brainman] in go/src/pkg/ --
websocket: enable tests on windows
00:09 -!- acts_as [~acts_as@208.236.105.27] has joined #go-nuts
00:10 -!- acts_as [~acts_as@208.236.105.27] has quit [Client Quit]
00:16 -!- acts_as [~acts_as@208.236.105.27] has joined #go-nuts
00:53 -!- skelterjohn [~jasmuth@c-76-124-135-199.hsd1.nj.comcast.net] has joined
#go-nuts
00:57 -!- tav [~tav@2001:0:53aa:64c:0:3ffa:a3f8:9f72] has quit [Quit: Hakuna
Matata]
01:03 -!- kanru [~kanru@118-168-236-242.dynamic.hinet.net] has quit [Ping timeout:
252 seconds]
01:10 -!- clip9 [clip9@er.en.svarteper.com] has quit [Ping timeout: 240 seconds]
01:10 -!- clip9 [clip9@er.en.svarteper.com] has joined #go-nuts
01:25 -!- Bombe [~droden@freenet/developer/Bombe] has quit [Excess Flood]
01:26 -!- Bombe [~droden@weltgehirnmaschine.de] has joined #go-nuts
01:27 -!- Tv [~tv@gige.bur.digisynd.com] has quit [Ping timeout: 265 seconds]
01:30 -!- artefon [~thiago@189.59.162.141] has quit [Quit: bye]
01:34 < soul9> hello
01:40 < cbeck> Howdy
01:41 < exch> Swig's go support looks like it was one hell of mindf*ck to
implement
01:46 < soul9> can anyone enlighten me as to the third parameter to os.Open
please?
01:46 < soul9> if i say i want readonly access, i don't get what that int
does at third pos.
01:47 < exch> You can leave it 0
01:47 < cbeck> soul9: Look at http://golang.org/pkg/os/#Constants
01:48 < exch> it defaults to 0666 afaik
01:49 < soul9> I know these
01:49 < soul9> these are the second argument
01:49 < soul9> i don't get the third
01:49 < exch> The third one is the file permission set
01:49 < exch> 0666,0777, etc
01:50 < soul9> but isn't that on the filesystem?
01:50 < soul9> does it change the permissions of the file on the filesystem?
01:50 < exch> not that I know of.  Possibly only required when you actually
create a new file
01:53 < soul9> also, anyone familiar with the json package?  i need to
decode a json file.  i'm trying with NewDecoder and .Decode but it doesn't seem to
be working
01:54 < cbeck> For one-off decodes, json.Unmarshal should do it
01:54 < exch> Isn't json.Unmarshal() a more suitable option?
01:55 < soul9> i don't understand, i thought with the decoder i could get my
file key:value by key:value?
01:55 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
01:57 < soul9> unmarshal needs []byte's while the decoder works on an
io.Reader which an open file can do
01:57 < exch> you can do that with unmarshal() as well
01:57 < soul9> so..that's undocumented?
01:58 < exch> data, err = ioutil.ReadFile("myfile"); ...
json.Unmarshal(data, &mymap)
01:58 < soul9> doesn't that put the whole file in memory?
01:59 < exch> it unmarshals the entire file.  But internally doesn't do
anything different than creating a json encoder manually
01:59 < soul9> oh?  that's cool.
01:59 < soul9> ok lemme see
01:59 < exch> well, except that you do pass the whole file in a slice
01:59 < soul9> ah, so it is in memory.
02:00 < soul9> mh, not really what I'd like
02:00 < exch> ioutil.ReadFile() reads it entirely into data
02:00 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 276 seconds]
02:01 -!- st__ [~chatzilla@chello084112080118.2.11.vie.surfer.at] has joined
#go-nuts
02:01 < soul9> so..anyone know how to use json.Decoder?  :P
02:02 -!- steveno [~stevenoli@paludis/cheerleader/steveno] has joined #go-nuts
02:02 < exch> http://pastebin.com/85QsLKCq
02:03 < exch> 'buf' should be a file handle in your case
02:09 < soul9> thanks
02:10 < soul9> i think i got that interface definition wrong lemme see
02:12 < soul9> yep
02:12 < soul9> thanks
02:12 < soul9> the make(map[string]interface{}) did it
02:12 < soul9> @exch++
02:12 -!- noktoborus [~noktoboru@host-208-107.hosts.vtc.ru] has quit [Ping
timeout: 255 seconds]
02:15 < exch> cool
02:26 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has quit
[Ping timeout: 276 seconds]
02:50 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has joined
#go-nuts
03:00 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds]
03:02 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has quit
[Ping timeout: 265 seconds]
03:06 -!- st__ [~chatzilla@chello084112080118.2.11.vie.surfer.at] has quit [Quit:
ChatZilla 0.9.86 [Firefox 3.6.10/20100914125854]]
03:07 -!- res99 [~anonymous@201.237.130.70] has quit [Read error: Connection reset
by peer]
03:07 -!- res99 [~anonymous@201.237.130.70] has joined #go-nuts
03:20 < exch> wahey..  $ swig -go lua.i ...  -> 23kb of Go code, ~80kb of
C glue code O.o
03:28 -!- adu [~ajr@pool-173-79-52-52.washdc.fios.verizon.net] has joined #go-nuts
03:30 -!- skelterjohn [~jasmuth@c-76-124-135-199.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
03:33 -!- scyth [~scyth@rots.in.rs] has quit [Quit: Leaving]
03:36 -!- yihuang [~yihuang@183.17.151.190] has joined #go-nuts
03:36 -!- yihuang [~yihuang@183.17.151.190] has left #go-nuts []
03:42 < adg> wow
03:46 < adg> impressive
03:46 < adg> not unpredictable
03:49 -!- Bombe [~droden@weltgehirnmaschine.de] has quit [Changing host]
03:49 -!- Bombe [~droden@freenet/developer/Bombe] has joined #go-nuts
03:56 -!- steveno [~stevenoli@paludis/cheerleader/steveno] has quit [Quit:
steveno]
04:09 -!- dju [dju@fsf/member/dju] has joined #go-nuts
04:13 -!- dju [dju@fsf/member/dju] has quit [Max SendQ exceeded]
04:14 -!- dju [dju@fsf/member/dju] has joined #go-nuts
04:18 -!- wjlroe [~will@78-86-14-131.zone2.bethere.co.uk] has quit [Quit: Computer
has gone to sleep]
04:24 -!- noktoborus [~noktoboru@host-208-107.hosts.vtc.ru] has joined #go-nuts
04:26 -!- msponer [~user@cpe-66-75-33-237.san.res.rr.com] has joined #go-nuts
04:29 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: I ♥ Unicode]
04:30 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit:
This computer has gone to sleep]
04:31 -!- adu_ [~ajr@pool-173-66-2-136.washdc.fios.verizon.net] has joined
#go-nuts
04:35 -!- adu [~ajr@pool-173-79-52-52.washdc.fios.verizon.net] has quit [Ping
timeout: 245 seconds]
04:37 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
04:40 -!- wjlroe [~will@78-86-14-131.zone2.bethere.co.uk] has joined #go-nuts
04:43 -!- adu_ [~ajr@pool-173-66-2-136.washdc.fios.verizon.net] has quit [Quit:
adu_]
04:51 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Ping timeout: 240
seconds]
04:55 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 245 seconds]
04:55 -!- jhh [~jhh@e179099248.adsl.alicedsl.de] has joined #go-nuts
04:59 -!- etherealmachine [~jpettit@c-98-210-242-112.hsd1.ca.comcast.net] has
joined #go-nuts
05:00 < etherealmachine> I'm getting errors compiling gccgo on linux 64, is
there a specific version that's marked stable/release?
05:01 -!- scm [scm@d071195.adsl.hansenet.de] has quit [Ping timeout: 276 seconds]
05:01 < anticw> etherealmachine: dont think so
05:01 < anticw> etherealmachine: can you show the errors
05:02 < etherealmachine> go-go.c:352:1: error: bp cannot be used in asm here
05:02 < anticw> oh
05:02 -!- scm [scm@d070166.adsl.hansenet.de] has joined #go-nuts
05:02 < anticw> hmm, from svn just now?
05:02 < anticw> let me update
05:02 < etherealmachine> I'm on 164966
05:02 < anticw> give me a cuple of mins, won't take long to do a complete
bulid
05:02 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: I ♥ Unicode]
05:02 < anticw> build even
05:03 < etherealmachine> it took me 64 minutes to get to the error
05:03 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
05:03 < anticw> 64 mins?
05:03 < etherealmachine> compile time
05:03 < anticw> i think cold-cache it's only 3 mins here
05:03 < anticw> let me check
05:04 < etherealmachine> I'm on a laptop, but that's still a pretty large
difference
05:04 < anticw> well ...  my desktop is faster than my laptop too
05:04 < anticw> to i wouldn't expect a latop to be that close to that
05:07 < anticw> etherealmachine: what's your configure line?
05:07 < etherealmachine> oh, I had to use CFLAGS=-m64
05:08 < etherealmachine> and --disable-multi-lib
05:08 < etherealmachine> also using the gold ld
05:08 < anticw> CFLAGS=-m64 ?
05:08 < anticw> what distro?
05:08 -!- ikaros [~ikaros@188.107.214.200] has joined #go-nuts
05:08 < etherealmachine> ubuntu 64 bit, 10.04
05:10 < anticw> etherealmachine: on a similar distro (debian squeeze) i just
built it w/o errors
05:10 < anticw> Revision: 164966
05:10 < anticw> no gold htough
05:10 < anticw> though
05:10 -!- ikaros [~ikaros@188.107.214.200] has quit [Client Quit]
05:11 < etherealmachine> I has an error with stubs-32.h that was resolved
with disabling multilib and setting cflags
05:11 < etherealmachine> I can try without gold
05:11 < anticw> i disable multilib too
05:11 < etherealmachine> will that take a distclean to make things right?
05:12 < anticw> im not sure
05:12 < anticw> what is the build system?
05:12 < anticw> cpu/ram ?
05:12 < etherealmachine> no, I didn't set up anything special
05:13 < anticw> i know
05:13 < anticw> im trying to help make 64 mins less
05:13 < etherealmachine> you just mean specs?
05:13 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
05:13 -!- mode/#go-nuts [+v iant] by ChanServ
05:13 < anticw> roughly
05:13 < anticw> iant: is htat you?
05:13 <+iant> it's me
05:13 < anticw> 22:05 < etherealmachine> go-go.c:352:1: error: bp
cannot be used in asm here
05:13 < etherealmachine> 4x2.7ghz core i7, 4 gigs ram
05:13 -!- ikaros [~ikaros@studpool-vpn115.fbi.h-da.de] has joined #go-nuts
05:13 < etherealmachine> non-solid state hd
05:14 < anticw> etherealmachine: make -j5 should help if you're not
05:14 * exch wrestles with swig
05:14 < etherealmachine> will that make it use all the cores?
05:14 < anticw> yes
05:14 < etherealmachine> why isn't that a default!?
05:14 < anticw> doesn't always works
05:14 < anticw> on avg i would say it breaks more than not
05:14 <+iant> etherealmachine: what machine type?  how did you run
configure?
05:14 < etherealmachine> I was wondering why it was only using 1 cpu
05:14 < anticw> makefiles are hard to make robust
05:15 < etherealmachine> @iant disable-multilib and CFLAGS=-m64, also using
gold
05:15 < etherealmachine> @iant trying to recompile not using gold now
05:15 <+iant> that won't make a difference for that error
05:15 < etherealmachine> it was suggested
05:15 < etherealmachine> any ideas?
05:16 <+iant> it's certainly odd
05:16 < anticw> i dont see from the src that error making sense
05:16 <+iant> I think it must have to do with the CFLAGS setting although I
would not expect that to matter
05:17 <+iant> ah, I bet that setting CFLAGS that way is causing the library
to be compiled without optimization
05:17 < anticw> etherealmachine: ill set CFLAGS here the same way and retest
...  what gcc/gas do you have?
05:17 <+iant> that could cause that error
05:18 < etherealmachine> I also tried explicitly #defining the line in case
the ifdef wasn't getting through, and it didn't work
05:18 < etherealmachine> 4.4.3
05:18 < anticw> iant: oh, you rely on -O2 or better?
05:18 <+iant> I guess I do, although I didn't exactly realize it
05:18 < anticw> gah ...  i hate that :-)
05:18 <+iant> at least for compiling that specific file
05:18 <+iant> you could just remove "rbp" from the x86_64 SAVE_REGS line
05:18 < anticw> because sometimes i want -O0 to make gdb work
05:19 <+iant> you don't have to use -O2 in general with gccgo
05:19 <+iant> I'm thinking that go-go.c expects it, though
05:19 < anticw> iant: i know when using gccgo you dont need it ...  i use
gccgo + gdb to debug things because 6g/6c lack the tools
05:19 <+iant> the problem is that I have to force the function to save all
the registers
05:20 <+iant> so I say that the function uses the rbp register
05:20 <+iant> but when not optimizing gcc wants to use that register as the
frame pointer
05:20 <+iant> and so you get that error
05:20 <+iant> at least that is my hypothesis at the moment
05:21 < anticw> giving CFLAGS seems to make things much slower
05:21 < anticw> to build
05:22 <+iant> well, in conjunction with --disable-bootstrap it will mean
that gcc itself is built without optimization
05:22 <+iant> and so it will run much slower when building the libraries
05:22 < anticw> configure --enable-languages=go --disable-bootstrap
--disable-multilib --prefix=/usr/local/gccgo CLFAGS=-m64
05:22 < anticw> built here
05:22 <+iant> hmm
05:23 < etherealmachine> what does disable-bootstrap (not) do?
05:23 < anticw> debian though ...  not ubuntu
05:23 <+iant> etherealmachine: it avoids bootstrapping gcc itself
05:23 <+iant> by default gcc is built using a three stage bootstrap
05:24 < anticw> iant: is the bootstrap really needed these days?
05:24 < anticw> iant: it used to be because other compilers had bugs i
thought
05:24 < etherealmachine> I'm sorry to pester, but I'm recompiling and don't
have anything else to do, I have gcc installed...  what's it bootstrapping?
05:24 < anticw> or is it just build-self sanity checking ?
05:24 <+iant> even gcc itself has bugs....
05:24 < anticw> most sw has bugs :-) it's how many can you deal with
05:25 <+iant> etherealmachine: bootstrapping means that gcc is used to build
itself
05:25 <+iant> stage 1: build gcc with host compiler, whatever it is
(typically an older version of gcc)
05:25 -!- wjlroe [~will@78-86-14-131.zone2.bethere.co.uk] has quit [Quit: Computer
has gone to sleep]
05:25 <+iant> stage 2: build gcc again with the newly built gcc
05:25 <+iant> stage 3: build gcc again with the gcc built in stage 2
05:25 <+iant> then compare the results of stage 2 and 3, they had better be
identical
05:25 < etherealmachine> I guess that makes sense
05:25 <+iant> if you disable bootstrap, then you just get stage 1, gcc built
by the host compiler
05:26 < etherealmachine> yeah, that would be what I expected it to do
05:26 < anticw> sigh ...  the varadic changes makes all my code printfs
broken now
05:27 < anticw> well, some ...  not all
05:27 -!- babusri [~Babu@122.166.173.101] has quit [Ping timeout: 240 seconds]
05:28 < anticw> iant: ah..  you didn't implemment "foo..." yet
05:28 <+iant> no, sorry
05:28 < anticw> no it's good
05:28 < anticw> i can use gccgo to avoid updating my code tonight
05:28 < anticw> :)
05:30 < etherealmachine> I need to step out for 40 minutes, thanks for the
help so far
05:34 < anticw> iant: the speed of reflection in gccgo really impresses me
05:34 <+iant> reflection looks hard but it's really simple
05:34 <+iant> it's all done with mirrors
05:35 <+iant> the data structures are built at compile time
05:35 < anticw> long story short, i have this weird ass xml crap i had to
deal with ...  and xml.Unmarshal happens to be easy to use to i didn't even bother
with python
05:35 < anticw> (in this case the src is small in Go that python) ...
anyhow ...  runtime is very fast
05:36 -!- tav [~tav@92.7.68.158] has joined #go-nuts
05:36 -!- tav [~tav@92.7.68.158] has quit [Excess Flood]
05:39 -!- ikaros [~ikaros@studpool-vpn115.fbi.h-da.de] has quit [Quit: Leave the
magic to Houdini]
05:39 -!- ikaros [~ikaros@188.107.214.200] has joined #go-nuts
05:39 -!- tav [~tav@92.7.68.158] has joined #go-nuts
05:40 < exch> aww.  one of the swig generated c files seems to have some
issues which prevent it from being compiled.  I'm not sure if this is a problem in
the Lua code or a swig/go issue though.  Where should I go to discuss the Go part
of Swig?  (as in, who maintains it?)
05:40 <+iant> I guess I maintain the Go port of SWIG
05:40 <+iant> not sure what Lua has to do with it, though
05:42 < exch> ok.  I've ran some Lua headers through swig to see what kind
of Go code it generates.  The compiler (gcc) consistently failes on 'arg3 =
(va_list)*argp3;' in lua_wrap.c with the error 'error: cast specifies array type'
05:42 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has joined #go-nuts
05:43 <+iant> does SWIG work with stdarg functions?
05:43 < exch> I have no idea
05:44 <+iant> Read this: http://swig.org/Doc2.0/Varargs.html#Varargs
05:44 * exch reads
05:45 < anticw> iant: should -static work?
05:45 <+iant> anticw: yes but you probably need to add an explicit -lpthread
05:45 < anticw> yeah, i did
05:45 < anticw> i was sure that worked
05:46 < anticw> because in the past i used -static bins to make deployments
easier
05:46 <+iant> I'm off
05:46 < anticw> nn, thanks!
05:53 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has joined
#go-nuts
05:59 -!- ikaros [~ikaros@188.107.214.200] has quit [Quit: Leave the magic to
Houdini]
05:59 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
06:10 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts
06:33 -!- msponer [~user@cpe-66-75-33-237.san.res.rr.com] has quit [Ping timeout:
265 seconds]
06:34 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
06:39 -!- gnuvince [~vince@205.175-ppp.3menatwork.com] has quit [Ping timeout: 272
seconds]
06:43 -!- jhh [~jhh@e179099248.adsl.alicedsl.de] has quit [Quit: jhh]
06:45 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts
07:10 -!- Stiletto [7f000001@dr.kleiner.lambdacomplex.org] has quit [Ping timeout:
252 seconds]
07:10 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 276
seconds]
07:21 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has quit [Quit: Morten.  Desu~]
07:26 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has quit [Quit:
slashus2]
07:36 -!- Fish9 [~Fish@86.65.182.207] has quit [Remote host closed the connection]
07:36 -!- Fish [~Fish@86.65.182.207] has joined #go-nuts
07:38 -!- MaksimBurnin [~max@44.188-224-87.telenet.ru] has quit [Ping timeout: 252
seconds]
07:38 -!- MaksimBurnin [~max@44.188-224-87.telenet.ru] has joined #go-nuts
07:40 -!- photron [~photron@port-92-201-91-38.dynamic.qsc.de] has joined #go-nuts
07:42 -!- etherealmachine [~jpettit@c-98-210-242-112.hsd1.ca.comcast.net] has left
#go-nuts []
08:00 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
08:07 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has quit
[Quit: Ex-Chat]
08:11 < nsf> http://ompldr.org/vNXE5Nw/ancient-errors.png
08:11 < nsf> ыы
08:12 < nsf> замутил четкие error messages для своего toy языка
08:13 < nsf> щас бы такие же еще сделать и для семантического анализа
08:13 < nsf> вообще было бы замечательно :)
08:13 < nsf> но это AST слегка переделать нада
08:14 -!- wrtp [~rog@92.17.67.123] has joined #go-nuts
08:14 < nsf> oops
08:14 < nsf> wrong window :(
08:14 < nsf> sorry
08:14 < Tonnerre> Представляется вполне нормальным для меня, что «if»
является ключевым словом
08:16 < nsf> Tonnerre: true, but it just shows nice error messages for the
parser
08:16 < nsf> sort of clang style
08:16 < nsf> or i guess they were somewhere even before clang
08:17 < Tonnerre> Indeed they were
08:20 -!- jmettraux [~jmettraux@211.19.55.177] has quit [Remote host closed the
connection]
08:22 -!- ronnyy [~quassel@p4FF1CEAE.dip.t-dialin.net] has joined #go-nuts
08:23 -!- derferman_ [~derferman@c-98-207-60-44.hsd1.ca.comcast.net] has joined
#go-nuts
08:24 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-177-190.clienti.tiscali.it] has
joined #go-nuts
08:24 -!- lmoura_ [~lauromour@186.212.114.106] has joined #go-nuts
08:26 < nsf> i guess clang is the first compiler that did it nicely for a
language with a preprocessor
08:26 < nsf> or not
08:27 < nsf> i don't know :)
08:27 -!- res99 [~anonymous@201.237.130.70] has quit [Read error: Connection reset
by peer]
08:27 -!- lmoura__ [~lauromour@187.59.117.90] has quit [Ping timeout: 245 seconds]
08:29 -!- derferman_ [~derferman@c-98-207-60-44.hsd1.ca.comcast.net] has quit
[Quit: derferman_]
08:32 -!- tasosos [~tasosos@79.103.7.89.dsl.dyn.forthnet.gr] has joined #go-nuts
08:48 -!- wjlroe [~will@78-86-14-131.zone2.bethere.co.uk] has joined #go-nuts
09:00 -!- BlaSux [7f000001@dr.kleiner.lambdacomplex.org] has joined #go-nuts
09:03 -!- gabriel9 [~gabriel9@93.157.192.28] has quit [Read error: Connection
reset by peer]
09:12 -!- plexdev [~plexdev@arthur.espians.com] has quit [Remote host closed the
connection]
09:14 -!- plexdev [~plexdev@arthur.espians.com] has joined #go-nuts
09:18 -!- wjlroe [~will@78-86-14-131.zone2.bethere.co.uk] has quit [Quit: Computer
has gone to sleep]
09:32 < wrtp> i'm sure i'm being very stupid, but what does the Go
Playground chrome extension actually do?
09:39 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts
09:43 < nsf> it's just a shortcut to the go playground thing
09:44 < nsf> useless imho, but it's just my opinion
09:44 < nsf> :)
09:50 -!- stalled [~stalled@unaffiliated/stalled] has quit [Quit: ...]
09:52 -!- sacho [~sacho@95-42-78-66.btc-net.bg] has quit [Ping timeout: 264
seconds]
09:58 -!- felicity [~felicity@41.205.146.22] has joined #go-nuts
10:00 -!- felicity [~felicity@41.205.146.22] has quit [Remote host closed the
connection]
10:02 -!- felicity [~felicity@41.205.146.22] has joined #go-nuts
10:03 < felicity> I wrote a pkg and i cald it get,it has a file called
getch.go and get_test.go.  I typed make and the _obj folder was made.i even tested
it and it Passed.the getch.go has a function called Getchar.when i try to import
the package,im getting an error: can't find import: get
10:03 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
10:03 < felicity> What am i doing wrong?
10:05 -!- felicity [~felicity@41.205.146.22] has quit [Remote host closed the
connection]
10:05 < exch> felicity: you need to 'install' the package to the Go package
repository with 'make install'
10:08 < exch> or not
10:11 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 240
seconds]
10:15 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
10:30 -!- wjlroe [~will@212.169.34.114] has joined #go-nuts
10:35 < adg> wrtp: it saves you opening a new tab
10:36 < adg> kinda handy, but has the annoying property that the content
vanishes if you switch to another tab
10:38 -!- ronnyy [~quassel@p4FF1CEAE.dip.t-dialin.net] has quit [Remote host
closed the connection]
10:41 -!- ronnyy [~quassel@p4FF1CEAE.dip.t-dialin.net] has joined #go-nuts
10:48 -!- scyth [~scyth@rots.in.rs] has joined #go-nuts
10:59 -!- peterdn [~peterdn@dhcp-110-228.new.ox.ac.uk] has quit [Quit: ChatZilla
0.9.86-rdmsoft [XULRunner 1.9.2/20100222071121]]
11:10 -!- peterdn [~peterdn@dhcp-110-228.new.ox.ac.uk] has joined #go-nuts
11:10 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection]
11:29 -!- ronnyy [~quassel@p4FF1CEAE.dip.t-dialin.net] has quit [Remote host
closed the connection]
11:32 < uriel> nsf: ok, i'm not the only one baffled at what was the point
for the chrome extenssion, good to know
11:34 < uriel> adg: btw, the roadmap is well overdue for an update, about
half of the items in implementation section are done
11:34 < uriel> http://go.googlecode.com/hg/doc/devel/roadmap.html
11:35 < uriel> (NaCL, cgo callbacks, and now SWIG)
11:35 < uriel> the garbage collector is also now enabled in gccgo (AFIK)
11:35 < adg> uriel: yeah we intend to update it
11:35 < adg> i will create a CL now
11:36 < uriel> I was thinking of doing it myself, but then I thought you
would know better what to do and would be less hassle :)
11:37 < uriel> adg: also, this is just my opinion, but I think it would be
nice to have some clarity regarding the intended path towards a "1.0" release
11:37 < adg> there is no clarity to provide
11:37 < uriel> hehehe
11:38 < uriel> well, then I would suggest creating a bit of clarity would
help, but that is just me :)
11:38 < nsf> i'm very interested in a status of a GC design process
11:39 < nsf> or these are just words..  like "we're in the design stage"
means "we haven't thought about it yet"
11:39 < adg> the team is working hard and getting stuff done, but as to when
we reach a certain point where we can say "1.0" seems a bit arbitrary to me.  i'd
just be making stuff up
11:39 < uriel> nsf: from what I have heard, they have thought about it quite
a lot
11:39 < nsf> uriel: good to know :)
11:40 < uriel> nsf: but also from what I have heard, they have not settled
yet on any design they are quite happy with
11:40 < nsf> it is expected
11:40 < uriel> adg: well, I would think that things like AppEngine support
would not be a 1.0 show-stopper, on the other hand, major language changes would
be
11:41 < adg> sure
11:41 < adg> but some languages changes come out of nowhere, while others we
can see from a distance (like generics)
11:41 < uriel> true...
11:41 < adg> so it's hard to quantify what is actually ahead
11:42 < uriel> I understand
11:44 -!- skejoe [~skejoe@188.114.142.231] has joined #go-nuts
11:45 < uriel> it is probably obvious, but I just wanted to note that the
uncertainty can put people off from building around the ecosystem, either projects
that depend on Go, or development tools for go, but I understand it is still very
early on in the life of the language
11:45 < uriel> on the other hand, I seem to remember somebody from Google
saying they were hoping to have the language itself pretty much settled down
before the end of the year..
11:45 < uriel> but this was a while ago
11:46 < nsf> hehe, I have an idea for call expr syntax sugar, what do you
think: withFile("data.txt", func(f *File) { ...  }); --> withFile("data.txt") {
|f| ...  };
11:46 < adg> sure
11:46 < nsf> comes from ruby
11:46 < adg> make no mistake: go is great for production work now, it just
depends what you're doing
11:46 < nsf> :\
11:46 < adg> we use it at google; it's increasingly widespread
11:46 < uriel> adg: yea, I know, I'm using it ;P
11:47 < adg> nsf: i don't understand it
11:47 < nsf> it's like ruby's blocks
11:47 < uriel> but still, when one makes strategic decissions, some more
clarity regarding its medium term would be nice, but anyway, you know what I mean,
and I understand that there are good reasons that make this hard :)
11:48 < nbjoerg> slow and eats memory like other eats cerials?
11:48 < nbjoerg> oh wait, that's rails
11:48 < uriel> nsf: is that idiom really used often enough to make the extra
sugar worth it?
11:48 < nsf> if function has 'func' type as a last argument you can call it
using that block form
11:48 < nsf> uriel: it can be :)
11:49 < uriel> nsf: also, where will the type of f be taken from?
11:49 < nsf> it is derived from the function signature
11:49 < nsf> that's the main point
11:49 < uriel> from the signature of withFile()?
11:49 < nsf> wait a sec I'll give you an example of a code I have
11:49 < nsf> uriel: yes
11:49 * uriel ponders
11:50 < uriel> oh, I think I get it
11:50 < uriel> I can kind of see how it might be useful...
11:50 < nsf> foreachDecl(decls, func(decl ast.Decl, name *ast.Ident, value
ast.Expr, valueindex int) { ...  }
11:50 < uriel> but doesn't feel quite right, certainly doesn't seem to fit
the style of the rest of the language
11:50 < nsf> here it is
11:50 < nsf> it can be written as:
11:50 < nsf> foreachDecl(decls) { |decl, name, value, valueindex| ...  }
11:51 < nsf> with my syntax sugar impl
11:51 -!- wrtp [~rog@92.17.67.123] has quit [Ping timeout: 276 seconds]
11:51 < nsf> well it looks like a function definition
11:51 < nsf> but 'func' keyword is missing
11:51 < nsf> so it's call expr
11:52 < nsf> yep, the style can be an issue
11:52 < nsf> anyway, just an idea :)
11:52 < nsf> oops
11:52 < nsf> the first one should be:
11:52 < nsf> foreachDecl(decls) { |decl, name, value, valueindex| ...  });
11:52 < nsf> oops :)
11:52 < nsf> not this
11:52 < nsf> foreachDecl(decls, func(decl ast.Decl, name *ast.Ident, value
ast.Expr, valueindex int) { ...  });
11:52 < nsf> :)
11:54 < nsf> actually maybe I will implement that in my toy language
11:54 < nsf> but it doesn't even have a type system yet
11:55 < nsf> and it's far from having closures :)
11:55 -!- artefon [~thiago@189.59.187.66] has joined #go-nuts
11:56 -!- wrtp [~rog@92.17.67.123] has joined #go-nuts
12:17 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has joined
#go-nuts
12:18 < fenicks> hello
12:22 -!- ronnyy [~quassel@p4FF1CEAE.dip.t-dialin.net] has joined #go-nuts
12:24 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.]
12:25 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
12:25 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Client Quit]
12:25 -!- skelterjohn [~jasmuth@c-76-124-135-199.hsd1.nj.comcast.net] has joined
#go-nuts
12:27 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
12:29 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Client Quit]
12:34 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
12:43 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.]
12:46 -!- bfrank [~brad@cpe-098-026-123-011.nc.res.rr.com] has quit [Read error:
Operation timed out]
12:46 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
12:46 < Gertm> Has anyone got experience with emacs+golang+flymake?  I
googled this, but the only article on it gives me a service temporary unavailable.
12:47 < taruti> Gertm: yes
12:47 < Gertm> oh hey, that's your page I found :)
12:48 < taruti> http://aoi.yi.org/~taruti/go-fly.txt
12:48 < Gertm> thanks!
12:50 < Gertm> strange formatting..  so I just put that in my emacs config?
Do I need to add a hook for it to start up with go-mode?
12:50 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has joined #go-nuts
12:51 < soul9> anyone know why a dial to an ipv6 adress wouldn't work?
12:51 < soul9> seems like a DNS error:
12:51 < soul9> dial tcp ipv6.chat.freenode.net:6667: lookup
ipv6.chat.freenode.net.  on [8.8.8.8]:53: no such host
12:52 < soul9> all i have is net.Dial("tcp", "", server)
12:52 -!- skelterjohn [~jasmuth@c-76-124-135-199.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
12:52 < bortzmeyer> soul9: strange.  Google DNS does have a AAAA for
ipv6.chat.freenode.net
12:52 < soul9> yeah
12:52 < soul9> it doesn't work with my ipv6 dns server either
12:53 < soul9> it also looks like it's trying to use the google dns as an
ipv6 address?
12:53 < soul9> ( [8.8.8.8]:53 )?
12:54 < taruti> Gertm: that code goes into .emacs
12:57 < Gertm> taruti: there's no other initialisation necessary?  Because I
didn't get it to work yet, maybe I forgot something.
12:58 -!- nbjoerg [~joerg@netbsd/developer/joerg] has quit [Ping timeout: 240
seconds]
13:00 < taruti> Gertm: you have to enable flymake-mode in the go-buffers you
want it
13:01 < taruti> either M-x flymake-mode in the buffer, or in .emacs
(add-hook 'go-mode-hook (lambda () (flymake-mode)))
13:02 < Gertm> taruti: thank you, lemme try that
13:06 -!- nbjoerg [~joerg@netbsd/developer/joerg] has joined #go-nuts
13:09 < Gertm> taruti: thanks, it works!
13:17 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
13:26 -!- skelterjohn [~jasmuth@c-76-124-135-199.hsd1.nj.comcast.net] has joined
#go-nuts
13:27 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Quit:
Leaving.]
13:39 -!- DerHorst [~Horst@e176104252.adsl.alicedsl.de] has joined #go-nuts
13:39 -!- res99 [~anonymous@201.237.130.70] has joined #go-nuts
13:39 -!- iant [~iant@67.218.106.122] has joined #go-nuts
13:40 -!- mode/#go-nuts [+v iant] by ChanServ
13:46 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined
#go-nuts
13:47 -!- skelterjohn [~jasmuth@c-76-124-135-199.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
13:51 -!- plainhao [~plainhao@mail.xbiotica.com] has joined #go-nuts
13:51 -!- ucasano [~ucasano@95.231.79.71] has joined #go-nuts
13:52 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has quit
[Quit: Leaving.]
13:54 < wrtp> adg: ahh, i see.  i hadn't spotted the go symbol to the right
of the URL entry box.
13:54 < wrtp> time to uninstall it!
13:56 -!- skejoe [~skejoe@188.114.142.231] has quit [Quit: leaving]
13:59 -!- serverhorror [~serverhor@chello080109038110.17.14.vie.surfer.at] has
joined #go-nuts
14:00 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit:
This computer has gone to sleep]
14:03 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
14:03 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
14:09 < nsf> unordered_map<string, llvm::Value*>::iterator it =
values.find(name);
14:10 < nsf> god..  what am I doing :(
14:11 < nsf> after Go it seems very wrong for some reason
14:13 -!- _Horst_ [~Horst@e176125236.adsl.alicedsl.de] has joined #go-nuts
14:16 -!- DerHorst [~Horst@e176104252.adsl.alicedsl.de] has quit [Ping timeout:
245 seconds]
14:18 < nsf> LLVM's C API is simpler than C++ one
14:18 < nsf> :\
14:19 -!- _Horst_ [~Horst@e176125236.adsl.alicedsl.de] has quit [Ping timeout: 252
seconds]
14:21 < taruti> nsf: in new C++ it becomes "auto it = values.find(name)",
although that might spew a dozen pages of errors if the templates and the moon do
not align :)
14:22 < nsf> taruti: yep, I've already turned on -std=c++0x but it doesn't
really help a lot
14:22 < nsf> llvm's c++ api is still awful :)
14:23 < nsf> something like: llvm::ConstantFP::get(llvm::getGlobalContext(),
llvm::APFloat(num))
14:23 < nsf> ugh..
14:23 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has joined #go-nuts
14:23 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
14:23 < nsf> in C: LLVMConstReal(LLVMDoubleType(), num)
14:23 < nsf> :P
14:24 < nsf> of course C++ API is more featureful, because it uses context
and it can work with different contexts in multithreaded environment
14:24 < nsf> but imho the design of an API is awful
14:25 * nsf is looking at libjit
14:26 < nsf> looks like libjit can write elf binaries
14:26 < nsf> ugh..
14:27 < nsf> tough choice
14:27 -!- ronnyy [~quassel@p4FF1CEAE.dip.t-dialin.net] has quit [Remote host
closed the connection]
14:29 -!- ikaros [~ikaros@188.107.214.200] has joined #go-nuts
14:30 -!- serverhorror [~serverhor@chello080109038110.17.14.vie.surfer.at] has
quit [Quit: Connection reset by beer!]
14:40 < soul9> anyone know how i can typeswith on an interface{} that's
supposed to be an array?
14:44 < soul9> printing it with fmt.Printf("%V" gives me an error:
[%!V(string=mystring1) %!V(string=mystring2)]
14:54 < Gertm> does anyone have an example of how to use unidirectional
channels?
15:01 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 245
seconds]
15:05 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 240 seconds]
15:06 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
15:08 -!- gzmask [~ray@corwin.cat.uregina.ca] has left #go-nuts []
15:09 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has joined
#go-nuts
15:11 -!- Fish [~Fish@86.65.182.207] has quit [Remote host closed the connection]
15:16 -!- Venom_X [~pjacobs@74.61.90.217] has joined #go-nuts
15:17 -!- iant [~iant@67.218.106.122] has quit [Ping timeout: 264 seconds]
15:21 -!- Venom_X [~pjacobs@74.61.90.217] has quit [Ping timeout: 272 seconds]
15:23 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has quit [Read error:
No route to host]
15:24 -!- artefon [~thiago@189.59.187.66] has quit [Quit: bye]
15:24 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has joined #go-nuts
15:25 -!- fabled [~fabled@xdsl-83-150-94-237.nebulazone.fi] has quit [Ping
timeout: 240 seconds]
15:25 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.]
15:26 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts
15:38 < nickaugust> soul9: switch t:= interfaceValue.(type) { case bool: ...
case int: ...  }
15:38 < nickaugust> soul9: switch t := interfaceValue.(type) { case bool:
...  case int: ...  }
15:39 < nickaugust> hmmm....
15:39 < soul9> nickaugust: nope
15:39 -!- fabled [~fabled@xdsl-83-150-94-238.nebulazone.fi] has joined #go-nuts
15:39 < soul9> doesn't do it :(
15:39 < soul9> i do: if v, ok := val.(*reflect.ArrayValue); ok == true { ...
15:40 < soul9> but the block isn't exec'd
15:40 < soul9> (SliceValue does the same)
15:40 < soul9> it's a json decoded array
15:40 < nickaugust> what are you passing?
15:41 < soul9> i.e.  val in json is ["mystring1", "mystring2"]
15:41 < nickaugust> is it a return value from json.Unmarshal?  might be a
struct
15:41 < soul9> and i did a Decode on it, so it should be interface{}
15:41 < soul9> i don't think it's unmarshalled
15:42 < nickaugust> ah, why not use Unmarshal?
15:42 < soul9> ah, maube i could avoid all this pain, might be doing what
unmarshal is doing :)
15:42 < soul9> ehe, why indeed
15:43 < nickaugust> i've never used json.Decode directly..  i always
Unmarshal into a known struct type.  do you have a corrisponding struct type?
15:43 < nickaugust> :)
15:44 < soul9> hehe
15:44 < soul9> i think those two sentences just made my job easier ;)
15:44 < soul9> by 10-100x
15:44 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has quit [Quit:
skelterjohn]
15:45 < soul9> so in a struct declare the structure i'm expecting and then
unmarshall into that
15:45 < soul9> okey doc'
15:47 < exch> Does anyone know what's going on when a cgo package keeps
throwing up "nesting too deep" errors followed by a lenghty list of all the
generated cgo files?
15:48 < exch> For the record, this happens when linking it into a app which
uses the package
15:49 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has joined #go-nuts
15:50 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has joined
#go-nuts
15:55 -!- SRabbelier [~SRabbelie@ip138-114-211-87.adsl2.static.versatel.nl] has
quit [Ping timeout: 245 seconds]
15:55 -!- artefon [~thiagon@150.164.2.20] has joined #go-nuts
15:58 < soul9> nickaugust: Decode unmarshals the stream, so i have an
unmarshalled struct
15:58 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
15:58 -!- kanru [~kanru@118-168-236-242.dynamic.hinet.net] has joined #go-nuts
15:58 < soul9> but it's all interface{} types, so i need to typeswitch on it
15:59 < soul9> (http://golang.org/src/pkg/json/stream.go#L32)
16:07 -!- ucasano [~ucasano@95.231.79.71] has quit [Read error: Connection reset
by peer]
16:07 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 240 seconds]
16:08 -!- ucasano [~ucasano@95.231.79.71] has joined #go-nuts
16:09 -!- tasosos [~tasosos@79.103.7.89.dsl.dyn.forthnet.gr] has quit [Remote host
closed the connection]
16:11 < nickaugust> soul9: do a type assertion myStructValue.(MyStruct) or
assert it to reflect.StructValue if you dont know the type
16:13 < nickaugust> or you can do a typeswitch on it if you want.  switch t
:= value.(type) { case MyStruct1: ..  case MyStruct2:..  }
16:15 < nickaugust> but value.(type) can only be used in a type switch not
elsewhere afaik
16:15 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
16:16 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the
connection]
16:16 < soul9> man i feel dumb.
16:16 -!- iant [~iant@nat/google/x-dgklwyjtxqpvyvmm] has joined #go-nuts
16:16 -!- mode/#go-nuts [+v iant] by ChanServ
16:16 < soul9> if v, ok := val.(*reflect.StructValue); ok == true {
16:16 < soul9> still not good
16:17 < soul9> ? paste
16:17 < soul9> ..
16:18 -!- awidegreen [~quassel@62.176.237.78] has joined #go-nuts
16:18 < soul9> code: http://dpaste.com/253452/ ; json file:
http://dpaste.com/253453/ ; output: http://dpaste.com/253454/
16:19 < soul9> i know the typeswitch shouldn't be there, since everything is
an interface{}, i'll remove it as soon as i understand this thing.
16:19 < soul9> oops, forgot to change the chans in the output ;)
16:19 < nickaugust> heheh idk man should work..  can you paste more of the
code?
16:20 < soul9> this is all
16:20 < nickaugust> ah :)
16:20 -!- hokapoka [~hokapoka@hoka.hokapoka.com] has joined #go-nuts
16:20 -!- jhh [~jhh@e179099248.adsl.alicedsl.de] has joined #go-nuts
16:21 < hokapoka> Hey all, at last managed to get back to some of my go dev.
16:25 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
16:28 -!- kanru [~kanru@118-168-236-242.dynamic.hinet.net] has quit [Read error:
Operation timed out]
16:29 -!- ucasano [~ucasano@95.231.79.71] has quit [Quit: ucasano]
16:30 -!- jhh [~jhh@e179099248.adsl.alicedsl.de] has quit [Quit: jhh]
16:36 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
16:36 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts
16:37 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has quit [Client
Quit]
16:38 -!- SRabbelier [~SRabbelie@ip138-114-211-87.adsl2.static.versatel.nl] has
joined #go-nuts
16:40 < soul9> well, the typeswitch does work, but not for the array
16:42 < nickaugust> soul9: what array are you passing?
16:42 < hokapoka> Are there any docs on using the upstream packages?
16:45 < hokapoka> In particular, apparently there's an update that allows
HTTP Headers to be modified before POST/GET.
16:45 < soul9> nickaugust: array?
16:45 < soul9> where?
16:46 < hokapoka> Atm I've had to duplicate a bunch of the http package to
Add Headers.
16:47 < nickaugust> 2010-10-05 16:43 <soul9> well, the typeswitch does
work, but not for the array
16:48 < soul9> oh
16:48 < soul9> well
16:48 -!- cenuij [~cenuij@93.26.136.97] has joined #go-nuts
16:48 -!- cenuij [~cenuij@93.26.136.97] has quit [Changing host]
16:48 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts
16:49 < soul9> val would be an array I guess if it's a json array
16:49 < soul9> on line 17
16:52 -!- XenoPhoenix [xenophoeni@silenceisdefeat.com] has quit [Quit: "Wait...
what?!"]
16:55 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 240
seconds]
16:55 < nickaugust> soul9: line 17 is a type assertion for a map of
interfaces with string keys
16:56 < nickaugust> why dont you use a struct instead of a map of
interfaces?
16:56 < soul9> like define a type that has the structure i need and cast
into that?
16:56 < soul9> ok i'll try that
16:56 < nickaugust> then you can just specify the field as []string...  a
slice of strigns.  this interface map stuff..  i dont know why youre doing this.
17:01 < anticw> iant: awake?
17:01 <+iant> anticw: yes
17:02 < anticw> iant: are you likely to drop pthreads anytime soon?
17:02 <+iant> it may happen before the end of the year; not sure
17:02 <+iant> not really soon
17:02 -!- DerHorst [~Horst@e176121018.adsl.alicedsl.de] has joined #go-nuts
17:02 < nickaugust> soul9: type Conf struct { Networks []string; Name
string; } or whatever..  then after it comes out of Decode do the type assertion
c.(Conf)
17:03 < nickaugust> if you know the type theres no reason to do
reflect.StructValue
17:03 < anticw> iant: discontig stacks aside, is there any other benefit to
gold?
17:03 <+iant> it runs faster
17:03 <+iant> nothing other than that
17:06 -!- jhh [~jhh@e179099248.adsl.alicedsl.de] has joined #go-nuts
17:08 < nickaugust> uriel: right.  typically len=cap but that does come in
handy sometimes.
17:12 -!- EthanG [~none@sourcemage/guru/eekee] has joined #go-nuts
17:13 < anticw> iant: faster?  how so?
17:13 <+iant> gold runs faster than GNU ld
17:13 <+iant> I don't mean that the generated code is faster, just that the
link itself is faster
17:13 < anticw> yeah, i dont feel that
17:14 < anticw> gccgo + gnuld is faster than 6g + 6l
17:14 < anticw> 6g is very fast, 6l is kinda doggy
17:14 < uriel> iant: really cool to see you pushing support for kenc into
gcc, have you spoken about it with russ?  that could make keeping p9p and Plan 9
codebases in sync a bit easier
17:14 <+iant> uriel: I haven't talked about it with Russ, no
17:15 <+iant> I don't know what p9p is
17:15 < uriel> anticw: uhu?  6l is pretty fast here
17:15 < uriel> iant: http://plan9.us
17:15 < uriel> russ' port of Plan 9 user space to *nix
17:15 <+iant> ah
17:15 < anticw> uriel: sure, just gnuld is faster most of the time
17:15 < uriel> (also known as plan9port, and Plan 9 from User Space,
complain to russ about the plethora of confusing names ;P)
17:16 < EthanG> 5l isn't quick.  5c + 5l seems quicker than gcc building &
linking on the same arm machine, although I can't test with the same code,
obviously
17:16 <+iant> 6l does more than gold/gnu ld
17:16 <+iant> with 6g/8g/5g some of the code generation is postponed until
link time
17:16 < uriel> yea, ken's linkers do quite a bit more work that in most
toolchains is done by the compilers
17:17 < uriel> it is mentioned in the paper(s):
http://doc.cat-v.org/bell_labs/new_c_compilers/
17:18 < anticw> iant: yeah, when adding new insn i had to go poke 6l code as
well
17:19 -!- jhh [~jhh@e179099248.adsl.alicedsl.de] has quit [Quit: jhh]
17:22 -!- tvw [~tv@82.113.106.144] has joined #go-nuts
17:24 < uriel> iant: btw, is it known yet if the kenc extenssions are going
into gcc?  or they are still thinking about it?
17:24 <+iant> the extensions went in, under -fplan9-extensions
17:24 < uriel> iant: awesome!
17:27 -!- Tv [~tv@gige.bur.digisynd.com] has joined #go-nuts
17:29 -!- gabriel9 [~gabriel9@93.157.192.28] has quit [Read error: Connection
reset by peer]
17:32 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts
17:44 < nickaugust> __20h__: can you suggest a 'practical' alternative?  are
we still talking OS design or the whole proejct?
17:45 < nickaugust> sorry..  wrong chan.  frickin irc srcipts/
17:46 < EthanG> GUI FTW *hides*
17:46 -!- tvw [~tv@82.113.106.144] has quit [Remote host closed the connection]
17:47 < nickaugust> heh
17:49 -!- DerHorst [~Horst@e176121018.adsl.alicedsl.de] has quit [Ping timeout:
252 seconds]
17:52 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts
17:52 -!- jhh [~jhh@e179099248.adsl.alicedsl.de] has joined #go-nuts
17:58 -!- aho [~nya@fuld-4d00d442.pool.mediaWays.net] has joined #go-nuts
18:06 -!- jhh [~jhh@e179099248.adsl.alicedsl.de] has quit [Quit: jhh]
18:08 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has quit [Quit:
slashus2]
18:17 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by
peer]
18:29 -!- gabriel9 [~gabriel9@93.157.192.28] has quit [Read error: Connection
reset by peer]
18:33 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts
18:33 -!- wjlroe [~will@212.169.34.114] has quit [Ping timeout: 252 seconds]
18:38 -!- Adys [~Adys@unaffiliated/adys] has quit [Remote host closed the
connection]
18:40 -!- Adys [~Adys@cpc1-chap8-2-0-cust237.aztw.cable.virginmedia.com] has
joined #go-nuts
18:40 -!- Adys [~Adys@cpc1-chap8-2-0-cust237.aztw.cable.virginmedia.com] has quit
[Changing host]
18:40 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
18:46 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
18:47 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the
connection]
18:49 -!- cenuij [~cenuij@93.26.136.97] has joined #go-nuts
18:49 -!- cenuij [~cenuij@93.26.136.97] has quit [Changing host]
18:49 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts
18:50 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
18:52 -!- d_m [d6@SDF.ORG] has quit [Read error: Connection reset by peer]
19:06 -!- wrtp [~rog@92.17.67.123] has quit [Quit: wrtp]
19:16 -!- wjlroe [~will@78-86-14-131.zone2.bethere.co.uk] has joined #go-nuts
19:24 -!- mrw [~mrw@166.205.136.176] has joined #go-nuts
19:31 < plexdev> http://is.gd/fMzSy by [Luuk van Dijk] in go/src/cmd/gc/ --
6g: set kind to KindUnsafePointer where appropriate in reflect structures.
19:34 -!- Adys [~Adys@unaffiliated/adys] has quit [Remote host closed the
connection]
19:35 -!- adg [~nf@124.169.158.192] has quit [Ping timeout: 276 seconds]
19:36 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
19:39 -!- droon [~droon@69-113.106-92.cust.bluewin.ch] has joined #go-nuts
19:40 -!- mrw [~mrw@166.205.136.176] has quit [Quit: Colloquy for iPhone -
http://colloquy.mobi]
19:44 -!- adg [~nf@124.169.158.192] has joined #go-nuts
19:44 -!- plainhao [~plainhao@mail.xbiotica.com] has quit [Quit: plainhao]
19:48 -!- zozoR [~zozoR@4705ds1-ris.0.fullrate.dk] has quit [Quit: Morten.  Desu~]
19:53 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:6523:6955:9b01:46d4] has joined
#go-nuts
19:54 -!- adg [~nf@124.169.158.192] has quit [Ping timeout: 240 seconds]
19:55 < bortzmeyer> Is there a way to use the dns* modules in pkg/net
without copying them and modifying them?  They seem very tighly coupled with net
and do not export routines such as dnsReadConfig
19:55 -!- droon [~droon@69-113.106-92.cust.bluewin.ch] has quit [Remote host
closed the connection]
20:00 -!- artefon [~thiagon@150.164.2.20] has quit [Quit: Leaving]
20:01 -!- adg [~nf@124.169.158.192] has joined #go-nuts
20:06 -!- HollyRain [~HollyRain@87.223.116.212] has joined #go-nuts
20:09 < HollyRain> to pass a vector by reference I do `func foo(v
*vector.StringVector)` and then to access to the range I've to use (for _,v :=
range *v)
20:09 < HollyRain> is right?
20:10 < HollyRain> I thought that I'd to use &v
20:11 < HollyRain> let's go to see, it's correct because it compiles right
20:12 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts
20:13 -!- MaksimBurnin [~max@44.188-224-87.telenet.ru] has quit [Ping timeout: 265
seconds]
20:16 -!- Xurix [~Luixsia@AToulouse-254-1-14-60.w83-203.abo.wanadoo.fr] has joined
#go-nuts
20:16 -!- Xurix [~Luixsia@AToulouse-254-1-14-60.w83-203.abo.wanadoo.fr] has left
#go-nuts []
20:22 < Soultaker> HollyRain: that's right.  & and * complement each other.
20:22 < KirkMcDonald> StringVector should already be a reference.
20:22 < KirkMcDonald> (Since it's a type defined from a slice type.)
20:23 < KirkMcDonald> Ahh, but the methods are defined in terms of
*StringVector.
20:23 < KirkMcDonald> So, yes, dereferencing it should work.
20:23 < Soultaker> that's probably the only reason why range works (right?)
20:23 < KirkMcDonald> Yes.
20:24 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 265 seconds]
20:24 < Gertm> is there an absolute value function in go?
20:25 < HollyRain> KirkMcDonald: then, is not necessary to pass it by
reference?
20:26 < Gertm> ah, Fabs..  didn't see it there.
20:27 < soul9> so i'm still trying to parse this json, now into a struct,
but it's not going well.  if anyone could take a look..code:
http://dpaste.com/253594/ and example json: http://dpaste.com/253593/
20:27 < soul9> i get the error "invalid type assertion: c.(Conf)
(non-interface type map[string] interface { } on left)"
20:28 < KirkMcDonald> HollyRain: I would say that, since the receiver type
for the methods is *StringVector, you should probably use *StringVector.
20:29 < HollyRain> ok, thanks
20:29 < nickaugust> soul9: still not using Unmarshal?
20:30 < soul9> nickaugust: lol i still thought Decode would do the same just
on a stream..
20:31 < nickaugust> and youre still trying to put the data in a map instead
of a struct...  hold on let me look at this...
20:33 < nickaugust> soul9: yeah youre still setting c := to a map of
interfaces with string keys..  instead do 'var c Conf'
20:34 < soul9> aaaah
20:34 < soul9> that's it!
20:34 < soul9> var c Conf; d.Decode(&c) seems to work!
20:34 < nickaugust> and decode the data into that...  although im still not
sure why you dont use Unmarshal..  how big are the files?  ive never used decode
directly so im not sure this will work, but i can be sure that the type assertion
(Conf) will not work on the var c with type map[string]interface{} :)
20:35 < nickaugust> ah, nice :)
20:35 -!- lmoura_ [~lauromour@186.212.114.106] has quit [Quit: Leaving]
20:35 -!- lmoura [~lauromour@186.212.114.106] has joined #go-nuts
20:37 < soul9> nickaugust: well, thanks for all the attention.  that's
awesome.
20:37 < soul9> i'm still confused by the interface{} in the function
signatures, somehow makes me think i need to pass it an interface{}..
20:40 < nickaugust> no problem man.  :) ive spend many hours in #go-nuts
asking questions myself.  read more about interfaces..  theyre an interesting
aspect of go.  the 'effective go' article is quite good.  by using interface{} in
a function definition youre basicly saying you'll take any argument of any type
and deal with it yourself.
20:40 < nickaugust> so its nice for abstraction but can be a pain to deal
with...
20:41 < soul9> yeah, i can see
20:42 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has quit [Quit:
Leaving.]
20:43 < nickaugust> soul9: typically youd use an interface that had some
required fields or methods.  saying that if an object has these fields/methods it
satisfies this interface...  for example the io.Writer interface
20:44 < nickaugust> so interface{} is just an empty interface definition,
which everything satisfies.  thats my understanding...
20:44 -!- d_m [d6@SDF.ORG] has joined #go-nuts
20:50 < soul9> yeah
20:51 < soul9> but what was getting me is that interfaces define methods
that things have to export, while structs are datatypes
20:51 < soul9> oh well
20:52 -!- Fish [~Fish@9fans.fr] has quit [Remote host closed the connection]
20:55 -!- tvw [~tv@e176003227.adsl.alicedsl.de] has joined #go-nuts
20:58 < uriel> soul9: all types have some 'interface'
20:58 < uriel> soul9: interface{} is the empty interface, which *all* types
fulfill
20:58 < uriel> it is pretty simple really
20:59 < uriel> a function that takes an 'interface{}' can take any type
21:00 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:6523:6955:9b01:46d4] has quit
[Quit: Leaving.]
21:01 < nickaugust> right...  for example io.Writer is an interface which
requires one method, Write().  So any object that has a Write method can be passed
to a function that recieves an io.Writer.
21:04 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
21:06 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has quit [Quit:
skelterjohn]
21:22 -!- nickaugust [~nickaugus@li181-40.members.linode.com] has quit [Quit:
nickaugust]
21:22 -!- nickaugust [~nickaugus@li181-40.members.linode.com] has joined #go-nuts
21:25 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
21:27 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
21:34 -!- enferex [~enferex@users.757.org] has quit [Quit: leaving]
21:35 -!- photron [~photron@port-92-201-91-38.dynamic.qsc.de] has quit [Ping
timeout: 276 seconds]
21:50 < uriel> nickaugust: Go has no 'objects', lets not confuse the
terminology even more than it is already ;)
21:51 < uriel> (or maybe I'm wrong, ignore me, not sure if the term 'object'
is ever used in the official docs)
21:51 < nbjoerg> avoid it
21:51 < scyth> :))
21:51 < nbjoerg> talk about types
21:51 < nbjoerg> any type with a corresponding Write method ...
21:52 < nbjoerg> or matching Write method
21:52 < nbjoerg> whatever you prefer :)
21:53 < scyth> I think it would be nice if doc writers used phrase like
"interface{} as an argument, is like void *" :)
21:53 < nbjoerg> scyth: but it isn't
21:53 < nbjoerg> scyth: the point is that void * is not type safe
21:54 < scyth> nbjoerg, I know, and I said "like" not "is" :)
21:55 < scyth> or better even, "is like void *, only type safe..  and what
else" :)
21:57 < nickaugust> uriel: good point.  i'm still getting used to the
terminology.
22:02 -!- skelterjohn [~jasmuth@c-76-124-135-199.hsd1.nj.comcast.net] has joined
#go-nuts
22:06 -!- enferex [~enferex@users.757.org] has joined #go-nuts
22:06 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by
peer]
22:08 -!- ikaros [~ikaros@188.107.214.200] has quit [Quit: Leave the magic to
Houdini]
22:10 -!- segy [~segfault@pdpc/supporter/active/segy] has quit [Ping timeout: 272
seconds]
22:11 -!- jacekm [jacekm@parrot.dobremiasto.net] has quit [Read error: Operation
timed out]
22:11 -!- segy [~segfault@mail.hasno.info] has joined #go-nuts
22:11 -!- segy [~segfault@mail.hasno.info] has quit [Changing host]
22:11 -!- segy [~segfault@pdpc/supporter/active/segy] has joined #go-nuts
22:11 -!- HollyRain [~HollyRain@87.223.116.212] has left #go-nuts []
22:12 -!- jacekm [jacekm@parrot.dobremiasto.net] has joined #go-nuts
22:15 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has joined
#go-nuts
22:21 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has quit
[Ping timeout: 245 seconds]
22:30 -!- awidegreen [~quassel@62.176.237.78] has quit [Remote host closed the
connection]
22:37 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal]
22:49 -!- kingless [~kingless@adsl-242-215-95.rmo.bellsouth.net] has joined
#go-nuts
22:51 -!- kingless [~kingless@adsl-242-215-95.rmo.bellsouth.net] has quit [Remote
host closed the connection]
22:52 -!- skelterjohn [~jasmuth@c-76-124-135-199.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
23:02 -!- gabriel9 [~gabriel9@93.157.192.28] has quit [Read error: Connection
reset by peer]
23:06 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has joined
#go-nuts
23:07 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-177-190.clienti.tiscali.it] has
quit [Quit: E se abbasso questa leva che succ...]
23:15 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts
23:18 -!- jmettraux [~jmettraux@211.19.55.177] has joined #go-nuts
23:21 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has joined
#go-nuts
23:23 -!- gabriel9 [~gabriel9@93.157.192.28] has quit [Remote host closed the
connection]
23:24 -!- iant [~iant@nat/google/x-dgklwyjtxqpvyvmm] has quit [Read error:
Operation timed out]
23:32 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has quit [Quit:
slashus2]
23:32 -!- iant [~iant@67.218.106.122] has joined #go-nuts
23:32 -!- mode/#go-nuts [+v iant] by ChanServ
23:38 -!- jnwhiteh [~jnwhiteh@WoWUIDev/WoWI/Featured/Dongle/cladhaire] has quit
[Ping timeout: 240 seconds]
23:39 -!- jnwhiteh [~jnwhiteh@WoWUIDev/WoWI/Featured/Dongle/cladhaire] has joined
#go-nuts
23:43 -!- wjlroe [~will@78-86-14-131.zone2.bethere.co.uk] has quit [Quit: Computer
has gone to sleep]
23:43 -!- BlaSux [7f000001@dr.kleiner.lambdacomplex.org] has quit [Ping timeout:
264 seconds]
23:46 -!- skelterjohn [~jasmuth@c-76-124-135-199.hsd1.nj.comcast.net] has joined
#go-nuts
23:46 -!- skelterjohn [~jasmuth@c-76-124-135-199.hsd1.nj.comcast.net] has quit
[Client Quit]
--- Log closed Wed Oct 06 00:00:09 2010