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

--- Log opened Wed Mar 03 00:00:19 2010
00:00 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has quit [Quit:
leaving]
00:01 -!- saracen [~saracen@goto.fiveturns.org] has joined #go-nuts
00:05 -!- wuehlmaus [~wuehlmaus@p4FCC6484.dip.t-dialin.net] has quit [Ping
timeout: 245 seconds]
00:05 -!- rhelmer [~rhelmer@adsl-71-139-219-78.dsl.snfc21.pacbell.net] has quit
[Quit: rhelmer]
00:05 -!- tux21b [~christoph@90.146.60.30] has joined #go-nuts
00:05 -!- no_mind [~orion@122.162.227.228] has quit [Ping timeout: 276 seconds]
00:11 -!- nettok [~netto@proxy.galileo.edu] has joined #go-nuts
00:13 -!- iant [~iant@nat/google/x-dijercniohhevywo] has quit [Ping timeout: 245
seconds]
00:15 -!- hstimer [~hstimer@2002:465a:aa25:0:226:bbff:fe05:dd9b] has joined
#go-nuts
00:16 -!- tux21b [~christoph@90.146.60.30] has quit [Quit: Ex-Chat]
00:17 -!- rhelmer [~rhelmer@38.112.6.110] has joined #go-nuts
00:18 -!- no_mind [~orion@122.173.238.190] has joined #go-nuts
00:21 -!- monty_hall [~sprague_r@adsl-99-40-250-203.dsl.sfldmi.sbcglobal.net] has
quit [Read error: Connection reset by peer]
00:37 -!- iant [~iant@67.218.105.209] has joined #go-nuts
00:37 -!- mode/#go-nuts [+v iant] by ChanServ
00:38 -!- itrekkie [~itrekkie@ip72-200-104-177.tc.ph.cox.net] has joined #go-nuts
00:42 -!- Cyprien_ [Cyprien@233-5.107-92.cust.bluewin.ch] has quit [Ping timeout:
264 seconds]
00:42 -!- mikespook [~mikespook@219.136.142.90] has joined #go-nuts
00:42 -!- monty_hall [~sprague_r@adsl-99-40-250-203.dsl.sfldmi.sbcglobal.net] has
joined #go-nuts
00:44 -!- kota1111 [~kota1111@gw2.kbmj.jp] has joined #go-nuts
00:45 -!- defectiv [~clays@75.101.111.19] has joined #go-nuts
00:46 < defectiv> can i create an interface on e.g.  an integer?
00:47 < uriel> not sure what you mean, but you can define your own type
based on an int, and define your own methods for it
00:47 -!- Venom_bbl [~pjacobs@cpe-67-9-131-167.austin.res.rr.com] has quit [Quit:
Venom_bbl]
00:47 < defectiv> no, i mean making an interface for an integer.
00:48 < uriel> i have no clue what you mean
00:48 < defectiv> so you know about go interfaces i'm sure.
00:48 < uriel> once you create a type YourInt, you can define any methods
for it that you like
00:49 < defectiv> i'm not talking about creating a new type
00:49 < uriel> and that will mean it implements whatever interfaces that are
satisfied by those mehtods
00:49 < defectiv> i'm talking about creating a new interface, for which an
int implements that interface
00:49 <+iant> the builtin type int has no methods
00:49 < defectiv> are interfaces only based on methods, not on properties?
00:49 <+iant> so it only satisfies the empty interface
00:49 <+iant> yes
00:49 < defectiv> argh.
00:50 < defectiv> so i have to make a struct that has an int that stores the
int i'm wrapping for my own type?
00:50 <+iant> or you can define your own type (type MyInt int)
00:50 < defectiv> so i can do like my_int(4).times(func(index){do some
stuff})
00:50 <+iant> which is what uriel was suggesting
00:50 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
00:50 < defectiv> oh, you can?
00:51 < defectiv> but then you have to say MyInt(5).blah right?
00:51 < defectiv> you can't just treat 5 as a MyInt
00:51 <+iant> right
00:51 < defectiv> fair enough.
00:51 < defectiv> i just realized that Go actually does let you do something
functionally semi-equivalent to the open classes that ruby has.
00:52 < defectiv> in ruby, say you have some ORM class, and you want to to
be able to have it do write-through caching.
00:52 < defectiv> Rails has a plugin, made by twitter, that changes the
ActiveRecord classes to make this possible.  you don't have to change any of your
code to have your own classes inherit from their class.  their code literally just
changes the ActiveRecord class, so it's a "drop in" solution.
00:53 < defectiv> but that's very dynamic and "dangerous" and what not.
00:53 < defectiv> With Go, it seems that you could just pull in some package
that provides the alternative functionality, and then included it with the same
name as the original one.
00:53 < defectiv> so then it just transparently works with your existing
code, but implements the new improved functionality with no further rewrites.
00:54 < defectiv> that's pretty freaking exciting, and is a good refutation
of the notion that you need dynamic languages to achieve that kind of flexibility.
00:54 -!- rhelmer [~rhelmer@38.112.6.110] has quit [Quit: rhelmer]
00:55 < uriel> Go has the neat useful side of things, without the insane
ridiculous shit that casues things like:
00:55 < uriel> irb(main):003:0> ''.methods.length
00:55 < uriel> => 176
00:56 < defectiv> well, sorry, that's freaking awesome.
00:56 < defectiv> it kills me that Go doesn't have a methods method
00:57 < defectiv> and go seems way slower to develop.  but i'm starting to
think that makes up for itself in performance and maintainability.
00:57 < defectiv> you never have to ask how the hell something is getting
defined.  you can see it getting called via a namespace -- the package name
00:57 < uriel> there is reflection to figure out what methods a type
implements
00:57 < defectiv> oh?
00:57 < KirkMcDonald> Personally I view Ruby's insane dynamicity as its
primary weakness...  but then, I come here from Python.
00:58 < defectiv> probably the one big thing i'm frustrated about is the
makefile stuff.  argh.  i don't get why it's needed.  it seems to be a huge burden
on productivity.
00:58 < KirkMcDonald> defectiv: It is not so huge.
00:58 < defectiv> oh ruby is so vastly much more elegant than python.  :)
00:58 < KirkMcDonald> defectiv: You basically just need to list the source
files which comprise a package.
00:58 < uriel> KirkMcDonald: Python has similar issues, just not as accute,
I have seen almost as hideous amounts of monkey patching in python as in ruby
00:59 < uriel> (but I agree in ruby it is more widespread and even
encouraged)
00:59 < KirkMcDonald> The difference, as I see it, is that suck trickery is
furiously proscribed by most Python users.
00:59 < KirkMcDonald> s/suck/such/
00:59 < uriel> defectiv: if you don't like makefiles, don't use them, what
is the problem?
00:59 < defectiv> i think probably the best thing about ruby is the
convention to use underscores instead of camel case.  the best thing about python
is the semantic indenting.
00:59 < defectiv> i thought you had to use them to make a package work.  is
it just an optimization?
01:00 < KirkMcDonald> defectiv: It is entirely possible to compile a package
"manually."
01:00 < defectiv> ah.  silly me.
01:00 < KirkMcDonald> E.g.: 6g -o main.6 *.go && 6l -o binary main.6
01:00 < defectiv> yeah i could swear i did that once.  then i came in here
recently asking for help compiling a package i was writing for fun, and someone
told me i needed a makefile.  and i thought, "well that sucks"
01:00 < uriel> Go doesn't care how you build your code, makefiles are just a
simple solution, feel free to use whatever you like
01:01 < KirkMcDonald> Writing a Makefile is by far easier than fidding about
with the compiler manually.
01:01 < defectiv> i thought the solution was to use import.
01:01 < uriel> there are quite a few go-specific build tools (many of them
written in Go): http://go-lang.cat-v.org/dev-utils
01:01 < KirkMcDonald> And a correct Makefile will just consist of a couple
of includes, the name of the package, and a list of source files.
01:01 < defectiv> it would be nice if the compiler would just compile
dependencies for you automagically.
01:01 < KirkMcDonald> defectiv: Imports import packages.
01:01 < defectiv> yup.
01:01 < KirkMcDonald> defectiv: A package is comprised of one or more source
files.
01:02 < KirkMcDonald> defectiv: There is no particular way to know, given
the import of a package, which source files this refers to.
01:02 < defectiv> and it would be absurd to go looking through a bunch of
files to read them all to see what package they are part of, eh?  i guess that
makes sense.
01:02 < defectiv> i would sort of prefer that each package is one file, but
maybe that's limiting.
01:02 < KirkMcDonald> D does this.
01:02 < KirkMcDonald> And it actually works reasonably well.
01:02 < uriel> defectiv: again, see the link I pasted, some of thsoe tools
pick your dependencies for you
01:02 < uriel> s/pick/build/
01:03 < defectiv> i ran into D before Go, but i think Go is a lot more
elegant and fun to use.  and compiles insanely fast of course.
01:03 < defectiv> oh, cool.
01:03 < KirkMcDonald> D is also quite fast to compile.
01:03 < uriel> D is also quite ridiculously complex
01:03 < KirkMcDonald> The difference here is that D and Go both have a
reasonably well-defined and well-designed grammar, where (say) C++ does not.
01:03 < defectiv> yup.  :)
01:04 < defectiv> we need a complied language that's as sane as python
01:04 < defectiv> seems like Go does this.
01:05 < defectiv> now what i need is Rails/Django analog for Go
01:06 < uriel> python is not sane
01:06 < uriel> see metaclasses
01:06 < KirkMcDonald> A Go equivalent to WSGI could be interesting...
although the http package is probably already a reasonable interface.
01:06 < defectiv> it's relatively sane.  it's not PHP or Java.
01:06 < uriel> (and unicode support in python is a nightmare
01:06 < defectiv> for god's sake.
01:07 < KirkMcDonald> uriel: What?  It is?
01:07 -!- b00m_chef__ [~watr@d64-180-45-230.bchsia.telus.net] has quit [Ping
timeout: 258 seconds]
01:07 < KirkMcDonald> Python's unicode support is actually quite good.
01:07 < uriel> defectiv: fuck, even COBOL was better than PHP or Java, so Id
on't see your point
01:07 < uriel> it is absolutely awful
01:07 < defectiv> heh.  you are a tough customer.
01:07 < KirkMcDonald> uriel: How so?
01:08 < defectiv> what about JavaScript?  i think JavaScript is actually
pretty brilliant.
01:10 < uriel> scheme with a bunch of bizarre random shit dropped on top?
well, I guess it could be worse, indeed
01:10 < uriel> (re js)
01:10 < defectiv> well, the way i can chain things together and pass around
functions as parameters is pretty powerful.  same reason i love ruby, especially
blocks.
01:13 < uriel> again, ever heard of scheme?
01:17 < defectiv> i took a scheme class in college.
01:17 < defectiv> it's a funtional language.  don't really see much
similarity with js
01:17 < defectiv> more like xslt or haskell to me.
01:18 < defectiv> xslt is pretty great in some ways, but it's non-additive
(can't be concatenated seemlessly like e.g.  JS) and way too verbose.
01:19 < Gracenotes> JavaScript's syntax makes using it functionally pretty
fun.  Scheme...  not so much for me.
01:20 < uriel> xslt is one of the worst abominations from hell ever seen
01:21 < defectiv> well, i used it extensively, and i think it's pretty
amazing in a lot of ways.  again, it's too verbose, not fun to program, etc.  but
it's remarkably consistent and useful.
01:23 < Gracenotes> the existence of xslt, if nothing else, is the argument
for a better web development toolchain.  ouch, really :|
01:24 -!- iant [~iant@67.218.105.209] has quit [Ping timeout: 256 seconds]
01:24 < plexdev> http://is.gd/9zfhs by [Robert Griesemer] in 5 subdirs of
go/src/ -- gofmt: fix alignment of multi-line var declarations
01:25 -!- mechko [~mechko@149.43.98.47] has joined #go-nuts
01:29 -!- Sufrostico [~sufrostic@unaffiliated/Sufrostico] has joined #go-nuts
01:32 -!- sjbrown_ [~sjbrown@dsl081-072-059.sfo1.dsl.speakeasy.net] has quit [Ping
timeout: 240 seconds]
01:35 < defectiv> right.  we need client-side templating.
01:36 < defectiv> xpath is totally amazing.
01:36 -!- defectiv [~clays@75.101.111.19] has quit [Quit: This computer has gone
to sleep]
01:51 -!- hstimer [~hstimer@2002:465a:aa25:0:226:bbff:fe05:dd9b] has quit [Quit:
hstimer]
01:52 -!- quixoten [~Devin_Chr@c-67-177-8-48.hsd1.ut.comcast.net] has joined
#go-nuts
01:53 -!- nettok [~netto@proxy.galileo.edu] has quit [Quit: Ex-Chat]
01:54 -!- mejja [~user@c-52b1e555.023-82-73746f38.cust.bredbandsbolaget.se] has
quit [Remote host closed the connection]
02:03 -!- diltsman_ [~diltsman@75.141.230.81] has joined #go-nuts
02:04 -!- diltsman_ [~diltsman@75.141.230.81] has quit [Client Quit]
02:06 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 260 seconds]
02:06 -!- JoelJ [~joel@128.187.146.83] has joined #go-nuts
02:09 < JoelJ> hellp
02:09 < JoelJ> hello* :)
02:11 < JoelJ> is there anyone here?
02:12 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
02:14 -!- MarkBao [~MarkBao@64.134.96.99] has quit [Quit: Leaving...]
02:16 < Archwyrm> JoelJ: Hi
02:16 < JoelJ> hello
02:16 < JoelJ> I was just looking through the Go website
02:17 < JoelJ> trying to find if it says anything about linking to C or C++
libraries
02:17 < JoelJ> and didn't see anything
02:17 < JoelJ> is there a way to do that?
02:17 < Archwyrm> SWIG bindings are in the works for C++, but it is not
possible yet.
02:17 < Archwyrm> For C you use gccgo
02:17 < Archwyrm> Err, cgo
02:17 < JoelJ> ok, cool
02:17 < Archwyrm> Sorry
02:17 < JoelJ> no problem
02:18 < JoelJ> is there any documentation or anything on doing this?
02:18 -!- quixoten [~Devin_Chr@c-67-177-8-48.hsd1.ut.comcast.net] has quit [Read
error: Connection reset by peer]
02:19 < Archwyrm> JoelJ: Yeah, have a look here
http://code.google.com/p/go/source/browse/misc/cgo/gmp/gmp.go
02:19 < JoelJ> thank you much
02:19 < Archwyrm> No problem
02:20 < Archwyrm> Keep in mind that you *can* use C++ code if you write a C
API for it.
02:26 -!- Sufrostico [~sufrostic@unaffiliated/Sufrostico] has left #go-nuts []
02:30 -!- rhelmer_ [~rhelmer@adsl-69-107-88-150.dsl.pltn13.pacbell.net] has joined
#go-nuts
02:33 -!- MarkBao [~MarkBao@pool-173-76-27-66.bstnma.fios.verizon.net] has joined
#go-nuts
02:36 -!- Xera^ [~brit@87-194-208-246.bethere.co.uk] has quit [Quit: (
www.nnscript.com :: NoNameScript 4.21 :: www.esnation.com )]
02:41 < plexdev> http://is.gd/9zuf8 by [Ken Thompson] in 5 subdirs of go/ --
more on type complex.
02:47 -!- jA_cOp [~yakobu@unaffiliated/ja-cop/x-9478493] has joined #go-nuts
02:48 -!- nutate [~rseymour@cacsag4.usc.edu] has quit [Quit: I'm outta heee-eere]
02:51 -!- b00m_chef [~watr@128.189.92.103] has joined #go-nuts
02:52 -!- carllerche [~carllerch@enginey-9.border1.sfo002.pnap.net] has quit
[Quit: carllerche]
02:57 < plexdev> http://is.gd/9zxyc by [Russ Cox] in 2 subdirs of go/test/
-- test: fix 386 build (missing complex)
02:58 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Quit: WeeChat
0.3.1.1]
03:22 -!- nettok [~netto@200.119.151.6] has joined #go-nuts
03:23 -!- mechko [~mechko@149.43.98.47] has quit [Ping timeout: 265 seconds]
03:30 -!- mechko [~mechko@149.43.184.207] has joined #go-nuts
03:37 -!- MarkBao [~MarkBao@pool-173-76-27-66.bstnma.fios.verizon.net] has quit
[Quit: MarkBao]
03:39 -!- Amaranth [~travis@ubuntu/member/Amaranth] has joined #go-nuts
03:40 -!- LordOfTheNoobs [~user@74-132-116-253.dhcp.insightbb.com] has joined
#go-nuts
03:43 < LordOfTheNoobs> I've managed to get this thing so that a function
returning a tuple of values from a map lookup will fmt.Print( t.Get(key) ) as
{<nil> true} , but doing a v, b := t.Get(key) ; fmt.Print( v , b ) yields
<nil> false.  I'm not depending on that ( turned up while testing things ),
but I thought it looked odd enough to warrant looking into.
03:49 < Eridius> LordOfTheNoobs: what's t.Get() ?
03:50 -!- mechko [~mechko@149.43.184.207] has quit [Quit: grawr]
03:51 -!- itrekkie [~itrekkie@ip72-200-104-177.tc.ph.cox.net] has quit [Quit:
itrekkie]
03:51 -!- itrekkie [~itrekkie@ip72-200-104-177.tc.ph.cox.net] has joined #go-nuts
03:52 < LordOfTheNoobs> Hold on, the source is short, I'll post it somewhere
03:55 < LordOfTheNoobs> http://pastebin.com/yNTn95zQ
03:57 < LordOfTheNoobs> I'm messing around with the interface{} generics
using a key value wrapper over map.  The fmt.Print {<nil> true} looks like
an error.
03:58 -!- yatoo [~marcus@host86-160-77-91.range86-160.btcentralplus.com] has quit
[Ping timeout: 246 seconds]
03:58 < anticw> fmt.Printf("%T %#v\n", v, v)
03:58 < anticw> and what do you get?
03:59 -!- TR2N [email@89-180-145-189.net.novis.pt] has quit [Ping timeout: 245
seconds]
04:00 -!- TR2N [email@89-180-145-189.net.novis.pt] has joined #go-nuts
04:01 < LordOfTheNoobs> anticw: segfaults printing the interface value.
04:01 < anticw> is this a recent go?
04:02 < LordOfTheNoobs> Pulled it yesterday.  I'll update and see if the
problem remains.
04:03 < anticw> that's recent enough
04:03 < anticw> v is nil then?
04:06 < LordOfTheNoobs> Yes.  The map is newly
make(map[interface{}]interface{})'ed.  I was pulling non-existant entries to see
how it reacts when I found the abberation.
04:06 < LordOfTheNoobs> The source is in the pastebin, if you want to look.
04:07 < LordOfTheNoobs> Or see if its just me :)
04:07 < anticw> that's not valid :-)
04:07 < anticw> for a map
04:07 < anticw> i wouldn't expect that to compile
04:08 < anticw> i'm wrong, re-reading the spec i guess it is valid
04:09 < anticw> but it's not clear to me it's implemented
04:10 -!- hstimer [~hstimer@2002:62ea:197d:0:226:bbff:fe05:dd9b] has joined
#go-nuts
04:10 < hstimer> what is this syntax about:
04:10 < hstimer> Version int "optional,explicit,default:1,tag:0"
04:10 < LordOfTheNoobs> I'm waiting for gcc to finish grinding out a new 8g
for me.  If I've found a legitimate bug I'll just go post it to the tracker.
04:14 < LordOfTheNoobs> Yeah, the new pull is acting weird too.  Thanks
anticw, I'll go file a bug.
04:17 -!- Len__ [~Len@77.126.183.153] has joined #go-nuts
04:18 -!- Len_ [~Len@87.70.4.31] has quit [Ping timeout: 245 seconds]
04:20 -!- carllerche [~carllerch@c-69-181-129-204.hsd1.ca.comcast.net] has joined
#go-nuts
04:29 < plexdev> http://is.gd/9zOZf by [Stephen Ma] in go/src/pkg/net/ --
net: correct DNS configuration
04:35 -!- itrekkie [~itrekkie@ip72-200-104-177.tc.ph.cox.net] has quit [Quit:
itrekkie]
04:37 -!- Gracenotes [~person@wikipedia/Gracenotes] has quit [Read error:
Connection reset by peer]
04:38 -!- rhelmer_ [~rhelmer@adsl-69-107-88-150.dsl.pltn13.pacbell.net] has quit
[Quit: rhelmer_]
04:38 -!- Gracenotes [~person@wikipedia/Gracenotes] has joined #go-nuts
04:41 -!- rhelmer [~rhelmer@adsl-69-107-88-150.dsl.pltn13.pacbell.net] has joined
#go-nuts
04:43 -!- Amaranth [~travis@ubuntu/member/Amaranth] has quit [Ping timeout: 268
seconds]
04:45 -!- ogh [~ogh@denksoft.iasi.rdsnet.ro] has quit [Ping timeout: 245 seconds]
04:46 -!- nighty__ [~nighty@210.188.173.245] has joined #go-nuts
04:47 -!- ogh [~ogh@denksoft.iasi.rdsnet.ro] has joined #go-nuts
04:50 -!- b00m_chef [~watr@128.189.92.103] has quit [Ping timeout: 256 seconds]
04:51 -!- Amaranth [~travis@ubuntu/member/Amaranth] has joined #go-nuts
04:57 -!- robot12 [~robot12@robot12.kgts.ru] has joined #go-nuts
04:59 -!- wuehlmaus [~wuehlmaus@p4FCC490A.dip.t-dialin.net] has joined #go-nuts
05:01 -!- LordOfTh` [~user@74-132-116-253.dhcp.insightbb.com] has joined #go-nuts
05:02 -!- Zarathu [zarathu@srv01.whitepaperclip.com] has joined #go-nuts
05:03 -!- Zarathu [zarathu@srv01.whitepaperclip.com] has left #go-nuts []
05:05 -!- LordOfTheNoobs [~user@74-132-116-253.dhcp.insightbb.com] has quit [Ping
timeout: 245 seconds]
05:06 -!- TR2N [email@89-180-145-189.net.novis.pt] has left #go-nuts []
05:07 -!- sw4 [~sw@193.126.212.28] has quit [Ping timeout: 245 seconds]
05:08 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit:
This computer has gone to sleep]
05:09 -!- sw4 [~sw@193.126.212.28] has joined #go-nuts
05:15 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts
05:23 -!- Chryson [~joel@c-71-60-250-12.hsd1.pa.comcast.net] has joined #go-nuts
05:25 -!- Someguy77 [~Someguy77@60-240-92-182.tpgi.com.au] has joined #go-nuts
05:30 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Ping timeout: 265
seconds]
05:30 < hdon> anyone using golang to develop games yet?
05:30 < hdon> the duck-typing seems *perfect* for game development
05:31 < hdon> perhaps the goroutines and channels can even be useful for
game developers to parallelize their software
05:43 -!- Gracenotes [~person@wikipedia/Gracenotes] has quit [Remote host closed
the connection]
05:45 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
05:45 -!- mode/#go-nuts [+v iant] by ChanServ
05:49 -!- droid001 [~g1@p4FDC99CA.dip.t-dialin.net] has quit [Ping timeout: 265
seconds]
05:57 -!- nettok [~netto@200.119.151.6] has quit [Quit: Ex-Chat]
06:22 < KirkMcDonald> Are there OpenGL bindings yet?
06:22 < KirkMcDonald> Also all the other bindings you'd need.
06:22 < no_mind> is GO planning to participate in GSoC ?
06:23 < anticw> KirkMcDonald: there are some limited gl/glu bindings i think
06:27 -!- sjbrown_ [~sjbrown@c-69-181-182-137.hsd1.ca.comcast.net] has joined
#go-nuts
06:29 < hdon> well there is SWIG which could be used to generate bindings,
no?
06:29 * hdon wonders what the state of SWIG Go module is
06:30 < anticw> having used swig to create python bindings in the past i'm
not that excited by it myself
06:32 -!- mikespook [~mikespook@219.136.142.90] has quit [Ping timeout: 268
seconds]
06:35 <+iant> Weren't we just talking about the state of Go in SWIG?
06:35 <+iant> It's in progress
06:37 < anticw> define 'we'
06:38 < anticw> people come and go, and not everyone has scrollback, so some
repeatition is going to happen
06:38 <+iant> sure, but I thought hdon specifically was talking about it....
06:38 <+iant> that is, hdon and me
06:38 <+iant> but perhaps I misremember
06:39 < anticw> silly q that someone brought up, i dont have a good answer
for this
06:39 < anticw> T.(int) works to case T to an int
06:39 < hdon> iant, well you said it was unfinished but in progress.  i also
have a SWIG module unfinished but in progress, but there's certainly more to it
than that ;)
06:39 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Remote
host closed the connection]
06:39 < anticw> but T.(*T2) is required if T2 is an interface
06:40 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
06:40 -!- mode/#go-nuts [+v iant] by ChanServ
06:40 < anticw> why is the * required?
06:40 < hdon> can i use my SWIG module for OpenGL?  yes.  but not a lot of
other things.  opengl was just oen of my early goals
06:40 <+iant> anticw: sorry, I missed part of what you said when pidgin
crashed
06:40 < anticw> http://github.com/banthar/Go-OpenGL
06:41 < anticw> iant: basically you can cast an interface type to an int by
doing T.(int)
06:41 < anticw> sometimes though you need to use T.(*T2) though
06:41 <+iant> You need to use the exact type that is stored in the interface
06:41 < anticw> well, if T2 is an interface you need (*T2)
06:42 < anticw> my code works, but only out of habit from seeing examples
early on ...  i never thought hard about it
06:42 <+iant> it would depend on whether the value stored in the interface
has pointer methods or value methods
06:42 * hdon checks out banthar's works
06:44 -!- LordOfTh` [~user@74-132-116-253.dhcp.insightbb.com] has quit [Remote
host closed the connection]
06:45 < hdon> iant, imho, last i checked, pidgin was a rather poor IRC
client.  i'd consider switching
06:45 -!- chickamade [~chickamad@113.190.179.230] has joined #go-nuts
06:45 <+iant> It's convenient for me to support the different protocols
(AIM, Jabber, IRC, etc.) in a single client
06:46 <+iant> it actually never used to crash until a recent Ubuntu update,
so I expect that somebody broke something
06:46 < anticw> bitlbee works albeit also somewhat sucky
06:47 -!- rhelmer [~rhelmer@adsl-69-107-88-150.dsl.pltn13.pacbell.net] has quit
[Quit: rhelmer]
06:48 < anticw> iant: is using runtime.Semaphore really to be avoided?
06:52 < KirkMcDonald> anticw: I think you are confused regarding the type
assertion syntax.
06:56 < anticw> no, it's what iant said ...  looking over more code i see
sometimes pointer types are used
06:59 -!- ShadowIce [pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
07:05 -!- chickamade [~chickamad@113.190.179.230] has quit [Quit: Leaving]
07:07 < rsaarelm> hdon: re.  games in Go, I'm using it to write a roguelike.
07:07 < hdon> rsaarelm, :D
07:08 < rsaarelm> Not making much use of the duck typing though.  Ended up
doing a kind of component system instead.
07:09 < Archwyrm> rsaarelm: I don't suppose you have publicly available
source yet?
07:09 < rsaarelm> http://github.com/rsaarelm/teratogen
07:09 < Archwyrm> Cool =)
07:10 < Archwyrm> I too was thinking about writing games in Go and started
prototyping with a roguelike.  Haven't gotten very far yet though.
07:11 < Archwyrm> And yes, I think components are the way to..  uh..  go.
07:11 < Archwyrm> (pun not intended, I swear)
07:11 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Quit:
slashus2]
07:12 < hdon> rsaarelm, could you elaborate on "component system?"
07:12 < rsaarelm> It's inspired by this article among others:
http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/
07:13 * hdon clicks
07:13 < rsaarelm> Basically the game objects are just guid int values.  Then
there's a component manager that associates various types of component objects
with the game object guid, and these describe what the game object can do.
07:13 < Archwyrm> rsaarelm: Yeah, that is a good article.
07:14 < rsaarelm> My component system base is at the pkg/hyades/entity
subdir.
07:14 < rsaarelm> Not sure how understandable the source there is.
07:16 < Archwyrm> rsaarelm: You are using SDL, eh?
07:18 < Archwyrm> I was recently happy to discover bindings for ncurses.  I
thought I would have to write some myself.
07:18 < rsaarelm> Yeah, rolled my own bindings.
07:19 < Archwyrm> Ah, ok.
07:19 < rsaarelm> I was going for something that's similar to
exp.draw.Context for the SDL interfac.
07:19 < rsaarelm> That implements it, actually.
07:19 < Archwyrm> Nice
07:20 < rsaarelm> It's probably not good for a general-purpose binding,
since the design was mostly "make it do the stuff I need right now."
07:21 < Archwyrm> Yeah, that was the same thing that I was planning.
07:24 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
07:24 < rsaarelm> I did make an extra function for blitting SDL surfaces.
As far as I figured out, the idiom in exp/draw is to draw pixel-by-pixel via the
draw.Image interface.  Which would be kinda slow.
07:25 < Archwyrm> rsaarelm: I don't suppose you have looked at these
http://github.com/banthar/Go-SDL
07:25 < Archwyrm> Ah, yeah.
07:25 -!- meatmanek [~meatmanek@mesingw.student.cwru.edu] has quit [Quit: Leaving]
07:27 -!- Someguy77 [~Someguy77@60-240-92-182.tpgi.com.au] has left #go-nuts []
07:29 < rsaarelm> I did, back in November or December.  There were two SDL
binding projects, and I wasn't sure about the stability of either, so I ended up
doing my own.
07:29 -!- Rajko [bitrot@cable-188-2-205-37.dynamic.sbb.rs] has joined #go-nuts
07:29 < Rajko> how do this
07:31 < Archwyrm> rsaarelm: It's hard to count on much being stable at the
moment, so I guess you have an advantage in already knowing the binding code in
case you need to fix it up.
07:32 < rsaarelm> Of course it might have been more productive to start
using the existing bindings and contribute fixes I come up with there.
07:32 < Archwyrm> True
07:41 -!- path[l]_ [~path@122.167.245.104] has joined #go-nuts
07:41 -!- trickie [~trickie@94.100.112.225] has joined #go-nuts
07:42 -!- rhelmer [~rhelmer@adsl-69-107-88-150.dsl.pltn13.pacbell.net] has joined
#go-nuts
07:43 -!- path[l] [~path@122.167.245.104] has quit [Ping timeout: 258 seconds]
07:47 < plexdev> http://is.gd/9AnUB by [Stephen Ma] in go/src/pkg/net/ --
net: fix network timeout boundary condition.
07:47 -!- path[l]_ [~path@122.167.245.104] has joined #go-nuts
07:48 -!- rhelmer [~rhelmer@adsl-69-107-88-150.dsl.pltn13.pacbell.net] has quit
[Quit: rhelmer]
07:49 -!- robot12 [~robot12@robot12.kgts.ru] has quit [Quit: Leaving.]
07:50 -!- ollins [~ollins@www.inventage.com] has joined #go-nuts
07:51 -!- path[l] [~path@122.167.245.104] has quit [Ping timeout: 245 seconds]
07:57 -!- asmo_ [~asmo@c83-248-32-75.bredband.comhem.se] has joined #go-nuts
07:59 -!- Chapso [~Chapso@ip68-3-113-28.ph.ph.cox.net] has joined #go-nuts
08:01 -!- sjbrown_ [~sjbrown@c-69-181-182-137.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
08:04 -!- sjbrown_ [~sjbrown@c-69-181-182-137.hsd1.ca.comcast.net] has joined
#go-nuts
08:05 -!- yashi [~yashi@dns1.atmark-techno.com] has quit [Remote host closed the
connection]
08:06 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-171-141.clienti.tiscali.it] has
joined #go-nuts
08:06 -!- yashi [~yashi@dns1.atmark-techno.com] has joined #go-nuts
08:08 < Project_2501> hu
08:08 -!- Chapso [~Chapso@ip68-3-113-28.ph.ph.cox.net] has left #go-nuts []
08:24 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-162-251.netcologne.de] has joined
#go-nuts
08:25 -!- Cyprien_ [~Cyprien@pub1.heig-vd.ch] has joined #go-nuts
08:32 -!- Gracenotes [~person@wikipedia/Gracenotes] has joined #go-nuts
08:42 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
08:49 -!- carllerche [~carllerch@c-69-181-129-204.hsd1.ca.comcast.net] has quit
[Quit: carllerche]
08:57 -!- c0nfl|ct [~tiago@83.240.134.68] has joined #go-nuts
09:06 -!- JoelJ [~joel@128.187.146.83] has quit [Ping timeout: 246 seconds]
09:11 -!- Len__ [~Len@77.126.183.153] has quit [Read error: Connection reset by
peer]
09:18 -!- Xurix [~Luixsia@AToulouse-254-1-96-19.w86-207.abo.wanadoo.fr] has quit
[Ping timeout: 240 seconds]
09:19 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-162-251.netcologne.de] has quit [Quit:
m1ndwarp]
09:24 -!- droid001 [~g1@p4FDCBD2D.dip.t-dialin.net] has joined #go-nuts
09:38 -!- Kashia [~Kashia@port-92-200-59-29.dynamic.qsc.de] has quit [Quit: This
computer has gone to sleep]
09:43 -!- sjbrown_ [~sjbrown@c-69-181-182-137.hsd1.ca.comcast.net] has quit [Ping
timeout: 240 seconds]
09:45 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-162-251.netcologne.de] has joined
#go-nuts
09:59 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
10:09 -!- General1337 [~support@71-84-247-187.dhcp.gldl.ca.charter.com] has joined
#go-nuts
10:12 -!- General13372 [~support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[Ping timeout: 240 seconds]
10:23 -!- nighty__ [~nighty@210.188.173.245] has quit [Remote host closed the
connection]
10:27 -!- perdix [~perdix@sxemacs/devel/perdix] has joined #go-nuts
10:47 -!- nanoo [~nano@95-89-189-46-dynip.superkabel.de] has joined #go-nuts
10:55 -!- awidegreen [~quassel@p5B0612B0.dip.t-dialin.net] has joined #go-nuts
10:58 -!- c0nfl|ct [~tiago@83.240.134.68] has quit [Ping timeout: 276 seconds]
11:03 -!- jhnx [~bd7305b5@gateway/web/freenode/x-eioacxtcmtmgvkqp] has joined
#go-nuts
11:37 -!- carsten_ [~carsten@p57A67DC6.dip.t-dialin.net] has joined #go-nuts
11:46 -!- yatoo [~marcus@host86-160-77-91.range86-160.btcentralplus.com] has
joined #go-nuts
11:52 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-162-251.netcologne.de] has quit [Quit:
m1ndwarp]
11:54 -!- Wi11 [~william@dhcp-0-14-bf-38-80-9c.cpe.powergate.ca] has quit [Read
error: Operation timed out]
11:58 -!- Wi11 [~william@dhcp-0-14-bf-38-80-9c.cpe.powergate.ca] has joined
#go-nuts
12:02 -!- afurlan [~afurlan@scorpion.mps.com.br] has joined #go-nuts
12:06 -!- g0bl1n [~anonymous@a213-22-200-76.cpe.netcabo.pt] has joined #go-nuts
12:24 -!- Mechanobot [~user@p578F8D5B.dip.t-dialin.net] has joined #go-nuts
12:33 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-171-141.clienti.tiscali.it] has
quit [Quit: E se abbasso questa leva che succ...]
12:33 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Quit: WeeChat
0.3.1.1]
12:52 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-162-251.netcologne.de] has joined
#go-nuts
12:59 -!- asmo_ [~asmo@c83-248-32-75.bredband.comhem.se] has quit [Remote host
closed the connection]
13:10 -!- cmarcelo [~cmarcelo@200.184.118.130] has joined #go-nuts
13:10 -!- cmarcelo [~cmarcelo@200.184.118.130] has quit [Changing host]
13:10 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has joined
#go-nuts
13:11 -!- ct529 [~quassel@77-44-78-159.xdsl.murphx.net] has joined #go-nuts
13:19 -!- g0bl1n [~anonymous@a213-22-200-76.cpe.netcabo.pt] has left #go-nuts []
13:24 -!- wuehlmaus [~wuehlmaus@p4FCC490A.dip.t-dialin.net] has quit [Remote host
closed the connection]
13:26 -!- kota1111 [~kota1111@gw2.kbmj.jp] has quit [Quit: Leaving...]
13:30 -!- wuehlmaus [~wuehlmaus@p4FCC490A.dip.t-dialin.net] has joined #go-nuts
13:31 -!- merlin83 [~merlin83@unaffiliated/merlin83] has quit [Ping timeout: 240
seconds]
13:37 -!- merlin83 [~merlin83@cm18.delta246.maxonline.com.sg] has joined #go-nuts
13:37 -!- merlin83 [~merlin83@cm18.delta246.maxonline.com.sg] has quit [Changing
host]
13:37 -!- merlin83 [~merlin83@unaffiliated/merlin83] has joined #go-nuts
13:40 -!- crashR [~crasher@codextreme.pck.nerim.net] has joined #go-nuts
13:44 -!- jalmeida [~jalmeida@c9340a2e.virtua.com.br] has joined #go-nuts
13:44 -!- noam [~k4jd095b@87.70.183.61] has quit [Read error: Connection reset by
peer]
13:44 -!- noam [~k4jd095b@87.70.183.61] has joined #go-nuts
13:56 -!- ericvh [~ericvh@32.97.110.63] has joined #go-nuts
14:02 -!- rrr [debian-tor@gateway/tor-sasl/rrr] has quit [Remote host closed the
connection]
14:05 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-162-251.netcologne.de] has quit [Quit:
m1ndwarp]
14:05 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 245 seconds]
14:26 -!- Netsplit *.net <-> *.split quits: garbeam, General1337, preflex,
SRabbelier, comboy, Mechanobot
14:28 -!- rrr [debian-tor@gateway/tor-sasl/rrr] has joined #go-nuts
14:31 -!- Netsplit over, joins: SRabbelier, General1337, Mechanobot, preflex,
comboy, garbeam
14:31 -!- stalled [~411@unaffiliated/stalled] has quit [Excess Flood]
14:32 -!- stalled [~411@unaffiliated/stalled] has joined #go-nuts
14:57 -!- iant [~iant@67.218.106.224] has joined #go-nuts
14:57 -!- mode/#go-nuts [+v iant] by ChanServ
15:05 -!- gzmask [~ray@corwin.cat.uregina.ca] has joined #go-nuts
15:12 -!- nanoo [~nano@95-89-189-46-dynip.superkabel.de] has quit [Quit: Leaving]
15:26 -!- ollins [~ollins@www.inventage.com] has quit [Remote host closed the
connection]
15:28 -!- Wiz126 [Wiz126@72.20.223.244] has quit []
15:35 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-149-226.netcologne.de] has joined
#go-nuts
15:38 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust265.basl.cable.virginmedia.com] has
joined #go-nuts
15:39 -!- Chryson [~joel@c-71-60-250-12.hsd1.pa.comcast.net] has quit [Quit:
Leaving.]
15:42 -!- Cyprien_ [~Cyprien@pub1.heig-vd.ch] has quit [Ping timeout: 252 seconds]
15:56 -!- GabydeWilde_ [~gabydewil@84-104-135-141.cable.quicknet.nl] has joined
#go-nuts
15:58 -!- GabydeWilde_ [~gabydewil@84-104-135-141.cable.quicknet.nl] has quit
[Client Quit]
15:58 -!- hstimer [~hstimer@2002:62ea:197d:0:226:bbff:fe05:dd9b] has quit [Quit:
hstimer]
15:59 -!- GabydeWilde_ [~gabydewil@84-104-135-141.cable.quicknet.nl] has joined
#go-nuts
16:01 -!- robpike [~r@c-69-181-162-120.hsd1.ca.comcast.net] has joined #go-nuts
16:01 -!- mode/#go-nuts [+v robpike] by ChanServ
16:02 -!- robpike [~r@c-69-181-162-120.hsd1.ca.comcast.net] has left #go-nuts []
16:03 -!- crashR [~crasher@codextreme.pck.nerim.net] has quit [Quit: Leaving.]
16:04 -!- asmo [~asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
16:06 -!- perdix [~perdix@sxemacs/devel/perdix] has quit [Quit: A cow.  A
trampoline.  Together they fight crime!]
16:09 -!- Venom_X [~pjacobs@cpe-67-9-131-167.austin.res.rr.com] has joined
#go-nuts
16:12 -!- iant [~iant@67.218.106.224] has quit [Ping timeout: 264 seconds]
16:21 -!- hawkal [~alex@95.148.161.144] has joined #go-nuts
16:22 -!- hawkal [~alex@95.148.161.144] has quit [Quit: Leaving]
16:22 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.]
16:24 -!- TR2N [email@89-180-169-215.net.novis.pt] has joined #go-nuts
16:29 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts
16:32 -!- perdix [~perdix@f055164091.adsl.alicedsl.de] has joined #go-nuts
16:32 -!- perdix [~perdix@f055164091.adsl.alicedsl.de] has quit [Changing host]
16:32 -!- perdix [~perdix@sxemacs/devel/perdix] has joined #go-nuts
16:33 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-149-226.netcologne.de] has quit [Read
error: Operation timed out]
16:34 -!- DerHorst [~Horst@e176104111.adsl.alicedsl.de] has joined #go-nuts
16:37 -!- trickie [~trickie@94.100.112.225] has quit [Quit: Computer has gone to
sleep]
16:38 -!- c0nfl|ct [~tiago@83.240.134.68] has joined #go-nuts
16:39 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-145-170.netcologne.de] has joined
#go-nuts
16:46 -!- Xera^ [~brit@87-194-208-246.bethere.co.uk] has joined #go-nuts
16:49 -!- hstimer [~hstimer@2002:465a:aa25:0:226:bbff:fe05:dd9b] has joined
#go-nuts
16:51 -!- jA_cOp [~yakobu@unaffiliated/ja-cop/x-9478493] has quit [Quit: Leaving]
16:56 -!- c0nfl|ct [~tiago@83.240.134.68] has quit [Read error: Connection reset
by peer]
16:56 -!- iant [~iant@nat/google/x-pmdkgaebfhlehmim] has joined #go-nuts
16:56 -!- mode/#go-nuts [+v iant] by ChanServ
17:06 -!- Mechanobot [~user@p578F8D5B.dip.t-dialin.net] has quit [Quit:
Verlassend]
17:06 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Disconnected by
services]
17:06 -!- sladegen [~nemo@unaffiliated/sladegen] has joined #go-nuts
17:06 -!- perdix [~perdix@sxemacs/devel/perdix] has left #go-nuts ["A cow.  A
trampoline.  Together they fight crime!"]
17:10 < hstimer> how do you convert an array of bytes to a string?
17:10 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-145-170.netcologne.de] has quit [Ping
timeout: 264 seconds]
17:11 <+iant> hstimer: given var a [10]byte, you can do string(&a)
17:11 -!- pshahmumbai [~prashant@58.146.97.172] has joined #go-nuts
17:11 < hstimer> excellent!
17:13 < hstimer> ugh....  thwarted....  string(&a) is invalid where T is
uint8
17:13 <+iant> what is the type of a?
17:13 <+iant> if it is a slice, you don't need to take the address
17:13 < hstimer> [10]uint8
17:14 < hstimer> dropping the & worked.  thanks
17:16 -!- ct529 [~quassel@77-44-78-159.xdsl.murphx.net] has quit [Remote host
closed the connection]
17:16 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-171-12.netcologne.de] has joined #go-nuts
17:19 -!- ct529 [~quassel@77-44-78-159.xdsl.murphx.net] has joined #go-nuts
17:27 -!- Cyprien_ [~Cyprien@pub1.heig-vd.ch] has joined #go-nuts
17:28 -!- b00m_chef [~watr@d64-180-45-230.bchsia.telus.net] has joined #go-nuts
17:34 < hstimer> what does it mean when a function declaration has a
parameter with no type?
17:35 <+iant> a syntax error?
17:35 < hstimer> func CreateCertificate(rand io.Reader, template, parent
*Certificate, priv *rsa.PrivateKey) (cert []byte, err os.Error) {
17:36 <+iant> both template and parent have type *Certificate
17:36 < hstimer> ah.....  I never do it that way.....  oh
17:49 -!- pshahmumbai [~prashant@58.146.97.172] has quit [Quit: Ex-Chat]
17:50 -!- path[l] [~path@122.167.245.104] has quit [Ping timeout: 276 seconds]
17:50 < exch> saves you from doing some unneeded typing
17:51 -!- Cyprien_ [~Cyprien@pub1.heig-vd.ch] has quit [Ping timeout: 256 seconds]
17:52 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-171-12.netcologne.de] has quit [Quit:
m1ndwarp]
17:56 < hstimer> In a struct when you see a string after a type, it that
something that gets picked up by reflection?  does it have any default uses other
than that?
17:56 < hstimer> UniqueId asn1.BitString "optional,tag:1"
17:57 <+iant> right, it's a tag which is accessible using the reflection
library
17:57 <+iant> the default is to have no tag
17:57 < hstimer> any default meanings?
17:57 <+iant> no
17:57 < hstimer> any built in meanings?
17:57 <+iant>
http://research.swtch.com/2009/12/data-structures-go-programs.html
17:57 <+iant> no
17:57 < anticw> how internally does reflection determine types?
17:57 < anticw> address alloction pools/
17:58 < anticw> ?
17:58 <+iant> when you store a value in an interface, the compiler
automatically stores the type of the value
17:58 < hstimer> can it be used to decorate variables too?  or just
definitions?
17:58 <+iant> this is a *runtime.commonType
17:58 <+iant> hstimer: tags only go on struct fields
17:58 <+iant> anticw: the reflection library works by accepting a value of
interface type and then pulling out the type
18:00 < anticw> iant: but if i have a slice, i don't have something tagging
that slice as type 0x123, i just have len, cap, base and elements
18:00 -!- nanoo [~nano@95-89-189-46-dynip.superkabel.de] has joined #go-nuts
18:01 < anticw> iant: so given &something how does it internally infer the
type ?
18:01 <+iant> anticw: sure, but the compiler knows the type of that slice
18:01 < anticw> so the type information is passed about?
18:01 <+iant> so if you write code which stores the slice into an interface
value, the compiler knows the type to store in the interface
18:01 <+iant> whenever you assign a value to an interface, the compiler
knows the type of the value, by definition
18:02 <+iant> so it knows the type store in the interface value
18:03 < anticw> i see: 0005 (type1.go:4) MOVQ $type.int+0(SB),(SP)
18:03 < anticw> then a call to the runtime.ifaceT2E
18:04 < hstimer> back quote literals -- so there is no way to include a back
quote in a back quote literal?
18:04 < anticw> so storage for "interface{}" would typically be 4 bytes +
sizeof(ptr)
18:05 < anticw> iant: gccgo probably produces easier code to eyeball, does
objdump -S work correctly for -g -O0 generated code?  (i'm assuming yes)
18:06 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts
18:06 < ct529> do you know whether it is possible to interface GO and R?
18:07 < anticw> out of the box right now, i doubt it
18:07 <+iant> anticw: storage for interface{} is two pointers, yes
18:07 <+iant> hstimer: right, you can't put a backquote in a raw string
literal
18:07 < anticw> iant: why two pointers?  surely you could get away with a
type-id which could be a 32-bit int
18:07 < anticw> rather than a pointer to type information
18:08 < ct529> anticw: not out of the box ....  I was wondering if anyone
had written one?
18:08 < anticw> i dont think so, uriel maintains a partial list of public
projects, check there
18:08 < hstimer> why not just support some kind of "here" document so there
isn't a literal limitation?
18:08 <+iant> anticw: we could, but why not use a pointer to type
information?  since the interface has a pointer anyhow, it wants to be aligned on
pointer boundary, so those extra bytes are not going to be used for anything else
in practice
18:08 < anticw> iant: all the world is x86 :-) you can mostly ignore
alignment on modern CPUs and they deal pretty well
18:08 -!- iant [~iant@nat/google/x-pmdkgaebfhlehmim] has quit [Remote host closed
the connection]
18:09 < ct529> the other question is ....  I understand go can be easily run
on multicore ....  but I wonder if the same syntax is extensible for processors on
different machines, eventually machines that are connected on a network
18:09 -!- iant [~iant@nat/google/x-cqjqyprfhhpuncpw] has joined #go-nuts
18:09 -!- mode/#go-nuts [+v iant] by ChanServ
18:09 < anticw> iant: all the world is x86 :-) you can mostly ignore
alignment on modern CPUs and they deal pretty well
18:09 * anticw hands iant some wet-string as a better network connection
18:09 < hstimer> anticw: alignment is everything with GPUs and they are
becoming more important, not less
18:09 <+iant> no, you can ignore alignment on x86, and even then it hurts
performance
18:10 <+iant> you can't ignore alignment on, say, ARM
18:10 < anticw> i'm was trolling a little
18:10 < anticw> i di embedded mips work, i know mis-alignment sucks horribly
for a lot of stuff
18:11 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-171-141.clienti.tiscali.it] has
joined #go-nuts
18:11 < anticw> iant: are things naturally aligned?  i assume you want to
avoid the two parts of an interface straddling a cache-line or worse page
boundary?
18:11 <+iant> for 6g/8g I think everything is aligned on a pointer boundary
18:12 <+iant> for gccgo they are naturally aligned up to some size, I forget
what exactly
18:16 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-171-12.netcologne.de] has joined #go-nuts
18:17 < hstimer> iant: thanks for your article on tags.  I now understand
what template and asn1 are doing -- not black magic at all
18:17 -!- pentarex [~pentarex@91.139.196.20] has joined #go-nuts
18:17 < pentarex> hey guys
18:18 < pentarex> I am new in Programming - where I can download book for GO
for beginners
18:18 < pentarex> ?
18:21 <+iant> pentarex: there is no book, what documentation there is can be
found at http://golang.org/
18:22 -!- MrMackenzie [~Shane@cpc1-midd10-0-0-cust945.midd.cable.ntl.com] has
joined #go-nuts
18:23 < pentarex> iant: 10x
18:25 -!- pentarex [~pentarex@91.139.196.20] has left #go-nuts ["Leaving"]
18:27 -!- hevalbaranov [~hevalbara@88.242.213.162] has joined #go-nuts
18:27 -!- Xera` [~brit@87-194-208-246.bethere.co.uk] has joined #go-nuts
18:30 -!- Xera^ [~brit@87-194-208-246.bethere.co.uk] has quit [Ping timeout: 276
seconds]
18:38 -!- no_mind_ [~orion@122.173.230.87] has joined #go-nuts
18:40 -!- no_mind [~orion@122.173.238.190] has quit [Ping timeout: 276 seconds]
18:45 < dagle> Is any intressting work being done with Generics in go?
18:46 -!- hstimer [~hstimer@2002:465a:aa25:0:226:bbff:fe05:dd9b] has quit [Ping
timeout: 256 seconds]
18:47 -!- ct529 [~quassel@77-44-78-159.xdsl.murphx.net] has quit [Remote host
closed the connection]
18:51 -!- Chryson [~joel@gbg-wireless-pittnet-105-23.net.pitt.edu] has joined
#go-nuts
18:59 -!- gnuvince [~vince@64.235.199.141] has quit [Quit: What the fruit is goin'
on here!?]
19:00 -!- gnuvince [~vince@70.35.170.200] has joined #go-nuts
19:01 -!- robot12 [~robot12@inferno.kgts.ru] has joined #go-nuts
19:04 -!- mbarkhau [~koloss@dslb-084-059-152-067.pools.arcor-ip.net] has joined
#go-nuts
19:17 -!- hurtonm [~hurtonm@adsl-dyn9.91-127-60.t-com.sk] has joined #go-nuts
19:18 -!- path[l] [~path@122.167.244.232] has joined #go-nuts
19:20 -!- DerHorst [~Horst@e176104111.adsl.alicedsl.de] has quit [Remote host
closed the connection]
19:24 -!- Kashia [~Kashia@port-92-200-59-29.dynamic.qsc.de] has joined #go-nuts
19:40 -!- Chryson [~joel@gbg-wireless-pittnet-105-23.net.pitt.edu] has quit [Quit:
Leaving.]
19:41 -!- hevalbaranov [~hevalbara@88.242.213.162] has quit [Quit: WeeChat
0.2.6.3]
19:47 -!- Cyprien_ [Cyprien@81.62.52.100] has joined #go-nuts
19:50 -!- hstimer [~hstimer@70.90.170.37] has joined #go-nuts
19:57 -!- iggy2 [~user@mulder.f5.com] has joined #go-nuts
19:59 -!- jhnx [~bd7305b5@gateway/web/freenode/x-eioacxtcmtmgvkqp] has quit [Ping
timeout: 252 seconds]
20:07 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-171-12.netcologne.de] has quit [Read
error: Operation timed out]
20:15 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-162-22.netcologne.de] has joined #go-nuts
20:16 < uriel> dagle: as far as I can tell few people that actually have
used Go have felt a great need for generics
20:23 < dagle> uriel: I don't have any realy need for it in my code atm
either but for more complex datatypes it could be nice for being able to reuse
them in a safer way.
20:25 -!- nutate [~rseymour@cacsag4.usc.edu] has joined #go-nuts
20:25 -!- nutate [~rseymour@cacsag4.usc.edu] has quit [Excess Flood]
20:32 < uriel> I'm not sure what stops you from reusing complex
datatypes...(and yes, I'm well aware of many hypothetical cases, I'm asking about
cases people have actualy run into while writting code in Go)
20:33 < dagle> I like it to be more static typed.  It's a matter of opinion.
20:39 -!- Wiz126 [Wiz126@72.20.226.119] has joined #go-nuts
20:41 -!- MrMackenzie [~Shane@cpc1-midd10-0-0-cust945.midd.cable.ntl.com] has quit
[Ping timeout: 264 seconds]
20:41 -!- leonod [~Andreas@zreahese.hus.sgsnet.se] has joined #go-nuts
20:41 < leonod> hey guys
20:41 -!- Cyprien_ [Cyprien@81.62.52.100] has quit [Ping timeout: 268 seconds]
20:46 < plexdev> http://is.gd/9CWXl by [Rob Pike] in
go/src/pkg/encoding/binary/ -- encoding/binary: fix error reporting bug
20:47 -!- ptolomy2 [~chatzilla@2002:4c7e:af5b:0:21e:52ff:fe74:be18] has joined
#go-nuts
20:47 < gzmask> how do I put my main.go file with func main() into my
Makefile?
20:48 -!- ptolomy2 [~chatzilla@2002:4c7e:af5b:0:21e:52ff:fe74:be18] has quit
[Client Quit]
20:48 -!- ptolomy2 [~chatzilla@2002:4c7e:af5b:0:21e:52ff:fe74:be18] has joined
#go-nuts
20:48 -!- MrMackenzie [~Shane@cpc1-midd10-0-0-cust945.midd.cable.ntl.com] has
joined #go-nuts
20:49 -!- robot12 [~robot12@inferno.kgts.ru] has quit [Quit: Ухожу я от вас (xchat
2.4.5 или старше)]
20:52 < gzmask> sorry the question should be: how do I specify my output
executable file in Makefile?
20:53 -!- m1ndwarp_ [~m1ndwarp@xdsl-78-35-137-190.netcologne.de] has joined
#go-nuts
20:53 < KirkMcDonald> gzmask: TARG=binary_name, and include Make.cmd.
20:53 < KirkMcDonald> gzmask: See e.g.  src/cmd/cgo/Makefile
20:55 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-162-22.netcologne.de] has quit [Ping
timeout: 240 seconds]
20:55 -!- asmo [~asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
quit [Remote host closed the connection]
20:55 -!- hurtonm [~hurtonm@adsl-dyn9.91-127-60.t-com.sk] has quit [Quit: WeeChat
0.3.1.1]
20:56 -!- nanooo [~nano@95-89-189-46-dynip.superkabel.de] has joined #go-nuts
20:56 -!- jalmeida [~jalmeida@c9340a2e.virtua.com.br] has quit [Quit: Fui embora]
20:57 < gzmask> cool it works, thanks KirkMcDonald.
20:59 -!- nanoo [~nano@95-89-189-46-dynip.superkabel.de] has quit [Ping timeout:
276 seconds]
21:00 -!- afurlan [~afurlan@scorpion.mps.com.br] has quit [Quit: Leaving]
21:01 -!- nanooo [~nano@95-89-189-46-dynip.superkabel.de] has quit [Quit: Leaving]
21:08 -!- no_mind_ [~orion@122.173.230.87] has quit [Ping timeout: 240 seconds]
21:12 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
21:20 -!- no_mind_ [~orion@122.173.228.58] has joined #go-nuts
21:22 -!- iggy2 [~user@mulder.f5.com] has quit [Remote host closed the connection]
21:22 -!- Demp [~Demp@bzq-79-176-42-3.red.bezeqint.net] has quit [Read error:
Connection reset by peer]
21:22 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
21:25 -!- Demp [~Demp@bzq-79-176-42-3.red.bezeqint.net] has joined #go-nuts
21:31 -!- user_ [~user@mulder.f5.com] has joined #go-nuts
21:33 -!- m1ndwarp_ [~m1ndwarp@xdsl-78-35-153-184.netcologne.de] has joined
#go-nuts
21:33 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-137-190.netcologne.de] has quit [Ping
timeout: 268 seconds]
21:41 -!- mejja [~user@c-52b1e555.023-82-73746f38.cust.bredbandsbolaget.se] has
joined #go-nuts
21:44 -!- Adys [~Adys@unaffiliated/adys] has quit [Read error: Connection reset by
peer]
21:45 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
21:52 -!- XniX23 [vegy@89-212-10-29.dynamic.dsl.t-2.net] has joined #go-nuts
21:54 -!- gr1b [~gr1b@c-71-58-106-62.hsd1.pa.comcast.net] has quit [Ping timeout:
246 seconds]
21:58 -!- gr1b [~gr1b@c-71-58-106-62.hsd1.pa.comcast.net] has joined #go-nuts
22:03 -!- leonod [~Andreas@zreahese.hus.sgsnet.se] has quit [Quit: Leaving]
22:05 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 264 seconds]
22:09 -!- General13372 [~support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
22:09 -!- m1ndwarp [~m1ndwarp@xdsl-78-35-153-184.netcologne.de] has quit [Quit:
m1ndwarp]
22:09 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
22:10 -!- carllerche [~carllerch@enginey-9.border1.sfo002.pnap.net] has joined
#go-nuts
22:11 -!- Rajko [bitrot@cable-188-2-205-37.dynamic.sbb.rs] has quit [Ping timeout:
276 seconds]
22:12 -!- Rajko [Rajko@wan.rajkonet.info] has joined #go-nuts
22:12 -!- General1337 [~support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[Ping timeout: 264 seconds]
22:17 -!- scm [justme@d019100.adsl.hansenet.de] has quit [Ping timeout: 252
seconds]
22:18 -!- scm [justme@c178084.adsl.hansenet.de] has joined #go-nuts
22:21 -!- jophish [~jophish@hermi.gotadsl.co.uk] has joined #go-nuts
22:21 -!- gzmask [~ray@corwin.cat.uregina.ca] has left #go-nuts []
22:26 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has quit [Quit:
leaving]
22:27 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-171-141.clienti.tiscali.it] has
quit [Quit: E se abbasso questa leva che succ...]
22:33 -!- Adys [~Adys@athedsl-350193.home.otenet.gr] has joined #go-nuts
22:33 -!- Adys [~Adys@athedsl-350193.home.otenet.gr] has quit [Changing host]
22:33 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
22:37 -!- MrMackenzie [~Shane@cpc1-midd10-0-0-cust945.midd.cable.ntl.com] has left
#go-nuts []
22:41 -!- Gracenotes [~person@wikipedia/Gracenotes] has quit [Ping timeout: 260
seconds]
22:42 < anticw> why is complex part of the spec?  wouldn't it make more
sense to leave it as a specific implementation option and see how it goes?
22:46 -!- franksalim [~frank@adsl-75-61-84-181.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
22:53 -!- ShadowIce [pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
22:57 -!- Gracenotes [~person@wikipedia/Gracenotes] has joined #go-nuts
22:58 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has quit [Read error: Connection
reset by peer]
23:01 -!- dizm [~dizm@121.98.168.127] has joined #go-nuts
23:02 < sladegen> it must be nukular fizicists mafia!
23:03 -!- dizm [~dizm@121.98.168.127] has left #go-nuts []
23:03 -!- wrtp [~rog@89.242.205.202] has quit [Quit: wrtp]
23:07 -!- mbarkhau [~koloss@dslb-084-059-152-067.pools.arcor-ip.net] has quit
[Quit: Leaving.]
23:12 -!- ericvh [~ericvh@32.97.110.63] has left #go-nuts []
23:16 -!- rrr [debian-tor@gateway/tor-sasl/rrr] has quit [Remote host closed the
connection]
23:19 -!- jophish [~jophish@hermi.gotadsl.co.uk] has quit [Remote host closed the
connection]
23:28 -!- Gracenotes [~person@wikipedia/Gracenotes] has quit [Ping timeout: 256
seconds]
23:28 -!- dizm [~dizm@121.98.168.127] has joined #go-nuts
23:28 -!- dizm [~dizm@121.98.168.127] has left #go-nuts []
23:39 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined
#go-nuts
23:39 -!- Rajko [Rajko@wan.rajkonet.info] has quit [Read error: Connection reset
by peer]
23:39 -!- Rajko [Rajko@wan.rajkonet.info] has joined #go-nuts
23:42 -!- awidegreen [~quassel@p5B0612B0.dip.t-dialin.net] has quit [Remote host
closed the connection]
23:43 -!- mssm [~mssm@ip-95-221-89-154.bb.netbynet.ru] has joined #go-nuts
23:48 < fenicks> yep, guys, I have done my first program in GO. If you have
any feedback about anything in my code, do it.  It could help me to masterise GO
programming : http://go.pastie.org/private/v3qa4ustalkkxnsknmoeuw
23:49 < smw> fenicks: not a valid url
23:51 < fenicks> and now : http://go.pastie.org/852689
23:52 < fenicks> I use socket, signal, file, exception but I don't know if I
use them well.
23:55 < dagle> fenicks: What does the program do?
--- Log closed Thu Mar 04 00:00:19 2010